Hello, Shaohua. On Thu, Oct 05, 2017 at 09:45:05AM -0700, Shaohua Li wrote: > Looks that is similar to how io.stat exposes bytes/ios. It does the > propagation at the time when user read the status file. However, doing the same > for latency is meaningless, we shouldn't accumulate latency for a long time. If > we want to do it lazily, alternatives are: > - export total requests and total latency. User can calculate the average in > any interval. We can't export min/max latency then. > - export avg/min/max since last time when user reads io.stat. We clear all > statistics once user reads io.stat and re-account from scratch. I think there are more options than the above, especially given that the propagation up the tree doens't have to be completely accurate. For example, you can combine multiple averages values after the fact if you also remember the relative weights each should carry and combining after the fact is trivial for min/max. Can you please take a look at how loadavg does calculations lazily and look into a bit more about how the propagation up the tree can be lazily done? Thanks. -- tejun