aboutsummaryrefslogtreecommitdiffstats
path: root/container-core/src/test/java/com/yahoo
diff options
context:
space:
mode:
authorOla Aunronning <olaa@yahooinc.com>2024-03-27 13:08:50 +0100
committerOla Aunronning <olaa@yahooinc.com>2024-03-27 13:08:50 +0100
commit3e226d94dc32c79911c65fd31468879d47bc8ff2 (patch)
tree3ac0a1fad75c9424f3023ad0d44cff67c94ae36c /container-core/src/test/java/com/yahoo
parentf5965423c6a6808c06aab21a6af532df630dfbed (diff)
Group metrics by name
Support NaN and +/- Inf Escape label value chars Remove unnecessary comments
Diffstat (limited to 'container-core/src/test/java/com/yahoo')
-rw-r--r--container-core/src/test/java/com/yahoo/container/jdisc/state/StateHandlerTest.java32
1 files changed, 19 insertions, 13 deletions
diff --git a/container-core/src/test/java/com/yahoo/container/jdisc/state/StateHandlerTest.java b/container-core/src/test/java/com/yahoo/container/jdisc/state/StateHandlerTest.java
index 3d1a4a3583e..c99a61781cb 100644
--- a/container-core/src/test/java/com/yahoo/container/jdisc/state/StateHandlerTest.java
+++ b/container-core/src/test/java/com/yahoo/container/jdisc/state/StateHandlerTest.java
@@ -80,28 +80,34 @@ public class StateHandlerTest extends StateHandlerTestBase {
@Test
public void testPrometheusFormat() {
var counterContext = StateMetricContext.newInstance(Map.of("label1", "val1", "label2", "val2"));
+ var otherContext = StateMetricContext.newInstance(Map.of(
+ "label1", "This label has \"quotes\"",
+ "label2", "This label, a\nnewline"));
var snapshot = new MetricSnapshot(0L, SNAPSHOT_INTERVAL, TimeUnit.MILLISECONDS);
- snapshot.set(null, "bar", 20);
- snapshot.set(null, "bar", 40);
snapshot.add(counterContext, "some.counter", 10);
snapshot.add(counterContext, "some.counter", 20);
+ snapshot.add(otherContext, "some.counter", 1);
+ snapshot.add(otherContext, "some.counter", 2);
+ snapshot.set(null, "bar", 20);
+ snapshot.set(null, "bar", 40);
+ snapshot.set(null, "testing.infinity", Double.NEGATIVE_INFINITY);
+ snapshot.set(null, "testing.nan", Double.NaN);
snapshotProvider.setSnapshot(snapshot);
var response = requestAsString(V1_URI + "metrics?format=prometheus");
var expectedResponse = """
# NOTE: THIS API IS NOT INTENDED FOR PUBLIC USE
- # HELP bar_max
- # TYPE bar_max untyped
- bar_max{} 40.0 300000
- # HELP bar_sum
- # TYPE bar_sum untyped
- bar_sum{} 60.0 300000
- # HELP bar_count
- # TYPE bar_count untyped
- bar_count{} 2 300000
- # HELP some_counter_count
- # TYPE some_counter_count untyped
+ bar_count 2 300000
+ bar_max 40.0 300000
+ bar_sum 60.0 300000
+ some_counter_count{label1="This label has \\"quotes\\"",label2="This label, a\\nnewline",} 3 300000
some_counter_count{label1="val1",label2="val2",} 30 300000
+ testing_infinity_count 1 300000
+ testing_infinity_max -Inf 300000
+ testing_infinity_sum -Inf 300000
+ testing_nan_count 1 300000
+ testing_nan_max NaN 300000
+ testing_nan_sum NaN 300000
""";
assertEquals(expectedResponse, response);
}