From: Igor Fedotov Date: Tue, 29 Nov 2016 15:20:29 +0000 (+0000) Subject: os/objectstore: add access to objectstore's performance counters from UT X-Git-Tag: v12.0.1~379^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=0e073ae932ca4231100f7d2fa85d1d10e65ccce7;p=ceph.git os/objectstore: add access to objectstore's performance counters from UT Signed-off-by: Igor Fedotov --- diff --git a/src/os/ObjectStore.h b/src/os/ObjectStore.h index 85a8f1970d1..bb8e3f03313 100644 --- a/src/os/ObjectStore.h +++ b/src/os/ObjectStore.h @@ -108,6 +108,14 @@ public: */ virtual objectstore_perf_stat_t get_cur_stats() = 0; + /** + * Fetch Object Store performance counters. + * + * + * This appears to be called with nothing locked. + */ + virtual const PerfCounters* get_perf_counters() const = 0; + /** * a sequencer orders transactions * diff --git a/src/os/bluestore/BlueStore.h b/src/os/bluestore/BlueStore.h index 3c3bdb00e0d..c5e9160b4bf 100644 --- a/src/os/bluestore/BlueStore.h +++ b/src/os/bluestore/BlueStore.h @@ -2154,6 +2154,9 @@ public: perf_tracker.update_from_perfcounters(*logger); return perf_tracker.get_cur_stats(); } + const PerfCounters* get_perf_counters() const { + return logger; + } int queue_transactions( Sequencer *osr, diff --git a/src/os/filestore/FileStore.h b/src/os/filestore/FileStore.h index ac57de7998a..34eff77d15c 100644 --- a/src/os/filestore/FileStore.h +++ b/src/os/filestore/FileStore.h @@ -141,6 +141,9 @@ public: perf_tracker.update_from_perfcounters(*logger); return perf_tracker.get_cur_stats(); } + const PerfCounters* get_perf_counters() const { + return logger; + } private: string internal_name; ///< internal name, used to name the perfcounter instance diff --git a/src/os/kstore/KStore.h b/src/os/kstore/KStore.h index c4acd16590b..4db1096facb 100644 --- a/src/os/kstore/KStore.h +++ b/src/os/kstore/KStore.h @@ -553,6 +553,10 @@ public: objectstore_perf_stat_t get_cur_stats() { return objectstore_perf_stat_t(); } + const PerfCounters* get_perf_counters() const { + return logger; + } + int queue_transactions( Sequencer *osr, diff --git a/src/os/memstore/MemStore.h b/src/os/memstore/MemStore.h index ee1dadafd79..5f20e37334e 100644 --- a/src/os/memstore/MemStore.h +++ b/src/os/memstore/MemStore.h @@ -385,6 +385,11 @@ public: objectstore_perf_stat_t get_cur_stats() override; + const PerfCounters* get_perf_counters() const { + return nullptr; + } + + int queue_transactions( Sequencer *osr, vector& tls, TrackedOpRef op = TrackedOpRef(),