| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
This reverts commit b7b9e31.
- Rename SpanHandle to GaxSpan - Simplify adding op and attempt attributes - Use HashMap instead of ConcurrentHashMap - Remove error handling (for now)
…icTracer.java Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…om/googleapis/sdk-platform-java into observability/initial-tracing-impl
Summary of ChangesHello @diegomarquezp, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request introduces new gcp.client.repo and gcp.client.artifact attributes to enhance observability within client libraries. It modifies the GAPIC generator to accept and propagate these attributes, ensuring that generated client settings classes include this metadata. This change provides better insights into the client library's origin and identity during tracing, which is crucial for monitoring and debugging. Highlights
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here. Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
Sorry, something went wrong.
There was a problem hiding this comment.
This pull request introduces new observability attributes gcp.client.repo and gcp.client.artifact to tracing spans, which is a valuable addition for client library telemetry. The changes are well-integrated throughout the codebase, from the generator arguments and models to the GAX runtime and build scripts. The inclusion of tests at various levels, including new golden files and integration tests, ensures the correctness of this new feature. I've found one minor issue in a test file, which I've commented on.
Sorry, something went wrong.
There was a problem hiding this comment.
I'm only passing repo and artifact to the showcase service protos. I believe it's fine to observe both when the arguments were passend and when they were not.
Sorry, something went wrong.
| @InternalApi | ||
| @AutoValue | ||
| public abstract class ApiTracerContext { | ||
| @Nullable |
There was a problem hiding this comment.
I don't think these two attributes could be null?
Sorry, something went wrong.
There was a problem hiding this comment.
Users may provide a factory without an ApiTracerContext, so we need an empty one here with null values.
Sorry, something went wrong.
There was a problem hiding this comment.
This may change later with feature enablement but for now I believe it's necessary.
Sorry, something went wrong.
| :return: string representing the repository | ||
| """ | ||
| if config.contains_common_protos(): | ||
| repo = SDK_PLATFORM_JAVA |
There was a problem hiding this comment.
We may have to change this hardcode value to google-cloud-java once sdk-platform-java is migrated to google-cloud-java.
Sorry, something went wrong.
|
Sorry, something went wrong.
|
Sorry, something went wrong.
🤖 I have created a release *beep* *boop* --- <details><summary>2.68.0</summary> ## [2.68.0](v2.67.0...v2.68.0) (2026-03-17) ### Features * Add client request duration metric. ([#4132](#4132)) ([6a76397](6a76397)) * Add more attributes to golden signals metrics. ([#4135](#4135)) ([59d0624](59d0624)) * **gax-httpjson:** add HttpJsonErrorParser utility ([#4137](#4137)) ([a1b7565](a1b7565)) * **generator:** add extra allowed modules that will not be removed from the monorepo if they are present ([#4124](#4124)) ([774fe6e](774fe6e)) * **o11y:** introduce `gcp.client.repo` and `gcp.client.artifact` attributes ([#4120](#4120)) ([105f644](105f644)) * **o11y:** Introduce `rpc.system.name` and `rpc.method` in gRPC ([#4121](#4121)) ([7ab6d2e](7ab6d2e)) * **o11y:** introduce server.port attribute ([#4128](#4128)) ([56aa343](56aa343)) ### Bug Fixes * add null checks for ApiTracerFactory in ClientContext ([#4122](#4122)) ([4b3dbe2](4b3dbe2)) * Decrease log level for directpath warnings outside GCE ([#4139](#4139)) ([c9651e7](c9651e7)) * **gax-grpc:** add pick_first fallback to direct path service config ([#4143](#4143)) ([b150fe9](b150fe9)) * Populate method level attributes in metrics recording ([#4149](#4149)) ([7b7e6c9](7b7e6c9)) * suppress warnings in generated projects for non-idiomatic durations ([#4119](#4119)) ([4206e6e](4206e6e)) * Use ServiceName + MethodName as the regex for Otel ([#2543](#2543)) ([b9ae73f](b9ae73f)) ### Documentation * **hermetic_build:** fix config field name in readme ([#4130](#4130)) ([a0c8f67](a0c8f67)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
🤖 I have created a release *beep* *boop* --- <details><summary>2.68.0</summary> ## [2.68.0](googleapis/sdk-platform-java@v2.67.0...v2.68.0) (2026-03-17) ### Features * Add client request duration metric. ([#4132](googleapis/sdk-platform-java#4132)) ([487650e](googleapis/sdk-platform-java@487650e)) * Add more attributes to golden signals metrics. ([#4135](googleapis/sdk-platform-java#4135)) ([bc82dcb](googleapis/sdk-platform-java@bc82dcb)) * **gax-httpjson:** add HttpJsonErrorParser utility ([#4137](googleapis/sdk-platform-java#4137)) ([6fe2446](googleapis/sdk-platform-java@6fe2446)) * **generator:** add extra allowed modules that will not be removed from the monorepo if they are present ([#4124](googleapis/sdk-platform-java#4124)) ([6a440da](googleapis/sdk-platform-java@6a440da)) * **o11y:** introduce `gcp.client.repo` and `gcp.client.artifact` attributes ([#4120](googleapis/sdk-platform-java#4120)) ([4954de5](googleapis/sdk-platform-java@4954de5)) * **o11y:** Introduce `rpc.system.name` and `rpc.method` in gRPC ([#4121](googleapis/sdk-platform-java#4121)) ([3593c30](googleapis/sdk-platform-java@3593c30)) * **o11y:** introduce server.port attribute ([#4128](googleapis/sdk-platform-java#4128)) ([1b10e02](googleapis/sdk-platform-java@1b10e02)) ### Bug Fixes * add null checks for ApiTracerFactory in ClientContext ([#4122](googleapis/sdk-platform-java#4122)) ([ded1922](googleapis/sdk-platform-java@ded1922)) * Decrease log level for directpath warnings outside GCE ([#4139](googleapis/sdk-platform-java#4139)) ([5151f34](googleapis/sdk-platform-java@5151f34)) * **gax-grpc:** add pick_first fallback to direct path service config ([#4143](googleapis/sdk-platform-java#4143)) ([4934ad8](googleapis/sdk-platform-java@4934ad8)) * Populate method level attributes in metrics recording ([#4149](googleapis/sdk-platform-java#4149)) ([69aabf8](googleapis/sdk-platform-java@69aabf8)) * suppress warnings in generated projects for non-idiomatic durations ([#4119](googleapis/sdk-platform-java#4119)) ([8a0c565](googleapis/sdk-platform-java@8a0c565)) * Use ServiceName + MethodName as the regex for Otel ([#2543](googleapis/sdk-platform-java#2543)) ([8196b8f](googleapis/sdk-platform-java@8196b8f)) ### Documentation * **hermetic_build:** fix config field name in readme ([#4130](googleapis/sdk-platform-java#4130)) ([0d98c37](googleapis/sdk-platform-java@0d98c37)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
…tor-java (#4775) Pass repo and artifact (distribution name) as parameter to gapic-generator-java. This is new feature to support o11y features. Context googleapis/sdk-platform-java#4120. Fix #4773
| Back | FazBrowse Home | New Git URL |
This PR introduces the ability to include repository and artifact name metadata in generated GAPIC libraries.
Changes
GAX (Google API Extensions)
GAPIC Generator
Hermetic Build
Verification Results
Note on java-bigtable downstream check
Since SkipTrailersTest mocks the tracer factory, the EndpointContext call to apiTracerFactory.withContext() returns a null factory, causing a null pointer exception when building the client context.
We expect the test to be adjusted with this change with the next release.