From 6f83f7364247054812aa44a70b1b7038d965f544 Mon Sep 17 00:00:00 2001 From: Mattie Fu Date: Mon, 16 Feb 2026 16:45:27 -0500 Subject: [PATCH] fix: fix outstanding rpc metric --- .../v2/stub/metrics/BuiltinMetricsConstants.java | 5 ++--- .../v2/stub/metrics/ChannelPoolMetricsTracer.java | 13 ++++++++----- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/BuiltinMetricsConstants.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/BuiltinMetricsConstants.java index 810d555de28c..fcf58fb606d3 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/BuiltinMetricsConstants.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/BuiltinMetricsConstants.java @@ -81,6 +81,7 @@ public class BuiltinMetricsConstants { static final AttributeKey GRPC_XDS_SERVER_KEY = AttributeKey.stringKey("grpc.xds.server"); static final AttributeKey GRPC_XDS_RESOURCE_TYPE_KEY = AttributeKey.stringKey("grpc.xds.resource_type"); + static final AttributeKey GRPC_LB_POLICY_KEY = AttributeKey.stringKey("lb_policy"); public static final String METER_NAME = "bigtable.googleapis.com/internal/client/"; @@ -246,8 +247,6 @@ static void defineView( .build(); Set attributesFilter = ImmutableSet.builder() - .addAll( - COMMON_ATTRIBUTES.stream().map(AttributeKey::getKey).collect(Collectors.toSet())) .addAll(attributes.stream().map(AttributeKey::getKey).collect(Collectors.toSet())) .build(); ViewBuilder viewBuilder = @@ -277,7 +276,7 @@ public static Map getInternalViews() { InstrumentType.HISTOGRAM, "1", ImmutableSet.builder() - .add(BIGTABLE_PROJECT_ID_KEY, INSTANCE_ID_KEY, APP_PROFILE_KEY, CLIENT_NAME_KEY) + .add(TRANSPORT_TYPE, GRPC_LB_POLICY_KEY, STREAMING_KEY) .build()); return views.build(); } diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/ChannelPoolMetricsTracer.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/ChannelPoolMetricsTracer.java index e0b55f3272ee..05d992d7a222 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/ChannelPoolMetricsTracer.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/ChannelPoolMetricsTracer.java @@ -15,9 +15,12 @@ */ package com.google.cloud.bigtable.data.v2.stub.metrics; +import static com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsConstants.GRPC_LB_POLICY_KEY; import static com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsConstants.METER_NAME; import static com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsConstants.OUTSTANDING_RPCS_PER_CHANNEL_NAME; import static com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsConstants.PER_CONNECTION_ERROR_COUNT_NAME; +import static com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsConstants.STREAMING_KEY; +import static com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsConstants.TRANSPORT_TYPE; import com.google.api.core.InternalApi; import com.google.cloud.bigtable.gaxx.grpc.BigtableChannelObserver; @@ -103,9 +106,9 @@ public void run() { // Build attributes if they haven't been built yet. if (unaryAttributes == null || streamingAttributes == null) { - Attributes baseAttrs = commonAttrs.toBuilder().put("lb_policy", lbPolicy).build(); - this.unaryAttributes = baseAttrs.toBuilder().put("streaming", false).build(); - this.streamingAttributes = baseAttrs.toBuilder().put("streaming", true).build(); + Attributes baseAttrs = Attributes.of(GRPC_LB_POLICY_KEY, lbPolicy); + this.unaryAttributes = baseAttrs.toBuilder().put(STREAMING_KEY, false).build(); + this.streamingAttributes = baseAttrs.toBuilder().put(STREAMING_KEY, true).build(); } List channelInsights = channelInsightsProvider.getChannelInfos(); @@ -115,9 +118,9 @@ public void run() { for (BigtableChannelObserver info : channelInsights) { String transportTypeValue = info.isAltsChannel() ? "DIRECTPATH" : "CLOUDPATH"; this.unaryAttributes = - this.unaryAttributes.toBuilder().put("transport_type", transportTypeValue).build(); + this.unaryAttributes.toBuilder().put(TRANSPORT_TYPE, transportTypeValue).build(); this.streamingAttributes = - this.streamingAttributes.toBuilder().put("transport_type", transportTypeValue).build(); + this.streamingAttributes.toBuilder().put(TRANSPORT_TYPE, transportTypeValue).build(); long currentOutstandingUnaryRpcs = info.getOutstandingUnaryRpcs(); long currentOutstandingStreamingRpcs = info.getOutstandingStreamingRpcs();