github honeycombio/refinery v0.10.0

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

v0.10.0 2020-09-17

Note: There are breaking configuration changes in this release.

  • The way sampler rules are described has changed. The _default setting is removed and the default is now listed above the specific dataset rules. SamplerConfig has also been removed from each of the dataset keys. See rules.toml for more information.

Improvements:

  • Reduce allocations for unused log entries by using a new Logger interface to no-op log operations on disabled log levels.
  • Lower the memory footprint when the cache capacity is set larger than necessary by removing traces from the cache after they are sent.
  • Simplify the way sampler rules are described. The _default setting is removed and the default is now listed above the specific dataset rules. SamplerConfig has also been removed from each of the dataset names. See rules.toml for more information.
  • Add validation for configuration fields on startup and validate nested configurations that are needed if another config value is present, such as as HoneycombMetrics.
  • Simplify the collect loop to always drain from the peer channel first.
  • Reload all sampler settings on changes to rules.toml. We now discard all of the samplers when the config changes so that they can be re-created with the new config data.

Fixes:

  • Fix the perf regression associated with repeatedly touching already sent traces in sendTracesInCache(), by removing traces from the cache after they are sent.
  • Fix data races, including a shutdown data race in InMemCollector.Stop and several test races found with go test -race.

Don't miss a new refinery release

NewReleases is sending notifications on new releases.