Skip to content

Commit 10fa80b

Browse files
ugniusbbrian-brazil
authored andcommitted
Don't sanitize away colons in metric names (#498)
The docs specify that colons (`:`) are allowed in metric names, but `Collector.sanitizeMetricName` removes them. Signed-off-by: ugniusb <[email protected]>
1 parent 8b0c045 commit 10fa80b

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

simpleclient/src/main/java/io/prometheus/client/Collector.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -183,8 +183,8 @@ protected static void checkMetricName(String name) {
183183
}
184184
}
185185

186-
private static final Pattern SANITIZE_PREFIX_PATTERN = Pattern.compile("^[^a-zA-Z_]");
187-
private static final Pattern SANITIZE_BODY_PATTERN = Pattern.compile("[^a-zA-Z0-9_]");
186+
private static final Pattern SANITIZE_PREFIX_PATTERN = Pattern.compile("^[^a-zA-Z_:]");
187+
private static final Pattern SANITIZE_BODY_PATTERN = Pattern.compile("[^a-zA-Z0-9_:]");
188188

189189
/**
190190
* Sanitize metric name

simpleclient/src/test/java/io/prometheus/client/CollectorTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,6 @@ public class CollectorTest {
99
public void sanitizeMetricName() throws Exception {
1010
assertEquals("_hoge", Collector.sanitizeMetricName("0hoge"));
1111
assertEquals("foo_bar0", Collector.sanitizeMetricName("foo.bar0"));
12+
assertEquals(":baz::", Collector.sanitizeMetricName(":baz::"));
1213
}
1314
}

0 commit comments

Comments
 (0)