[ 
https://issues.apache.org/jira/browse/CASSANDRA-19666?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Maxim Muzafarov updated CASSANDRA-19666:
----------------------------------------
    Fix Version/s: 5.x

> Split the metrics collection into smaller groups
> ------------------------------------------------
>
>                 Key: CASSANDRA-19666
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-19666
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Observability/Metrics
>            Reporter: Maxim Muzafarov
>            Assignee: Maxim Muzafarov
>            Priority: Normal
>             Fix For: 5.x
>
>
> Historically, all metrics are stored in a single collection indexed by a 
> unique metric name - {{{}ConcurrentMap<String, Metric>{}}}. This storage 
> technique doesn't offer any advantages over other options we might have 
> below, and causes some performance and usability issues when we need to 
> traverse this huge collection while filtering the metrics.
> The following possible solutions could be used: 
> - Use 
> https://www.javadoc.io/doc/io.dropwizard.metrics/metrics-core/4.0.2/com/codahale/metrics/SharedMetricRegistries.html
>  , which provides a way to store metrics in their dedicated groups;
> - Implement a hierarchical storage structure, based on the knowledge of how 
> the metric key is formed. For example, 
> https://the-asf.slack.com/archives/CK23JSY2K/p1716568216701789?thread_ts=1716324924.466269&cid=CK23JSY2K
> Each of the above options assumes, that the metric groups are statically 
> registered and known at the time a node starts. This may also be an option to 
> consider for dynamically registering metric groups and in turn registering 
> corresponding virtual tables and JmxMbean. In the latter case, we'll need to 
> implement the notification mechanism for the drivers, as they are not 
> currently notified about newly created virtual tables.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to