-
Enhancement
-
Resolution: Done
-
Minor
-
None
Feature request or enhancement
Which use case/requirement will be addressed by the proposed feature?
The Cassandra connector currently uses a non-standard JMX metrics naming convention that differs from other Debezium connectors (PostgreSQL, MySQL, etc.). This inconsistency creates challenges for:
1. Monitoring and Observability: Operations teams need to maintain different monitoring configurations and dashboards for Cassandra vs other Debezium connectors
2. Tooling Integration: Existing monitoring tools and scripts that work with standard Debezium metrics don't work with the Cassandra connector
3. User Experience: Users familiar with other Debezium connectors expect consistent metric naming patterns
Currently, the Cassandra connector use the `topic.prefix` property to set the MBean domain and then all metrics are exposed as `<topic.prefix>:name=<metric_name>
While other Debezium connectors have `debezium.<connector-type>` as domain and the MBeans use the standard pattern and split between streaming and snapshot metrics:
- debezium.<connector-type>:context=streaming,server=<logical-name>,type=connector-metrics
- debezium.<connector-type>:context=snapshot,server=<logical-name>,type=connector-metrics
Implementation ideas
1. Create new standard metrics classes (CassandraStreamingMetrics, CassandraSnapshotMetrics) that follow the Debezium naming convention similar to the Debezium core library
2. Use ObjectName pattern: debezium.cassandra:type=connector-metrics,context=streaming,server=<logical-name> for commit log metrics
3. Use ObjectName pattern: debezium.cassandra:type=connector-metrics,context=snapshot,server=<logical-name> for snapshot metrics
4. Mark existing CommitLogProcessorMetrics as deprecated with reference to new standard classes