Re: [PATCH 13/13] blk: introduce iostat per cgroup module
From: Tejun Heo
Date: Thu Jan 13 2022 - 12:01:37 EST
Hello,
On Thu, Jan 13, 2022 at 10:40:27AM +0800, Wang Jianchao wrote:
> bw/iops/lat of data or metadata of one cgroup is very basic statistics
bw and iops can already be derived from the cumulative counters in io.stat.
Latencies without distribution are often what we tradtionally exposed not
because they're great but because exposing distributions is so cumbersome
from kernel. Also, latency numbers at cgroup level isn't *that* useful
anyway. There isn't a lot you can deduce for the particular cgroup from that
number.
> which kernel could provide especially when cgroup is employed everywhere.
> And we love to collect them all the time during the instance in cgroup is
> running.
It's really not that difficult to collect these numbers from bpf with pretty
low overhead. There's the problem of deployment for which there isn't "the"
right and convenient way but it'd be more worthwhile to put efforts towards
that.
> > What if I want to know what portions are random, or the
> > distribution of IO sizes?
> This looks really detailed statistics :)
> > Do I add another rq-qos policy or add another
> > interface file with interface versioning?
> This iostat module can not provide all the kinds of statistics we want
> but just some very basic things. And maybe it can provide better hooks
> to install the ebpf program to collect detailed statistics.
I mean, "really basic" means different things for different folks. Bytes /
ios, we all seem to agree. Beyond that, who knows? There already are enough
hooks to collect stats that you're trying to collect. The examples in py-bcc
might be a good place to start.
Thanks.
--
tejun