Skip to content

test(otel): port otel tracestate sampling tests to parametric - #7518

Open
MilanGarnier wants to merge 14 commits into
mainfrom
milan.garnier/otel-tracestate-ot-th
Open

test(otel): port otel tracestate sampling tests to parametric#7518
MilanGarnier wants to merge 14 commits into
mainfrom
milan.garnier/otel-tracestate-ot-th

Conversation

@MilanGarnier

@MilanGarnier MilanGarnier commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Ports the OpenTelemetry ot.th/ot.rv sampling coverage from #7372 to parametric tests.
Reason : We want to have a single source of truth for all tracers and dd-trace-cpp does not have a weblog.

What's being tested

  • dd-trace-go and dd-trace-rb, which already ship this should have the same coverage

@github-actions

github-actions Bot commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

CODEOWNERS have been resolved as:

tests/parametric/test_otel_tracestate_sampling.py                       @DataDog/system-tests-core @DataDog/apm-sdk-capabilities
tests/parametric/test_otlp_trace_export.py                              @DataDog/system-tests-core @DataDog/apm-sdk-capabilities
manifests/c.yml                                                         @DataDog/system-tests-core
manifests/cpp.yml                                                       @DataDog/dd-trace-cpp
manifests/cpp_httpd.yml                                                 @DataDog/dd-trace-cpp
manifests/cpp_kong.yml                                                  @DataDog/system-tests-core
manifests/cpp_nginx.yml                                                 @DataDog/dd-trace-cpp
manifests/dotnet.yml                                                    @DataDog/apm-dotnet @DataDog/asm-dotnet
manifests/golang.yml                                                    @DataDog/dd-trace-go-guild
manifests/java.yml                                                      @DataDog/asm-java @DataDog/apm-java
manifests/nodejs.yml                                                    @DataDog/dd-trace-js
manifests/php.yml                                                       @DataDog/apm-php @DataDog/asm-php
manifests/python.yml                                                    @DataDog/apm-python @DataDog/asm-python
manifests/ruby.yml                                                      @DataDog/ruby-guild @DataDog/asm-ruby
manifests/rust.yml                                                      @DataDog/apm-rust
tests/otel/test_tracing_otlp.py                                         @DataDog/system-tests-core
utils/_context/_scenarios/__init__.py                                   @DataDog/system-tests-core
tests/test_otel_tracestate_sampling.py                                  @DataDog/system-tests-core

@datadog-datadog-prod-us1-2

datadog-datadog-prod-us1-2 Bot commented Aug 14, 2026

Copy link
Copy Markdown

Pipelines  Tests

⚠️ Warnings

🚦 6 Pipeline jobs failed

Testing the test | System Tests (php, prod) / End-to-end #2 / laravel11x 2 — ❌ 1 test failed

View in Datadog · View in GitHub Actions

1 failed test. AssertionError: assert False in tests/appsec/test_asm_standalone.py:295.

Showing tests most relevant to this failure.

❄️ tests.appsec.test_asm_standalone.Test_APISecurityStandalone.test_no_appsec_upstream__no_asm_event__is_kept_with_priority_1__from_2[laravel11x] from system_tests_suite   View in Datadog
AssertionError: assert False
 +  where False = assert_tags(<utils.dd_types._datadog_library_trace.DataDogLibrarySpanLegacy object at 0x7f069f579d60>, <utils.dd_types._datadog_library_trace.DataDogLibrarySpanLegacy object at 0x7f069f579d60>, 'meta', {'_dd.p.other': '1', '_dd.p.ts': None})

self = <tests.appsec.test_asm_standalone.Test_APISecurityStandalone object at 0x7f06c2e2b170>

    def test_no_appsec_upstream__no_asm_event__is_kept_with_priority_1__from_2(self):
        self.assert_product_is_enabled(self.check_r, self.tested_product)
        spans_checked = 0
        tested_meta: dict[str, str | Callable | None] = {self.propagated_tag(): None, "_dd.p.other": "1"}
        tested_metrics: dict[str, str | Callable | None] = {SAMPLING_PRIORITY_KEY: lambda x: x < 2}
...
Testing the test | System Tests (golang, prod) / parametric / parametric (1) — 🔧 Needs a code fix, caused by this PR

