]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/os: do not create PerfService for SeaStore
authorKefu Chai <kchai@redhat.com>
Wed, 19 May 2021 04:32:39 +0000 (12:32 +0800)
committerKefu Chai <kchai@redhat.com>
Thu, 20 May 2021 05:10:03 +0000 (13:10 +0800)
because we are replacing PerfCounter with seastart::metrics in crimson,
and the former has already a sharded service builtin in seastar, there
is no need to create PerfService or its counterpart for SeaStore
anymore.

Signed-off-by: Kefu Chai <kchai@redhat.com>
src/crimson/os/seastore/seastore.cc
src/crimson/os/seastore/seastore.h
src/test/crimson/seastore/transaction_manager_test_state.h

index d2b39bb0e0b6d4aae239d52902c9ccccd15f2de3..e9e315bd48557f5b3a21a7394bbe5281f8f17045 100644 (file)
@@ -37,15 +37,10 @@ SeaStore::SeaStore(
   : segment_manager(std::move(sm)),
     transaction_manager(std::move(tm)),
     collection_manager(std::move(cm)),
-    onode_manager(std::move(om)),
-    perf_service(std::move(p_service))
-{
-  perf_service->add_to_collection();
-}
+    onode_manager(std::move(om))
+{}
 
-SeaStore::~SeaStore() {
-  perf_service->remove_from_collection();
-}
+SeaStore::~SeaStore() = default;
 
 class SeastoreCollection final : public FuturizedCollection {
 public:
@@ -1102,8 +1097,6 @@ std::unique_ptr<SeaStore> make_seastore(
     segment_manager::block::BlockSegmentManager
     >(device + "/block");
 
-  PerfServiceRef perf_service = PerfServiceRef(new PerfService());
-
   auto segment_cleaner = std::make_unique<SegmentCleaner>(
     SegmentCleaner::config_t::get_default(),
     false /* detailed */);
@@ -1126,8 +1119,7 @@ std::unique_ptr<SeaStore> make_seastore(
     std::move(sm),
     std::move(tm),
     std::move(cm),
-    std::make_unique<crimson::os::seastore::onode::FLTreeOnodeManager>(*tm),
-    std::move(perf_service));
+    std::make_unique<crimson::os::seastore::onode::FLTreeOnodeManager>(*tm));
 }
 
 }
index 30f23de61616f66183224f90046f6a2172c7ceb1..ab0513ec57025b982e1289b0ba419b128a804306 100644 (file)
@@ -22,7 +22,6 @@
 #include "crimson/os/seastore/onode_manager.h"
 #include "crimson/os/seastore/omap_manager.h"
 #include "crimson/os/seastore/collection_manager.h"
-#include "crimson/os/seastore/seastore_perf_counters.h"
 
 namespace crimson::os::seastore {
 
@@ -38,8 +37,7 @@ public:
     SegmentManagerRef sm,
     TransactionManagerRef tm,
     CollectionManagerRef cm,
-    OnodeManagerRef om,
-    PerfServiceRef p_service);
+    OnodeManagerRef om);
   ~SeaStore();
     
   seastar::future<> stop() final;
@@ -243,7 +241,6 @@ private:
   TransactionManagerRef transaction_manager;
   CollectionManagerRef collection_manager;
   OnodeManagerRef onode_manager;
-  PerfServiceRef perf_service;
 
   using tm_ertr = TransactionManager::base_ertr;
   using tm_ret = tm_ertr::future<>;
index a45a36bc933bddbe100f44740ec833e9f38b40ca..1d40279d818cdbab90d813caf2832a137b0444cf 100644 (file)
@@ -10,7 +10,6 @@
 #include "crimson/os/seastore/transaction_manager.h"
 #include "crimson/os/seastore/segment_manager/ephemeral.h"
 #include "crimson/os/seastore/seastore.h"
-#include "crimson/os/seastore/seastore_perf_counters.h"
 #include "crimson/os/seastore/segment_manager.h"
 #include "crimson/os/seastore/collection_manager/flat_collection_manager.h"
 #include "crimson/os/seastore/onode_manager/staged-fltree/fltree_onode_manager.h"
@@ -89,18 +88,14 @@ auto get_transaction_manager(
   return ret;
 }
 
-auto get_seastore(
-  SegmentManagerRef sm
-) {
-  PerfServiceRef perf_service = PerfServiceRef(new PerfService());
+auto get_seastore(SegmentManagerRef sm) {
   auto tm = get_transaction_manager(*sm);
   auto cm = std::make_unique<collection_manager::FlatCollectionManager>(*tm);
   return std::make_unique<SeaStore>(
     std::move(sm),
     std::move(tm),
     std::move(cm),
-    std::make_unique<crimson::os::seastore::onode::FLTreeOnodeManager>(*tm),
-    std::move(perf_service));
+    std::make_unique<crimson::os::seastore::onode::FLTreeOnodeManager>(*tm));
 }
 
 
@@ -109,12 +104,10 @@ protected:
   std::unique_ptr<TransactionManager> tm;
   LBAManager *lba_manager;
   SegmentCleaner *segment_cleaner;
-  PerfServiceRef perf_service = PerfServiceRef(new PerfService());
 
   TMTestState() : EphemeralTestState() {}
 
   virtual void _init() {
-    perf_service->add_to_collection();
     tm = get_transaction_manager(*segment_manager);
     segment_cleaner = tm->get_segment_cleaner();
     lba_manager = tm->get_lba_manager();
@@ -127,7 +120,6 @@ protected:
   }
 
   virtual seastar::future<> _teardown() {
-    perf_service->remove_from_collection();
     return tm->close(
     ).handle_error(
       crimson::ct_error::assert_all{"Error in teardown"}