Have information about logical read and physical and logical read /write page pages for indexes and table tables separately and for whole database. With the same granularity has time spent for physical operations. Also statistics available on SQL statements level.
...
Implement gathering local node statistics with two levels of detalization: fine-grain by type of page types (about 35 such types) and aggregated statistics: INDEX, DATA, OTHER. Need to support 3 types of IO operations: logical/physical read , and physical read/writewrite (only as global statistics).
Implement collecting local node statistics with the following dimensions: cache, index, query.
implement exchange IO statistics by nodes to have ability expose cluster statistics (e.g. IO statistics for distributed SQL).
expose IO statistics interfaces for SQL, JMX, Visor, CMD, Web Console
...
Cluster wide statistics, can lead performance issue
which of interfaces should be exposed: SQL, JMX, Visor, CMD, Web Console ....
reset of statistics. It can be by request, by time, some metrics value, .... or may be reset by time and keep history of metrics.