Skip to content

chore(dev): add multiservice opentelemetry trace e2e test - #26554

Open
tessneau wants to merge 11 commits into
masterfrom
tess.neau-real-trace-testing
Open

tessneau wants to merge 11 commits into
masterfrom
tess.neau-real-trace-testing

Conversation

@tessneau

@tessneau tessneau commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Adds a manual OpenTelemetry trace test using the opentelemetry-demo app to Vector's e2e harness.

The existing opentelemetry-traces e2e 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 (23 services, ~25 min 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:
Multiservice trace test architecture

See the README for details.

References

Related: Trace data model RFC.

Vector configuration

How did you test this PR?

Ran both HTTP and gRPC locally with:

cargo vdev e2e run opentelemetry-traces-multiservice --retries 0 --always-show-logs

The manually triggered CI run passed on the latest commit

  • HTTP: 785 spans, 89 traces
  • gRPC: 780 spans, 88 traces
  • Both covered all required services with zero input/output differences

The tests currently takes ~ 25min. Looking into one more change to make it run more quickly in 6cf6484 but this shouldn't change the core

Does this PR include user facing changes?

  • Yes. Please add a changelog fragment based on our guidelines.
  • No. A maintainer will apply the no-changelog label to this PR.

Contributor Guidelines

  • Please read our Vector contributor resources.
  • Do not hesitate to use @vectordotdev/vector to reach out to us regarding this PR.
  • Before pushing, follow our pre-push guidance.
  • After a review is requested, please avoid force pushes to help us review incrementally.
    • Feel free to push as many commits as you want. They will be squashed into one before merging.
    • For example, you can run git merge origin master and git push.

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).
@github-actions github-actions Bot added the domain: ci Anything related to Vector's CI environment label Oct 6, 2026
@tessneau tessneau changed the title Add manual OTel Demo trace E2E validation Add manual multiservice OpenTelemetry trace E2E validation Oct 7, 2026

@tessneau tessneau left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

/ci-run-e2e-opentelemetry-traces-multiservice

@tessneau tessneau added the no-changelog Changes in this PR do not need user-facing explanations in the release changelog label Oct 7, 2026
@tessneau tessneau changed the title Add manual multiservice OpenTelemetry trace E2E validation chore(dev): add multiservice opentelemetry e2e test Oct 7, 2026

@thomasqueirozb thomasqueirozb left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

/ci-run-e2e-opentelemetry-traces-multiservice

@tessneau tessneau changed the title chore(dev): add multiservice opentelemetry e2e test test(opentelemetry): add manual multiservice trace E2E validation Oct 8, 2026

@tessneau tessneau left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

/ci-run-e2e-opentelemetry-traces-multiservice

@tessneau
tessneau marked this pull request as ready for review October 8, 2026 16:56
@tessneau
tessneau requested a review from a team as a code owner October 8, 2026 16:56
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-09T16:06:40.356682Z 6cf6484 New commits
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@tessneau
tessneau requested a review from bruceg October 8, 2026 16:56
@tessneau
tessneau marked this pull request as draft October 8, 2026 17:01

@datadoghq-integration datadoghq-integration 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.

Bits Code Review: FAIL

The quote readiness probe reports success for a refused connection, allowing premature workload startup and false E2E failures. The inline replacement was verified to fail on a closed port and succeed on an open port.

Open Bits AI session

🤖 Bits Code Review · Commit 69aeb3a · @DataDog review to ask questions

Comment thread tests/e2e/opentelemetry-traces-multiservice/config/compose.yaml Outdated
@tessneau

tessneau commented Oct 8, 2026

Copy link
Copy Markdown
Contributor Author

/ci-run-e2e-opentelemetry-traces-multiservice

@tessneau
tessneau marked this pull request as ready for review October 8, 2026 17:07
@tessneau tessneau changed the title test(opentelemetry): add manual multiservice trace E2E validation chore(dev): add multiservice opentelemetry trace e2e test Oct 8, 2026

@datadoghq-integration datadoghq-integration 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.

Bits Code Review: PASS

More details

Compose configuration validation passed. The multiservice round trip remains unverified in this environment because no Docker socket was available.

Was this helpful? React 👍 or 👎

Open Bits AI session

🤖 Bits Code Review · Commit d67df6e · @DataDog review to ask questions

@tessneau tessneau left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

/ci-run-e2e-opentelemetry-traces-multiservice

@github-actions github-actions Bot added the domain: vdev Anything related to the vdev tooling label Oct 9, 2026

@tessneau tessneau left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

/ci-run-e2e-opentelemetry-traces-multiservice

@tessneau tessneau left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

/ci-run-e2e-opentelemetry-traces-multiservice

@tessneau tessneau left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

/ci-run-e2e-opentelemetry-traces-multiservice

@tessneau tessneau left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

/ci-run-e2e-opentelemetry-traces-multiservice

This branch has not been deployed

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

Labels

domain: ci Anything related to Vector's CI environment domain: vdev Anything related to the vdev tooling no-changelog Changes in this PR do not need user-facing explanations in the release changelog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants