3 #include "common/perf_counters.h"
4 #include <seastar/core/sharded.hh>
6 namespace ceph::common
{
7 class PerfCountersCollection
: public seastar::sharded
<PerfCountersCollection
>
9 using ShardedPerfCountersCollection
= seastar::sharded
<PerfCountersCollection
>;
12 std::unique_ptr
<PerfCountersCollectionImpl
> perf_collection
;
13 static ShardedPerfCountersCollection sharded_perf_coll
;
14 friend PerfCountersCollection
& local_perf_coll();
15 friend ShardedPerfCountersCollection
& sharded_perf_coll();
18 PerfCountersCollection();
19 ~PerfCountersCollection();
20 PerfCountersCollectionImpl
* get_perf_collection();
24 inline PerfCountersCollection::ShardedPerfCountersCollection
& sharded_perf_coll(){
25 return PerfCountersCollection::sharded_perf_coll
;
28 inline PerfCountersCollection
& local_perf_coll() {
29 return PerfCountersCollection::sharded_perf_coll
.local();