[ https://issues.apache.org/jira/browse/CASSANDRA-18305?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17729800#comment-17729800 ]
Stefan Miklosovic edited comment on CASSANDRA-18305 at 6/6/23 4:04 PM: ----------------------------------------------------------------------- Hi [~manish.c.ghildi...@gmail.com] first of all thank your for your contribution. I look at 4.0 patch and what I would prefer to see is the usage of TableBuilder instead of just printing lines to output. TableBuilder is used across the codebase in nodetool and it is just better way to handle the output as it is automatically aligned depending on the width of each line. For example, instead of this (current state of 4.0 branch) {code:java} 2 concurrent compactors, 0 pending tasks compactions completed: 80 minute rate: .12/second 5 minute rate: .54/second 15 minute rate: .70/second Mean rate: .14/second compaction throughput ratio: 64.0 MBps / 64.0 MBps (100.0%) {code} Now it looks like this (1) {code:java} concurrent compactors 2 pending tasks count 8 ks tb 3 ks tb2 5 compactions completed 51 minute rate 0.31/second 5 minute rate 0.38/second 15 minute rate 0.39/second mean rate 0.09/second actual compaction throughput (MBps) throttling disabled (0) {code} or {code:java} concurrent compactors 2 pending tasks count 8 ks tb 3 ks tb2 5 compactions completed 57 minute rate 0.46/second 5 minute rate 1.25/second 15 minute rate 1.47/second mean rate 0.10/second actual compaction throughput (MBps) 64.0 actual compaction throughput ratio 64.0 MBps / 64.0 MBps (100.0%) {code} Do you think it is something which we could use instead? You are welcome to build on top of what I did (you may just git cherry-pick that commit). (1) [https://github.com/apache/cassandra/pull/2393/files] was (Author: smiklosovic): Hi [~manish.c.ghildi...@gmail.com] first of all thank your for your contribution. I look at 4.0 patch and what I would prefer to see is the usage of TableBuilder instead of just printing lines to output. TableBuilder is used across the codebase in nodetool and it is just better way to handle the output as it is automatically aligned depending on the width of each line. For example, instead of this (current state of 4.0 branch) {code:java} 2 concurrent compactors, 0 pending tasks compactions completed: 80 minute rate: .12/second 5 minute rate: .54/second 15 minute rate: .70/second Mean rate: .14/second compaction throughput ratio: 64.0 MBps / 64.0 MBps (100.0%) {code} Now it looks like this (1) {code:java} concurrent compactors 2 pending tasks count 8 ks tb 3 ks tb2 5 compactions completed 51 minute rate 0.31/second 5 minute rate 0.38/second 15 minute rate 0.39/second mean rate 0.09/second actual compaction throughput (MBps) throttling disabled (0) {code} or {code:java} concurrent compactors 2 pending tasks count 8 ks tb 3 ks tb2 5 compactions completed 57 minute rate 0.46/second 5 minute rate 1.25/second 15 minute rate 1.47/second mean rate 0.10/second actual compaction throughput (MBps) 64.0 actual compaction throughput ratio 64.0 MBps / 64.0 MBps (100.0%) {code} Do you think it is something which we could use instead? You are welcome to build on top of what I did (you may just git cherry-pick that commit). (1) [https://github.com/apache/cassandra/pull/2393/files] EDIT: btw I am not sure that the figure 1.47/second or similar is correct. Why is that "/second" ? As I understand that figure, 1.47 is the number of total compactions completed in 15 minutes. (looking into the second example). Similarly, it would be "1.25 total compactions completed in 5 minutes". I think that "/second" is misleading as that number is related to the specific time window, no? Or maybe I am completely wrong here and it is truly "per second in that specific time window". > Enhance nodetool compactionstats with existing MBean metrics > ------------------------------------------------------------ > > Key: CASSANDRA-18305 > URL: https://issues.apache.org/jira/browse/CASSANDRA-18305 > Project: Cassandra > Issue Type: Improvement > Components: Tool/nodetool > Reporter: Brad Schoening > Assignee: Manish Ghildiyal > Priority: Normal > Fix For: 4.0.x, 4.1.x, 5.x > > Time Spent: 1h 40m > Remaining Estimate: 0h > > Nodetool compactionstats reports only on active compactions, if nothing is > active, you see only: > {quote}$nodetool compactionstats > pending tasks: 0 > {quote} > but in the MBean Compaction/TotalCompactionsCompleted there are recent > statistic in events/second for: > * Count > * FifteenMinueRate > * FiveMinueRate > * MeanRate > * OneMinuteRate > 1) It would be useful to see in addition: > {quote}pending tasks: 0 > compactions completed: 20 > 1 minute rate: 0/second > 5 minute rate: 2.3/second > 15 minute rate: 4.6/second > {quote} > 2) Since compaction_throughput_mb_per_sec is a throttling parameter in > cassandra.yaml (default 64 MBps), it would be nice to show the actual > compaction throughput and be able to observe if you're close to the limit. > I.e., > {quote}compaction throughput 13.2 MBps / 16 MBps (82.5%) > {quote} > 3) for completness, compactionstats should list the number of concurrent > compactors configured, perhaps simply add to existing 'pending tasks' line: > {quote}4 concurrent compactors, 0 pending tasks > {quote} -- 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