Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

According to FLIP-49, we can sort out a table containing the correspondence between configuration and metric.

JVM Metrics

These JVM metrics are exposed and can be used through the TaskManager's metrics REST API.

JVMMetricUsed keyTotal key
HeapStatus.JVM.Memory.HeapUsedMax
Direct

Flink Compose0

user conf key1

configuration key2

metric max3

metric used3

Heap

FrameWork Heap

taskmanager.memory.framework.heap.size

memoryConfiguration.frameworkHeap
Status.JVM.Memory.
Heap.Max
DirectUsedMax
Metaspace

Status.JVM.Memory.

Heap.Used

Task Heap

taskmanager.memory.task.heap.size

memoryConfiguration.taskHeap

Off-Heap

Native

Managed Memory

taskmanager.memory.managed.size

memoryConfiguration.managedMemory

Status.ManagedMemory.Total 

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyFLINK-14406

Status.ManagedMemory.Used 

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyFLINK-14406

Direct

Metaspace 

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyFLINK-19617

UsedMax
MappedStatus.JVM.Memory.MappedMemoryUsedTotalCapacity
NonHeapStatus.JVM.Memory.NonHeapMemoryUsedTotalCapacity

Memory Configuration

Flink's memory model (as described in org.apache.flink.runtime.clusterframework.TaskExecutorProcessSpec) can be mapped to the following Flink configuration parameters. There are a few that have a correlating Flink metric.

Flink Memory ModelFlink configuration1REST API2Metric3Used keyTotal key
Framework Heaptaskmanager.memory.framework.heap.sizememoryConfiguration.frameworkHeapStatus.JVM.Memory.HeapUsedMax
Task Heaptaskmanager.memory.task.heap.sizememoryConfiguration.taskHeap
Framework OffHeaptaskmanager.memory.framework.off-heap.sizememoryConfiguration.frameworkOffHeap

Framework OffHeap

taskmanager.memory.framework.off-heap.size

memoryConfiguration.frameworkOffHeap

-

-

Task OffHeap Memory

taskmanager.memory.task.off-heap.size

memoryConfiguration.taskOffHeap

Network Memory

taskmanager.memory.network.min

memoryConfiguration.networkMemory

Status.Shuffle.Netty.TotalMemory 

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyFLINK-14422

Status.Shuffle.Netty.UsedMemory 

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyFLINK-14422

taskmanager.memory.network.max

Mapped
---

Status.JVM.Memory.Mapped.TotalCapacity

Status.JVM.Memory.Mapped.MemoryUsed

Metaspace
Task OffHeaptaskmanager.memory.task.off-heap.sizememoryConfiguration.taskOffHeap
Network Memory

taskmanager.memory.network.min

JVM Metaspace

taskmanager.memory.

jvm-metaspace

network.

size

max

memoryConfiguration.
jvmMetaspace.Metaspace.Max
networkMemory

Status.

JVM.Memory

Shuffle.Netty

Status.JVM.Memory.Metaspace.Used


Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyFLINK-

19617

14422

UsedMemoryTotalMemory
Managed Memorytaskmanager.memory.managed.sizememoryConfiguration.managedMemory

Status.ManagedMemory


Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyFLINK

-19617Overhead

-14406

(is up for discussion, still)(is up for discussion, still)
Mapped--Status.JVM.Memory.MappedMemoryUsedTotalCapacity
JVM Metaspace
JVM Overhead
taskmanager.memory.jvm-
overhead
metaspace.
min
sizememoryConfiguration.
jvmOverhead
jvmMetaspaceStatus.JVM.Memory.
NonHeap.
MetaspaceUsedMax
Status.
JVM Overhead

taskmanager.

Memory

memory.

NonHeap

jvm-overhead.

Used

min

taskmanager.memory.jvm-overhead.max

...

memoryConfiguration.jvmOverhead--

1 These are the configuration parameters used in the Flink configuration.
2 These are the Json paths to address the properties in the HTTP REST API response. Additionally, memoryConfiguration.totalFlinkMemory  and totalProcessMemory are exposed through the REST API.
3 The metrics which are exposed through the TaskManager's metrics

...

REST API.

Frontend Design (out-dated)

...