From: Igor Fedotov Date: Tue, 31 Jan 2017 14:18:12 +0000 (+0000) Subject: os: add dump_perf_counters method to ObjectStore implementations. X-Git-Tag: v12.0.0~42^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9e92a33653a27220e2135dceea58e6214fbd2228;p=ceph.git os: add dump_perf_counters method to ObjectStore implementations. Signed-off-by: Igor Fedotov --- diff --git a/src/os/ObjectStore.h b/src/os/ObjectStore.h index 6b12bbcebbee..08f6075ebd4e 100644 --- a/src/os/ObjectStore.h +++ b/src/os/ObjectStore.h @@ -1502,6 +1502,7 @@ public: virtual void get_db_statistics(Formatter *f) { } virtual void generate_db_histogram(Formatter *f) { } + virtual void dump_perf_counters(Formatter *f) {} virtual string get_type() = 0; diff --git a/src/os/bluestore/BlueStore.h b/src/os/bluestore/BlueStore.h index 8ca4ccf659c7..189e68442707 100644 --- a/src/os/bluestore/BlueStore.h +++ b/src/os/bluestore/BlueStore.h @@ -34,6 +34,7 @@ #include "include/memory.h" #include "include/mempool.h" #include "common/Finisher.h" +#include "common/perf_counters.h" #include "compressor/Compressor.h" #include "os/ObjectStore.h" @@ -1815,6 +1816,11 @@ public: void get_db_statistics(Formatter *f) override; void generate_db_histogram(Formatter *f) override; + void dump_perf_counters(Formatter *f) override { + f->open_object_section("perf_counters"); + logger->dump_formatted(f, false); + f->close_section(); + } public: int statfs(struct store_statfs_t *buf) override; diff --git a/src/os/filestore/FileStore.h b/src/os/filestore/FileStore.h index 24fe14a580bc..ac57de7998a5 100644 --- a/src/os/filestore/FileStore.h +++ b/src/os/filestore/FileStore.h @@ -33,6 +33,7 @@ using namespace std; #include "common/Timer.h" #include "common/WorkQueue.h" +#include "common/perf_counters.h" #include "common/Mutex.h" #include "HashIndex.h" @@ -475,6 +476,11 @@ public: bool needs_journal() { return false; } + void dump_perf_counters(Formatter *f) override { + f->open_object_section("perf_counters"); + logger->dump_formatted(f, false); + f->close_section(); + } int write_version_stamp(); int version_stamp_is_valid(uint32_t *version); diff --git a/src/os/kstore/KStore.h b/src/os/kstore/KStore.h index 755a5a85a4bd..c4acd16590bd 100644 --- a/src/os/kstore/KStore.h +++ b/src/os/kstore/KStore.h @@ -435,6 +435,11 @@ public: int mkjournal() { return 0; } + void dump_perf_counters(Formatter *f) override { + f->open_object_section("perf_counters"); + logger->dump_formatted(f, false); + f->close_section(); + } int statfs(struct store_statfs_t *buf) override;