test(rust): enable passing ot.th/ot.rv tracestate sampling scenarios [rust@milan.garnier/otel-consistent-sampling] - #7391
Draft
MilanGarnier wants to merge 2 commits into
Conversation
Stacked on #7372 (the ot.th/ot.rv conformance scaffolding). Flips the Rust entries in manifests/rust.yml from missing_feature to '>=0.5.0-dev' and backfills the 3 previously-unlisted classes (Test_ForwardInboundOtUnchangedWhenDropped, Test_ThOnlyDoesNotFabricateRv, Test_ThOnlyDoesNotFabricateRvWhenDropped) as missing_feature across the other 8 manifests to keep the "disabled for every tracer" invariant intact until each ships. OTLP entries (APMAPI-2172) are left untouched.
Contributor
|
|
|
…milan.garnier/feat-rs-ot.th
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
Stacked on #7372 (the ot.th/ot.rv conformance scaffolding). Enables the Rust entries against dd-trace-rs's wire implementation (branch
milan.garnier/otel-tracestate-ot-th), verified locally against arust@0.5.1-dev+c36937dbuild (axum weblog) across every scenario (DEFAULT + all five sample-rate scenarios).What does this PR do?
Flips all
tests/test_otel_tracestate_sampling.pyRust entries frommissing_featureto>=0.5.0-devinmanifests/rust.yml, and backfills 3 previously-unlisted classes (Test_ForwardInboundOtUnchangedWhenDropped,Test_ThOnlyDoesNotFabricateRv,Test_ThOnlyDoesNotFabricateRvWhenDropped) asmissing_featureacross the other 8 language manifests to preserve the "disabled for every tracer until it ships" invariant. OTLP entries (test_tracing_otlp.py, APMAPI-2172) are untouched per scope.Local verification results (ai generated draft not reviewed)
DEFAULTscenario: 6/9 selected tests pass. The 3Test_ForceKeepClearsTh(A4) sub-tests fail, but not because of an ot.th gap: the local weblog used for verification (a not-yet-merged Rust Axum weblog) has no AppSec/WAF integration, so the Arachni-user-agent-triggered force-keep this test relies on never fires. The underlying "clearth, forward inheritedrv" wire logic it exercises is already unit-tested and passing (tracecontext.rs::force_keep_clears_th_forwards_rv).SAMPLING(rate 0.5) passes outright.OTEL_SAMPLING_RATE_0_01/0_1/0_2/0_99all fail on athmismatch of a few ULPs againstTH_BY_RATE— two independent rounding bugs, not one:TH_BY_RATE[0.1]in the test fixture itself is stale (e6666666666668); the exact-fraction value ise6666666666666, which matches both what Rust emits and dd-trace-rs's own corrected example.fd70a3d70a3d71vsfd70a3d70a3d70) — a rounding discrepancy in the unreleasedlibdd-sampling::OtelConsistentSamplingthreshold computation dd-trace-rs depends on, not in dd-trace-rs itself.Both issues need a fix (one in this repo's fixture, one upstream in libdatadog) before these entries are actually green. Opening as draft now since the manifest/scope work itself is done and the base branch is expected to move; will flip out of draft once the rounding fixes land and a clean local rerun confirms all scenarios pass.
Base
Targets
ben.db/feat-otel-tracestate-sampling-scaffolding(stacked). Retarget tomainonce #7372 merges.