|
16 | 16 | package com.google.cloud.bigtable.data.v2.stub.metrics; |
17 | 17 |
|
18 | 18 | import static com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsConstants.APPLICATION_BLOCKING_LATENCIES_NAME; |
| 19 | +import static com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsConstants.APP_PROFILE_KEY; |
19 | 20 | import static com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsConstants.ATTEMPT_LATENCIES2_NAME; |
20 | 21 | import static com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsConstants.ATTEMPT_LATENCIES_NAME; |
21 | 22 | import static com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsConstants.BATCH_WRITE_FLOW_CONTROL_FACTOR_NAME; |
22 | 23 | import static com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsConstants.BATCH_WRITE_FLOW_CONTROL_TARGET_QPS_NAME; |
| 24 | +import static com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsConstants.BIGTABLE_PROJECT_ID_KEY; |
23 | 25 | import static com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsConstants.CLIENT_BLOCKING_LATENCIES_NAME; |
| 26 | +import static com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsConstants.CLIENT_NAME_KEY; |
24 | 27 | import static com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsConstants.CONNECTIVITY_ERROR_COUNT_NAME; |
25 | 28 | import static com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsConstants.FIRST_RESPONSE_LATENCIES_NAME; |
| 29 | +import static com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsConstants.INSTANCE_ID_KEY; |
26 | 30 | import static com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsConstants.METER_NAME; |
27 | 31 | import static com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsConstants.OPERATION_LATENCIES_NAME; |
28 | 32 | import static com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsConstants.REMAINING_DEADLINE_NAME; |
|
34 | 38 | import com.google.api.gax.tracing.ApiTracerFactory; |
35 | 39 | import com.google.api.gax.tracing.BaseApiTracerFactory; |
36 | 40 | import com.google.api.gax.tracing.SpanName; |
| 41 | +import com.google.cloud.bigtable.Version; |
| 42 | +import com.google.cloud.bigtable.data.v2.internal.csm.attributes.ClientInfo; |
37 | 43 | import io.opentelemetry.api.OpenTelemetry; |
38 | 44 | import io.opentelemetry.api.common.Attributes; |
39 | 45 | import io.opentelemetry.api.metrics.DoubleGauge; |
@@ -68,14 +74,24 @@ public class BuiltinMetricsTracerFactory extends BaseApiTracerFactory { |
68 | 74 | private final DoubleHistogram batchWriteFlowControlFactorHistogram; |
69 | 75 |
|
70 | 76 | public static BuiltinMetricsTracerFactory create( |
71 | | - OpenTelemetry openTelemetry, Attributes attributes) throws IOException { |
72 | | - return new BuiltinMetricsTracerFactory(openTelemetry, attributes); |
| 77 | + OpenTelemetry openTelemetry, ClientInfo clientInfo) throws IOException { |
| 78 | + return new BuiltinMetricsTracerFactory(openTelemetry, clientInfo); |
73 | 79 | } |
74 | 80 |
|
75 | | - BuiltinMetricsTracerFactory(OpenTelemetry openTelemetry, Attributes attributes) { |
76 | | - this.attributes = attributes; |
| 81 | + BuiltinMetricsTracerFactory(OpenTelemetry openTelemetry, ClientInfo clientInfo) { |
77 | 82 | Meter meter = openTelemetry.getMeter(METER_NAME); |
78 | 83 |
|
| 84 | + this.attributes = |
| 85 | + Attributes.of( |
| 86 | + BIGTABLE_PROJECT_ID_KEY, |
| 87 | + clientInfo.getInstanceName().getProject(), |
| 88 | + INSTANCE_ID_KEY, |
| 89 | + clientInfo.getInstanceName().getInstance(), |
| 90 | + APP_PROFILE_KEY, |
| 91 | + clientInfo.getAppProfileId(), |
| 92 | + CLIENT_NAME_KEY, |
| 93 | + "bigtable-java/" + Version.VERSION); |
| 94 | + |
79 | 95 | operationLatenciesHistogram = |
80 | 96 | meter |
81 | 97 | .histogramBuilder(OPERATION_LATENCIES_NAME) |
|
0 commit comments