The manager clients such as telemetry fetches the performance counter
schema using the 'get_unlabled_perf_schema' API. The information from
these schemas are then used to fetch the latest values of these perf
counters. The schema from the current API does not expose the
information about labeled performance counters.
The representation format of the schema using the current API is not
capable of supporting labeled counters as it is. This is because of the
presence of NULL delimiters which are used to segregate the key name and
labels in the counter path. Because of these NULL delimiters, the
labeled counters would only have the key name in the emitted perf
schema.
Hence a new API 'get_perf_schema' has been introduced to support
labeled counters.
The new schema format from this API looks like:
```json
{
"osd_scrub_sh_repl": [
{
"labels": {
"level": "shallow",
"pooltype": "replicated"
},
"counters": {
"successful_scrubs_elapsed": {
"description": "",
"nick": "",
...
}
}
}
]
}
```
Two new subfields 'labels' and 'counters' have been added to each
counter. This format is similar to what one would expect when they run
the command `ceph tell osd.0 counter dump`