diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/BuiltinMetricsView.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/BuiltinMetricsView.java index 07679af8d..68836a7e7 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/BuiltinMetricsView.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/BuiltinMetricsView.java @@ -29,8 +29,11 @@ /** * A util class to register built-in metrics on a custom OpenTelemetry instance. This is for * advanced usage, and is only necessary when wanting to write built-in metrics to cloud monitoring - * and custom sinks. Please refer to {@link CustomOpenTelemetryMetricsProvider} for example usage. + * and custom sinks. + * + * @deprecated Use methods in {@link CustomOpenTelemetryMetricsProvider} instead. */ +@Deprecated public class BuiltinMetricsView { private BuiltinMetricsView() {} diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/CustomOpenTelemetryMetricsProvider.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/CustomOpenTelemetryMetricsProvider.java index d728d657a..efcec28ff 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/CustomOpenTelemetryMetricsProvider.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/CustomOpenTelemetryMetricsProvider.java @@ -15,8 +15,11 @@ */ package com.google.cloud.bigtable.data.v2.stub.metrics; +import com.google.auth.Credentials; import com.google.common.base.MoreObjects; import io.opentelemetry.api.OpenTelemetry; +import io.opentelemetry.sdk.metrics.SdkMeterProviderBuilder; +import java.io.IOException; /** * Set a custom OpenTelemetry instance. @@ -26,8 +29,8 @@ *
{@code * SdkMeterProviderBuilder sdkMeterProvider = SdkMeterProvider.builder(); * - * // register Builtin metrics on your meter provider with default credentials - * BuiltinMetricsView.registerBuiltinMetrics(sdkMeterProvider); + * // Set up SdkMeterProvider for client side metrics + * CustomOpenTelemetryMetricsProvider.setupSdkMeterProvider(sdkMeterProvider); * * // register other metrics reader and views * sdkMeterProvider.registerMetricReader(..); @@ -63,6 +66,32 @@ public OpenTelemetry getOpenTelemetry() { return otel; } + /** + * Convenient method to set up SdkMeterProviderBuilder with the default credential and endpoint. + */ + public static void setupSdkMeterProvider(SdkMeterProviderBuilder builder) throws IOException { + setupSdkMeterProvider(builder, null, null); + } + + /** Convenient method to set up SdkMeterProviderBuilder with a custom credential. */ + public static void setupSdkMeterProvider(SdkMeterProviderBuilder builder, Credentials credentials) + throws IOException { + setupSdkMeterProvider(builder, credentials, null); + } + + /** Convenient method to set up SdkMeterProviderBuilder with a custom endpoint. */ + public static void setupSdkMeterProvider(SdkMeterProviderBuilder builder, String endpoint) + throws IOException { + setupSdkMeterProvider(builder, null, endpoint); + } + + /** Convenient method to set up SdkMeterProviderBuilder with a custom credentials and endpoint. */ + public static void setupSdkMeterProvider( + SdkMeterProviderBuilder builder, Credentials credentials, String endpoint) + throws IOException { + BuiltinMetricsView.registerBuiltinMetrics(credentials, builder, endpoint); + } + @Override public String toString() { return MoreObjects.toStringHelper(this).add("openTelemetry", otel).toString(); diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/it/BuiltinMetricsIT.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/it/BuiltinMetricsIT.java index d929627e1..5ec24830c 100644 --- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/it/BuiltinMetricsIT.java +++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/it/BuiltinMetricsIT.java @@ -33,7 +33,6 @@ import com.google.cloud.bigtable.data.v2.models.Row; import com.google.cloud.bigtable.data.v2.models.RowMutation; import com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsConstants; -import com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsView; import com.google.cloud.bigtable.data.v2.stub.metrics.CustomOpenTelemetryMetricsProvider; import com.google.cloud.bigtable.test_helpers.env.CloudEnv; import com.google.cloud.bigtable.test_helpers.env.PrefixGenerator; @@ -135,7 +134,7 @@ public void setup() throws IOException { SdkMeterProviderBuilder meterProvider = SdkMeterProvider.builder().registerMetricReader(metricReader); - BuiltinMetricsView.registerBuiltinMetrics(testEnvRule.env().getProjectId(), meterProvider); + CustomOpenTelemetryMetricsProvider.setupSdkMeterProvider(meterProvider); OpenTelemetry openTelemetry = OpenTelemetrySdk.builder().setMeterProvider(meterProvider.build()).build(); diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/it/StreamingMetricsMetadataIT.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/it/StreamingMetricsMetadataIT.java index 11da6a6c1..2685819f0 100644 --- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/it/StreamingMetricsMetadataIT.java +++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/it/StreamingMetricsMetadataIT.java @@ -29,7 +29,6 @@ import com.google.cloud.bigtable.data.v2.models.Query; import com.google.cloud.bigtable.data.v2.models.Row; import com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsConstants; -import com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsView; import com.google.cloud.bigtable.data.v2.stub.metrics.CustomOpenTelemetryMetricsProvider; import com.google.cloud.bigtable.test_helpers.env.EmulatorEnv; import com.google.cloud.bigtable.test_helpers.env.TestEnvRule; @@ -72,7 +71,7 @@ public void setup() throws IOException { SdkMeterProviderBuilder meterProvider = SdkMeterProvider.builder().registerMetricReader(metricReader); - BuiltinMetricsView.registerBuiltinMetrics(testEnvRule.env().getProjectId(), meterProvider); + CustomOpenTelemetryMetricsProvider.setupSdkMeterProvider(meterProvider); OpenTelemetry openTelemetry = OpenTelemetrySdk.builder().setMeterProvider(meterProvider.build()).build(); diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/it/UnaryMetricsMetadataIT.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/it/UnaryMetricsMetadataIT.java index a6e4f9e88..019661429 100644 --- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/it/UnaryMetricsMetadataIT.java +++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/it/UnaryMetricsMetadataIT.java @@ -28,7 +28,6 @@ import com.google.cloud.bigtable.data.v2.BigtableDataSettings; import com.google.cloud.bigtable.data.v2.models.RowMutation; import com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsConstants; -import com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsView; import com.google.cloud.bigtable.data.v2.stub.metrics.CustomOpenTelemetryMetricsProvider; import com.google.cloud.bigtable.test_helpers.env.EmulatorEnv; import com.google.cloud.bigtable.test_helpers.env.TestEnvRule; @@ -71,7 +70,7 @@ public void setup() throws IOException { SdkMeterProviderBuilder meterProvider = SdkMeterProvider.builder().registerMetricReader(metricReader); - BuiltinMetricsView.registerBuiltinMetrics(testEnvRule.env().getProjectId(), meterProvider); + CustomOpenTelemetryMetricsProvider.setupSdkMeterProvider(meterProvider); OpenTelemetry openTelemetry = OpenTelemetrySdk.builder().setMeterProvider(meterProvider.build()).build();