Hi, just for the record. I am collecting the values of outPoolUsage using the piece of code below inside my stream operator
OperatorMetricGroup operatorMetricGroup = (OperatorMetricGroup) this.getMetricGroup(); TaskMetricGroup taskMetricGroup = operatorMetricGroup.parent(); MetricGroup metricGroup = taskMetricGroup.getGroup("buffers"); Gauge<Float> gauge = (Gauge<Float>) metricGroup.getMetric("outPoolUsage"); if (gauge != null && gauge.getValue() != null) { float outPoolUsage = gauge.getValue().floatValue(); this.outPoolUsageHistogram.update((long) (outPoolUsage * 100)); } -- -- Felipe Gutierrez -- skype: felipe.o.gutierrez -- https://felipeogutierrez.blogspot.com On Mon, Mar 16, 2020 at 5:17 PM Felipe Gutierrez <felipe.o.gutier...@gmail.com> wrote: > > Hi community, > > I have built my own operator (not a UDF) and I want to collect the > metrics of "outPoolUsage" inside it. How do I do it assuming that I > have to do some modifications in the source code? > > I know that the Gouge comes from > flink-runtime/org.apache.flink.runtime.io.network.metrics.OutputBufferPoolUsageGauge.java. > Inside of my operator MyAbstractUdfStreamOperator I can get the > "MetricGroup metricGroup = this.getMetricGroup()". > Then I implemented the "Gauge<Float> gauge = (Gauge<Float>) > metricGroup.getMetric("outPoolUsage");" but it returns null all the > time. Even when I click on the Backpressure UI Interface. > > Thanks, > Felipe > -- > -- Felipe Gutierrez > -- skype: felipe.o.gutierrez > -- https://felipeogutierrez.blogspot.com