Skip to content

Commit 530cf70

Browse files
Improve docs for same name with different tags (#5751)
1 parent 12c1f08 commit 530cf70

File tree

1 file changed

+20
-2
lines changed

1 file changed

+20
-2
lines changed

docs/modules/ROOT/pages/implementations/prometheus.adoc

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,8 +133,26 @@ image::implementations/prometheus-long-task-timer.png[Grafana-rendered Prometheu
133133
== Limitation on same name with different set of tag keys
134134

135135
The `PrometheusMeterRegistry` doesn't allow to create meters having the same name with a different set of tag keys, so you should guarantee that meters having the same name have the same set of tag keys.
136-
Otherwise, subsequent meters having the same name with a different set of tag keys will not be registered silently by default.
137-
You can change the default behavior by registering a meter registration failed listener.
136+
Otherwise, subsequent meters having the same name with a different set of tag keys will not be registered. This means that you should not do things like:
137+
[source,java]
138+
----
139+
// Please don't do this
140+
registry.counter("test", "first", "1").increment();
141+
registry.counter("test", "second", "2").increment();
142+
----
143+
This will result in the following warning and the second `Meter` will not be registered:
144+
[source]
145+
----
146+
WARNING: The meter (MeterId{name='test', tags=[tag(second=2)]}) registration has failed: Prometheus requires that all meters with the same name have the same set of tag keys. There is already an existing meter named 'test' containing tag keys [first]. The meter you are attempting to register has keys [second]. Note that subsequent logs will be logged at debug level.
147+
----
148+
Instead you can do something like this:
149+
[source,java]
150+
----
151+
registry.counter("test", "first", "1", "second", "none").increment();
152+
registry.counter("test", "first", "none", "second", "2").increment();
153+
----
154+
155+
You can change the default warning behavior by registering a meter registration failed listener.
138156
For example, you can register a meter registration failed listener that throws an exception as follows:
139157

140158
[source,java]

0 commit comments

Comments
 (0)