feat(opentelemetry sink): add gRPC transport support#24972
feat(opentelemetry sink): add gRPC transport support#24972thomasqueirozb wants to merge 69 commits into
Conversation
8891353 to
6526e41
Compare
This comment has been minimized.
This comment has been minimized.
…and GrpcCompression type
…equests to prevent retry duplicates
…rd health protocol
|
thanks for the PR! i've created an editorial review card, and someone on the docs team will take a look soon: https://datadoghq.atlassian.net/browse/DOCS-13836 |
…strict input type, reject template URIs for gRPC
…use per-clone Option
…vent! macros with named functions
… eliminate hot-path expect() calls
…s — no external consumers
…ed_bytes, drop dead encoded_len wrapper
…s warnings for all signal types
… inline signal detection into encode_event
… remove duplicate implementations
…s to exercise the full config path
…te-size runtime behavior" This reverts commit dd97e14.
…ch settings with byte-size flush
…t is primary flush trigger
…e partial-success failures
… URIs with path prefixes
…scheme prefix at startup
…mixed http/https URIs
…s-vector features
|
Hi! Thank you for the great work on supporting the gRPC transport for the OpenTelemetry sink. I decided to try using the gRPC sink in my setup. After making a few adjustments, everything worked out — now I’m using this new transport to send logs in my env. That’s why I want to help with the current PR and am attaching my modifications as a PR to this branch. |
@sakateka thanks! @thomasqueirozb can you review and pull fixes into this PR? Let's drive this to completion. |
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
How did you test this PR?
src/sinks/opentelemetry/grpc.rscovering config parsing and URI scheme handlingvector_grpc.yamlconfig (telemetrygen → OTel collector → Vector gRPC sink → OTel collector sink → file)src/sinks/opentelemetry/integration_tests.rs(gated onopentelemetry-integration-testsfeature) that sends OTLP log events to a live OTel collector via gRPCChange Type
Is this a breaking change?
Does this PR include user facing changes?
no-changeloglabel to this PR.References