]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/os/seastore: drop sub-ms do_transaction latency buckets
authorMatan Breizman <mbreizma@redhat.com>
Wed, 8 Jul 2026 11:21:08 +0000 (11:21 +0000)
committerMatan Breizman <mbreizma@redhat.com>
Wed, 8 Jul 2026 11:59:20 +0000 (11:59 +0000)
The do_transaction latency histograms now source their samples from
seastar::lowres_clock (~0.5ms default). Drop the sub 1ms buckets.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
src/crimson/os/seastore/seastore.h

index c261eb86352632b29a0bcef9afebc43d02de5529..45eb52257a7b9510afb0783bf4ebd63b6a4e73b3 100644 (file)
@@ -440,10 +440,12 @@ public:
 
     static constexpr auto LAT_MAX = static_cast<std::size_t>(op_type_t::MAX);
 
-    // Histogram bucket upper bounds in microseconds (0.25ms–20ms).
-    // Ops above 20ms land in the last bucket as overflow.
-    static constexpr std::array<double, 14> lat_hist_bounds_us = {
-      250, 500, 1000,
+    // Histogram bucket upper bounds in microseconds (1ms–100ms).
+    // Ops above 100ms land in the last bucket as overflow. The smallest
+    // bucket is 1ms: sub-ms latencies are below lowres_clock resolution
+    // (~task_quota) and cannot be resolved, so no finer buckets are kept.
+    static constexpr std::array<double, 12> lat_hist_bounds_us = {
+      1000,
       1500, 2000, 3000,
       5000,
       7500, 10000,
@@ -456,9 +458,11 @@ public:
     static constexpr std::size_t REPLAY_BUCKETS = 16;
 
     static constexpr auto STAGE_MAX = static_cast<std::size_t>(txn_stage_t::MAX);
-    // Upper bounds (microseconds) for the per-stage do_transaction latency histograms
-    static constexpr std::array<uint64_t, 14> STAGE_LAT_BUCKETS_US = {
-      250, 500, 1000, 1500, 2000, 3000, 5000, 7500,
+    // Upper bounds (microseconds) for the per-stage do_transaction latency
+    // histograms. Smallest bucket is 1ms; sub-ms is below lowres_clock
+    // resolution (~task_quota) and cannot be resolved.
+    static constexpr std::array<uint64_t, 12> STAGE_LAT_BUCKETS_US = {
+      1000, 1500, 2000, 3000, 5000, 7500,
       10000, 15000, 20000, 30000, 50000, 100000
     };