Do the counters need to be moved under a separate key? That would break anything today that currently tries to parse them. We have quite a bit of internal monitoring that relies on "perf dump" output, but it's mostly not output that I would expect to gain labels in general (e.g. bluestore stats). Taking a step back, though, from a json perspective, the proposal seems a bit odd to me. I think what's being proposed is something like this (using a random stat name that may or may not exist): "bucket_stats": { "labels": { "bucket": "one", } "counters": { ... }, } "bucket_stats": { "labels": { "bucket": "two", } "counters": { ... }, } Many standard json parsers (e.g. golang's) won't be able to meaningfully parse this due to the "bucket_stats" key repeating. They would expect something like this instead: "bucket_stats": [ { "labels": { "bucket": "one", } "counters": { ... }, }, { "labels": { "bucket": "two", } "counters": { ... }, } ] Josh On Tue, Jan 31, 2023 at 8:55 PM Ali Maredia <amaredia@redhat.com> wrote:
Hi Ceph Developers and Users,
Various upstream developers and I are working on adding labels to perf counters (https://github.com/ceph/ceph/pull/48657).
We would like to understand the ramifications of changing the format of the json dumped by the `perf dump` command for the Reef Release on users and components of Ceph.
As an example given in the PR, currently unlabeled counters are dumped like this in comparison with their new labeled counterparts.
"some unlabeled_counter": { "put_b": 1048576, }, "some labeled_counter": { "labels": { "Bucket: "bkt1", "User: "user1", }, "counters": { "put_b": 1048576, }, },
Here is an example given in the PR of the old style unlabeled counters being dumped in the same format as the labeled counters:
"some unlabeled": { "labels": { }, "counters": { "put_b": 1048576, }, }, "some labeled": { "labels": { "Bucket: "bkt1", "User: "user1", }, "counters": { "put_b": 1048576, }, },
Would users/consumers of these counters be opposed to changing the format? Why is this the case?
As far as I know there are ceph-mgr modules related to Prometheus and telemetry that are consuming the current unlabeled counters. Also this topic will be discussed at the upcoming Ceph Developer Monthly EMEA as well.
Best, Ali _______________________________________________ ceph-users mailing list -- ceph-users@ceph.io To unsubscribe send an email to ceph-users-leave@ceph.io