Skip to content

opentelemetry-client: add ServiceTalk[Grpc|Http]Sender implementations - #3447

Draft
bryce-anderson wants to merge 1 commit into
apple:mainfrom
bryce-anderson:bl_anderson/ServiceTalkExporter
Draft

opentelemetry-client: add ServiceTalk[Grpc|Http]Sender implementations#3447
bryce-anderson wants to merge 1 commit into
apple:mainfrom
bryce-anderson:bl_anderson/ServiceTalkExporter

Conversation

@bryce-anderson

Copy link
Copy Markdown
Contributor

Motivation

We want to use ServiceTalk as the transport for emitting OTEL telemetry to the collector. It turns out there is a nice and simple abstraction for this, the [Grpc|Http]Sender types, which is how the default clients are built.

Modifications

Add implementations.

@bryce-anderson
bryce-anderson force-pushed the bl_anderson/ServiceTalkExporter branch 3 times, most recently from cf0816b to cfacfce Compare August 27, 2026 18:26
… HttpSender

We want to use ServiceTalk as the transport for emitting OTel telemetry to
the collector. The OTel SDK exposes a small SPI for this — the GrpcSender
and HttpSender types — which is how the default OTLP clients are built.

- Add the `servicetalk-opentelemetry-otlp-sender` module implementing
  `GrpcSender`/`HttpSender` and their `*Provider` SPI entries on top of
  ServiceTalk's gRPC and HTTP clients, mapping the OTel timeout, retry
  policy, SSL, and proxy options onto the client builders.
- Add `OtelCompressorBufferEncoder` to bridge the OTel `Compressor` API to
  ServiceTalk request encoding.
- Add an `opentelemetry-jaeger` example and integration tests backed by a
  mock OTLP collector.

OTel telemetry can be exported over ServiceTalk's OTLP gRPC and HTTP
transports.
@bryce-anderson
bryce-anderson force-pushed the bl_anderson/ServiceTalkExporter branch from cfacfce to 532393d Compare August 28, 2026 22:36
@bryce-anderson
bryce-anderson marked this pull request as ready for review August 28, 2026 22:36
@bryce-anderson
bryce-anderson marked this pull request as draft August 31, 2026 18:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant