示例#1
0
    def __init__(self, name, spec, counter_factory, sampler, consumers):
        super(StatelessFunctionOperation, self).__init__(name, spec, counter_factory, sampler)
        self.consumer = consumers['output'][0]
        self._value_coder_impl = self.consumer.windowed_coder.wrapped_value_coder.get_impl()

        self.func, self.user_defined_funcs = self.generate_func(self.spec.serialized_fn.udfs)
        self._metric_enabled = self.spec.serialized_fn.metric_enabled
        self.base_metric_group = None
        if self._metric_enabled:
            self.base_metric_group = GenericMetricGroup(None, None)
        for user_defined_func in self.user_defined_funcs:
            user_defined_func.open(FunctionContext(self.base_metric_group))
示例#2
0
 def open(self):
     for user_defined_func in self.user_defined_funcs:
         if hasattr(user_defined_func, 'open'):
             user_defined_func.open(FunctionContext(self.base_metric_group))
示例#3
0
 def open(self):
     self.group_agg_function.open(FunctionContext(self.base_metric_group))
示例#4
0
 def open_func(self):
     for user_defined_func in self.user_defined_funcs:
         user_defined_func.open(FunctionContext(self.base_metric_group))
示例#5
0
 def test_metric_not_enabled(self):
     fc = FunctionContext(None)
     with self.assertRaises(RuntimeError):
         fc.get_metric_group()