Skip to content

test(otel): exercise http/protobuf in APM_TRACING_OTLP scenario#7131

Draft
bm1549 wants to merge 1 commit into
mainfrom
brian.marks/otlp-http-protobuf-coverage
Draft

test(otel): exercise http/protobuf in APM_TRACING_OTLP scenario#7131
bm1549 wants to merge 1 commit into
mainfrom
brian.marks/otlp-http-protobuf-coverage

Conversation

@bm1549

@bm1549 bm1549 commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Motivation

APM_TRACING_OTLP exercises the OTLP trace-export path but does not pin a protocol, so the new http/protobuf OTLP encoding in dd-trace-py is not covered. This adds protobuf coverage to Test_Otel_Tracing_OTLP.

Changes

Sets OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf on the APM_TRACING_OTLP scenario weblog env. Test_Otel_Tracing_OTLP already normalizes both JSON and protobuf payloads (the is_json content-type branch + the _trace_id_to_hex helper), so no test-logic change is needed.

Depends on the dd-trace-py OTLP http/protobuf feature (DataDog/dd-trace-py#18609) being present in the tested tracer build.

Workflow

  1. ⚠️ Created as draft ⚠️
  2. Blocked on the dd-trace-py feature landing/releasing before CI can pass.

Reviewer checklist

  • Anything but tests/ or manifests/ is modified ? Yes — utils/_context/_scenarios/__init__.py (scenario env). Will get R&P approval before marking ready.
  • A docker base image is modified? No.
  • A scenario is added, removed or renamed? No — an existing scenario's env is extended.

Sets OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf on the
APM_TRACING_OTLP scenario so Test_Otel_Tracing_OTLP covers the OTLP
HTTP/protobuf export path. The test already handles both JSON and
protobuf content-types.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@bm1549 bm1549 added the ai-generated The pull request includes a significant amount of AI-generated code label Jun 12, 2026
@github-actions

Copy link
Copy Markdown
Contributor

CODEOWNERS have been resolved as:

utils/_context/_scenarios/__init__.py                                   @DataDog/system-tests-core

@datadog-prod-us1-5

datadog-prod-us1-5 Bot commented Jun 12, 2026

Copy link
Copy Markdown

Pipelines  Tests

Fix all issues with BitsAI

⚠️ Warnings

🚦 85 Pipeline jobs failed

Testing the test | System Tests (golang, dev) / End-to-end #2 / chi 2   View in Datadog   GitHub Actions

🧪 1 Test failed

tests.ffe.test_flag_eval_metrics.Test_FFE_Eval_Config_Exists_Flag_Missing.test_ffe_eval_config_exists_flag_missing[chi] from system_tests_suite   View in Datadog (Fix with Cursor)
AssertionError: Expected metric for non-existent flag &#39;non-existent-eval-metric-flag&#39;, found none. All: []
assert 0 &gt; 0
 &#43;  where 0 = len([])

self = &lt;tests.ffe.test_flag_eval_metrics.Test_FFE_Eval_Config_Exists_Flag_Missing object at 0x7f863c0a5fd0&gt;

    def test_ffe_eval_config_exists_flag_missing(self):
        &#34;&#34;&#34;Test that missing flag (with config loaded) produces error.type=flag_not_found.&#34;&#34;&#34;
        assert self.r.status_code == 200, f&#34;Flag evaluation request failed: {self.r.text}&#34;
    
...

Testing the test | System Tests (java, prod) / End-to-end #2 / akka-http 2   View in Datadog   GitHub Actions

🧪 1 Test failed

tests.appsec.test_blocking_addresses.Test_Blocking_request_body_filenames.test_blocking[akka-http] from system_tests_suite   View in Datadog (Fix with Cursor)
ValueError: No appsec event validate this condition

self = &lt;tests.appsec.test_blocking_addresses.Test_Blocking_request_body_filenames object at 0x7fc81c3adeb0&gt;

    def test_blocking(self):
        &#34;&#34;&#34;Can block on server.request.body.filenames&#34;&#34;&#34;
&gt;       interfaces.library.assert_waf_attack(self.rbf_req, rule=&#34;tst-037-014&#34;)

tests/appsec/test_blocking_addresses.py:606: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
...

Testing the test | System Tests (php, dev) / End-to-end #1 / apache-mod-7.0 1   View in Datadog   GitHub Actions

🧪 1 Test failed

tests.ffe.test_flag_eval_metrics.Test_FFE_Eval_Config_Exists_Flag_Missing.test_ffe_eval_config_exists_flag_missing[apache-mod-7.0] from system_tests_suite   View in Datadog (Fix with Cursor)
AssertionError: Expected metric for non-existent flag &#39;non-existent-eval-metric-flag&#39;, found none. All: []
assert 0 &gt; 0
 &#43;  where 0 = len([])

self = &lt;tests.ffe.test_flag_eval_metrics.Test_FFE_Eval_Config_Exists_Flag_Missing object at 0x7f963100b650&gt;

    def test_ffe_eval_config_exists_flag_missing(self):
        &#34;&#34;&#34;Test that missing flag (with config loaded) produces error.type=flag_not_found.&#34;&#34;&#34;
        assert self.r.status_code == 200, f&#34;Flag evaluation request failed: {self.r.text}&#34;
    
...

View all 85 failed jobs.

ℹ️ Info

No other issues found (see more)

❄️ No new flaky tests detected

Useful? React with 👍 / 👎

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 00c4b09 | Docs | Datadog PR Page | Give us feedback!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai-generated The pull request includes a significant amount of AI-generated code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant