Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Updated task-metrics to the correct mbean name connector-task-metrics

...

All of the following will be added via Kafka's metrics library like most of the metrics in the Kafka brokers and other components. The context of all metrics are limited to the worker where the metrics are being reported, and all metrics are defined as attributes on the specified MBean attribute and are measured within the context of a single worker. All metrics defined below are at the INFO recording level.

Connector Metrics

MBean namekafka.connect:type=connector-metrics,connector=([-.\w]+)


Metric/Attribute Name

Description

Implemented
connector-typeThe type of the connector, one of: source, sink1.0.0
connector-classThe name of the connector class1.0.0
connector-versionThe version of the connector class, as reported by the connector in this worker1.0.0
statusThe current status of the connector in this worker, one of: running, paused, stopped 
status-runningSignals whether the connector is in the running statestatus-pausedSignals whether the connector is in the paused statestatus-stoppedSignals whether the connector is in the stopped state
1.0.0

Common Task Metrics

MBean namekafka.connect:type=connector-task-metrics,connector=([-.\w]+),task=([-.\w]+)

Metric/Attribute Name

Description

Implemented
statusThe current status of this task, one of: unassigned, running, paused, failed, destroyed
status-unassignedSignals whether the task is in the unassigned statestatus-runningSignals whether the task is in the running statestatus-paused
1.0.0
pause-ratioThe fraction of time this task has spent
Signals whether the task is
in the paused state
status-failedSignals whether the task is in the failed statestatus-destroyedSignals whether the task is in the destroyed statepause
.1.0.0
running-ratioThe fraction of time this task has spent in the
paused of
running state.1.0.0
offset-commit-success-percentage
The average percentage
The average percentage of this task'
s offset
s offset commit attempts that succeeded1.0.0
offset-commit-failure-percentage
The average
The average percentage of this task's offset commit attempts that failed or had an error1.0.0
offset-commit-max-time-ms
The maximum time in milliseconds taken
The maximum time in milliseconds taken by this task to commit offsets1.0.0
offset-commit-avg-time-msThe average time in milliseconds taken by this task to commit offsets1.0.0
offset-commit-99p-time-msThe 99th percentile time in
millisecondsspent
milliseconds spent by this
task
task to commit offsets to
commit offsets to
Kafka
offset-commit-95p-time-msThe 95th percentile time in
millisecondsspent
milliseconds spent by this
task
task to commit offsets to
commit offsets to
Kafka
offset-commit-90p-time-msThe 90th percentile time in
millisecondsspent
milliseconds spent by this
task to commit offsets
task to commit offsets to Kafka
offset-commit-75p-time-msThe 75th percentile time in
millisecondsspent
milliseconds spent by this
task to commit offsets
task to commit offsets to Kafka
offset-commit-50p-time-msThe 50th percentile (average) time in
millisecondsspent
milliseconds spent by this
task to commit
task to commit offsets to Kafka
batch-size-maxThe maximum size of the batches processed by the connector1.0.0
batch-size-avgThe average size of the batches processed by the connector1.0.0

Source Task Metrics

MBean namekafka.connect:type=source-task-metrics,connector=([-.\w]+),task=([\d]+)

Metric/Attribute NameDescriptionImplemented
source-record-poll-rateThe average per-second number of records produced/polled (before transformation) by this task belonging to the named source connector in this worker.1.0.0
source-record-poll-
count
totalThe number of records produced/polled (before transformation) by this task belonging to the named source connector in this worker, since the task was last restarted.1.0.0
source-record-write-rateThe average per-second number of records output from the transformations and written to Kafka for this task belonging to the named source connector in this worker. This is after transformations are applied and excludes any records filtered out by the transformations.1.0.0
source-record-write-
count
totalThe number of records output from the transformations and written to Kafka for this task belonging to the named source connector in this worker, since the task was last restarted.1.0.0
source-record-active-countThe most recent number of records that have been produced by this task but not yet completely written to Kafka.1.0.0
source-record-active-count-maxThe maximum number of records that have been produced by this task but not yet completely written to Kafka.1.0.0
source-record-active-count-avgThe average number of records that have been produced by this task but not yet completely written to Kafka.1.0.0
poll-batch-max-time-ms
The maximum time in milliseconds taken
The maximum time in milliseconds taken by this task to poll for a batch of source records1.0.0
poll-batch-avg-time-msThe average time in milliseconds taken by this task to poll for a batch of source records1.0.0
poll-batch-99p-time-msThe 99th percentile time in
millisecondsspent
milliseconds spent by this
task to poll
task to poll for a batch of source records
poll-batch-95p-time-msThe 95th percentile time in
millisecondsspent
milliseconds spent by this
task to poll
task to poll for a batch of source records
poll-batch-90p-time-msThe 90th percentile time in
millisecondsspent
milliseconds spent by this
task to poll
task to poll for a batch of source records
poll-batch-75p-time-msThe 75th percentile time in
millisecondsspent
milliseconds spent by this
task to poll
task to poll for a batch of source records
poll-batch-50p-time-msThe 50th percentile (average) time in
millisecondsspent
milliseconds spent by this
task to poll
task to poll for a batch of source records

 



