GuidesChangelogData Inspector Library API Reference
Guides

Stream pipeline (Flink) Metrics

Flink Metrics is a default dashboard available to you in Grafana that shows the following metrics. The standard metrics listed here are available for Flink pipelines. Custom metrics can be added to your pipeline code. See the official Flink documentation for more information about Flink metrics.

Flink Accumulators

Flink allows the creation of custom numerical metrics using accumulators. Stream Pipelines using Apache Flink support the following type of accumulators: Long and Double. Once created, these accumulators become available as named metrics that Grafana can query and add to dashboards. The metric names are commonly prefixed with the phrase flink_accumulators_.

For more information on using accumulators, see Custom Metrics and the documentation on Flink Accumulators.

Standard Metrics

CPU/Memory Metrics

METRICUNITDESCRIPTION
flink_jobmanager_Status_JVM_CPU_LoadPercentageJobManager - recent CPU usage of the JVM, due to unclear reasons is not functioning as expected (For more information on workarounds see: How can I see the percentage CPU usage of jobmanager or taskmanagers of a Stream pipeline.)
flink_jobmanager_Status_JVM_CPU_TimeNanosecondsJobManager - CPU Time used by the JVM
flink_jobmanager_Status_JVM_Memory_Heap_UsedBytesJobManager - amount of heap memory currently used
flink_jobmanager_Status_JVM_Memory_Heap_CommittedBytesJobManager - amount of heap memory guaranteed to be available to the JVM
flink_jobmanager_Status_JVM_Memory_Heap_MaxBytesJobManager - maximum amount of heap memory that can be used for memory management
flink_jobmanager_Status_JVM_Memory_NonHeap_UsedBytesJobManager - amount of non-heap memory currently used
flink_jobmanager_Status_JVM_Memory_NonHeap_CommittedBytesJobManager - amount of non-heap memory guaranteed to be available to the JVM
flink_jobmanager_Status_JVM_Memory_NonHeap_MaxBytesJobManager - maximum amount of non-heap memory that can be used for memory management
flink_jobmanager_Status_JVM_Memory_Direct_CountCountJobManager - number of buffers in the direct buffer pool
flink_jobmanager_Status_JVM_Memory_Direct_MemoryUsedBytesJobManager - amount of memory used by the JVM for the direct buffer pool
flink_jobmanager_Status_JVM_Memory_Direct_TotalCapacityBytesJobManager - total capacity of all buffers in the direct buffer pool
flink_jobmanager_Status_JVM_Memory_Mapped_CountCountJobManager - number of buffers in the mapped buffer pool
flink_jobmanager_Status_JVM_Memory_Mapped_MemoryUsedBytesJobManager - amount of memory used by the JVM for the mapped buffer pool
flink_jobmanager_Status_JVM_Memory_Mapped_TotalCapacityBytesJobManager - number of buffers in the mapped buffer pool
flink_taskmanager_Status_JVM_CPU_LoadPercentageTaskManager - recent CPU usage of the JVM, due to unclear reasons is not functioning as expected (For more information on workarounds see: How can I see the percentage CPU usage of jobmanager or taskmanagers of a Stream pipeline.)
flink_taskmanager_Status_JVM_CPU_TimeNanosecondsTaskManager - CPU Time used by the JVM
flink_taskmanager_Status_JVM_Memory_Heap_UsedBytesTaskManager - amount of heap memory currently used
flink_taskmanager_Status_JVM_Memory_Heap_CommittedBytesTaskManager - amount of heap memory guaranteed to be available to the JVM
flink_taskmanager_Status_JVM_Memory_Heap_MaxBytesTaskManager - maximum amount of heap memory that can be used for memory management
flink_taskmanager_Status_JVM_Memory_NonHeap_UsedBytesTaskManager - amount of non-heap memory currently used
flink_taskmanager_Status_JVM_Memory_NonHeap_CommittedBytesTaskManager - amount of non-heap memory guaranteed to be available to the JVM
flink_taskmanager_Status_JVM_Memory_NonHeap_MaxBytesTaskManager - maximum amount of non-heap memory that can be used for memory management
flink_taskmanager_Status_JVM_Memory_Direct_CountCountTaskManager - number of buffers in the direct buffer pool
flink_taskmanager_Status_JVM_Memory_Direct_MemoryUsedBytesTaskManager - amount of memory used by the JVM for the direct buffer pool
flink_taskmanager_Status_JVM_Memory_Direct_TotalCapacityBytesTaskManager - total capacity of all buffers in the direct buffer pool
flink_taskmanager_Status_JVM_Memory_Mapped_CountCountTaskManager - number of buffers in the mapped buffer pool
flink_taskmanager_Status_JVM_Memory_Mapped_MemoryUsedBytesTaskManager - amount of memory used by the JVM for the mapped buffer pool
flink_taskmanager_Status_JVM_Memory_Mapped_TotalCapacityBytesTaskManager - number of buffers in the mapped buffer pool

