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
>
>

Reply via email to