Releases: honeycombio/dynsampler-go
v0.6.0
0.6.0 2024-01-12
This version tweaks Throughput samplers to permit calculating non-integer sample rates, which makes them choose better sample rates in many scenarios. It also fixes a race condition that was recently detected by an improved Go runtime.
Fixes
- fix: allow throughput samplers to have non-integer rates (#74) | Yi Zhao
- fix: race condition in WindowedThroughput sampler (#73) | Kent Quirk
Maintenance
- maint: update codeowners to pipeline-team (#72) | Jamie Danielson
- maint: update project workflow for pipeline (#71) | Jamie Danielson
- maint: update codeowners to pipeline (#70) | Jamie Danielson
v0.5.0
0.5.0 2023-06-08
This version extends the Sampler interface to include a new GetMetrics function, which returns a collection of metrics relevant to that specific sampler. This improves visibility into the sampler and will be used in an upcoming release of Honeycomb's Refinery.
This is a breaking change for code implemented so as to conform to the dynsampler.Sampler
interface, such as hand-coded mocks used for testing. Code using the interface is unaffected.
Features
- feat: Add GetMetrics metrics retrieval function to Sampler interface (#65) | [Kent Quirk](https://github.com/Kent Quirk)
Maintenance
- maint(deps): bump github.com/stretchr/testify from 1.8.2 to 1.8.4 (#64) | dependabot[bot]
- maint: update dependabot.yml (#63) | [Vera Reynolds](https://github.com/Vera Reynolds)
v0.4.0
This version contains two new samplers and some (backwards-compatible) changes to the API:
- Many thanks to Yi Zhao for the contribution of the
WindowedThroughput
sampler. This sampler is like the Throughput sampler, but uses a moving average to accumulate sample rates across multiple sampling periods. - The new
EMAThroughput
sampler adjusts overall throughput to achieve a goal while also ensuring that all values in the key space are represented. - The
GetSampleRateMulti()
function allows a single request to represent multiple events. This is particularly useful when tail-sampling at the trace level (because each trace represents a number of spans). - All samplers now support specifying a
time.Duration
instead of a time in seconds. Fields likeClearFrequencySec
are now deprecated and will be dropped in a future release.
Features
- feat: EMAThroughput sampler (#58) | Kent Quirk
- feat: Deprecate integer seconds and replace with time.Duration (#59) | Kent Quirk
- feat: add GetSampleRateMulti (#53) | Kent Quirk
- feat: Windowed Throughput Sampling (#45) | Yi Zhao
Maintenance
- maint: Pull out common calculation into a function (#57) | Kent Quirk
- maint: bump the go versions we support (#55) | Kent Quirk
- maint(deps): bump github.com/stretchr/testify from 1.6.1 to 1.8.2 (#49) | dependabot[bot]
- maint: remove buildevents from circle (#48) | Jamie Danielson
- chore: Update workflow (#47) | Tyler Helmuth
- chore: Update CODEOWNERS (#46) | Tyler Helmuth
- chore: update dependabot.yml (#44) | Kent Quirk
v0.3.0
Maintenance
- maint: drop versions of go below 1.16 (#39) | @vreynolds
- maint: add go 1.18, 1.19 to CI (#30, #31) | @vreynolds
- maint: add go 1.16, 1.17 to CI (#28) | @MikeGoldsmith
- ... and a lot of project management stuff. Details can be found in the full changelog.
New Contributors
- @robbkidd made their first contribution in #17
- @bdarfler made their first contribution in #19
- @vreynolds made their first contribution in #21
- @JamieDanielson made their first contribution in #25
- @MikeGoldsmith made their first contribution in #28
- @pkanal made their first contribution in #36
Full Changelog: v0.2.1...v0.3.0