Key | Default | Type | Description
--- | --- | --- | ---

##### metrics.fetcher.update-interval

10 s

Duration

Update interval for the metric fetcher used by the web UI. Decrease this value for faster updating metrics. Increase this value if the metric fetcher causes too much load. Setting this value to 0 disables the metric fetching completely.

##### metrics.internal.query-service.port

"0"

String

The port range used for Flink's internal metric query service. Accepts a list of ports (“50100,50101”), ranges(“50100-50200”) or a combination of both. It is recommended to set a range of ports to avoid collisions when multiple Flink components are running on the same machine. Per default Flink will pick a random port.

##### metrics.internal.query-service.thread-priority

1

Integer

The thread priority used for Flink's internal metric query service. The thread is created by Pekko's thread pool executor. The range of the priority is from 1 (MIN_PRIORITY) to 10 (MAX_PRIORITY). Warning, increasing this value may bring the main Flink components down.

##### metrics.job.status.enable

CURRENT_TIME

List<Enum>

The selection of job status metrics that should be reported.
Possible values:

- "STATE": For a given state, return 1 if the job is currently in that state, otherwise return 0.
- "CURRENT_TIME": For a given state, if the job is currently in that state, return the time since the job transitioned into that state, otherwise return 0.
- "TOTAL_TIME": For a given state, return how much time the job has spent in that state in total.

##### metrics.latency.granularity

"operator"

String

Defines the granularity of latency metrics. Accepted values are:

- single - Track latency without differentiating between sources and subtasks.
- operator - Track latency while differentiating between sources, but not subtasks.
- subtask - Track latency while differentiating between sources and subtasks.

##### metrics.latency.history-size

128

Integer

Defines the number of measured latencies to maintain at each operator.

##### metrics.latency.interval

0 ms

Duration

Defines the interval at which latency tracking marks are emitted from the sources. Disables latency tracking if set to 0 or a negative value. Enabling this feature can significantly impact the performance of the cluster.

##### metrics.reporter.<name>.<parameter>

(none)

String

Configures the parameter <parameter> for the reporter named <name>.

##### metrics.reporter.<name>.factory.class

(none)

String

The reporter factory class to use for the reporter named <name>.

##### metrics.reporter.<name>.filter.excludes

List<String>

The metrics that should be excluded for the reporter named <name>. The format is identical to `filter.includes`

##### metrics.reporter.<name>.filter.includes

"*:*:*"

List<String>

The metrics that should be included for the reporter named <name>. Filters are specified as a list, with each filter following this format:
`<scope>[:<name>[,<name>][:<type>[,<type>]]]`
A metric matches a filter if the scope pattern and at least one of the name patterns and at least one of the types match.

- scope: Filters based on the logical scope.
  Specified as a pattern where `*` matches any sequence of characters and `.` separates scope components.
  For example:
  "`jobmanager.job`" matches any job-related metrics on the JobManager,
  "`*.job`" matches all job-related metrics and
  "`*.job.*`" matches all metrics below the job-level (i.e., task/operator metrics etc.).
- name: Filters based on the metric name.
  Specified as a comma-separate list of patterns where `*` matches any sequence of characters.
  For example, "`*Records*,*Bytes*`" matches any metrics where the name contains `"Records" or "Bytes"`.
- type: Filters based on the metric type. Specified as a comma-separated list of metric types: `[counter, meter, gauge, histogram]`

Examples:

- "`*:numRecords*`" Matches metrics like `numRecordsIn`.
- "`*.job.task.operator:numRecords*`" Matches metrics like `numRecordsIn` on the operator level.
- "`*.job.task.operator:numRecords*:meter`" Matches meter metrics like `numRecordsInPerSecond` on the operator level.
- "`*:numRecords*,numBytes*:counter,meter`" Matches all counter/meter metrics like or `numRecordsInPerSecond`.

##### metrics.reporter.<name>.interval

10 s

Duration

The reporter interval to use for the reporter named <name>. Only applicable to push-based reporters.

##### metrics.reporter.<name>.scope.delimiter

"."

String

The delimiter used to assemble the metric identifier for the reporter named <name>.

##### metrics.reporter.<name>.scope.variables.additional

Map

The map of additional variables that should be included for the reporter named <name>. Only applicable to tag-based reporters.

##### metrics.reporter.<name>.scope.variables.excludes

"."

String

The set of variables that should be excluded for the reporter named <name>. Only applicable to tag-based reporters.

##### metrics.reporters

(none)

String

An optional list of reporter names. If configured, only reporters whose name matches any of the names in the list will be started. Otherwise, all reporters that could be found in the configuration will be started.

##### metrics.scope.delimiter

"."

String

Delimiter used to assemble the metric identifier.

##### metrics.scope.jm

"<host>.jobmanager"

String

Defines the scope format string that is applied to all metrics scoped to a JobManager. Only effective when a identifier-based reporter is configured.

##### metrics.scope.jm-job

"<host>.jobmanager.<job_name>"

String

Defines the scope format string that is applied to all metrics scoped to a job on a JobManager. Only effective when a identifier-based reporter is configured

##### metrics.scope.jm-operator

"<host>.jobmanager.<job_name>.<operator_name>"

String

Defines the scope format string that is applied to all metrics scoped to the components running on a JobManager of an Operator, like OperatorCoordinator for Source Enumerator metrics.

##### metrics.scope.operator

"<host>.taskmanager.<tm_id>.<job_name>.<operator_name>.<subtask_index>"

String

Defines the scope format string that is applied to all metrics scoped to an operator. Only effective when a identifier-based reporter is configured

##### metrics.scope.task

"<host>.taskmanager.<tm_id>.<job_name>.<task_name>.<subtask_index>"

String

Defines the scope format string that is applied to all metrics scoped to a task. Only effective when a identifier-based reporter is configured

##### metrics.scope.tm

"<host>.taskmanager.<tm_id>"

String

Defines the scope format string that is applied to all metrics scoped to a TaskManager. Only effective when a identifier-based reporter is configured

##### metrics.scope.tm-job

"<host>.taskmanager.<tm_id>.<job_name>"

String

Defines the scope format string that is applied to all metrics scoped to a job on a TaskManager. Only effective when a identifier-based reporter is configured

##### metrics.system-resource

false

Boolean

Flag indicating whether Flink should report system resource metrics such as machine's CPU, memory or network usage.

##### metrics.system-resource-probing-interval

5 s

Duration

Interval between probing of system resource metrics specified. Has an effect only when 'metrics.system-resource' is enabled.