View in Datadog · View in GitHub Actions

AssertionError: There should be one bucket containing the stats at tests/parametric/test_library_tracestats.py:330

DataDog/system-tests | java7-app.arm64.DOA9: [public.ecr.aws/lts/ubuntu:22.04, linux/arm64, ]

View in Datadog · View in GitLab

View all 6 failed jobs.

📋 Copy prompt for your agent
CI on my pull request is failing. Help me find and fix the root cause of each failing job below — they were flagged as caused by changes in this PR, so focus on the diff. For each job, explain the failure and propose a fix.

Branch: milan.garnier/otel-tracestate-ot-th

Testing the test | System Tests (golang, prod) / parametric / parametric (1)
Commit: 6581050ac026fc1ce725e8ddc31d03334b617cd7
Error (code / test):
AssertionError: There should be one bucket containing the stats at tests/parametric/test_library_tracestats.py:330
CI job: https://github.com/DataDog/system-tests/actions/runs/32116370386/job/95647503968

ℹ️ Info

No other issues found (see more)

❄️ No new flaky tests detected

🔄 Datadog auto-retried 3 jobs - 0 passed on retry View in Datadog

Useful? React with 👍 / 👎

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 90f5085 | Docs | View more details | Give us feedback!

@MilanGarnier

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. What shall we delve into next?

Reviewed commit: 3aa2ecb08c

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

@MilanGarnier MilanGarnier changed the title test(otel): port tracestate sampling to parametric test(otel): port tracestate sampling to parametric [cpp@milan.garnier/otel-tracestate-ot-th] Aug 14, 2026
@MilanGarnier MilanGarnier changed the title test(otel): port tracestate sampling to parametric [cpp@milan.garnier/otel-tracestate-ot-th] test(otel): port otel tracestate sampling tests to parametric [cpp@milan.garnier/otel-tracestate-ot-th] Aug 14, 2026
@MilanGarnier MilanGarnier changed the title test(otel): port otel tracestate sampling tests to parametric [cpp@milan.garnier/otel-tracestate-ot-th] test(otel): port otel tracestate sampling tests to parametric Aug 14, 2026
@MilanGarnier
MilanGarnier marked this pull request as ready for review August 14, 2026 15:04
@MilanGarnier
MilanGarnier requested review from a team as code owners August 14, 2026 15:04
@MilanGarnier
MilanGarnier requested review from ZStriker19, christophe-papazian and claponcet and removed request for a team August 14, 2026 15:04
@MilanGarnier
MilanGarnier requested review from PerfectSlayer, cataphract, dromanol and link04 and removed request for a team August 14, 2026 15:05

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d74e159d04

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread tests/parametric/test_otel_tracestate_sampling.py
Comment thread manifests/nodejs.yml
tests/parametric/test_otel_span_methods.py::Test_Otel_Span_Methods::test_otel_start_span: missing_feature (New operation name mapping not yet implemented)
tests/parametric/test_otel_span_with_baggage.py::Test_Otel_Span_With_Baggage: *ref_5_32_0
tests/parametric/test_otel_tracer.py::Test_Otel_Tracer::test_otel_force_flush: missing_feature (Not implemented)
tests/parametric/test_otel_tracestate_sampling.py::Test_OtelTracestateSampling: missing_feature (APMAPI-2171)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Keep nodejs activation granular for ported cases

For nodejs this class-level missing_feature now skips every ported APMAPI-2171 parametric case, but the deleted nodejs manifest entries only skipped some old classes unconditionally; forwarding/no-fabrication cases such as Test_ForwardInboundOtUnchanged, Test_PreserveDdAndOtherVendors, and Test_ThOnlyDoesNotFabricateRv were enabled for supported nodejs weblogs at >=6.8.0. Collapsing them into a single class skip loses existing coverage for current nodejs versions, so please carry over the old per-test activation rather than disabling the whole class.

Useful? React with 👍 / 👎.

@MilanGarnier
MilanGarnier requested a review from vpellan August 17, 2026 11:32

@vpellan vpellan left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Comment thread tests/parametric/test_otel_tracestate_sampling.py Outdated
Comment thread tests/parametric/test_otel_tracestate_sampling.py Outdated
Comment thread tests/parametric/test_otel_tracestate_sampling.py Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants