Skip to content

Conversation

@mx-psi
Copy link
Member

@mx-psi mx-psi commented Nov 26, 2025

Description

Guards otelgrpc instrumentation behind a new configgrpc.useOtelGRPCInstrumentation feature flag.

These are unstable semantic conventions being actively worked on by the RPC Semconv SIG (RPC Semantic Conventions Stability) and the otelgrpc library itself is unstable.

I argue this would be beneficial because:

  1. It would minimize disruption from changes in RPC conventions
  2. It would postpone decisions regarding Review sequence for HTTP and gRPC middleware #12836 and whether to view instrumentation as middleware

@codspeed-hq
Copy link

codspeed-hq bot commented Nov 26, 2025

CodSpeed Performance Report

Merging #14222 will not alter performance

Comparing mx-psi:mx-psi/configgrpc-feature-gate-otelgrpc (aa8be01) with main (974da01)

⚠️ Unknown Walltime execution environment detected

Using the Walltime instrument on standard Hosted Runners will lead to inconsistent data.

For the most accurate results, we recommend using CodSpeed Macro Runners: bare-metal machines fine-tuned for performance measurement consistency.

Summary

✅ 71 untouched

@mx-psi
Copy link
Member Author

mx-psi commented Nov 26, 2025

@open-telemetry/semconv-rpc-approvers I would love to have your opinion on this PR.

My interpretation of https://opentelemetry.io/blog/2025/stability-proposal-announcement/#instrumentation-and-convention-goals is that this would be fine to have enabled by default, but if you believe it is still early for users to adopt these I would like to hear it

@codecov
Copy link

codecov bot commented Nov 26, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.14%. Comparing base (974da01) to head (aa8be01).

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #14222      +/-   ##
==========================================
- Coverage   92.15%   92.14%   -0.01%     
==========================================
  Files         667      667              
  Lines       41446    41449       +3     
==========================================
  Hits        38194    38194              
- Misses       2215     2217       +2     
- Partials     1037     1038       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@trask
Copy link
Member

trask commented Nov 26, 2025

@open-telemetry/semconv-rpc-approvers I would love to have your opinion on this PR.

as long as you're following https://github.com/open-telemetry/semantic-conventions/blob/main/docs/rpc/README.md#semantic-conventions-for-rpc

Important

Existing RPC instrumentations that are using
v1.37.0 of this document
(or prior):

  • SHOULD NOT change the version of the RPC conventions that they emit by
    default in their existing major version. Conventions include (but are not
    limited to) attributes, metric and span names, and unit of measure.
  • SHOULD introduce an environment variable OTEL_SEMCONV_STABILITY_OPT_IN
    in their existing major version as a comma-separated list of category-specific values
    (e.g., http, databases, rpc). The list of values includes:
    • rpc - emit the stable RPC conventions, and stop emitting
      the experimental RPC conventions that the instrumentation emitted
      previously.
    • rpc/dup - emit both the experimental and stable RPC conventions,
      allowing for a phased rollout of the stable semantic conventions.
    • The default behavior (in the absence of one of these values) is to continue
      emitting whatever version of the old experimental RPC conventions
      the instrumentation was emitting previously.
    • Note: rpc/dup has higher precedence than rpc in case both values are present
  • SHOULD maintain (security patching at a minimum) their existing major version
    for at least six months after it starts emitting both sets of conventions.
  • MAY drop the environment variable in their next major version and emit only
    the stable RPC conventions.

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.

2 participants