Flink Cluster Metrics

METRICDESCRIPTION
flink_jobmanager_numRegisteredTaskManagersTotal Number of Registered Task Managers
flink_jobmanager_numRunningJobsTotal Number of Running Jobs
flink_jobmanager_taskSlotsTotalTotal Number of Task Slots Allocated
flink_jobmanager_taskSlotsAvailableTotal Number of Task Slots Available

Flink I/O Metrics

METRICDESCRIPTION
flink_taskmanager_job_task_currentLowWatermarkTask - currentLowWatermark: the lowest watermark this task has received
flink_taskmanager_job_task_numBytesInLocalTask - numBytesInLocal: the total number of bytes this task has read from a local source
flink_taskmanager_job_task_numBytesInLocalPerSecondTask - numBytesInLocalPerSecond: the number of bytes this task reads from a local source per second
flink_taskmanager_job_task_numBytesInRemoteTask - numBytesInRemote: the total number of bytes this task has read from a remote source
flink_taskmanager_job_task_numBytesInRemotePerSecondTask - numBytesInRemotePerSecond: the number of bytes this task reads from a remote source per second
flink_taskmanager_job_task_numBytesOutTask - numBytesOut: the total number of bytes this task has emitted
flink_taskmanager_job_task_numBytesOutPerSecondTask - numBytesOutPerSecond: the number of bytes this task emits per second
flink_taskmanager_job_task_numRecordsInTask/Operator - numRecordsIn: the total number of records this operator/task has received
flink_taskmanager_job_task_numRecordsInPerSecondTask/Operator - numRecordsInPerSecond: the number of records this operator/task receives per second
flink_taskmanager_job_task_numRecordsOutTask/Operator - numRecordsOut: the total number of records this operator/task has emitted
flink_taskmanager_job_task_numRecordsOutPerSecondTask/Operator - numRecordsOutPerSecond: the number of records this operator/task sends per second
flink_taskmanager_job_task_operator_latencyOperator - latency: the latency distributions from all incoming sources

Kafka Producer and Consumer Metrics

Standard Kafka metrics are available when enabled in the configuration settings of the HERE platform Data Client, and their names are prefixed with:

METRICDESCRIPTION
flink_taskmanager_job_task_operator_KafkaProducerKafka Producer metrics
flink_taskmanager_job_task_operator_KafkaConsumerKafka Consumer metrics

The complete list of Kafka Producer and Consumer metrics can be found in Apache Kafka documentation (see links below).

📘

: Querying Prometheus When querying these metrics with PromQL (Prometheus Query Language), you can take advantage of label matchers on the metric names by matching against the internal __name__ label. For example, the expression flink_taskmanager_job_task_operator_KafkaConsumer_client_id_consumer_fetch_manager_metrics_fetch_rate is equivalent to {__name__=~".*consumer_fetch_manager_metrics_fetch_rate"}.

See Also