Skip to content

feat(opentelemetry sink): add gRPC transport support#24972

Draft
thomasqueirozb wants to merge 6 commits intomasterfrom
feat/opentelemetry-sink-grpc
Draft

feat(opentelemetry sink): add gRPC transport support#24972
thomasqueirozb wants to merge 6 commits intomasterfrom
feat/opentelemetry-sink-grpc

Conversation

@thomasqueirozb
Copy link
Contributor

@thomasqueirozb thomasqueirozb commented Mar 20, 2026

Summary

Adds gRPC transport to the OpenTelemetry sink, complementing the existing HTTP transport. The sink now supports protocol.type = "grpc" using tonic over HTTP/2, with support for TLS, compression, batching, and retry logic matching the source's gRPC implementation.

Vector configuration

sinks:
  otel_grpc:
    type: opentelemetry
    inputs: [...]
    protocol:
      type: grpc
      endpoint: http://otel-collector:4317

How did you test this PR?

  • Unit tests in src/sinks/opentelemetry/grpc.rs covering config parsing and URI scheme handling
  • E2e test matrix extended with vector_grpc.yaml config (telemetrygen → OTel collector → Vector gRPC sink → OTel collector sink → file)
  • Integration test in src/sinks/opentelemetry/integration_tests.rs (gated on opentelemetry-integration-tests feature) that sends OTLP log events to a live OTel collector via gRPC

Change Type

  • Bug fix
  • New feature
  • Dependencies
  • Non-functional (chore, refactoring, docs)
  • Performance

Is this a breaking change?

  • Yes
  • No

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.

References

NA

@github-actions github-actions bot added the domain: sinks Anything related to the Vector's sinks label Mar 20, 2026
@thomasqueirozb thomasqueirozb added sink: opentelemetry Anything `opentelemetry` sink related domain: opentelemetry labels Mar 20, 2026
@thomasqueirozb thomasqueirozb force-pushed the feat/opentelemetry-sink-grpc branch from 8891353 to 6526e41 Compare March 20, 2026 22:38
@github-actions github-actions bot added the domain: external docs Anything related to Vector's external, public documentation label Mar 20, 2026
@datadog-vectordotdev
Copy link

⚠️ Tests

Fix all issues with Cursor

⚠️ Warnings

🧪 2 Tests failed

sinks::opentelemetry::grpc::tests::generate_grpc_config from vector (Datadog) (Fix with Cursor)
Test has failed
sinks::opentelemetry::grpc::tests::grpc_config_with_gzip from vector (Datadog) (Fix with Cursor)
Test has failed

ℹ️ Info

No other issues found (see more)

❄️ No new flaky tests detected

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: b29ccef | Docs | Was this helpful? Give us feedback!

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

Labels

domain: external docs Anything related to Vector's external, public documentation domain: opentelemetry domain: sinks Anything related to the Vector's sinks sink: opentelemetry Anything `opentelemetry` sink related

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant