googleapis / googleapis/google-cloud-java

[java-spanner] Not able to add custom dimensions to spanner metrics

Ouverte
#12,256 1 commentaire 0 réactions 1 personne assignée Réclamée par @rahul2393 Voir sur GitHub
api: spanner priority: p1
Langage dominant
Java
Étoiles
2.1k
Forks
1.2k
Merge moyen
1 j 23 h
PR mergées (30 j)
154

Description

Hello Team,

I'm creating java-spanner client and using the PrometheusHttpServer as the metrics collector.

```
PROMETHEUS_SERVER = PrometheusHttpServer.builder().setPort(portNumber).build();
```

I want to add custom dimensions to SDK provided metrics and for that I'm using the Resource like below,

```
SpannerOptions.enableOpenTelemetryMetrics();

Resource resource = Resource.getDefault().merge(Resource.create(Attributes.of(
SERVICE_NAME, MY_SERVICE_NAME,
SERVICE_VERSION, "1.0.0"
)));

SdkMeterProvider sdkMeterProvider =
SdkMeterProvider.builder()
.setResource(resource)
.registerMetricReader(PROMETHEUS_SERVER)
.build();

OpenTelemetry openTelemetry =
OpenTelemetrySdk.builder().setMeterProvider(sdkMeterProvider).build();

optionsBuilder.setOpenTelemetry(openTelemetry);

```

However, when I start my application, I'm not able to see any custom dimensions attached to the SDK metrics.
```
# HELP spanner_get_session_timeouts_ratio_total The number of get sessions timeouts due to pool exhaustion
# TYPE spanner_get_session_timeouts_ratio_total counter
spanner_get_session_timeouts_ratio_total{client_id="client-1",database="test-db",instance_id="test-projects",otel_scope_name="cloud.google.com/java"} 0.0
# HELP spanner_gfe_header_missing_count_ratio_total Number of RPC responses received without the server-timing header, most likely means that the RPC never reached Google's network
# TYPE spanner_gfe_header_missing_count_ratio_total counter
spanner_gfe_header_missing_count_ratio_total{database="test-db",instance_id="instance-id",method="google.spanner.v1.Spanner/BatchCreateSessions",otel_scope_name="cloud.google.com/java",project_id="test-id"} 0.0
# HELP spanner_max_allowed_sessions_ratio The maximum number of sessions allowed. Configurable by the user.
# TYPE spanner_max_allowed_sessions_ratio gauge
spanner_max_allowed_sessions_ratio{{client_id="client-1",database="test-db",instance_id="test-projects",otel_scope_name="cloud.google.com/java"} 401.0
# HELP spanner_max_in_use_sessions_ratio The maximum number of sessions in use during the last 10 minute interval.
# TYPE spanner_max_in_use_sessions_ratio gauge
spanner_max_in_use_sessions_ratio{{client_id="client-1",database="test-db",instance_id="test-projects",otel_scope_name="cloud.google.com/java"} 0.0
```

Only I see 1 data which is not the SDK metric
```
# TYPE target_info gauge
target_info{service_name="my-service-name",service_version="1.0.0",telemetry_sdk_language="java",telemetry_sdk_name="opentelemetry",telemetry_sdk_version="1.41.0"} 1
```
```

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.