Hi Lei, I think you should initialize the metric in the `open` method. Then you can save the initialized metric as a class field, and update it in the `invoke` method for each record.
Thank you~ Xintong Song On Fri, Jul 3, 2020 at 11:50 AM wangl...@geekplus.com.cn < wangl...@geekplus.com.cn> wrote: > > In one flink operator, i want to initialize multiple flink metrics > according to message content. > As the code below. > > public void invoke(ObjectNode node, Context context) throws Exception { > > String tableName = node.get("metadata").get("topic").asText(); > Meter meter = getRuntimeContext().getMetricGroup().meter(tableName, > new MeterView(10)); > meter.markEvent(); > log.info("### counter: " + meter.toString() + "\t" + > meter.getCount()); > > > But in this way every invoke call will initialize a new metrics and the > count will be from zero again. > How can i reuse the metric initialized before? > > Thanks, > Lei > ------------------------------ > wangl...@geekplus.com.cn > >