-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
stat: Increase depth levels to log latency #1103
base: master
Are you sure you want to change the base?
Conversation
I don't know we can accept this as-is - it's bound to break people depending on the previous behaviour who aren't checking the headings... Also wouldn't the documentation have to be updated ( )? |
Hi,
Thanks for the comment. Regards, |
Just fixed the commit message error as s/leves/levels/. |
@axboe what are your thoughts on this one? |
(Re-pinging @axboe for his thoughts on this) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is dramatic enough that FIO_SERVER_VER
will need ramping (see https://github.com/axboe/fio/blob/master/server.h#L51 ). I'm also unsure if all the tools that scoop up latency ranges will need re-testing:
- https://github.com/axboe/fio/blob/master/tools/hist/fio-histo-log-pctiles.py
- https://github.com/axboe/fio/blob/master/tools/hist/half-bins.py
- https://github.com/axboe/fio/blob/master/t/latency_percentiles.py
- https://github.com/axboe/fio/blob/master/tools/hist/fiologparser_hist.py
Just check if they work initially and report back.
9dab38e
to
23e94ba
Compare
Just ramped up the version.
Also tested the tools with the changes and seems to work correctly as the same behavior with the original fio version. |
@ikegami-t Will this impact the terse output https://fio.readthedocs.io/en/latest/fio_man.html#terse-output ? |
Yes the terse output will be increased the number of microsecond and millisecond latency outputs since those depth levels increased. |
Hmm that's going to be a problem because the column headings are no longer going to match and CSV is not self describing... |
Okay now I am thinking to add an option to change the log latency depth levels as not changed the terse output by default. Thank you. |
To fix the issue changed to add an option to change the lat stats depth levels so please review the changes again. |
@ikegami-t can you squash all these into one commit? |
Yes just squashed the changes as mentioned. Thank you. |
int range = STAT_LAT_RANGE_MAX; | ||
|
||
if (i + 1 >= stat_lat_nr) | ||
range *= i + 2 - stat_lat_nr; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where do the 2 - stat_lat_nr
come from?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is for the millisecond latency ranges since it includes ranges "2000" and ">=2000".
Allow the user to set how many latency buckets there are at the finest granularity (when unset the default is 10). The number of larger granularity buckets is calculated as the finest + 2. Signed-off-by: Tokunori Ikegami <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM @axboe this one looks ready for review/pulling.
Previously latency log depth levels are 10 for nsec and usec and 12 for msec.
But to measure latency variation on a finer granularity required to increase.
So increase the depth leves as 20 for nsec and usec and 22 for msec.
Signed-off-by: Tokunori Ikegami [email protected]