Skip to content

Commit 9a6602c

Browse files
authored
chore: improve metrics setup for easier discovery (#2446)
1 parent caa622e commit 9a6602c

File tree

5 files changed

+38
-9
lines changed

5 files changed

+38
-9
lines changed

google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/BuiltinMetricsView.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,11 @@
2929
/**
3030
* A util class to register built-in metrics on a custom OpenTelemetry instance. This is for
3131
* advanced usage, and is only necessary when wanting to write built-in metrics to cloud monitoring
32-
* and custom sinks. Please refer to {@link CustomOpenTelemetryMetricsProvider} for example usage.
32+
* and custom sinks.
33+
*
34+
* @deprecated Use methods in {@link CustomOpenTelemetryMetricsProvider} instead.
3335
*/
36+
@Deprecated
3437
public class BuiltinMetricsView {
3538

3639
private BuiltinMetricsView() {}

google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/CustomOpenTelemetryMetricsProvider.java

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,11 @@
1515
*/
1616
package com.google.cloud.bigtable.data.v2.stub.metrics;
1717

18+
import com.google.auth.Credentials;
1819
import com.google.common.base.MoreObjects;
1920
import io.opentelemetry.api.OpenTelemetry;
21+
import io.opentelemetry.sdk.metrics.SdkMeterProviderBuilder;
22+
import java.io.IOException;
2023

2124
/**
2225
* Set a custom OpenTelemetry instance.
@@ -26,8 +29,8 @@
2629
* <pre>{@code
2730
* SdkMeterProviderBuilder sdkMeterProvider = SdkMeterProvider.builder();
2831
*
29-
* // register Builtin metrics on your meter provider with default credentials
30-
* BuiltinMetricsView.registerBuiltinMetrics(sdkMeterProvider);
32+
* // Set up SdkMeterProvider for client side metrics
33+
* CustomOpenTelemetryMetricsProvider.setupSdkMeterProvider(sdkMeterProvider);
3134
*
3235
* // register other metrics reader and views
3336
* sdkMeterProvider.registerMetricReader(..);
@@ -63,6 +66,32 @@ public OpenTelemetry getOpenTelemetry() {
6366
return otel;
6467
}
6568

69+
/**
70+
* Convenient method to set up SdkMeterProviderBuilder with the default credential and endpoint.
71+
*/
72+
public static void setupSdkMeterProvider(SdkMeterProviderBuilder builder) throws IOException {
73+
setupSdkMeterProvider(builder, null, null);
74+
}
75+
76+
/** Convenient method to set up SdkMeterProviderBuilder with a custom credential. */
77+
public static void setupSdkMeterProvider(SdkMeterProviderBuilder builder, Credentials credentials)
78+
throws IOException {
79+
setupSdkMeterProvider(builder, credentials, null);
80+
}
81+
82+
/** Convenient method to set up SdkMeterProviderBuilder with a custom endpoint. */
83+
public static void setupSdkMeterProvider(SdkMeterProviderBuilder builder, String endpoint)
84+
throws IOException {
85+
setupSdkMeterProvider(builder, null, endpoint);
86+
}
87+
88+
/** Convenient method to set up SdkMeterProviderBuilder with a custom credentials and endpoint. */
89+
public static void setupSdkMeterProvider(
90+
SdkMeterProviderBuilder builder, Credentials credentials, String endpoint)
91+
throws IOException {
92+
BuiltinMetricsView.registerBuiltinMetrics(credentials, builder, endpoint);
93+
}
94+
6695
@Override
6796
public String toString() {
6897
return MoreObjects.toStringHelper(this).add("openTelemetry", otel).toString();

google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/it/BuiltinMetricsIT.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
import com.google.cloud.bigtable.data.v2.models.Row;
3434
import com.google.cloud.bigtable.data.v2.models.RowMutation;
3535
import com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsConstants;
36-
import com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsView;
3736
import com.google.cloud.bigtable.data.v2.stub.metrics.CustomOpenTelemetryMetricsProvider;
3837
import com.google.cloud.bigtable.test_helpers.env.CloudEnv;
3938
import com.google.cloud.bigtable.test_helpers.env.PrefixGenerator;
@@ -135,7 +134,7 @@ public void setup() throws IOException {
135134

136135
SdkMeterProviderBuilder meterProvider =
137136
SdkMeterProvider.builder().registerMetricReader(metricReader);
138-
BuiltinMetricsView.registerBuiltinMetrics(testEnvRule.env().getProjectId(), meterProvider);
137+
CustomOpenTelemetryMetricsProvider.setupSdkMeterProvider(meterProvider);
139138
OpenTelemetry openTelemetry =
140139
OpenTelemetrySdk.builder().setMeterProvider(meterProvider.build()).build();
141140

google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/it/StreamingMetricsMetadataIT.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
import com.google.cloud.bigtable.data.v2.models.Query;
3030
import com.google.cloud.bigtable.data.v2.models.Row;
3131
import com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsConstants;
32-
import com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsView;
3332
import com.google.cloud.bigtable.data.v2.stub.metrics.CustomOpenTelemetryMetricsProvider;
3433
import com.google.cloud.bigtable.test_helpers.env.EmulatorEnv;
3534
import com.google.cloud.bigtable.test_helpers.env.TestEnvRule;
@@ -72,7 +71,7 @@ public void setup() throws IOException {
7271

7372
SdkMeterProviderBuilder meterProvider =
7473
SdkMeterProvider.builder().registerMetricReader(metricReader);
75-
BuiltinMetricsView.registerBuiltinMetrics(testEnvRule.env().getProjectId(), meterProvider);
74+
CustomOpenTelemetryMetricsProvider.setupSdkMeterProvider(meterProvider);
7675
OpenTelemetry openTelemetry =
7776
OpenTelemetrySdk.builder().setMeterProvider(meterProvider.build()).build();
7877

google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/it/UnaryMetricsMetadataIT.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
import com.google.cloud.bigtable.data.v2.BigtableDataSettings;
2929
import com.google.cloud.bigtable.data.v2.models.RowMutation;
3030
import com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsConstants;
31-
import com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsView;
3231
import com.google.cloud.bigtable.data.v2.stub.metrics.CustomOpenTelemetryMetricsProvider;
3332
import com.google.cloud.bigtable.test_helpers.env.EmulatorEnv;
3433
import com.google.cloud.bigtable.test_helpers.env.TestEnvRule;
@@ -71,7 +70,7 @@ public void setup() throws IOException {
7170

7271
SdkMeterProviderBuilder meterProvider =
7372
SdkMeterProvider.builder().registerMetricReader(metricReader);
74-
BuiltinMetricsView.registerBuiltinMetrics(testEnvRule.env().getProjectId(), meterProvider);
73+
CustomOpenTelemetryMetricsProvider.setupSdkMeterProvider(meterProvider);
7574
OpenTelemetry openTelemetry =
7675
OpenTelemetrySdk.builder().setMeterProvider(meterProvider.build()).build();
7776

0 commit comments

Comments
 (0)