Decouple trace context propagation functionality for gRPC into a separate library

Open
#11,688 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Stale
Tech stack
grpc, java

Research direction

Start by reviewing the existing instrumentation/grpc-1.6/library and its GrpcTelemetry ClientInterceptor, then trace how the Spanner client would consume trace context propagation. Done means a stable, propagation-only library is defined and usable without adding the alpha gRPC instrumentation library or its possible semantic-convention breaking changes.

Written by the indexing model from the issue text.

Description

enhancement
Is your feature request related to a problem? Please describe.

We want to propagate trace context using W3 Trace Context header(traceparent) in gRPC requests made by using Spanner client library.

Currently https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/instrumentation/grpc-1.6/library provides GrpcTelemetry ClientInterceptor which can be used to intercept gRPC calls and add trace context headers in calls. The issue is that this library is in alpha version due to work going on semantic conventions.

We want to avoid adding alpha version library inside Spanner client library for trace context propagation as it may have breaking change in the future and instead use a stable one.

Describe the solution you'd like

Creating a stable library specific to only trace context propagation can solve the issue.

Describe alternatives you've considered

No response

Additional context

No response

Dominant language
Java
Stars
2.6k
Forks
1.2k
Avg merge
2d 16h
Merged PRs (30d)
214

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from open-telemetry/opentelemetry-java-instrumentation

All issues in open-telemetry/opentelemetry-java-instrumentation

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.