-
Notifications
You must be signed in to change notification settings - Fork 6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Labeled Perf Counters #48657
Labeled Perf Counters #48657
Conversation
cc8a42a
to
9f1a01c
Compare
@alimaredia setting aside the cache part for now, can you explain the strategy for converting existing counters to use labels? for example, rgw's multisite sync counters put the source-zone in the counter name at https://github.com/ceph/ceph/blob/bc01d2ed/src/rgw/rgw_rados.cc#L478: counters(sync_counters::build(store->ctx(), std::string("data-sync-from-") + source_zone->name)), how would we change that to use a "source={zone name}" label? |
@cbodley you would just need to change the string argument You would also need to need to pass |
This pull request can no longer be automatically merged: a rebase is needed and changes have to be manually resolved |
7657a4b
to
846c420
Compare
afb51b4
to
38107e9
Compare
jenkins test make check |
jenkins test make check |
72b4e76
to
c8920c1
Compare
@alimaredia not yet, but I expect to get it in soon. All of Yuri's labels are currently taken up (he prefers to have up to 12 batches going at a time). But we just approved a batch so will have space to start a new batch soon |
You'll see a "wip-yuri*-testing" label added to the PR when it's been batched. |
@alimaredia it's going into testing now |
@ljflores awesome let me know how it goes! |
@alimaredia I'll have results for you next week |
Update on testing: A different PR in the testing batch caused a regression. To verify, I am dropping it from the batch and rerunning a few tests. This PR did not seem at all related, so I am working to unblock it. |
This pull request can no longer be automatically merged: a rebase is needed and changes have to be manually resolved |
93c8675
to
56e2a10
Compare
a flat representation of a set of prometheus labels, returned as a std::string. this string can either be used for sorting an ordered container of perf counters, or for hashing an unordered container Signed-off-by: Casey Bodley <cbodley@redhat.com>
Add the ability to dump labeled perf counters for a daemon. Labeled perf counters are stored in a CephContext's PerfCountersCollection. Labeled and unlabeled perf counters are dumped to the admin socket via `counters dump` command. The schema for labeled and unlabeled perf counters are dumped to the admin socket via `counters schema` command. This commit includes docs and additional unit tests Signed-off-by: Ali Maredia <amaredia@redhat.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A rebase was needed due to Filestore removal. src/os/filestore/FileStore.h
hunk was dropped as the file is gone entirely:
diff --git a/src/os/filestore/FileStore.h b/src/os/filestore/FileStore.h
index 67caeaec0a01e..e8a1714217be5 100644
--- a/src/os/filestore/FileStore.h
+++ b/src/os/filestore/FileStore.h
@@ -509,7 +509,7 @@ class FileStore : public JournalingObjectStore,
void dump_perf_counters(ceph::Formatter *f) override {
f->open_object_section("perf_counters");
- logger->dump_formatted(f, false);
+ logger->dump_formatted(f, false, false);
f->close_section();
}
@idryomov thank you for the clarification around my recent rebase |
Rados suite review: https://pulpito.ceph.com/yuriw-2023-02-16_22:44:43-rados-wip-yuri-testing-2023-02-16-0839-distro-default-smithi Failures, unrelated: Details: |
From RADOS point of view, it looks good. |
Thanks for waiting while we got lab issues sorted! |
@jmolmo This is already in reef and not getting backported to quincy. |
Labeled Perf Counters initial work.
This PR adds labels to perf counters allowing for multi-dimensional perf counters to be stored and dumped in the form
Signed-off-by: Ali Maredia amaredia@redhat.com
Contribution Guidelines
To sign and title your commits, please refer to Submitting Patches to Ceph.
If you are submitting a fix for a stable branch (e.g. "pacific"), please refer to Submitting Patches to Ceph - Backports for the proper workflow.
Checklist
Show available Jenkins commands
jenkins retest this please
jenkins test classic perf
jenkins test crimson perf
jenkins test signed
jenkins test make check
jenkins test make check arm64
jenkins test submodules
jenkins test dashboard
jenkins test dashboard cephadm
jenkins test api
jenkins test docs
jenkins render docs
jenkins test ceph-volume all
jenkins test ceph-volume tox
jenkins test windows