@@ -121,13 +121,13 @@ def test_histogram_exemplars(self):
121
121
families = text_string_to_metric_families ("""# TYPE a histogram
122
122
# HELP a help
123
123
a_bucket{le="1"} 0 # {a="b"} 0.5
124
- a_bucket{le="2"} 2 123 # {a="c"} 0.5
124
+ a_bucket{le="2"} 2 # {a="c"} 0.5
125
125
a_bucket{le="+Inf"} 3 # {a="1234567890123456789012345678901234567890123456789012345678"} 4 123
126
126
# EOF
127
127
""" )
128
128
hfm = HistogramMetricFamily ("a" , "help" )
129
129
hfm .add_sample ("a_bucket" , {"le" : "1" }, 0.0 , None , Exemplar ({"a" : "b" }, 0.5 ))
130
- hfm .add_sample ("a_bucket" , {"le" : "2" }, 2.0 , Timestamp ( 123 , 0 ) , Exemplar ({"a" : "c" }, 0.5 )),
130
+ hfm .add_sample ("a_bucket" , {"le" : "2" }, 2.0 , None , Exemplar ({"a" : "c" }, 0.5 )),
131
131
hfm .add_sample ("a_bucket" , {"le" : "+Inf" }, 3.0 , None , Exemplar ({"a" : "1234567890123456789012345678901234567890123456789012345678" }, 4 , Timestamp (123 , 0 )))
132
132
self .assertEqual ([hfm ], list (families ))
133
133
@@ -145,15 +145,15 @@ def test_simple_gaugehistogram(self):
145
145
def test_gaugehistogram_exemplars (self ):
146
146
families = text_string_to_metric_families ("""# TYPE a gaugehistogram
147
147
# HELP a help
148
- a_bucket{le="1"} 0 # {a="b"} 0.5
148
+ a_bucket{le="1"} 0 123 # {a="b"} 0.5
149
149
a_bucket{le="2"} 2 123 # {a="c"} 0.5
150
- a_bucket{le="+Inf"} 3 # {a="d"} 4 123
150
+ a_bucket{le="+Inf"} 3 123 # {a="d"} 4 123
151
151
# EOF
152
152
""" )
153
153
hfm = GaugeHistogramMetricFamily ("a" , "help" )
154
- hfm .add_sample ("a_bucket" , {"le" : "1" }, 0.0 , None , Exemplar ({"a" : "b" }, 0.5 ))
154
+ hfm .add_sample ("a_bucket" , {"le" : "1" }, 0.0 , Timestamp ( 123 , 0 ) , Exemplar ({"a" : "b" }, 0.5 ))
155
155
hfm .add_sample ("a_bucket" , {"le" : "2" }, 2.0 , Timestamp (123 , 0 ), Exemplar ({"a" : "c" }, 0.5 )),
156
- hfm .add_sample ("a_bucket" , {"le" : "+Inf" }, 3.0 , None , Exemplar ({"a" : "d" }, 4 , Timestamp (123 , 0 )))
156
+ hfm .add_sample ("a_bucket" , {"le" : "+Inf" }, 3.0 , Timestamp ( 123 , 0 ) , Exemplar ({"a" : "d" }, 4 , Timestamp (123 , 0 )))
157
157
self .assertEqual ([hfm ], list (families ))
158
158
159
159
def test_simple_info (self ):
@@ -164,6 +164,18 @@ def test_simple_info(self):
164
164
""" )
165
165
self .assertEqual ([InfoMetricFamily ("a" , "help" , {'foo' : 'bar' })], list (families ))
166
166
167
+ def test_info_timestamps (self ):
168
+ families = text_string_to_metric_families ("""# TYPE a info
169
+ # HELP a help
170
+ a_info{a="1",foo="bar"} 1 1
171
+ a_info{a="2",foo="bar"} 1 0
172
+ # EOF
173
+ """ )
174
+ imf = InfoMetricFamily ("a" , "help" )
175
+ imf .add_sample ("a_info" , {"a" : "1" , "foo" : "bar" }, 1 , Timestamp (1 , 0 ))
176
+ imf .add_sample ("a_info" , {"a" : "2" , "foo" : "bar" }, 1 , Timestamp (0 , 0 ))
177
+ self .assertEqual ([imf ], list (families ))
178
+
167
179
def test_simple_stateset (self ):
168
180
families = text_string_to_metric_families ("""# TYPE a stateset
169
181
# HELP a help
@@ -516,11 +528,18 @@ def test_invalid_input(self):
516
528
('# TYPE a gaugehistogram\n a_bucket{le="+Inf"} NaN\n # EOF\n ' ),
517
529
('# TYPE a summary\n a_sum NaN\n # EOF\n ' ),
518
530
('# TYPE a summary\n a_count NaN\n # EOF\n ' ),
519
- # Bad grouping.
531
+ # Bad grouping or ordering .
520
532
('# TYPE a histogram\n a_sum{a="1"} 0\n a_sum{a="2"} 0\n a_count{a="1"} 0\n # EOF\n ' ),
521
533
('# TYPE a histogram\n a_bucket{a="1",le="1"} 0\n a_bucket{a="2",le="+Inf""} 0\n a_bucket{a="1",le="+Inf"} 0\n # EOF\n ' ),
522
534
('# TYPE a gaugehistogram\n a_gsum{a="1"} 0\n a_gsum{a="2"} 0\n a_gcount{a="1"} 0\n # EOF\n ' ),
523
535
('# TYPE a summary\n quantile{quantile="0"} 0\n a_sum{a="1"} 0\n quantile{quantile="1"} 0\n # EOF\n ' ),
536
+ ('# TYPE a gauge\n a 0 -1\n a 0 -2\n # EOF\n ' ),
537
+ ('# TYPE a gauge\n a 0 -1\n a 0 -1.1\n # EOF\n ' ),
538
+ ('# TYPE a gauge\n a 0 1\n a 0 -1\n # EOF\n ' ),
539
+ ('# TYPE a gauge\n a 0 1.1\n a 0 1\n # EOF\n ' ),
540
+ ('# TYPE a gauge\n a 0 1\n a 0 0\n # EOF\n ' ),
541
+ ('# TYPE a gauge\n a 0\n a 0 0\n # EOF\n ' ),
542
+ ('# TYPE a gauge\n a 0 0\n a 0\n # EOF\n ' ),
524
543
]:
525
544
with self .assertRaises (ValueError ):
526
545
list (text_string_to_metric_families (case ))
0 commit comments