DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
...
Current state: Under Discussion
Discussion thread: here
JIRA: here
Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
...
Public Interfaces
New Metrics
Each added metric will be on the client-level and have the following tag:
type = client-metrics
The metrics for thread state will also contain an additional tag:
thread-id=[thread-id]
The following table provides the new metric name, recording level, type, and description. Additionally, the group, tag, and converted telemetry name are provided.
| Name | Recording Level | Metric Type | Description | Group | Tags | Telemetry Name | MBEAN Name |
|---|---|---|---|---|---|---|---|
| client-state | INFO | Gauge | The current state of the Kafka Streams instance | stream-metrics | client-id, process-id | org.apache.kafka.stream.client.state | kafka.streams:type=stream-metrics,client-id=([-.\w]+), process-id=([-.\w]+) |
| thread | |||||||
| Name | Recording Level | Metric Type | Description | ||||
| client-state | INFO | Gauge | The current state of the Kafka Streams instance StreamThread | stream-thread-metrics | thread-id, process-id | org.apache.kafka.stream.thread.thread.state | kafka.streams:type=stream-thread-metrics,thread-id=([-.\w]+), process-id=([-.\w]+) |
| thread-state | INFO | GaugeString | The current state of the StreamThread | stream-thread-metrics | thread-id | N/A JMX only | kafka.streams:type=stream-thread-metrics,thread-id=([-.\w]+) |
| recording-level | INFO | GaugeInteger | The level of metrics recording | stream-metrics | client-id, process-id | org.apache.kafka.stream.recording.level | kafka.streams:type=stream-metrics,client-id=([-.\w]+), process-id=([-.\w]+) |
Values for client-state metrics
The client-state metric values will reflect the current state of the Kafka Streams client instance, represented by the value returned by KafkaStreams.State.ordinal() of the current state enum.
| Client State | Metric Value |
|---|---|
| CREATED | 0 |
| REBALANCING | 1 |
| RUNNING | 2 |
| PENDING_SHUTDOWN | 3 |
| NOT_RUNNING | 4 |
| PENDING_ERROR | 5 |
| ERROR | 6 |
Values for thread-state metrics (KIP-1076 extension)
The thread-state metric values will reflect the current state of a StreamThread instance, represented by the value returned by StreamThread.State enum.ordinal() of the current state enum.
| Thread State | Metric Value |
|---|---|
| CREATED | 0 |
| STARTING | 1 |
| PARTITIONS_REVOKED | 2 |
| PARTITIONS_ASSIGNED | 3 |
| RUNNING | 4 |
| PENDING_SHUTDOWN | 5 |
| DEAD | 6 |
Values for thread-state metrics (JMX)
The thread-state metric for JMX reporters will also reflect the current state represented by the current StreamThread.State, but the metric will be the string value of enum name.
| Thread State | Metric Value |
|---|---|
| CREATED | "created" |
| STARTING | "starting" |
| PARTITIONS_REVOKED | "partitions_revoked" |
| PARTITIONS_ASSIGNED | "partitions_assigned" |
| RUNNING | "running" |
| PENDING_SHUTDOWN | "pending_shutdown" |
| DEAD | "dead" |
Values for recording-level metrics
The recording-level metric will map the values in the following table
| Recording level | Metric Value |
|---|---|
| INFO | 0 |
| DEBUG | 1 |
| TRACE | 2 |
Proposed Changes
These new metrics will be available at the INFO level. Both the client-state and thread-state will be updated to reflect the changes in the client or thread state. The recording-level is determined on startup and contains the configured metrics recording level.
...