metric does not display on web

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

metric does not display on web

sora
Hi all,
I am trying to monitor my flink application, so I add two metric in my application.
But I can not see any information on the web. The metric tab says "No metrics available".
Do I miss any config?
My flink version: 1.7.2
My example code:
def main(args: Array[String]) {

val env = StreamExecutionEnvironment.getExecutionEnvironment
env.setStreamTimeCharacteristic(TimeCharacteristic.ProcessingTime)

val text = env.socketTextStream("HOST", 6666)
val counts = text.flatMap(new RichFlatMapFunction[String, String] {
private var counter: Counter = _
private var meter: org.apache.flink.metrics.Meter = _

override def open(parameters: Configuration): Unit = {
super.open(parameters)
counter = getRuntimeContext.getMetricGroup.counter("recordCounter")
meter = getRuntimeContext.getMetricGroup.meter("recordMeter", new DropwizardMeterWrapper(new com.codahale.metrics.Meter()))
}

override def flatMap(value: String, out: Collector[String]): Unit = {
val result = value.split("\\W+").filter(_.nonEmpty)
result.foreach(out.collect)
counter.inc(result.length)
meter.markEvent(result.length)
}
})
.map {
(_, 1L)
}
.keyBy(_._1)
.timeWindow(Time.seconds(5))
.sum(1)
.map {
_.toString()
}

counts.addSink(new SocketClientSink[String]("HOST", 7777, new SimpleStringSchema))

env.execute("Scala SocketTextStreamWordCount Example")
}
Reply | Threaded
Open this post in threaded view
|

Re: metric does not display on web

Chesnay Schepler
"No metrics available" indicates that either
a) metrics have not been queried yet or
b) metrics can not be transferred from the TaskManagers to the JobManager.

Regarding the first option, how long have you waited for metrics to show up? It may take a bit for metrics to be available (around 10 seconds).

As for the second, you'll have to set the log level to DEBUG and search for metric related errors.

On 19/04/2019 08:23, sora wrote:
Hi all,
I am trying to monitor my flink application, so I add two metric in my application.
But I can not see any information on the web. The metric tab says "No metrics available".
Do I miss any config?
My flink version: 1.7.2
My example code:
def main(args: Array[String]) {

  val env = StreamExecutionEnvironment.getExecutionEnvironment
  env.setStreamTimeCharacteristic(TimeCharacteristic.ProcessingTime)

  val text = env.socketTextStream("HOST", 6666)
  val counts = text.flatMap(new RichFlatMapFunction[String, String] {
    private var counter: Counter = _
    private var meter: org.apache.flink.metrics.Meter = _

    override def open(parameters: Configuration): Unit = {
      super.open(parameters)
      counter = getRuntimeContext.getMetricGroup.counter("recordCounter")
      meter = getRuntimeContext.getMetricGroup.meter("recordMeter", new DropwizardMeterWrapper(new com.codahale.metrics.Meter()))
    }

    override def flatMap(value: String, out: Collector[String]): Unit = {
      val result = value.split("\\W+").filter(_.nonEmpty)
      result.foreach(out.collect)
      counter.inc(result.length)
      meter.markEvent(result.length)
    }
  })
    .map {
      (_, 1L)
    }
    .keyBy(_._1)
    .timeWindow(Time.seconds(5))
    .sum(1)
    .map {
      _.toString()
    }

  counts.addSink(new SocketClientSink[String]("HOST", 7777, new SimpleStringSchema))

  env.execute("Scala SocketTextStreamWordCount Example")
}