Releases: honeycombio/refinery
Releases · honeycombio/refinery
v1.1.0
DEPRECATED
There was a startup issue in this release that was addressed in v1.1.1
Improvements
- Add support environment variables for API keys (#221)
- Removes whitelist terminology (#222)
- Log sampler config and validation errors (#228)
Fixes
- Pass along upstream and peer metrics configs to libhoney (#227)
- Guard against nil pointer dereference when processing OTLP span.Status (#223)
- Fix YAML config parsing (#220)
Maintenance
- Add test for OTLP handler, including spans with no status (#225)
v1.0.0
Bug Fixes
- Fix bug that was dropping sample rates sent as int64 data types | #209 #213 | @paulosman @MikeGoldsmith
- Fix misleading error log message | #210 | @vreynolds
Improvements
- Add support for gzip compression on OTLP ingest | #212 | @MikeGoldsmith
v0.16.0
v0.16.0 2020-01-29
Improvements
- Make compression of peer forwarding configurable, rather than hard coded | #208 | @BRMatt
- Add support for OTLP (OpenTelemetry protocol) over gRPC event ingestion | #202 | @MikeGoldsmith
- Add /debug/trace/{traceID} endpoint | #204 | @MikeGoldsmith
Maintenance
v0.15.0
v0.15.0 2020-12-30
Improvements:
- Adds configuration options to rate limit log messages sent to Honeycomb Logger. In some failure cases, Refinery's logging overwhelmed downstream services. Adding configurable rate limiting to the Honeycomb Logger prevents spikes of similar messages by limiting per [log level + log message] key, with a configurable throughput. The sampler is disabled by default. | #200 | @vreynolds
- Adds Redis password support and basic configuration for in-transit encryption (TLS). These options can be set using the
RedisPassword
andUseTLS
config fields. | #201 | @leonardo7w
Fixes:
- Fix error where durations in log messages were not being formatted correctly, leading to durations that looked much longer than they were. | #199 | @dstrelau
- Add blank rules file to build package and rename
rules.toml
->rules_complete.toml
. | #196 | @asdvalenzuela - Make
TotalThroughputSampler
a valid sampler by adding it tovalidateSamplerConfigs
as well asrules_complete.toml
. | #191 | @magnusstahre - Fix missing quotes around
DryRunFieldName
value inrules.toml
that could cause the config to fail to load if that section was uncommented. | #195 | @MikeGoldsmith
v0.14.0
Improvements:
- More permissive JSON detection | #190 | @martin308
- Handle duplicate prometheus metrics registrations | #192 | @martin308
- Add a default sampler if none is specified | #193 | @martin308
v0.13.0
Improvements:
- Add a TotalThroughputSampler | #185 | @magnusstahre
Fixes:
- Fix reading of redis host env variable | #189 | @martin308
- Skip S3 publish for forked builds | #188 | @martin308
v0.12.1
Fixes
- Fix msgpack with dynamic samplers | #186 | @martin308
v0.12.0
- validation of sampling rules #144
- alive endpoint now returns "yes" instead of true for consistency #157
- dynamic sampler now does not require clear frequency seconds #165
- add dataset to fields when logging sampler choice #158
- adds not equal rule to rules sampler #160
- adds exists and not exists rule to rules sampler #162
- adds starts with rule to rules sampler #163
- adds contains rule to rules sampler #164
- fix bug with rules sampler, where multiple rules weren't all being required to match #159
- rename to refinery from samproxy, includes metrics names, environment variables etc. #169 #166 #167 #168 #170 #173 #173 #174 #175 #176 #177 #178 #179 #180 #181 #182 #183
v0.11.0
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
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. Seerules.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. Seerules.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 withgo test -race
.