Configure Honeycomb Refinery's EMADynamicSampler for trace-aware tail-based dynamic sampling
domain: docs.honeycomb.io · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Define a rules.yaml with a __default__ section under Samplers, choosing EMADynamicSampler or EMAThroughputSampler, which are recommended for most Refinery use cases.
Pick a small set of low-cardinality key FieldList values that meaningfully distinguish different trace types for sampling decisions.
Set GoalSampleRate, AdjustmentInterval, and Weight to tune how aggressively the sample rate adapts per key over time.
Enable Dry Run Mode to tag every span with a refinery_kept field showing what the sampler would have decided, while still sending all traces to Honeycomb for validation.
Roll the tuned configuration out for real once dry-run results confirm the desired keep/drop behavior.
Known gotchas
AdjustmentInterval must be long enough to observe most key values within each window, or the sampler can't make accurate predictions and will oscillate unpredictably between adjustments.
Choosing high-cardinality FieldList values defeats the purpose of dynamic sampling — Refinery's dynamic sampler is designed around a relatively small set of unique values per key field.
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?