|
15 | 15 | from prometheus_client.multiprocess import ( |
16 | 16 | mark_process_dead, MultiProcessCollector, |
17 | 17 | ) |
| 18 | +from prometheus_client.openmetrics.exposition import \ |
| 19 | + generate_latest as openmetrics_generate_latest |
18 | 20 | from prometheus_client.values import ( |
19 | 21 | get_value_class, MultiProcessValue, MutexValue, |
20 | 22 | ) |
@@ -133,7 +135,10 @@ def test_histogram_negative_buckets(self): |
133 | 135 | self.assertEqual(1, self.registry.get_sample_value('h_bucket', {'l': 'x', 'le': '0.0'})) |
134 | 136 | self.assertEqual(2, self.registry.get_sample_value('h_bucket', {'l': 'x', 'le': '+Inf'})) |
135 | 137 | self.assertEqual(2, self.registry.get_sample_value('h_count', {'l': 'x'})) |
136 | | - self.assertIsNone(self.registry.get_sample_value('h_sum', {'l': 'x'})) |
| 138 | + self.assertEqual(1.5, self.registry.get_sample_value('h_sum', {'l': 'x'})) |
| 139 | + # OpenMetrics 1.0 doesn't allow _sum with negative buckets, 2.0 does. |
| 140 | + self.assertNotIn(b'h_sum', openmetrics_generate_latest(self.registry, version='1.0.0')) |
| 141 | + self.assertIn(b'h_sum{l="x"} 1.5', openmetrics_generate_latest(self.registry, version='2.0.0')) |
137 | 142 |
|
138 | 143 | def test_gauge_all(self): |
139 | 144 | g1 = Gauge('g', 'help', registry=None) |
|
0 commit comments