v0.9.0 2020-09-01
Features:
- Adds dry run mode. When getting started with samproxy or when updating sampling rules, it may be helpful to verify that the rules are working as expected before you start dropping traffic. By enabling dry run mode, all spans in each trace will be marked with the sampling decision in a field called
samproxy_kept
. All traces will be sent to Honeycomb regardless of the sampling decision. You can then run queries in Honeycomb on this field to check your results and verify that the rules are working as intended. Enable dry run mode by addingDryRun = true
in your configuration, as noted inrules.toml
.
Improvements:
- Libhoney-go supports msgpack. Now samproxy does as well.
- Adds the stack trace to the logger in the case of panics.
- Allow the debug service address to be specified in config. Specify the address in
config.toml
usingDebugServiceAddr
.
Fixes:
- The peer list can temporarily become empty when using Redis discovery and the Redis state is lost (e.g. restarting an in-memory instance). This caused a panic when attempting to choose a shard, and resulted in dropping spans. Now, we return an error when there are no peers, which means that it will surface the error to the logs and re-attempt later.