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

Commit e417a57

Browse files
fix: ensure that EnvInfo stays constant between metric exports
The previous metrics refactor accidentally recomputed the uuid for metrics labels for each export, causing each export to create a new stream Change-Id: I14e7cfb691750c4017b65e09c58bf8b729e625c3
1 parent 60d6a71 commit e417a57

1 file changed

Lines changed: 3 additions & 1 deletion

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: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import com.google.cloud.bigtable.data.v2.internal.csm.tracers.CompositeTracerFactory;
3434
import com.google.cloud.bigtable.data.v2.internal.csm.tracers.Pacemaker;
3535
import com.google.common.base.Preconditions;
36+
import com.google.common.base.Suppliers;
3637
import com.google.common.collect.ImmutableList;
3738
import com.google.common.collect.ImmutableMap;
3839
import io.grpc.ManagedChannelBuilder;
@@ -190,7 +191,8 @@ public static OpenTelemetrySdk createBuiltinOtel(
190191
BigtableCloudMonitoringExporter exporter =
191192
BigtableCloudMonitoringExporter.create(
192193
metricRegistry,
193-
EnvInfo::detect,
194+
// Lazily compute EnvInfo, but memoize it to make sure it stays constant
195+
Suppliers.memoize(EnvInfo::detect),
194196
clientInfo,
195197
credentials,
196198
metricsEndpoint,

0 commit comments

Comments
 (0)