@@ -194,15 +194,17 @@ class DerivedGaugePoint(GaugePoint):
194194 :class:`opencensus.metrics.export.cumulative.CumulativePointDouble`
195195 :param gauge_point: The underlying `GaugePoint`.
196196 """
197- def __init__ (self , func , gauge_point ):
197+ def __init__ (self , func , gauge_point , ** kwargs ):
198198 self .gauge_point = gauge_point
199199 self .func = utils .get_weakref (func )
200+ self ._kwargs = kwargs
200201
201202 def __repr__ (self ):
202- return ("{}({})"
203+ return ("{}({})({}) "
203204 .format (
204205 type (self ).__name__ ,
205- self .func ()
206+ self .func (),
207+ self ._kwargs
206208 ))
207209
208210 def get_value (self ):
@@ -216,7 +218,7 @@ def get_value(self):
216218 longer exists.
217219 """
218220 try :
219- val = self .func ()()
221+ val = self .func ()(** self . _kwargs )
220222 except TypeError : # The underlying function has been GC'd
221223 return None
222224
@@ -406,13 +408,13 @@ class DerivedGauge(BaseGauge):
406408 instead of using this class directly.
407409 """
408410
409- def _create_time_series (self , label_values , func ):
411+ def _create_time_series (self , label_values , func , ** kwargs ):
410412 with self ._points_lock :
411413 return self .points .setdefault (
412414 tuple (label_values ),
413- DerivedGaugePoint (func , self .point_type ()))
415+ DerivedGaugePoint (func , self .point_type (), ** kwargs ))
414416
415- def create_time_series (self , label_values , func ):
417+ def create_time_series (self , label_values , func , ** kwargs ):
416418 """Create a derived measurement to trac `func`.
417419
418420 :type label_values: list(:class:`LabelValue`)
@@ -432,7 +434,7 @@ def create_time_series(self, label_values, func):
432434 raise ValueError
433435 if func is None :
434436 raise ValueError
435- return self ._create_time_series (label_values , func )
437+ return self ._create_time_series (label_values , func , ** kwargs )
436438
437439 def create_default_time_series (self , func ):
438440 """Create the default derived measurement for this gauge.
0 commit comments