Sink Task Metrics

MBean namekafka.connect:type=sink-task-metrics,connector=([-.\w]+),task=([\d]+)

Metric/Attribute Name

Description

Implemented
sink-record-read-rateThe average per-second number of records read from
Kafka (before transformations are applied) for
Kafka for this task belonging to the named sink connector in this worker. This is before transformations are applied.1.0.0
sink-record-read-
count
totalThe total number of records
read from Kafka 
produced/polled (before
transformations are applied
transformation)
for
by this task belonging to the named
sink
source connector in this worker, since the task was last restarted.1.0.0
sink-record-send-rateThe average per-second numbrer of
records output
records output from the
transformations and
transformations and sent to this task belonging to the named sink connector in this worker.
This
 This is after transformations are applied and excludes any records filtered out by the transformations.1.0.0
sink-record-send-
count
totalThe
numbrer
total number of records output from the
transformations and
transformations and sent to this
task belonging
task belonging to the named
sink
source connector in this worker, since the task was last restarted.1.0.0
sink-record-lag-maxThe maximum lag in terms of number of
records behind
records behind the consumer the offset commits are for any topic partitions.
sink-record-active-countThe most recent number of records that have been read from Kafka but not yet completely committed/flushed/acknowledged by the sink task.1.0.0
sink-record-active-count-maxThe maximum number of records that have been read from Kafka but not yet completely committed/flushed/acknowledged by the sink task.1.0.0
sink-record-active-count-avgThe average number of records that have been read from Kafka but not yet completely committed/flushed/acknowledged by the sink task.1.0.0
partition-countThe number of topic partitions assigned to this task belonging to the named sink connector in this worker.1.0.0
offset-commit-seq-noThe current sequence number
for offset commits
for offset commits1.0.0
offset-commit-completion-rateThe average per-second number of offset
commit completions
commit completions that were completed successfully1.0.0
offset-commit-completion-totalThe total number of offset commit completions that were completed successfully1.0.0
offset-commit-skip-rateThe average per-second number of offset commit completions that were received too late and skipped/ignored1.0.0
offset-commit-skip-totalThe total number of offset commit completions that were received too late and skipped/ignored1.0.0
put-batch-max-time-ms
The maximum
The maximum time
taken
in milliseconds taken by this task
to
to put a batch of sinks records1.0.0
put-batch-avg-time-msThe average time in milliseconds taken by this task to put
put
a batch of sinks records1.0.0
put-batch-99p-time-msThe 99th percentile time in
millisecondsspent
milliseconds spent by this
task to put
task to put a batch of sinks records
put-batch-95p-time-msThe 95th percentile time in
millisecondsspent
milliseconds spent by this
task to put
task to put a batch of sinks records
put-batch-90p-time-msThe 90th percentile time in
millisecondsspent
milliseconds spent by this
task to put
task to put a batch of sinks records
put-batch-75p-time-msThe 75th percentile time in
millisecondsspent
milliseconds spent by this
task to put
task to put a batch of sinks records
put-batch-50p-time-msThe 50th percentile (average) time in
millisecondsspent
milliseconds spent by this
task to put
task to put a batch of sinks records
flush-max-time-ms
The maximum
The maximum time in
milliseconds taken by this sink task
milliseconds taken by this sink task to pre-commit/flush
flush-99p-time-msThe 99th percentile time in
millisecondsspent
milliseconds spent by this sink
task to pre
task to pre-commit/flush
flush-95p-time-msThe 95th percentile time in
milliseconds spent by this sink task to pre
milliseconds spent by this sink task to pre-commit/flush
flush-90p-time-msThe 90th percentile time in
milliseconds spent by this sink task to pre
milliseconds spent by this sink task to pre-commit/flush
flush-75p-time-msThe 75th percentile time in
milliseconds spent by this sink task to pre
milliseconds spent by this sink task to pre-commit/flush
flush-50p-time-msThe 50th percentile (average) time in
milliseconds spent by this sink task to pre
milliseconds spent by this sink task to pre-commit/flush


MBean namekafka.connect:type=sink-task-metrics,connector=([-.\w]+),task=([\d]+),topic=([-.\w]+),partition=([\d]+)

Metric/Attribute Name

Description

