> -----Original Message----- > From: kefu chai [mailto:tchaikov@xxxxxxxxx] > Sent: Friday, August 10, 2018 10:21 PM > To: Liu, Chunmei <chunmei.liu@xxxxxxxxx> > Cc: Kefu Chai <kchai@xxxxxxxxxx>; The Esoteric Order of the Squid Cybernetic > <ceph-devel@xxxxxxxxxxxxxxx> > Subject: Re: ceph seastar perfcounters implementation > > 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? I take a look at metrics::metric_groups, I think we can use metrics layer in crimson directly for seastar threads, for alien thread I am not sure if we can use metrics layer, if yes, I think we can use metrics::metric_groups for both seastar thread and alien thread in crimson, since we refactor osd, we can change perfcounter to metrics. > > > > > What is your idea? > > > > Thanks! > > -Chunmei > > > > > -- > Regards > Kefu Chai