Key Default Type Description
metrics.fetcher.update-interval
10000 Long Update interval for the metric fetcher used by the web UI in milliseconds. 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 Long 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.
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
5000 Long Interval between probing of system resource metrics specified in milliseconds. Has an effect only when 'metrics.system-resource' is enabled.