Skip to content
This repository was archived by the owner on May 8, 2026. It is now read-only.

Commit 571aec7

Browse files
chore: move all moveable metrics impl to new home (#2815)
* chore: move all moveable metrics impl to new home Change-Id: I95394f940d2fc6b1d46569a4ef572312e32cb7a0 * oops Change-Id: I5ce66ebcd47ad9a46e0aceb19e4e561f05dbe43b
1 parent e526a24 commit 571aec7

24 files changed

Lines changed: 96 additions & 85 deletions

google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/csm/Metrics.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
import com.google.api.gax.tracing.ApiTracerFactory;
1919
import com.google.cloud.bigtable.data.v2.internal.csm.attributes.ClientInfo;
20-
import com.google.cloud.bigtable.data.v2.stub.metrics.ChannelPoolMetricsTracer;
20+
import com.google.cloud.bigtable.data.v2.internal.csm.tracers.ChannelPoolMetricsTracer;
2121
import io.grpc.ManagedChannelBuilder;
2222
import java.io.Closeable;
2323
import java.io.IOException;

google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/csm/MetricsImpl.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@
2424
import com.google.cloud.bigtable.data.v2.internal.csm.MetricRegistry.RecorderRegistry;
2525
import com.google.cloud.bigtable.data.v2.internal.csm.attributes.ClientInfo;
2626
import com.google.cloud.bigtable.data.v2.internal.csm.attributes.EnvInfo;
27+
import com.google.cloud.bigtable.data.v2.internal.csm.exporter.BigtableCloudMonitoringExporter;
2728
import com.google.cloud.bigtable.data.v2.internal.csm.opencensus.MetricsTracerFactory;
2829
import com.google.cloud.bigtable.data.v2.internal.csm.opencensus.RpcMeasureConstants;
29-
import com.google.cloud.bigtable.data.v2.stub.metrics.BigtableCloudMonitoringExporter;
30-
import com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsTracerFactory;
31-
import com.google.cloud.bigtable.data.v2.stub.metrics.ChannelPoolMetricsTracer;
32-
import com.google.cloud.bigtable.data.v2.stub.metrics.CompositeTracerFactory;
30+
import com.google.cloud.bigtable.data.v2.internal.csm.tracers.BuiltinMetricsTracerFactory;
31+
import com.google.cloud.bigtable.data.v2.internal.csm.tracers.ChannelPoolMetricsTracer;
32+
import com.google.cloud.bigtable.data.v2.internal.csm.tracers.CompositeTracerFactory;
3333
import com.google.common.base.Preconditions;
3434
import com.google.common.collect.ImmutableList;
3535
import com.google.common.collect.ImmutableMap;

google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/csm/attributes/Util.java

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,20 @@
1818

1919
import com.google.api.gax.grpc.GrpcStatusCode;
2020
import com.google.api.gax.rpc.ApiException;
21+
import com.google.bigtable.v2.AuthorizedViewName;
22+
import com.google.bigtable.v2.CheckAndMutateRowRequest;
23+
import com.google.bigtable.v2.GenerateInitialChangeStreamPartitionsRequest;
24+
import com.google.bigtable.v2.MaterializedViewName;
25+
import com.google.bigtable.v2.MutateRowRequest;
26+
import com.google.bigtable.v2.MutateRowsRequest;
2127
import com.google.bigtable.v2.PeerInfo;
2228
import com.google.bigtable.v2.PeerInfo.TransportType;
29+
import com.google.bigtable.v2.ReadChangeStreamRequest;
30+
import com.google.bigtable.v2.ReadModifyWriteRowRequest;
31+
import com.google.bigtable.v2.ReadRowsRequest;
2332
import com.google.bigtable.v2.ResponseParams;
33+
import com.google.bigtable.v2.SampleRowKeysRequest;
34+
import com.google.bigtable.v2.TableName;
2435
import com.google.common.annotations.VisibleForTesting;
2536
import io.grpc.Status;
2637
import java.util.Locale;
@@ -126,4 +137,45 @@ public static Status.Code extractStatus(@Nullable Throwable error) {
126137
}
127138
return Status.Code.UNKNOWN;
128139
}
140+
141+
public static String extractTableId(Object request) {
142+
String tableName = null;
143+
String authorizedViewName = null;
144+
String materializedViewName = null;
145+
if (request instanceof ReadRowsRequest) {
146+
tableName = ((ReadRowsRequest) request).getTableName();
147+
authorizedViewName = ((ReadRowsRequest) request).getAuthorizedViewName();
148+
materializedViewName = ((ReadRowsRequest) request).getMaterializedViewName();
149+
} else if (request instanceof MutateRowsRequest) {
150+
tableName = ((MutateRowsRequest) request).getTableName();
151+
authorizedViewName = ((MutateRowsRequest) request).getAuthorizedViewName();
152+
} else if (request instanceof MutateRowRequest) {
153+
tableName = ((MutateRowRequest) request).getTableName();
154+
authorizedViewName = ((MutateRowRequest) request).getAuthorizedViewName();
155+
} else if (request instanceof SampleRowKeysRequest) {
156+
tableName = ((SampleRowKeysRequest) request).getTableName();
157+
authorizedViewName = ((SampleRowKeysRequest) request).getAuthorizedViewName();
158+
materializedViewName = ((SampleRowKeysRequest) request).getMaterializedViewName();
159+
} else if (request instanceof CheckAndMutateRowRequest) {
160+
tableName = ((CheckAndMutateRowRequest) request).getTableName();
161+
authorizedViewName = ((CheckAndMutateRowRequest) request).getAuthorizedViewName();
162+
} else if (request instanceof ReadModifyWriteRowRequest) {
163+
tableName = ((ReadModifyWriteRowRequest) request).getTableName();
164+
authorizedViewName = ((ReadModifyWriteRowRequest) request).getAuthorizedViewName();
165+
} else if (request instanceof GenerateInitialChangeStreamPartitionsRequest) {
166+
tableName = ((GenerateInitialChangeStreamPartitionsRequest) request).getTableName();
167+
} else if (request instanceof ReadChangeStreamRequest) {
168+
tableName = ((ReadChangeStreamRequest) request).getTableName();
169+
}
170+
if (tableName != null && !tableName.isEmpty()) {
171+
return TableName.parse(tableName).getTable();
172+
}
173+
if (authorizedViewName != null && !authorizedViewName.isEmpty()) {
174+
return AuthorizedViewName.parse(authorizedViewName).getTable();
175+
}
176+
if (materializedViewName != null && !materializedViewName.isEmpty()) {
177+
return MaterializedViewName.parse(materializedViewName).getMaterializedView();
178+
}
179+
return "<unspecified>";
180+
}
129181
}

