googleapis / googleapis/google-cloud-java

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

Abierto
#12,256 1 comentario 0 reacciones 1 asignado Reclamado por @rahul2393 Ver en GitHub
api: spanner priority: p1
Lenguaje dominante
Java
Estrellas
2.1k
Forks
1.2k
Merge medio
1 d 23 h
PR fusionados (30 d)
154

Descripción

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
```
```

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.