Skip to content

Commit 64933d2

Browse files
committed
test: cover typed family descriptor variants
Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
1 parent a1be08d commit 64933d2

1 file changed

Lines changed: 61 additions & 1 deletion

File tree

prometheus-metrics-model/src/test/java/io/prometheus/metrics/model/snapshots/MetricFamilyDescriptorTest.java

Lines changed: 61 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,73 @@ void gaugeDescriptorKeepsLiteralName() {
5050
}
5151

5252
@Test
53-
void genericFactoryUsesTypedBuilderSemantics() {
53+
void histogramDescriptorKeepsLiteralName() {
54+
MetricFamilyDescriptor descriptor =
55+
MetricFamilyDescriptor.histogram("request_duration_seconds")
56+
.help("Request duration")
57+
.labelName("method")
58+
.build();
59+
60+
assertThat(descriptor.getType()).isEqualTo(MetricType.HISTOGRAM);
61+
assertThat(descriptor.getPrometheusName()).isEqualTo("request_duration_seconds");
62+
assertThat(descriptor.getLabelNames()).containsExactly("method");
63+
}
64+
65+
@Test
66+
void summaryDescriptorKeepsLiteralName() {
67+
MetricFamilyDescriptor descriptor =
68+
MetricFamilyDescriptor.summary("request_size_bytes")
69+
.help("Request size")
70+
.labelName("method")
71+
.build();
72+
73+
assertThat(descriptor.getType()).isEqualTo(MetricType.SUMMARY);
74+
assertThat(descriptor.getPrometheusName()).isEqualTo("request_size_bytes");
75+
assertThat(descriptor.getLabelNames()).containsExactly("method");
76+
}
77+
78+
@Test
79+
void stateSetDescriptorKeepsLiteralName() {
80+
MetricFamilyDescriptor descriptor =
81+
MetricFamilyDescriptor.stateSet("feature_flags").help("Flags").labelName("service").build();
82+
83+
assertThat(descriptor.getType()).isEqualTo(MetricType.STATESET);
84+
assertThat(descriptor.getPrometheusName()).isEqualTo("feature_flags");
85+
assertThat(descriptor.getLabelNames()).containsExactly("service");
86+
}
87+
88+
@Test
89+
void unknownDescriptorKeepsLiteralName() {
90+
MetricFamilyDescriptor descriptor =
91+
MetricFamilyDescriptor.unknown("vendor_metric").help("Vendor metric").build();
92+
93+
assertThat(descriptor.getType()).isEqualTo(MetricType.UNKNOWN);
94+
assertThat(descriptor.getPrometheusName()).isEqualTo("vendor_metric");
95+
}
96+
97+
@Test
98+
void genericFactoryUsesTypedBuilderSemanticsForAllKinds() {
5499
MetricFamilyDescriptor counter =
55100
MetricFamilyDescriptor.of(MetricType.COUNTER, "http_requests_total").build();
101+
MetricFamilyDescriptor gauge =
102+
MetricFamilyDescriptor.of(MetricType.GAUGE, "queue_depth").build();
103+
MetricFamilyDescriptor histogram =
104+
MetricFamilyDescriptor.of(MetricType.HISTOGRAM, "request_duration_seconds").build();
105+
MetricFamilyDescriptor summary =
106+
MetricFamilyDescriptor.of(MetricType.SUMMARY, "request_size_bytes").build();
56107
MetricFamilyDescriptor info = MetricFamilyDescriptor.of(MetricType.INFO, "build_info").build();
108+
MetricFamilyDescriptor stateSet =
109+
MetricFamilyDescriptor.of(MetricType.STATESET, "feature_flags").build();
110+
MetricFamilyDescriptor unknown =
111+
MetricFamilyDescriptor.of(MetricType.UNKNOWN, "vendor_metric").build();
57112

58113
assertThat(counter.getPrometheusName()).isEqualTo("http_requests");
114+
assertThat(gauge.getPrometheusName()).isEqualTo("queue_depth");
115+
assertThat(histogram.getPrometheusName()).isEqualTo("request_duration_seconds");
116+
assertThat(summary.getPrometheusName()).isEqualTo("request_size_bytes");
59117
assertThat(info.getPrometheusName()).isEqualTo("build");
118+
assertThat(stateSet.getPrometheusName()).isEqualTo("feature_flags");
119+
assertThat(unknown.getPrometheusName()).isEqualTo("vendor_metric");
60120
}
61121

62122
@Test

0 commit comments

Comments
 (0)