Re: Adding Labels Section to Perf Counters Output

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx> 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@xxxxxxx
> To unsubscribe send an email to ceph-users-leave@xxxxxxx
_______________________________________________
ceph-users mailing list -- ceph-users@xxxxxxx
To unsubscribe send an email to ceph-users-leave@xxxxxxx



[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Ceph Dev]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux