-
Notifications
You must be signed in to change notification settings - Fork 5.8k
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
os/bluestore: fix perf counters #13965
Conversation
98c6c3f
to
366d665
Compare
src/pybind/ceph_daemon.py
Outdated
@@ -187,7 +188,8 @@ def _print_headers(self, ostr): | |||
|
|||
sub_header = "" | |||
for section_name, names in self._stats.items(): | |||
for stat_name, stat_nick in names.items(): | |||
for stat_name in self._stats_order[section_name]: |
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.
Don't the headers also have to follow this order? And couldn't we get this effect by making the existing _stats an OrderedDict as well, and not need _stats_order?
yeah probably; i did this part before i discovered i needed ordereddict for the json parse result
|
366d665
to
f5506f2
Compare
@@ -53,7 +53,7 @@ BlueFS::~BlueFS() | |||
|
|||
void BlueFS::_init_logger() | |||
{ | |||
PerfCountersBuilder b(cct, "BlueFS", |
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.
Commit message says "log", but this is just adding a nick, meaning it will show up in the schema and be grabbed by daemonperf (what you refer to as 'surface' in the next commit), right?
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.
commit message is still misleading; this doesn't add any metrics, it just makes them have a nick (and changes the upper-level name to lowercase)
@@ -179,6 +179,10 @@ class PerfCounters | |||
m_name = s; | |||
} | |||
|
|||
void set_suppress_nicks(bool b) { |
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.
Why would one code this rather than just setting the nick to ""? If it were dynamic, that's one thing, but given you have to change the C++ code either way...?
objecter is used by many modules (including clients), which do want ot see
this. osd is special in that it has an objecter instance but it is not
very interseting (it's used for cache tiering).
|
Fixes: ceph#13965 Signed-off-by: Samuel Just <sjust@redhat.com> (cherry picked from commit 053ee91)
The daemons report this in a particular order; match that in the daemonperf output. This corresponds to the numeric value of the l_* enum. Signed-off-by: Sage Weil <sage@redhat.com>
By omitting the 'nick' we exclude a whole group of metrics from the daemonperf results. Signed-off-by: Sage Weil <sage@redhat.com>
Signed-off-by: Sage Weil <sage@redhat.com>
Signed-off-by: Sage Weil <sage@redhat.com>
Signed-off-by: Sage Weil <sage@redhat.com>
Signed-off-by: Sage Weil <sage@redhat.com>
Most of these are counters, not gauges. Signed-off-by: Sage Weil <sage@redhat.com>
This is more useful info for humans. Signed-off-by: Sage Weil <sage@redhat.com>
f5506f2
to
ccd1db2
Compare
@dmick okay, rebased! agree the terminology is awkward. the 'daemonperf shows things with a nick' thing has always been goofy too, but until we come up with a better idea that's what we've got! |
I never really understood that anyway; why not just have a default list in daemonperf? Why require the cluster to control what its examination tool shows, either with nick changes or set_suppress_nick or whatever? It's more complex and more of a pain (no ad-hoc changes, c++ so requires rebuild, etc.) |
@dmick I think the idea is that the latest cost generally knows what hte most interesting set of metrics is, so that's a good place to start. The nick overloading is annoying, though, and it you should be able ot pick other metrics on the cmdline to watch. Anyway, is this okay as is? |
What does "latest cost" mean? Is 'cost' an autocorrect victim? code? (from irc: yes, thinko/autocorrecto for 'code') |
This is on top of wip-bluestore-dw (#13888); ignore the first bunch of commits