Skip to content

Releases: honeycombio/refinery

v0.11.0

05 Oct 17:58
5965e70
Compare
Choose a tag to compare

implement optional soft allocation ceiling | #139
use more efficient wire serialization | #141
send excess traces when reducing cache size | #142
add mutex locking to fileConfig | #143
only re-route incoming spans | #145
don't block batch endpoint on most queues | #146
add cache utilization and root span metrics | #150
peers list should not be required in config | #148
consolidate event handling code | #149
Rules Base Sampler | #151

v0.10.0

17 Sep 21:41
c00af92
Compare
Choose a tag to compare

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.

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