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

Commit c181378

Browse files
fix npe
Change-Id: I36c585ee9f49893ff41bb0f7e7ad9c6b993ae4f1
1 parent 3c44862 commit c181378

1 file changed

Lines changed: 17 additions & 12 deletions

File tree

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

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

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -64,14 +64,14 @@ public class MetricsImpl implements Metrics, Closeable {
6464
private final Tagger ocTagger;
6565
private final StatsRecorder ocRecorder;
6666

67-
private final GrpcOpenTelemetry grpcOtel;
67+
@Nullable private final GrpcOpenTelemetry grpcOtel;
6868
@Nullable private final ChannelPoolMetricsTracer channelPoolMetricsTracer;
6969
private final List<ScheduledFuture<?>> tasks = new ArrayList<>();
7070

7171
public MetricsImpl(
7272
ApiTracerFactory userTracerFactory,
73-
OpenTelemetrySdk internalOtel,
74-
OpenTelemetry userOtel,
73+
@Nullable OpenTelemetrySdk internalOtel,
74+
@Nullable OpenTelemetry userOtel,
7575
Tagger ocTagger,
7676
StatsRecorder ocRecorder,
7777
ScheduledExecutorService executor) {
@@ -85,15 +85,17 @@ public MetricsImpl(
8585

8686
this.executor = executor;
8787

88-
this.grpcOtel =
89-
GrpcOpenTelemetry.newBuilder()
90-
.sdk(internalOtel)
91-
.addOptionalLabel("grpc.lb.locality")
92-
// Disable default grpc metrics
93-
.disableAllMetrics()
94-
// Enable specific grpc metrics
95-
.enableMetrics(BuiltinMetricsConstants.GRPC_METRICS.keySet())
96-
.build();
88+
if (internalOtel != null) {
89+
this.grpcOtel =
90+
GrpcOpenTelemetry.newBuilder()
91+
.sdk(internalOtel)
92+
.addOptionalLabel("grpc.lb.locality")
93+
// Disable default grpc metrics
94+
.disableAllMetrics()
95+
// Enable specific grpc metrics
96+
.enableMetrics(BuiltinMetricsConstants.GRPC_METRICS.keySet())
97+
.build();
98+
}
9799

98100
if (internalOtel != null) {
99101
this.channelPoolMetricsTracer = new ChannelPoolMetricsTracer(internalOtel);
@@ -119,6 +121,9 @@ public void start() {
119121

120122
@Override
121123
public <T extends ManagedChannelBuilder<?>> T configureGrpcChannel(T channelBuilder) {
124+
if (grpcOtel == null) {
125+
return channelBuilder;
126+
}
122127
grpcOtel.configureChannelBuilder(channelBuilder);
123128
return channelBuilder;
124129
}

0 commit comments

Comments
 (0)