Skip to content

Commit b444ec3

Browse files
committed
chore: Add implementation for missing classes
1 parent 3b0a404 commit b444ec3

3 files changed

Lines changed: 22 additions & 3 deletions

File tree

java-datastore/google-cloud-datastore/src/main/java/com/google/cloud/datastore/telemetry/MetricsRecorder.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,11 @@ static MetricsRecorder getInstance(@Nonnull DatastoreOptions datastoreOptions) {
9292
&& !metricsDisabledViaEnv) {
9393
try {
9494
OpenTelemetry builtInOtel =
95-
BuiltInMetricsProvider.INSTANCE.getOrCreateOpenTelemetry(
96-
datastoreOptions.getProjectId(), datastoreOptions.getCredentials());
95+
DatastoreBuiltInMetricsProvider.INSTANCE.getOrCreateOpenTelemetry(
96+
datastoreOptions.getProjectId(),
97+
datastoreOptions.getCredentials(),
98+
null,
99+
datastoreOptions.getUniverseDomain());
97100
if (builtInOtel != null) {
98101
recorders.add(
99102
new OpenTelemetryMetricsRecorder(builtInOtel, TelemetryConstants.METRIC_PREFIX));

java-datastore/google-cloud-datastore/src/main/java/com/google/cloud/datastore/telemetry/OpenTelemetryMetricsRecorder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ class OpenTelemetryMetricsRecorder implements MetricsRecorder {
5656
OpenTelemetryMetricsRecorder(@Nonnull OpenTelemetry openTelemetry, String metricPrefix) {
5757
this.openTelemetry = openTelemetry;
5858

59-
Meter meter = openTelemetry.getMeter(TelemetryConstants.METER_NAME);
59+
Meter meter = openTelemetry.getMeter(metricPrefix);
6060

6161
this.transactionLatency =
6262
meter

java-datastore/google-cloud-datastore/src/test/java/com/google/cloud/datastore/telemetry/MetricsRecorderTest.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,22 @@ public void tracingEnabledButMetricsDisabledAndBuiltInDisabled_returnsNoOp() {
6969
assertThat(recorder).isInstanceOf(NoOpMetricsRecorder.class);
7070
}
7171

72+
@Test
73+
public void defaultOptionsWithBuiltInMetricsEnabled_returnsOpenTelemetryRecorder() {
74+
// By default, export of built-in metrics is enabled
75+
DatastoreOptions options = baseOptions().build();
76+
MetricsRecorder recorder = MetricsRecorder.getInstance(options);
77+
78+
// If we're not in an emulator, it should return an OpenTelemetryMetricsRecorder
79+
// (Note: System.getenv() is hard to mock, but we assume it's not set in test environment)
80+
String emulatorHost = System.getenv(DatastoreOptions.LOCAL_HOST_ENV_VAR);
81+
if (emulatorHost == null || emulatorHost.isEmpty()) {
82+
assertThat(recorder).isInstanceOf(OpenTelemetryMetricsRecorder.class);
83+
} else {
84+
assertThat(recorder).isInstanceOf(NoOpMetricsRecorder.class);
85+
}
86+
}
87+
7288
@Test
7389
public void openTelemetryRecorderCreatedWithExplicitOpenTelemetry() {
7490
InMemoryMetricReader metricReader = InMemoryMetricReader.create();

0 commit comments

Comments
 (0)