@@ -49,17 +49,17 @@ def __init__(
4949 "Content-Type" : "application/json" ,
5050 }
5151
52- def gauge (self , metric , value , tags = None ):
52+ def gauge (self , metric , value , tags = None , timestamp = None ):
5353 """Buffer a gauge metric."""
54- self ._add_metric (metric , value , _TYPE_GAUGE , tags )
54+ self ._add_metric (metric , value , _TYPE_GAUGE , tags , timestamp )
5555
56- def count (self , metric , value , tags = None ):
56+ def count (self , metric , value , tags = None , timestamp = None ):
5757 """Buffer a count metric."""
58- self ._add_metric (metric , value , _TYPE_COUNT , tags )
58+ self ._add_metric (metric , value , _TYPE_COUNT , tags , timestamp )
5959
60- def rate (self , metric , value , tags = None ):
60+ def rate (self , metric , value , tags = None , timestamp = None ):
6161 """Buffer a rate metric."""
62- self ._add_metric (metric , value , _TYPE_RATE , tags )
62+ self ._add_metric (metric , value , _TYPE_RATE , tags , timestamp )
6363
6464 def flush (self ):
6565 """Send buffered metrics.
@@ -111,9 +111,12 @@ def flush(self):
111111 self ._buffer = []
112112 return False
113113
114- def _add_metric (self , metric , value , metric_type , tags ):
114+ def _add_metric (self , metric , value , metric_type , tags , timestamp ):
115+ if timestamp is None :
116+ timestamp = time .time ()
117+
115118 point = {
116- "timestamp" : int (time . time () ),
119+ "timestamp" : int (timestamp ),
117120 "value" : value ,
118121 }
119122 item = {
0 commit comments