Annotate perfcounters


Perfcounters are undocumented. Include docs inline in code where they are defined.


  • Danny Al-Gaaf (Deutsche Telekom AG)
  • Name (Affiliation)
  • Name

Interested Parties

  • Sage Weil (Inktank)
  • Danny Al-Gaaf (Deutsche Telekom AG)
  • Name (Affiliation)
  • Name

Current Status

Perfcounters are undocumented. They are defined in two places:
  • the header includes an enum for l_$subsys_$metric
  • a function elsewhere constructs the perfcounter collection with a PerfCounterBuilder (or similar)

The metric is named but not described.
There is an admin socket command that dumps the perf counter types. This would be a nice place to describe them too.

Detailed Description

Expand the PerfCounterBuilder to include a new field that describes the perfcounter. This should either be a single string, or allow a short and long description.

Work items

Coding tasks

  1. perfcounters: expand builder methods to include a description
  2. asok: include descriptions in perf dump
  3. document metrics for
    1. osd
    2. objecter
    3. filestore
    4. objecter
    5. librados
    6. mon
    7. ....
  4. generate perfcounter docs as rst?
    1. this is awkward because the collections are constructed at runtime, so there is no easy way to extract all counters from all parts of the code.

Documentation tasks

  1. document how perfcounters are described