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

Commit 6be4510

Browse files
chore: internalize converters in the exporter
Change-Id: I964a167d2bdb0230eaf2bb0163eb7defc22181a6
1 parent 5de9d30 commit 6be4510

4 files changed

Lines changed: 20 additions & 12 deletions

File tree

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,8 +124,7 @@ public static BigtableClientContext create(
124124
if (settings.areInternalMetricsEnabled()) {
125125
builtinOtel =
126126
Util.createBuiltinOtel(
127-
InstanceName.of(settings.getProjectId(), settings.getInstanceId()),
128-
settings.getAppProfileId(),
127+
clientInfo,
129128
credentials,
130129
settings.getMetricsEndpoint(),
131130
universeDomain,

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

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,10 +112,10 @@ public final class BigtableCloudMonitoringExporter implements MetricExporter {
112112
private final AtomicBoolean exportFailureLogged = new AtomicBoolean(false);
113113

114114
static BigtableCloudMonitoringExporter create(
115+
ClientInfo clientInfo,
115116
@Nullable Credentials credentials,
116117
@Nullable String endpoint,
117118
String universeDomain,
118-
List<TimeSeriesConverter> converters,
119119
@Nullable ScheduledExecutorService executorService)
120120
throws IOException {
121121
Preconditions.checkNotNull(universeDomain);
@@ -152,6 +152,13 @@ static BigtableCloudMonitoringExporter create(
152152
// it as not retried for now.
153153
settingsBuilder.createServiceTimeSeriesSettings().setSimpleTimeoutNoRetriesDuration(timeout);
154154

155+
ImmutableList<TimeSeriesConverter> converters = ImmutableList.of(
156+
new PublicTimeSeriesConverter(),
157+
new InternalTimeSeriesConverter(
158+
Suppliers.memoize(
159+
() ->
160+
BigtableExporterUtils.createInternalMonitoredResource(clientInfo))));
161+
155162
return new BigtableCloudMonitoringExporter(
156163
MetricServiceClient.create(settingsBuilder.build()), converters);
157164
}

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
import com.google.api.MonitoredResource;
4141
import com.google.bigtable.v2.InstanceName;
4242
import com.google.cloud.bigtable.Version;
43+
import com.google.cloud.bigtable.data.v2.internal.csm.attributes.ClientInfo;
4344
import com.google.cloud.opentelemetry.detection.AttributeKeys;
4445
import com.google.cloud.opentelemetry.detection.DetectedPlatform;
4546
import com.google.cloud.opentelemetry.detection.GCPPlatformDetector;
@@ -182,10 +183,9 @@ static List<TimeSeries> convertToApplicationResourceTimeSeries(
182183
}
183184

184185
@Nullable
185-
static MonitoredResource createInternalMonitoredResource(
186-
InstanceName instanceName, String appProfileId) {
186+
static MonitoredResource createInternalMonitoredResource(ClientInfo clientInfo) {
187187
try {
188-
MonitoredResource monitoredResource = detectResource(instanceName, appProfileId);
188+
MonitoredResource monitoredResource = detectResource(clientInfo);
189189
logger.log(Level.FINE, "Internal metrics monitored resource: %s", monitoredResource);
190190
return monitoredResource;
191191
} catch (Exception e) {
@@ -198,7 +198,7 @@ static MonitoredResource createInternalMonitoredResource(
198198
}
199199

200200
@Nullable
201-
private static MonitoredResource detectResource(InstanceName instanceName, String appProfileId) {
201+
private static MonitoredResource detectResource(ClientInfo clientInfo) {
202202
GCPPlatformDetector detector = GCPPlatformDetector.DEFAULT_INSTANCE;
203203
DetectedPlatform detectedPlatform = detector.detectPlatform();
204204

@@ -245,9 +245,9 @@ private static MonitoredResource detectResource(InstanceName instanceName, Strin
245245

246246
return MonitoredResource.newBuilder()
247247
.setType("bigtable_client")
248-
.putLabels("project_id", instanceName.getProject())
249-
.putLabels("instance", instanceName.getInstance())
250-
.putLabels("app_profile", appProfileId)
248+
.putLabels("project_id", clientInfo.getInstanceName().getProject())
249+
.putLabels("instance", clientInfo.getInstanceName().getInstance())
250+
.putLabels("app_profile", clientInfo.getAppProfileId())
251251
.putLabels("client_project", detectedPlatform.getProjectId())
252252
.putLabels("region", region)
253253
.putLabels("cloud_platform", cloud_platform)

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,9 @@ public static ApiTracerFactory createOCMetricsFactory(
274274
}
275275

276276
public static BuiltinMetricsTracerFactory createOtelMetricsFactory(
277-
OpenTelemetry otel, ClientInfo clientInfo) {
278-
return new BuiltinMetricsTracerFactory(otel, clientInfo);
277+
OpenTelemetry otel, ClientInfo clientInfo) throws IOException {
278+
279+
280+
return BuiltinMetricsTracerFactory.create(otel, clientInfo);
279281
}
280282
}

0 commit comments

Comments
 (0)