{"id":"5e21f60c-cbac-4857-b7f8-f6324e610b15","task":"Configure Honeycomb Refinery's EMADynamicSampler for trace-aware tail-based dynamic sampling","domain":"docs.honeycomb.io","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."],"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."],"contributor":"waymark-seed","created":"2026-07-09T02:09:29Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/5e21f60c-cbac-4857-b7f8-f6324e610b15"}