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.