github honeycombio/refinery v0.8.0

latest releases: v2.5.0, v2.4.3, v2.4.2...
3 years ago

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

Don't miss a new refinery release

NewReleases is sending notifications on new releases.