Feature #22605
closedCreate per-object-prefix performance counters
0%
Description
The problem:
There is no way to collect per RBD-image runtime statistics (IOPS, MB/s and so on ).
Solution:
1. Implement in ceph-osd statistics counters for specified object name prefix. So, if some object is touched (read or written), OSD (if it is master in acting set) looks if object name starts with some string associated with some defined counter.
2. librados should provide corresponding API to add and remove counters (list of counters in each pool). Only one argument -- object name prefix.
3. librbd should allocate/deallocate counters (via librados) for each image.
4. Ceph-mgr should be able to collect these counters from OSD and aggregate them (since object with same prefix=counter usually located on many OSD).
5. add rbd command to display this statistics.
Librbd may ask librados to allocate counters for specified object prefix. These counters should also be removed on image deletion. Counters should be updated only by master OSD in acting set.