]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/os/seastore: move stats to seastore_types.h
authorYingxin Cheng <yingxin.cheng@intel.com>
Fri, 24 May 2024 06:42:28 +0000 (14:42 +0800)
committerMatan Breizman <mbreizma@redhat.com>
Sun, 16 Jun 2024 10:22:27 +0000 (13:22 +0300)
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
(cherry picked from commit 1d2b33e619308acecc6745d73fb742d0881d0ce8)

src/crimson/os/seastore/cache.h
src/crimson/os/seastore/journal/record_submitter.h
src/crimson/os/seastore/seastore_types.h

index 3fb31a75e290c9d5d0c573ca1f2cd2ee7630a65c..6a761cb21533fe0486f2c63082a980b6a0104eeb 100644 (file)
@@ -1505,9 +1505,6 @@ private:
     }
   };
 
-  template <typename CounterT>
-  using counter_by_src_t = std::array<CounterT, TRANSACTION_TYPE_MAX>;
-
   static constexpr std::size_t NUM_SRC_COMB =
       TRANSACTION_TYPE_MAX * (TRANSACTION_TYPE_MAX + 1) / 2;
 
@@ -1546,14 +1543,6 @@ private:
     version_stat_t committed_reclaim_version;
   } stats;
 
-  template <typename CounterT>
-  CounterT& get_by_src(
-      counter_by_src_t<CounterT>& counters_by_src,
-      Transaction::src_t src) {
-    assert(static_cast<std::size_t>(src) < counters_by_src.size());
-    return counters_by_src[static_cast<std::size_t>(src)];
-  }
-
   template <typename CounterT>
   CounterT& get_by_ext(
       counter_by_extent_t<CounterT>& counters_by_ext,
index eedd2dd8cfd5ee7c70910e7cd420a8dada422758..4381c9a34225ba7df40d1e4c0833d6f2f233936a 100644 (file)
@@ -217,16 +217,6 @@ class RecordSubmitter {
     // OVERFLOW: outstanding_io >  io_depth_limit is impossible
   };
 
-  struct grouped_io_stats {
-    uint64_t num_io = 0;
-    uint64_t num_io_grouped = 0;
-
-    void increment(uint64_t num_grouped_io) {
-      ++num_io;
-      num_io_grouped += num_grouped_io;
-    }
-  };
-
   using base_ertr = crimson::errorator<
       crimson::ct_error::input_output_error>;
 
@@ -334,13 +324,8 @@ private:
   // wait for decrement_io_with_flush()
   std::optional<seastar::promise<> > wait_unfull_flush_promise;
 
-  struct {
-    grouped_io_stats record_batch_stats;
-    grouped_io_stats io_depth_stats;
-    uint64_t record_group_padding_bytes = 0;
-    uint64_t record_group_metadata_bytes = 0;
-    uint64_t record_group_data_bytes = 0;
-  } stats;
+  writer_stats_t stats;
+
   seastar::metrics::metric_group metrics;
 };
 
index 939d12de4f3ab4f9c99f5d3822702bc1bc08ad4b..4e6f3a01a21028d01c8249cfc70300b57dba14eb 100644 (file)
@@ -2211,6 +2211,43 @@ struct scan_valid_records_cursor {
 };
 std::ostream& operator<<(std::ostream&, const scan_valid_records_cursor&);
 
+template <typename CounterT>
+using counter_by_src_t = std::array<CounterT, TRANSACTION_TYPE_MAX>;
+
+template <typename CounterT>
+CounterT& get_by_src(
+    counter_by_src_t<CounterT>& counters_by_src,
+    transaction_type_t src) {
+  assert(static_cast<std::size_t>(src) < counters_by_src.size());
+  return counters_by_src[static_cast<std::size_t>(src)];
+}
+
+template <typename CounterT>
+const CounterT& get_by_src(
+    const counter_by_src_t<CounterT>& counters_by_src,
+    transaction_type_t src) {
+  assert(static_cast<std::size_t>(src) < counters_by_src.size());
+  return counters_by_src[static_cast<std::size_t>(src)];
+}
+
+struct grouped_io_stats {
+  uint64_t num_io = 0;
+  uint64_t num_io_grouped = 0;
+
+  void increment(uint64_t num_grouped_io) {
+    ++num_io;
+    num_io_grouped += num_grouped_io;
+  }
+};
+
+struct writer_stats_t {
+  grouped_io_stats record_batch_stats;
+  grouped_io_stats io_depth_stats;
+  uint64_t record_group_padding_bytes = 0;
+  uint64_t record_group_metadata_bytes = 0;
+  uint64_t record_group_data_bytes = 0;
+};
+
 }
 
 WRITE_CLASS_DENC_BOUNDED(crimson::os::seastore::seastore_meta_t)