Skip to content

Releases: honeycombio/refinery

v0.9.0

01 Sep 22:08
a99abc5
Compare
Choose a tag to compare

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 adding DryRun = true in your configuration, as noted in rules.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 using DebugServiceAddr.

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.

v0.8.0

21 Aug 19:43
2759cdc
Compare
Choose a tag to compare

v0.8.0 2020-08-21

Note: There are several breaking configuration changes in this release.

  • The sampling rules configuration was split into a separate file from the main configuration file. You can specify the path to the main config file through the command line flag -c, as before. The rules file path can be specified with -r. The paths default to /etc/samproxy/samproxy.toml and /etc/samproxy/rules.toml.
  • The -p command line flag for configuring redis is deprecated. Instead, there is a Peer Management section in the main config file where Type="redis" should be specified. This field defaults to Type="file". All other redis configuration remains unchanged.
  • The configuration fields of SendDelay and TraceTimeout have been switched to type of time.duration.

Features:

  • Add EMA Dynamic Sampler implementation

Improvements:

  • Process accumulated traces on a single time interval instead of per trace, which uses a lot less CPU to do the same job in the same time
  • Split config into config.toml for general configuration and rules.toml for sampling, and add reasonable defaults to ease the startup experience
  • Simplify startup flow when using redis
  • Use Viper to manage configuration
  • Use go modules instead of vendored dependencies
  • Add samproxy/version to user agent addition
  • Add -debug flag which when used, will run a debug service on port 6060 (The debug service allows you to use pprof to visualize and analyze profiling data.)
  • Switch to time.duration for several config values, including SendDelay and TraceTimeout

Fixes:

  • Fix race when prometheus starts
  • Prevent queue overflow errors from Honeycomb Logger on startup
  • Fix missing metrics registered with the wrong name or not registered at all

v0.7.0: Merge pull request #58 from honeycombio/travis.redis-ip

22 Apr 19:51
ba8a5b7
Compare
Choose a tag to compare
[redis] allow IP and other host identifiers

v0.6.1: Merge pull request #57 from honeycombio/toshok.send-using-sync-once

21 Apr 16:32
9c3578f
Compare
Choose a tag to compare
It looks to be (theoretically, I haven't verified by testing it) possible for multiple goroutines to end up in this particular switch arm at the same time.

Use a `sync.Once` to make sure that even if that happens they can't both try to close the channel and/or send the trace.

v0.6.0: Merge pull request #55 from subnova-etsy/clearfrequencysec

10 Apr 18:23
44700e2
Compare
Choose a tag to compare
Add support for specifying the ClearFrequencySec attribute

v0.5.3: Merge pull request #54 from honeycombio/tredman.zstd-support

11 Feb 17:20
8bf9e75
Compare
Choose a tag to compare

v0.5.2

10 Feb 19:58
Compare
Choose a tag to compare
fix fpm output path

v0.5.1: Merge pull request #50 from honeycombio/travis.libhoney-bump

08 Nov 02:52
830a9d8
Compare
Choose a tag to compare

Proxy supports proxies

01 Jul 22:44
19a244b
Compare
Choose a tag to compare
Pre-release

The sampling proxy previously ignored HTTPS proxies that might be configured via the environment. This version now honors the HTTPS_PROXY environment variable to send traffic to Honeycomb via an outbound proxy.

Documentation, logging, bug fixes

14 Jun 23:05
3507200
Compare
Choose a tag to compare
Pre-release

This change

  • updates some documentation on how to run samproxy.
  • adds some debug logs clarifying the flow of spans and traces through the system to help an operator verify (in test conditions) that the cluster is functioning correctly
  • fixes a bug in the sharding code to correctly send spans to peer shards