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))
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))
def open(self): self.group_agg_function.open(FunctionContext(self.base_metric_group))
def open_func(self): for user_defined_func in self.user_defined_funcs: user_defined_func.open(FunctionContext(self.base_metric_group))
def test_metric_not_enabled(self): fc = FunctionContext(None) with self.assertRaises(RuntimeError): fc.get_metric_group()