On Sat, Aug 11, 2018 at 7:10 AM Liu, Chunmei <chunmei.liu@xxxxxxxxx> wrote: > > Hi kefu, > > I took a look on perfcounters implementations in Ceph, and found in Messenger each worker threads has its own perfcounters instance, and in bluestore, it is single thread in each part, and only one perfcounter instance, in OSD also no perfcoutners instance shared across threads. > > So in Ceph Seastar mode, how about each seastar thread has its own perfcounters? That means no need consider the perfcounters shared between threads? that'd be ideal. i also noticed that, in seastar, each reactor has its own metrics::metric_groups instance. and the same applies to gossiper in scylla project, where gossip is a sharded service. BTW, do you think it's possible for us to implement PerfCountersCollection in ceph using metrics::metric_groups so we can reuse the infrastructure in Ceph, or it is not worthwhile doing so, and we should use metrics::metric_groups directly in crimson? > > What is your idea? > > Thanks! > -Chunmei > -- Regards Kefu Chai