Skip to content

feat(Gax): implement Observability Phase 1 (Config, Client Request & Network Tracing) - #9775

Closed
bshaffer wants to merge 10 commits into
googleapis:mainfrom
bshaffer:feat/observability-t1-config-review
Closed

bshaffer wants to merge 10 commits into
googleapis:mainfrom
bshaffer:feat/observability-t1-config-review

Conversation

@bshaffer

@bshaffer bshaffer commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

Includes #9573 with review updates in 8615bac:

  • Fix promise wait/cancellation span lifecycle and skip streaming calls in TracingMiddleware.
  • Fix synchronous error span leaks, RPC status handling, and ApiException error attributes in GrpcTransport and TelemetryTrait.
  • Resolve clientVersion from gapicVersion and simplify telemetry options in GapicClientTrait and TelemetryTrait.

cy-yun and others added 7 commits September 28, 2026 13:57
…ClientOptions

- Align OpenTelemetry semantic conventions with v1.39 (server.address, server.port, rpc.system.name, rpc.response.status_code)
- Remove unreleased deprecated RPC_SYSTEM constant in favor of canonical RPC_SYSTEM_NAME
- Extract traceTransportOperation helper in TelemetryTrait to DRY transport operation tracing
- Explicitly record exceptions as span events via recordException()
- Add comprehensive docblocks explaining openTelemetryTracerProvider in ClientOptions
… and auth handler reconfiguration

- Synchronously detach OTel scope in TracingMiddleware to avoid leaking context across unawaited async calls
- Activate OTel span scope during promise wait() execution so retry delays and subsequent attempts inherit Client Request span context
- Activate and detach scope around transport operations in TelemetryTrait::traceTransportOperation
- Support reconfiguring TracerProviderInterface on already-wrapped AuthHttpHandler instances in CredentialsWrapper
- Modernize array destructuring syntax in GapicClientTrait
- Remove internal taxonomy shorthand from TracingMiddleware docblock
- Add unit test coverage for promise wait/cancellation scope lifecycles and AuthHttpHandler reconfiguration
Decouple T5 spans (RetryDelay, RequestMarshaling, ResponseUnmarshaling, and
AuthenticationRefresh) to focus the PR strictly on configuration/gating,
T3 (Client Request), and T4 (Network Request).
@google-cla

google-cla Bot commented Oct 7, 2026

Copy link
Copy Markdown

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@bshaffer bshaffer closed this Oct 8, 2026
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