Hello Chesnay,

Thanks for your response !
I have logs enable (info), slf4jReporter is working, I can see :

15:16:00.112 [Flink-MetricRegistry-thread-1] INFO
org.apache.flink.metrics.slf4j.Slf4jReporter  -
=========================== Starting metrics report
===========================

-- Counters
-------------------------------------------------------------------

-- Gauges
---------------------------------------------------------------------
....

On both jobmanager & taskmanager,
*BUT* i see only system metrics, not my custom one..
Am i missing something in declaration in my topology ?

*Note* : I am using DataSet API (so my program is batch, and not continuous)

Regards,
Bastien

------------------

Bastien DINE
Data Architect / Software Engineer / Sysadmin
bastiendine.io


Le mar. 27 nov. 2018 à 17:07, Chesnay Schepler <ches...@apache.org> a
écrit :

> Please enable WARN logging and check for warnings by the SLF4JReporter
> and/or MetricQueryService.
>
> On 27.11.2018 17:00, bastien dine wrote:
>
> Hello everyone,
>
> Once again I require your help !
> I am trying to report custom metric (see my code below)
> Yet, I do not see them anywhere.. nor in the metric tab from my tasks, nor
> in the rest API, nor in the declared slf4j reporter..
> Can someone help me to debug this ..
>
> Here is my RichMap function :
>
> public class MetricGaugeRichMap<T, E extends MetricTuple<T>> extends 
> RichMapFunction<E, E> {
>
>     private transient T valueToExpose;
>     private final String metricGroup;
>     private final String metricName;
>
>
>     public MetricGaugeRichMap(String metricGroup, String metricName) {
>         this.metricGroup = metricGroup;
>         this.metricName = metricName;
>     }
>
>     @Override    public void open(Configuration config) {
>         getRuntimeContext()
>                 .getMetricGroup()
>                 .addGroup(metricGroup)
>                 .gauge(metricName, (Gauge<T>) () -> valueToExpose);
>     }
>
>     @Override    public E map(E metricTuple) throws Exception {
>         valueToExpose = metricTuple.getMetricValue();
>         return metricTuple;
>     }
> }
>
>  calling from topology :
>
> env.fromElements(new MetricTuple<>(metricGroup, metricName, metricValue))
>     .map(new MetricGaugeRichMap<>(metricGroup, metricName))
>     .output(new MetricGaugeOutputFormat<>()); // dummy output
>
> ------------------
>
>
> Bastien DINE
> Data Architect / Software Engineer / Sysadmin
> bastiendine.io
>
>
>

Reply via email to