Skip to content

chore: refactor all opentelemetry span logic for RPC calls into generic executeWithSpan function#12077

Merged
ldetmer merged 7 commits intomainfrom
refactor-span-tracing
Mar 16, 2026
Merged

chore: refactor all opentelemetry span logic for RPC calls into generic executeWithSpan function#12077
ldetmer merged 7 commits intomainfrom
refactor-span-tracing

Conversation

@ldetmer
Copy link
Copy Markdown
Contributor

@ldetmer ldetmer commented Mar 13, 2026

This is to setup the ability to add new attributes to existing tracing span for the observability project. This is no-op functional change for the current code, but achieves the following:

  • Moves all tracing logic (creation, attribute setting, closing) into new executeWithSpan generic function. Is useful for potential future changes.

  • Adds the functionality to make each client span the current span. This does not have any affect on the traces themselves (see comparison below), but it does allow for us to retrieve this span in an HTTP interceptor and append additional attributes. See design: go/sdk:java-bigquery-observability. Without this change the current span returned is the parent span.

Example trace before change

Example trace after change

@ldetmer ldetmer requested review from a team as code owners March 13, 2026 17:40
Comment on lines +211 to +213
"DatasetService",
"ListDatasets",
options,
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Perhaps we can have a helper method to build the common attributes and pass the built Attributes to executeWithSpan. There's a lot of params passed to executeWithSpan

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this makes sense, I implemented a separate method to create the span, however I left the invocation inline to the call to executeWithSpan. If you think this is a readability issue let me know and I can make it is only call.

@ldetmer ldetmer requested a review from jinseopkim0 March 16, 2026 15:55
@ldetmer ldetmer merged commit e0d9bd2 into main Mar 16, 2026
56 checks passed
@ldetmer ldetmer deleted the refactor-span-tracing branch March 16, 2026 17:48
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.

3 participants