scylla-monitoring icon indicating copy to clipboard operation
scylla-monitoring copied to clipboard

[RFE] display the table size per table

Open dyasny opened this issue 4 years ago • 8 comments

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

dyasny avatar Jul 21 '20 01:07 dyasny

Does scylla core expose this information ?

eyalgutkind avatar Jul 21 '20 02:07 eyalgutkind

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 .

dyasny avatar Jul 21 '20 03:07 dyasny

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...

eyalgutkind avatar Jul 21 '20 03:07 eyalgutkind

Data per table is not exposed by default and is not part of the monitoring stack

amnonh avatar Jul 21 '20 06:07 amnonh

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 avatar Jul 21 '20 07:07 nyh

@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

dyasny avatar Jul 28 '20 15:07 dyasny

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

haaawk avatar Jul 28 '20 15:07 haaawk

Scylla Manager uses /column_family/metrics/total_disk_space_used/{table_name} for backup size estimation. Wouldn't it be enough?

zimnx avatar Jul 28 '20 16:07 zimnx