@@ -121,13 +121,13 @@ def test_histogram_exemplars(self):
121121 families = text_string_to_metric_families ("""# TYPE a histogram
122122# HELP a help
123123a_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
125125a_bucket{le="+Inf"} 3 # {a="1234567890123456789012345678901234567890123456789012345678"} 4 123
126126# EOF
127127""" )
128128 hfm = HistogramMetricFamily ("a" , "help" )
129129 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 )),
131131 hfm .add_sample ("a_bucket" , {"le" : "+Inf" }, 3.0 , None , Exemplar ({"a" : "1234567890123456789012345678901234567890123456789012345678" }, 4 , Timestamp (123 , 0 )))
132132 self .assertEqual ([hfm ], list (families ))
133133
@@ -145,15 +145,15 @@ def test_simple_gaugehistogram(self):
145145 def test_gaugehistogram_exemplars (self ):
146146 families = text_string_to_metric_families ("""# TYPE a gaugehistogram
147147# HELP a help
148- a_bucket{le="1"} 0 # {a="b"} 0.5
148+ a_bucket{le="1"} 0 123 # {a="b"} 0.5
149149a_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
151151# EOF
152152""" )
153153 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 ))
155155 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 )))
157157 self .assertEqual ([hfm ], list (families ))
158158
159159 def test_simple_info (self ):
@@ -164,6 +164,18 @@ def test_simple_info(self):
164164""" )
165165 self .assertEqual ([InfoMetricFamily ("a" , "help" , {'foo' : 'bar' })], list (families ))
166166
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+
167179 def test_simple_stateset (self ):
168180 families = text_string_to_metric_families ("""# TYPE a stateset
169181# HELP a help
@@ -516,11 +528,18 @@ def test_invalid_input(self):
516528 ('# TYPE a gaugehistogram\n a_bucket{le="+Inf"} NaN\n # EOF\n ' ),
517529 ('# TYPE a summary\n a_sum NaN\n # EOF\n ' ),
518530 ('# TYPE a summary\n a_count NaN\n # EOF\n ' ),
519- # Bad grouping.
531+ # Bad grouping or ordering .
520532 ('# TYPE a histogram\n a_sum{a="1"} 0\n a_sum{a="2"} 0\n a_count{a="1"} 0\n # EOF\n ' ),
521533 ('# 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 ' ),
522534 ('# TYPE a gaugehistogram\n a_gsum{a="1"} 0\n a_gsum{a="2"} 0\n a_gcount{a="1"} 0\n # EOF\n ' ),
523535 ('# 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 ' ),
524543 ]:
525544 with self .assertRaises (ValueError ):
526545 list (text_string_to_metric_families (case ))
0 commit comments