Implemented
sink-record-lagThe latest lag in terms of number of records behind the consumer the offset commits are for the topic partition.
sink-record-lag-avgThe average lag in terms of number of records behind the consumer the offset commits are for the topic partition.
sink-record-lag-maxThe maximum lag in terms of number of records behind the consumer the offset commits are for the topic partition.

Worker Metrics

MBean namekafka.connect:type=connect-worker-metrics

Metric/Attribute Name

Description

Implemented

task-count

The number of tasks run in this worker1.0.0
connector-countThe number of connectors run in this worker1.0.0
connector-startup-attempts-totalThe total number of connector startups that this worker
leader-nameThe name of the group leaderepochThe epoch or generation number of this workerstatusThe state of this worker, one of: rebalancing, runningstatus-rebalancingSignals whether the worker is in the rebalancing statestatus-running
has attempted.1.0.0
connector-startup-success-totalThe total number of connector starts that succeeded.1.0.0
connector-startup-success-percentageThe average percentage of this worker's connectors starts that succeeded.1.0.0
connector-startup-failure-totalThe total number of connector starts that failed.1.0.0
connector-startup-failure-percentageThe average percentage of this worker's connectors starts that failed.1.0.0
task-startup-attempts-totalThe total number of task startups that this worker has attempted.1.0.0
task-startup-success-totalThe total number of task starts that succeeded.1.0.0
task-startup-success-percentageThe average percentage of this worker's task starts that succeeded.1.0.0
task-startup-failure-totalThe total number of task starts that failed.1.0.0
task-startup-failure-percentageThe average percentage of this worker's task starts that failed.1.0.0
Signals whether the worker is in the running state
rest-request-rateThe average per second number of requests handled by the REST endpoints in this worker
rest-request-totalThe total number of requests handled by the REST endpoints in this worker


Worker Rebalance Metrics

MBean namekafka.connect:type=connect-worker-rebalance-metrics

Metric/Attribute Name

Description

Implemented
rebalance
leader-
success-totalThe total number of this worker's successful rebalances
nameThe name of the group leader1.0.0
epochThe epoch or generation number of this worker1.0.0
completed-rebalances
rebalance-success-percentageThe average percentage of this worker's rebalances that succeededrebalance-failure
-totalThe total number of rebalances completed by this worker
's failed rebalances
.1.0.0
rebalancingWhether this worker is currently rebalancing.1.0.0
rebalance-failure-percentageThe average percentage of this worker's rebalances that failed
rebalance-max-time-msThe maximum time in
millisecondsspent
milliseconds spent by this
worker to rebalance
worker to rebalance.1.0.0
rebalance-avg-time-msThe average time in milliseconds spent by this worker to rebalance.1.0.0
rebalance-99p-time-msThe 99th percentile time in
millisecondsspent
milliseconds spent by this
worker to rebalance during
worker to rebalance during the last window (defaults to an hour)
rebalance-95p-time-msThe 95th percentile time in
millisecondsspent
milliseconds spent by this
worker to rebalance during
worker to rebalance during the last window (defaults to an hour)
rebalance-90p-time-msThe 90th percentile time in
millisecondsspent
milliseconds spent by this
worker to rebalance during
worker to rebalance during the last window (defaults to an hour)
rebalance-75p-time-msThe 75th percentile time in
millisecondsspent
milliseconds spent by this
worker to rebalance during
worker to rebalance during the last window (defaults to an hour)
rebalance-50p-time-msThe 50th percentile (average) time in
millisecondsspent
milliseconds spent by this
worker to rebalance during
worker to rebalance during the last window (defaults to an hour)
time
-ms
-since-last-rebalance-msThe time in
milliseconds since The number of tasks that failed in this worker
milliseconds since the most recent rebalance in this worker
task-failure-rate
1.0.0

Configuration

The distributed and standalone worker configuration files will support the following properties. These exactly match the producer and consumer configurations of the same name. (The first three are already in the distributed worker configuration.)

Configuration FieldTypeDefaultImportanceDescription
metrics.sample.window.mslong30000lowThe window of time in milliseconds a metrics sample is computed over. Must be a non-negative number.
metrics.num.samplesint2lowThe number of samples maintained to compute metrics. Must be a positive number.
metric.reportersstring""lowA list of classes to use as metrics reporters. Implementing the MetricReporter interface allows plugging in classes that will be notified of new metric creation. The JmxReporter is always included to register JMX statistics.
metrics.recording.levelstring"INFO"lowThe highest recording level for metrics. Must be either "INFO" or "DEBUG".

 


Proposed Changes

We will add the relevant metrics and worker configuration properties as specified in the Public Interfaces section.

...

Rejected Alternatives

None