@@ -34,29 +34,29 @@ def get_context(self, name, tags):
3434 tags_str = "," .join (tags ) if tags is not None else ""
3535 return "{}:{}" .format (name , tags_str )
3636
37- def count (self , name , value , tags , rate , timestamp = 0 ):
37+ def count (self , name , value , tags , rate , timestamp = 0 , cardinality = None ):
3838 return self .add_metric (
39- MetricType .COUNT , CountMetric , name , value , tags , rate , timestamp
39+ MetricType .COUNT , CountMetric , name , value , tags , rate , timestamp , cardinality
4040 )
4141
42- def gauge (self , name , value , tags , rate , timestamp = 0 ):
42+ def gauge (self , name , value , tags , rate , timestamp = 0 , cardinality = None ):
4343 return self .add_metric (
44- MetricType .GAUGE , GaugeMetric , name , value , tags , rate , timestamp
44+ MetricType .GAUGE , GaugeMetric , name , value , tags , rate , timestamp , cardinality
4545 )
4646
47- def set (self , name , value , tags , rate , timestamp = 0 ):
47+ def set (self , name , value , tags , rate , timestamp = 0 , cardinality = None ):
4848 return self .add_metric (
49- MetricType .SET , SetMetric , name , value , tags , rate , timestamp
49+ MetricType .SET , SetMetric , name , value , tags , rate , timestamp , cardinality
5050 )
5151
5252 def add_metric (
53- self , metric_type , metric_class , name , value , tags , rate , timestamp = 0
53+ self , metric_type , metric_class , name , value , tags , rate , timestamp = 0 , cardinality = None
5454 ):
5555 context = self .get_context (name , tags )
5656 with self ._locks [metric_type ]:
5757 if context in self .metrics_map [metric_type ]:
58- self .metrics_map [metric_type ][context ].aggregate (value )
58+ self .metrics_map [metric_type ][context ].aggregate (( value , cardinality ) )
5959 else :
6060 self .metrics_map [metric_type ][context ] = metric_class (
61- name , value , tags , rate , timestamp
61+ name , value , tags , rate , timestamp , cardinality
6262 )
0 commit comments