Skip to content
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

Merged
merged 8 commits into from
Mar 25, 2017
Merged

Conversation

liewegas
Copy link
Member

@liewegas liewegas commented Mar 14, 2017

This is on top of wip-bluestore-dw (#13888); ignore the first bunch of commits

@@ -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]:
Copy link
Member

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?

@liewegas
Copy link
Member Author

liewegas commented Mar 15, 2017 via email

@@ -53,7 +53,7 @@ BlueFS::~BlueFS()

void BlueFS::_init_logger()
{
PerfCountersBuilder b(cct, "BlueFS",
Copy link
Member

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?

Copy link
Member

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) {
Copy link
Member

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...?

@liewegas
Copy link
Member Author

liewegas commented Mar 15, 2017 via email

badone pushed a commit to badone/ceph that referenced this pull request Mar 19, 2017
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>
@liewegas
Copy link
Member Author

@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!

@dmick
Copy link
Member

dmick commented Mar 21, 2017

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.)

@liewegas
Copy link
Member Author

@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?

@dmick
Copy link
Member

dmick commented Mar 24, 2017

What does "latest cost" mean? Is 'cost' an autocorrect victim? code?

(from irc: yes, thinko/autocorrecto for 'code')

@liewegas liewegas merged commit d8d24be into ceph:master Mar 25, 2017
@liewegas liewegas deleted the wip-bluestore-pc branch March 25, 2017 18:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants