]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/.../store-bench: support dumping seastar metrics
authorSamuel Just <sjust@redhat.com>
Fri, 15 Aug 2025 23:15:20 +0000 (16:15 -0700)
committerSamuel Just <sjust@redhat.com>
Thu, 21 Aug 2025 16:01:33 +0000 (09:01 -0700)
Signed-off-by: Samuel Just <sjust@redhat.com>
src/crimson/tools/store_bench/store-bench.cc

index e5f28ed28ddaf1006fc1de5bfa58bbc9203375ce..879893afed90d34f02f12a9b7a8f6a93374edf08 100644 (file)
@@ -88,6 +88,7 @@ private:
   unsigned duration = 0;
 public:
   unsigned num_concurrent_io = 16;
+  bool dump_metrics = false;
   std::chrono::duration<uint64_t> get_duration() const {
     return std::chrono::seconds(duration);
   }
@@ -100,6 +101,8 @@ public:
       ("duration", po::value<unsigned>(&duration)->required(),
        "how long in seconds the actual testing loop runs "
        "for")
+      ("dump-metrics", po::bool_switch(&dump_metrics),
+       "Dump JSON formatted metrics to stdout")
       ;
     return ret;
   }
@@ -752,6 +755,14 @@ int main(int argc, char **argv) {
           }
           f.close_section();
         }
+        if (common_options.dump_metrics) {
+          f.open_array_section("metrics_values");
+          crimson::metrics::dump_metric_value_map(
+            seastar::scollectd::get_value_map(),
+            &f,
+            [](const auto &) { return true; });
+          f.close_section();
+        }
         f.close_section();
         f.flush(std::cout);