@@ -48,10 +48,11 @@ def register(self, collector):
4848 '''Add a collector to the registry.'''
4949 with self ._lock :
5050 names = self ._get_names (collector )
51- for name in names :
52- if name in self ._names_to_collectors :
53- raise ValueError ('Timeseries already present '
54- 'in CollectorRegistry: ' + name )
51+ duplicates = set (self ._names_to_collectors ).intersection (names )
52+ if duplicates :
53+ raise ValueError (
54+ 'Duplicated timeseries in CollectorRegistry: {}' .format (
55+ duplicates ))
5556 for name in names :
5657 self ._names_to_collectors [name ] = collector
5758 self ._collector_to_names [collector ] = names
@@ -444,7 +445,8 @@ def __reset(self):
444445 file_prefix = typ
445446 if file_prefix not in files :
446447 filename = os .path .join (
447- os .environ ['prometheus_multiproc_dir' ], '{0}_{1}.db' .format (file_prefix , pid ['value' ]))
448+ os .environ ['prometheus_multiproc_dir' ],
449+ '{0}_{1}.db' .format (file_prefix , pid ['value' ]))
448450 files [file_prefix ] = _MmapedDict (filename )
449451 self ._file = files [file_prefix ]
450452 self ._key = json .dumps ((metric_name , name , labelnames , labelvalues ))
@@ -710,8 +712,9 @@ def __init__(self, name, labelnames, labelvalues, multiprocess_mode='all'):
710712 if (_ValueClass ._multiprocess
711713 and multiprocess_mode not in ['min' , 'max' , 'livesum' , 'liveall' , 'all' ]):
712714 raise ValueError ('Invalid multiprocess mode: ' + multiprocess_mode )
713- self ._value = _ValueClass (self ._type , name , name , labelnames ,
714- labelvalues , multiprocess_mode = multiprocess_mode )
715+ self ._value = _ValueClass (
716+ self ._type , name , name , labelnames , labelvalues ,
717+ multiprocess_mode = multiprocess_mode )
715718
716719 def inc (self , amount = 1 ):
717720 '''Increment gauge by the given amount.'''
0 commit comments