DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
Status
Current state: Under discussion
Discussion thread: https://lists.apache.org/thread/w4ml9ffkj1j31j8kjpbywq9jsw5ck5sr
JIRA: TODO
Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
Motivation
Currently, there exists a kafka.server:type=MetadataLoader,name=CurrentMetadataVersion metric which tells the operator the metadata version feature level for every node in a cluster. However, now that there several features with support beyond the metadata.version feature, adding a metric to display those features' levels would be helpful for monitoring upgrade/downgrade scenarios for clusters using those features.
Public Interfaces
Monitoring
Add a metric for each production feature (i.e. metadata.version , kraft.version , transaction.version , group.version , eligible.leader.replicas.version , and share.version ).
This can be accomplished via one generic "feature level" metric that is tagged by feature. Using a generic metric allows for new production features to automatically expose their feature level going forward.
| Name | Type | Description |
|---|---|---|
| kafka.server:type=MetadataLoader,name=FeatureLevel,featureName=X | Integer | The value of the feature level for a feature named "X". |
The default value of this metric should be the default value of the feature.
Compatibility, Deprecation, and Migration Plan
We might want to deprecate the kafka.server:type=MetadataLoader,name=CurrentMetadataVersion metric since this per-feature tagged metric can also expose the current metadata version.
Test Plan
We will add junit tests to verify the new metrics.
Rejected Alternatives
If there are alternative ways of accomplishing the same thing, what were they? The purpose of this section is to motivate why the design is the way it is and not some other way.