grpc/grpc-java

Cardinality of grpc_target attribute for grpc.client.* metrics is too large

Open

#12,322 opened on Aug 28, 2025

View on GitHub
 (9 comments) (0 reactions) (0 assignees)Java (3,742 forks)batch import
enhancementhelp wanted

Repository metrics

Stars
 (11,124 stars)
PR merge metrics
 (Avg merge 23d 22h) (43 merged PRs in 30d)

Description

What version of gRPC-Java are you using?

1.71.0

What is your environment?

OS: Linux JDK: 21

What did you expect to see?

No warnings when enabling default OpenTelemetry metrics.

What did you see instead?

WARNING: Instrument grpc.client.attempt.started has exceeded the maximum allowed cardinality (1999).
WARNING: Instrument grpc.client.attempt.rcvd_total_compressed_message_size has exceeded the maximum allowed cardinality (1999).
WARNING: Instrument grpc.client.attempt.sent_total_compressed_message_size has exceeded the maximum allowed cardinality (1999).
WARNING: Instrument grpc.client.call.duration has exceeded the maximum allowed cardinality (1999).
WARNING: Instrument grpc.client.attempt.duration has exceeded the maximum allowed cardinality (1999).

This is caused by the grpc_target attribute having a very large cardinality.

I see that this attribute is listed for these metrics at https://github.com/grpc/proposal/blob/master/A66-otel-stats.md. However, for very large deployments this can be problematic. Is there a way to turn this attribute off?

Steps to reproduce the bug

Have a client which connects to 2000+ servers (either at once or over time).

Contributor guide