Uh oh!
There was an error while loading. Please reload this page.
feat: Introduce OpenTelemetry Metrics Recording - #2500
Conversation
50fa91a to
21407aaCompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
| @Override | ||
| public void recordOperationLatency(double operationLatency, Map<String, String> attributes) { | ||
| operationLatencyRecorder.record(operationLatency, toOtelAttributes(attributes)); | ||
| } | ||
| /** | ||
| * Record an operation made. The operation count number is stored in a LongCounter. | ||
| * | ||
| * <p>The operation count should always be 1 and this should be invoked once. | ||
| * | ||
| * @param count The number of operations made | ||
| * @param attributes Map of the attributes to store | ||
| */ | ||
| @Override | ||
| public void recordOperationCount(long count, Map<String, String> attributes) { | ||
| operationCountRecorder.add(count, toOtelAttributes(attributes)); | ||
| } |
There was a problem hiding this comment.
Both Operation record calls should only occur once. Do we want to validate this/ throw an exception if recordOperation(...) is invoked more than once?
There was a problem hiding this comment.
I think we should rely on the existing framework. If there is a existing bug, it should not be the responsibility of the recorder to validate it as well, we should probably validate it in the MetricsTracer.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
| public OpenTelemetryMetricsRecorder(OpenTelemetry openTelemetry, String serviceName) { | ||
| Meter meter = | ||
| openTelemetry | ||
| .meterBuilder("Gax-OtelMetrics") |
There was a problem hiding this comment.
Let's use gax-java. Based on the Javadoc, the value here should be the library name.
Co-authored-by: Blake Li <blakeli@google.com>
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
…metryMetricsRecorder.java
|
|
🤖 I have created a release *beep* *boop* --- <details><summary>2.38.0</summary> ## [2.38.0](v2.37.0...v2.38.0) (2024-03-15) ### Features * [common-protos] add `api_version` extension to `ServiceOptions`, for collaborative versioning ([d343be9](d343be9)) * [common-protos] add `api_version` extension to `ServiceOptions`, for collaborative versioning ([#2551](#2551)) ([d343be9](d343be9)) * add `ErrorReason.LOCATION_POLICY_VIOLATED` enum value ([d343be9](d343be9)) * add `ErrorReason.LOCATION_POLICY_VIOLATED` enum value ([d343be9](d343be9)) * add `Publishing.rest_reference_documentation_uri` to aid client library publication ([d343be9](d343be9)) * add `Publishing.rest_reference_documentation_uri` to aid client library publication ([d343be9](d343be9)) * Add shopping and chat common protos. ([#2553](#2553)) ([5f2d4e7](5f2d4e7)), closes [#2018](#2018) * get PR description from googleapis commits ([#2531](#2531)) ([c2ea697](c2ea697)) * Introduce OpenTelemetry Metrics Recording ([#2500](#2500)) ([b936580](b936580)) * skip build only commit ([#2555](#2555)) ([180c8a9](180c8a9)) * Universe Domain Environment Variable Support ([#2485](#2485)) ([1463d64](1463d64)) ### Dependencies * normalize dependencies ([#2574](#2574)) ([6622238](6622238)) * update arrow.version to v15.0.1 ([#2565](#2565)) ([b2c3f6a](b2c3f6a)) * update dependency com.fasterxml.jackson:jackson-bom to v2.17.0 ([#2564](#2564)) ([40ae7f9](40ae7f9)) * update dependency com.google.api-client:google-api-client-bom to v2.4.0 ([#2570](#2570)) ([f60441f](f60441f)) * update dependency com.google.errorprone:error_prone_annotations to v2.26.1 ([#2530](#2530)) ([7c1aaab](7c1aaab)) * update dependency com.google.errorprone:error_prone_annotations to v2.26.1 ([#2532](#2532)) ([447b4e1](447b4e1)) * update dependency io.netty:netty-tcnative-boringssl-static to v2.0.65.final ([#2547](#2547)) ([46e0e0f](46e0e0f)) * update dependency net.bytebuddy:byte-buddy to v1.14.12 ([#2522](#2522)) ([edfec32](edfec32)) * update google api dependencies ([#2484](#2484)) ([92e91bc](92e91bc)) * update google api dependencies ([#2538](#2538)) ([d9355cf](d9355cf)) * update googleapis/java-cloud-bom digest to 3f93d58 ([#2499](#2499)) ([5fd4d5e](5fd4d5e)) * update googleapis/java-cloud-bom digest to 659764f ([#2545](#2545)) ([d6c8be6](d6c8be6)) * update netty dependencies ([#2480](#2480)) ([40753c3](40753c3)) * update opentelemetry-java monorepo to v1.35.0 ([#2477](#2477)) ([3ecefff](3ecefff)) * update opentelemetry-java monorepo to v1.36.0 ([#2550](#2550)) ([9669c21](9669c21)) * update opentelemetry-java monorepo to v1.36.0 ([#2573](#2573)) ([f5f201e](f5f201e)) * update slf4j monorepo to v2.0.12 ([#2481](#2481)) ([363a354](363a354)) ### Documentation * minor tweaks to various comments ([d343be9](d343be9)) * minor tweaks to various comments ([d343be9](d343be9)) </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.38.0</summary> ## [2.38.0](googleapis/sdk-platform-java@v2.37.0...v2.38.0) (2024-03-15) ### Features * [common-protos] add `api_version` extension to `ServiceOptions`, for collaborative versioning ([95fd22c](googleapis/sdk-platform-java@95fd22c)) * [common-protos] add `api_version` extension to `ServiceOptions`, for collaborative versioning ([#2551](googleapis/sdk-platform-java#2551)) ([95fd22c](googleapis/sdk-platform-java@95fd22c)) * add `ErrorReason.LOCATION_POLICY_VIOLATED` enum value ([95fd22c](googleapis/sdk-platform-java@95fd22c)) * add `ErrorReason.LOCATION_POLICY_VIOLATED` enum value ([95fd22c](googleapis/sdk-platform-java@95fd22c)) * add `Publishing.rest_reference_documentation_uri` to aid client library publication ([95fd22c](googleapis/sdk-platform-java@95fd22c)) * add `Publishing.rest_reference_documentation_uri` to aid client library publication ([95fd22c](googleapis/sdk-platform-java@95fd22c)) * Add shopping and chat common protos. ([#2553](googleapis/sdk-platform-java#2553)) ([14769d3](googleapis/sdk-platform-java@14769d3)), closes [#2018](googleapis/sdk-platform-java#2018) * get PR description from googleapis commits ([#2531](googleapis/sdk-platform-java#2531)) ([d26580c](googleapis/sdk-platform-java@d26580c)) * Introduce OpenTelemetry Metrics Recording ([#2500](googleapis/sdk-platform-java#2500)) ([27c3a20](googleapis/sdk-platform-java@27c3a20)) * skip build only commit ([#2555](googleapis/sdk-platform-java#2555)) ([002790e](googleapis/sdk-platform-java@002790e)) * Universe Domain Environment Variable Support ([#2485](googleapis/sdk-platform-java#2485)) ([b2b0414](googleapis/sdk-platform-java@b2b0414)) ### Dependencies * normalize dependencies ([#2574](googleapis/sdk-platform-java#2574)) ([bd10d40](googleapis/sdk-platform-java@bd10d40)) * update arrow.version to v15.0.1 ([#2565](googleapis/sdk-platform-java#2565)) ([a652d47](googleapis/sdk-platform-java@a652d47)) * update dependency com.fasterxml.jackson:jackson-bom to v2.17.0 ([#2564](googleapis/sdk-platform-java#2564)) ([f099a56](googleapis/sdk-platform-java@f099a56)) * update dependency com.google.api-client:google-api-client-bom to v2.4.0 ([#2570](googleapis/sdk-platform-java#2570)) ([720a917](googleapis/sdk-platform-java@720a917)) * update dependency com.google.errorprone:error_prone_annotations to v2.26.1 ([#2530](googleapis/sdk-platform-java#2530)) ([545dfa1](googleapis/sdk-platform-java@545dfa1)) * update dependency com.google.errorprone:error_prone_annotations to v2.26.1 ([#2532](googleapis/sdk-platform-java#2532)) ([8861143](googleapis/sdk-platform-java@8861143)) * update dependency io.netty:netty-tcnative-boringssl-static to v2.0.65.final ([#2547](googleapis/sdk-platform-java#2547)) ([b516f3c](googleapis/sdk-platform-java@b516f3c)) * update dependency net.bytebuddy:byte-buddy to v1.14.12 ([#2522](googleapis/sdk-platform-java#2522)) ([60b5626](googleapis/sdk-platform-java@60b5626)) * update google api dependencies ([#2484](googleapis/sdk-platform-java#2484)) ([3ed98b1](googleapis/sdk-platform-java@3ed98b1)) * update google api dependencies ([#2538](googleapis/sdk-platform-java#2538)) ([7f5f925](googleapis/sdk-platform-java@7f5f925)) * update googleapis/java-cloud-bom digest to 3f93d58 ([#2499](googleapis/sdk-platform-java#2499)) ([d557d96](googleapis/sdk-platform-java@d557d96)) * update googleapis/java-cloud-bom digest to 659764f ([#2545](googleapis/sdk-platform-java#2545)) ([144e461](googleapis/sdk-platform-java@144e461)) * update netty dependencies ([#2480](googleapis/sdk-platform-java#2480)) ([d43592b](googleapis/sdk-platform-java@d43592b)) * update opentelemetry-java monorepo to v1.35.0 ([#2477](googleapis/sdk-platform-java#2477)) ([e34028f](googleapis/sdk-platform-java@e34028f)) * update opentelemetry-java monorepo to v1.36.0 ([#2550](googleapis/sdk-platform-java#2550)) ([31737f2](googleapis/sdk-platform-java@31737f2)) * update opentelemetry-java monorepo to v1.36.0 ([#2573](googleapis/sdk-platform-java#2573)) ([4653e2c](googleapis/sdk-platform-java@4653e2c)) * update slf4j monorepo to v2.0.12 ([#2481](googleapis/sdk-platform-java#2481)) ([29332ce](googleapis/sdk-platform-java@29332ce)) ### Documentation * minor tweaks to various comments ([95fd22c](googleapis/sdk-platform-java@95fd22c)) * minor tweaks to various comments ([95fd22c](googleapis/sdk-platform-java@95fd22c)) </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>





Builds off #2433, based on the design in go/java-gapic-otel-metrics-design.
Discovered two issues via showcase tests:
These issues are not blocking for this PR.