Repository navigation
Conversation
Reuse the existing vdev Compose harness and PR review trigger. Compare captured span semantics and multiplicities, require realistic trace coverage, and retain evidence for migration PRs. Generated with GPT-6 (Codex).
tessneau
left a comment
There was a problem hiding this comment.
/ci-run-e2e-opentelemetry-traces-multiservice
thomasqueirozb
left a comment
There was a problem hiding this comment.
/ci-run-e2e-opentelemetry-traces-multiservice
tessneau
left a comment
There was a problem hiding this comment.
/ci-run-e2e-opentelemetry-traces-multiservice
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
|
/ci-run-e2e-opentelemetry-traces-multiservice |
There was a problem hiding this comment.
tessneau
left a comment
There was a problem hiding this comment.
/ci-run-e2e-opentelemetry-traces-multiservice
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1ee47be2bc
ℹ️ About Codex in GitHub
Your team has set up Codex to 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 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
More details
Static review identified no reportable defect in capture finalization or span preservation. Compose configuration validation passed, but the full multiservice HTTP/gRPC run remains unverified.
🤖 Bits Code Review · Commit 1ee47be
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 72bfca434d
ℹ️ About Codex in GitHub
Your team has set up Codex to 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 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Assigning this PR to @thomasqueirozb since he recently worked on #24118
There was a problem hiding this comment.
Preserving compiled artifacts exposes a startup race in native OTLP metric validation: warm runs can read captures before generation and export finish, causing false failures.
🤖 Bits Code Review · Commit 30092e4
| "sh", | ||
| "-c", | ||
| &format!("rm -rf /output/{test_name}/*"), | ||
| &format!("rm -rf /output/{test_name}"), |
There was a problem hiding this comment.
Wait for native OTLP captures before reusing compiled tests
On warm runs of opentelemetry-metrics-native, preserving compiled artifacts removes the compilation delay after Compose starts. Compose only waits for services to start, but vector_native_metrics_encode_to_otlp immediately reads and validates the capture while generators and collector exports may still be running. Missing or partial output can therefore fail a healthy pipeline. This suite never calls the newly polling internal-metrics helper. Add a bounded capture-readiness gate before its assertions.
React: 👍 useful · 👎 wrong · 😕 unclear · 👀 right, but not acting on it
What each reaction means
- 👍 Useful: correct, and you're fixing it or will.
- 👎 Wrong: the finding is incorrect, for example the bug can't happen or the code was misread.
- 😕 Unclear: you can't tell what it means or why it matters.
- 👀 Right, not acting: correct, but intended, out of scope for this PR, a known risk, or too minor.
🤖 Bits Code Review · Open Bits AI session
There was a problem hiding this comment.
feels viable but I haven't run into any failure in a few local test runs, and I'd rather follow up to avoid this PR getting any bigger 😅 and depending on compile time felt already shaky
short-term we could copy the same bounded wait as #26778 does for the opentelemetry-logs and datadog-metrics tests, maybe there's a better way
Summary
Adds a manual OpenTelemetry trace test using the opentelemetry-demo app to Vector's e2e harness.
The existing
opentelemetry-tracese2e test uses telemetrygen, which we could extend to cover more trace cases. However this app produced traces by multiple language SDKs and instrumentation libraries, so we get more varied and realistic input.The main goal is to use this test against PRs against during the trace data model migration (see Trace data model RFC) so that we get the added confidence. This and the heavier application setup (24 Compose services, ~22 min in the earlier CI run) is why I've kept it manually triggered for now, since I'm not sure you'd want to run this continuously in CI.
Here's the test's architecture:

See the README for details.
References
Uses the shared harness cleanup from #26736 and metrics readiness fixes from #26778, both merged into
master. This PR now contains only the multiservice trace test changes.Related: Trace data model RFC.
Vector configuration
data/vector.yaml.
How did you test this PR?
The last full Demo CI run before the capture-finalization refactor passed on
6cf64848c0. Both HTTP and gRPC passed the round-trip validation and both comparator checks.The job took 21m57s and used the former opt-in build cache. The test now uses the shared cleanup fix merged in #26736 to preserve compiled tests between transport runs while clearing test output.
The current head moves capture finalization into Compose, leaving Rust to validate completed files. Checked the helper locally with isolated Docker containers: it waits for delayed output, records drain timeouts, and leaves containers on other networks untouched. A small Compose run confirmed that detached startup waits for finalization. The full Demo run after the capture-finalization and shared-harness changes is still pending.
Before that refactor, also ran locally with:
Does this PR include user facing changes?
no-changeloglabel to this PR.Contributor Guidelines
@vectordotdev/vectorto reach out to us regarding this PR.git merge origin masterandgit push.