scylla-monitoring
scylla-monitoring copied to clipboard
[RFE] display the table size per table
Please make sure that this is a feature request.
System information
- Scylla version (you are using): 4.x/2019.1.x
- Are you willing to contribute it (Yes/No): No
Describe the feature and the current behavior/state. The customer would like to be able to see a list of tables in the system and their respective sizes
Who will benefit with this feature?
This is a customer request
Any Other info. Ent ticket 1358
Does scylla core expose this information ?
I doubt it. Moreover I think showing actual table names in monitoring is against the principle of only showing data agnostic information in there. Still, this was an official request and I'll let the folks responsible for the stack decide what to do with it
On Mon., Jul. 20, 2020, 22:12 eyalgutkind, [email protected] wrote:
Does scylla core expose this information ?
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/scylladb/scylla-monitoring/issues/997#issuecomment-661564759, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAGAL5JEVT3H3MN5GFOTO33R4T2R5ANCNFSM4PC7ROUQ .
I am with you, I responded to the customer and told her that I have to check if this data is even exposed. I wonder why wouldn't it be exposed if Scylla/C* have the metric visible through nodetool tablestats...
Data per table is not exposed by default and is not part of the monitoring stack
In the future it would be nice to have a UI for exploring tables and data, features currently available through nodetool and cqlsh but not as a UI. But such a feature would have little in common with the existing time-series and graph-based monitoring UI, so I think it is not really suitable as a feature request in this repository.
However, something that could fit more closely to the existing UI would be to track the growth of individual tables over time, as a graph. It's not currently exposed by Scylla so it will require also a new feature request in scylla.git. Scylla could efficiently update its approximation of a table's size every time an sstable is added or removed (if we don't already do that, I don't remember).
@nyh apparently the cassandra exporter has these metrics (through jmx I suspect). I don't really see a problem with them being time-series oriented, this is more about the non-exposure policy mentioned above, IMO
There's a SIZE_ESTIMATES table that has some info about tables sizes.
https://github.com/scylladb/scylla/blob/master/db/system_keyspace.cc#L455
Scylla Manager uses /column_family/metrics/total_disk_space_used/{table_name}
for backup size estimation. Wouldn't it be enough?