google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/BigtableCloudMonitoringExporter.java renamed to google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/csm/exporter/BigtableCloudMonitoringExporter.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package com.google.cloud.bigtable.data.v2.stub.metrics;
16+
package com.google.cloud.bigtable.data.v2.internal.csm.exporter;
1717

1818
import com.google.api.core.ApiFuture;
1919
import com.google.api.core.ApiFutureCallback;
@@ -28,6 +28,7 @@
2828
import com.google.cloud.bigtable.data.v2.internal.csm.attributes.EnvInfo;
2929
import com.google.cloud.monitoring.v3.MetricServiceClient;
3030
import com.google.cloud.monitoring.v3.MetricServiceSettings;
31+
import com.google.common.annotations.VisibleForTesting;
3132
import com.google.common.base.Preconditions;
3233
import com.google.common.collect.Iterables;
3334
import com.google.common.util.concurrent.MoreExecutors;
@@ -126,7 +127,8 @@ public static BigtableCloudMonitoringExporter create(
126127
metricRegistry, envInfo, clientInfo, MetricServiceClient.create(settingsBuilder.build()));
127128
}
128129

129-
BigtableCloudMonitoringExporter(
130+
@VisibleForTesting
131+
public BigtableCloudMonitoringExporter(
130132
MetricRegistry metricRegistry,
131133
Supplier<EnvInfo> envInfo,
132134
ClientInfo clientInfo,

google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/Converter.java renamed to google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/csm/exporter/Converter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* limitations under the License.
1515
*/
1616

17-
package com.google.cloud.bigtable.data.v2.stub.metrics;
17+
package com.google.cloud.bigtable.data.v2.internal.csm.exporter;
1818

1919
import static com.google.api.MetricDescriptor.MetricKind.CUMULATIVE;
2020
import static com.google.api.MetricDescriptor.MetricKind.GAUGE;

google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/BigtableGrpcStreamTracer.java renamed to google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/csm/tracers/BigtableGrpcStreamTracer.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,9 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package com.google.cloud.bigtable.data.v2.stub.metrics;
16+
package com.google.cloud.bigtable.data.v2.internal.csm.tracers;
1717

18+
import com.google.cloud.bigtable.data.v2.stub.metrics.BigtableTracer;
1819
import io.grpc.ClientStreamTracer;
1920
import io.grpc.Metadata;
2021

@@ -26,7 +27,7 @@
2627
class BigtableGrpcStreamTracer extends ClientStreamTracer {
2728
private final BigtableTracer tracer;
2829

29-
public BigtableGrpcStreamTracer(BigtableTracer tracer) {
30+
private BigtableGrpcStreamTracer(BigtableTracer tracer) {
3031
this.tracer = tracer;
3132
}
3233

google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/BigtableTracerStreamingCallable.java renamed to google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/csm/tracers/BigtableTracerStreamingCallable.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package com.google.cloud.bigtable.data.v2.stub.metrics;
16+
package com.google.cloud.bigtable.data.v2.internal.csm.tracers;
1717

1818
import com.google.api.core.InternalApi;
1919
import com.google.api.gax.grpc.GrpcCallContext;
@@ -23,6 +23,7 @@
2323
import com.google.api.gax.rpc.StreamController;
2424
import com.google.cloud.bigtable.data.v2.stub.MetadataExtractorInterceptor;
2525
import com.google.cloud.bigtable.data.v2.stub.SafeResponseObserver;
26+
import com.google.cloud.bigtable.data.v2.stub.metrics.BigtableTracer;
2627
import com.google.common.base.Preconditions;
2728
import com.google.common.base.Stopwatch;
2829
import java.util.concurrent.TimeUnit;

google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/BigtableTracerUnaryCallable.java renamed to google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/csm/tracers/BigtableTracerUnaryCallable.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,15 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package com.google.cloud.bigtable.data.v2.stub.metrics;
16+
package com.google.cloud.bigtable.data.v2.internal.csm.tracers;
1717

1818
import com.google.api.core.ApiFuture;
1919
import com.google.api.core.InternalApi;
2020
import com.google.api.gax.grpc.GrpcCallContext;
2121
import com.google.api.gax.rpc.ApiCallContext;
2222
import com.google.api.gax.rpc.UnaryCallable;
2323
import com.google.cloud.bigtable.data.v2.stub.MetadataExtractorInterceptor;
24+
import com.google.cloud.bigtable.data.v2.stub.metrics.BigtableTracer;
2425
import com.google.common.base.Preconditions;
2526
import javax.annotation.Nonnull;
2627

google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/BuiltinMetricsTracer.java renamed to google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/csm/tracers/BuiltinMetricsTracer.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package com.google.cloud.bigtable.data.v2.stub.metrics;
16+
package com.google.cloud.bigtable.data.v2.internal.csm.tracers;
1717

1818
import static com.google.api.gax.util.TimeConversionUtils.toJavaTimeDuration;
1919
import static com.google.cloud.bigtable.data.v2.internal.csm.attributes.Util.extractStatus;
@@ -23,8 +23,10 @@
2323
import com.google.cloud.bigtable.data.v2.internal.csm.MetricRegistry;
2424
import com.google.cloud.bigtable.data.v2.internal.csm.attributes.ClientInfo;
2525
import com.google.cloud.bigtable.data.v2.internal.csm.attributes.MethodInfo;
26+
import com.google.cloud.bigtable.data.v2.internal.csm.attributes.Util;
2627
import com.google.cloud.bigtable.data.v2.stub.MetadataExtractorInterceptor;
2728
import com.google.cloud.bigtable.data.v2.stub.MetadataExtractorInterceptor.SidebandData;
29+
import com.google.cloud.bigtable.data.v2.stub.metrics.BigtableTracer;
2830
import com.google.common.base.Stopwatch;
2931
import com.google.common.collect.Comparators;
3032
import com.google.common.math.IntMath;

google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/BuiltinMetricsTracerFactory.java renamed to google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/csm/tracers/BuiltinMetricsTracerFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package com.google.cloud.bigtable.data.v2.stub.metrics;
16+
package com.google.cloud.bigtable.data.v2.internal.csm.tracers;
1717

1818
import com.google.api.core.InternalApi;
1919
import com.google.api.gax.tracing.ApiTracer;

0 commit comments

Comments
 (0)