@@ -281,6 +281,31 @@ def add_label(key, value):
281
281
282
282
self .assertEqual (metrics ['h' ].samples , expected_histogram )
283
283
284
+ def test_collect_preserves_help (self ):
285
+ pid = 0
286
+ values .ValueClass = MultiProcessValue (lambda : pid )
287
+ labels = {i : i for i in 'abcd' }
288
+
289
+ c = Counter ('c' , 'c help' , labelnames = labels .keys (), registry = None )
290
+ g = Gauge ('g' , 'g help' , labelnames = labels .keys (), registry = None )
291
+ h = Histogram ('h' , 'h help' , labelnames = labels .keys (), registry = None )
292
+
293
+ c .labels (** labels ).inc (1 )
294
+ g .labels (** labels ).set (1 )
295
+ h .labels (** labels ).observe (1 )
296
+
297
+ pid = 1
298
+
299
+ c .labels (** labels ).inc (1 )
300
+ g .labels (** labels ).set (1 )
301
+ h .labels (** labels ).observe (5 )
302
+
303
+ metrics = {m .name : m for m in self .collector .collect ()}
304
+
305
+ self .assertEqual (metrics ['c' ].documentation , 'c help' )
306
+ self .assertEqual (metrics ['g' ].documentation , 'g help' )
307
+ self .assertEqual (metrics ['h' ].documentation , 'h help' )
308
+
284
309
def test_merge_no_accumulate (self ):
285
310
pid = 0
286
311
values .ValueClass = MultiProcessValue (lambda : pid )
0 commit comments