From: Samuel Just Date: Fri, 9 Aug 2019 19:00:26 +0000 (-0700) Subject: bluestore: revamp tracepoints, add sampling X-Git-Tag: v15.1.0~1367^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4d272b98c584a49201a725e646c90e2ff0f5e45c;p=ceph.git bluestore: revamp tracepoints, add sampling This patch adds per-io bluestore specific tracepoints detailing the throttle state at queue time as well as state latencies during execution. Additionally, bluestore_throttle_trace_rate will limit the rate at which ios have tracepoints emitted. Signed-off-by: Samuel Just --- diff --git a/src/ceph_osd.cc b/src/ceph_osd.cc index 145f404f4235..b24ca32ab025 100644 --- a/src/ceph_osd.cc +++ b/src/ceph_osd.cc @@ -59,6 +59,8 @@ TracepointProvider::Traits osd_tracepoint_traits("libosd_tp.so", "osd_tracing"); TracepointProvider::Traits os_tracepoint_traits("libos_tp.so", "osd_objectstore_tracing"); +TracepointProvider::Traits bluestore_tracepoint_traits("libbluestore_tp.so", + "bluestore_tracing"); #ifdef WITH_OSD_INSTRUMENT_FUNCTIONS TracepointProvider::Traits cyg_profile_traits("libcyg_profile_tp.so", "osd_function_tracing"); @@ -655,6 +657,7 @@ flushjournal_out: TracepointProvider::initialize(g_ceph_context); TracepointProvider::initialize(g_ceph_context); + TracepointProvider::initialize(g_ceph_context); #ifdef WITH_OSD_INSTRUMENT_FUNCTIONS TracepointProvider::initialize(g_ceph_context); #endif diff --git a/src/common/ceph_time.h b/src/common/ceph_time.h index 74236bfd4ef2..ae4a17c78129 100644 --- a/src/common/ceph_time.h +++ b/src/common/ceph_time.h @@ -503,6 +503,20 @@ struct converts_to_timespec constexpr bool converts_to_timespec_v = converts_to_timespec::value; +template +static Rep to_seconds(T t) { + return std::chrono::duration_cast< + std::chrono::duration>(t).count(); +} + +template +static Rep to_microseconds(T t) { + return std::chrono::duration_cast< + std::chrono::duration< + Rep, + std::micro>>(t).count(); +} + } // namespace ceph #endif // COMMON_CEPH_TIME_H diff --git a/src/common/options.cc b/src/common/options.cc index f60182b5fa53..db043b5ac3f5 100644 --- a/src/common/options.cc +++ b/src/common/options.cc @@ -5564,6 +5564,14 @@ std::vector