Skip to content

Commit 6a36103

Browse files
authored
feat: client built in metrics (#3408)
* feat: client built in metrics * review comments * Added environment variable for disabling client metrics
1 parent b39cf00 commit 6a36103

File tree

2 files changed

+11
-10
lines changed

2 files changed

+11
-10
lines changed

google-cloud-spanner/src/main/java/com/google/cloud/spanner/SpannerOptions.java

+10-9
Original file line numberDiff line numberDiff line change
@@ -706,7 +706,7 @@ default boolean isEnableApiTracing() {
706706
}
707707

708708
default boolean isEnableBuiltInMetrics() {
709-
return false;
709+
return true;
710710
}
711711

712712
default boolean isEnableEndToEndTracing() {
@@ -725,9 +725,9 @@ private static class SpannerEnvironmentImpl implements SpannerEnvironment {
725725
"SPANNER_OPTIMIZER_STATISTICS_PACKAGE";
726726
private static final String SPANNER_ENABLE_EXTENDED_TRACING = "SPANNER_ENABLE_EXTENDED_TRACING";
727727
private static final String SPANNER_ENABLE_API_TRACING = "SPANNER_ENABLE_API_TRACING";
728-
private static final String SPANNER_ENABLE_BUILTIN_METRICS = "SPANNER_ENABLE_BUILTIN_METRICS";
729728
private static final String SPANNER_ENABLE_END_TO_END_TRACING =
730729
"SPANNER_ENABLE_END_TO_END_TRACING";
730+
private static final String SPANNER_DISABLE_BUILTIN_METRICS = "SPANNER_DISABLE_BUILTIN_METRICS";
731731

732732
private SpannerEnvironmentImpl() {}
733733

@@ -756,9 +756,7 @@ public boolean isEnableApiTracing() {
756756

757757
@Override
758758
public boolean isEnableBuiltInMetrics() {
759-
// The environment variable SPANNER_ENABLE_BUILTIN_METRICS is used for testing and will be
760-
// removed in the future.
761-
return Boolean.parseBoolean(System.getenv(SPANNER_ENABLE_BUILTIN_METRICS));
759+
return !Boolean.parseBoolean(System.getenv(SPANNER_DISABLE_BUILTIN_METRICS));
762760
}
763761

764762
@Override
@@ -828,8 +826,8 @@ public static class Builder
828826
private OpenTelemetry openTelemetry;
829827
private boolean enableApiTracing = SpannerOptions.environment.isEnableApiTracing();
830828
private boolean enableExtendedTracing = SpannerOptions.environment.isEnableExtendedTracing();
831-
private boolean enableBuiltInMetrics = SpannerOptions.environment.isEnableBuiltInMetrics();
832829
private boolean enableEndToEndTracing = SpannerOptions.environment.isEnableEndToEndTracing();
830+
private boolean enableBuiltInMetrics = SpannerOptions.environment.isEnableBuiltInMetrics();
833831

834832
private static String createCustomClientLibToken(String token) {
835833
return token + " " + ServiceOptions.getGoogApiClientLibName();
@@ -1410,8 +1408,11 @@ public Builder setEnableApiTracing(boolean enableApiTracing) {
14101408
return this;
14111409
}
14121410

1413-
/** Enabling this will enable built in metrics for each individual RPC execution. */
1414-
Builder setEnableBuiltInMetrics(boolean enableBuiltInMetrics) {
1411+
/**
1412+
* Sets whether to enable or disable built in metrics for Data client operations. Built in
1413+
* metrics are enabled by default.
1414+
*/
1415+
public Builder setBuiltInMetricsEnabled(boolean enableBuiltInMetrics) {
14151416
this.enableBuiltInMetrics = enableBuiltInMetrics;
14161417
return this;
14171418
}
@@ -1749,7 +1750,7 @@ public boolean isEnableApiTracing() {
17491750
* Returns true if an {@link com.google.api.gax.tracing.MetricsTracer} should be created and set
17501751
* on the Spanner client.
17511752
*/
1752-
boolean isEnableBuiltInMetrics() {
1753+
public boolean isEnableBuiltInMetrics() {
17531754
return enableBuiltInMetrics;
17541755
}
17551756

google-cloud-spanner/src/test/java/com/google/cloud/spanner/OpenTelemetryBuiltInMetricsTracerTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ public void createSpannerInstance() {
148148
.build())
149149
// Setting this to false so that Spanner Options does not register Metrics Tracer
150150
// factory again.
151-
.setEnableBuiltInMetrics(false)
151+
.setBuiltInMetricsEnabled(false)
152152
.setApiTracerFactory(metricsTracerFactory)
153153
.build()
154154
.getService();

0 commit comments

Comments
 (0)