Skip to content
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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

ikegami-t
Copy link

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 ikegami.t@gmail.com

@sitsofe
Copy link
Collaborator

sitsofe commented Oct 18, 2020

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 (

fio/HOWTO

Lines 3884 to 3890 in 8bfe330

I/O latencies microseconds::
<=2, 4, 10, 20, 50, 100, 250, 500, 750, 1000
I/O latencies milliseconds::
<=2, 4, 10, 20, 50, 100, 250, 500, 750, 1000, 2000, >=2000
)?

@ikegami-t
Copy link
Author

Hi,

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 (

fio/HOWTO

Lines 3884 to 3890 in 8bfe330

I/O latencies microseconds::
<=2, 4, 10, 20, 50, 100, 250, 500, 750, 1000
I/O latencies milliseconds::
<=2, 4, 10, 20, 50, 100, 250, 500, 750, 1000, 2000, >=2000

)?

Thanks for the comment.
Just update the document as mentioned.

Regards,
Ikegami

@ikegami-t
Copy link
Author

Just fixed the commit message error as s/leves/levels/.

@sitsofe
Copy link
Collaborator

sitsofe commented Oct 21, 2020

@axboe what are your thoughts on this one?

HOWTO Show resolved Hide resolved
@sitsofe
Copy link
Collaborator

sitsofe commented Nov 5, 2020

(Re-pinging @axboe for his thoughts on this)

Copy link
Collaborator

@sitsofe sitsofe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ikegami-t ikegami-t force-pushed the master branch 2 times, most recently from 9dab38e to 23e94ba Compare April 11, 2021 14:23
@ikegami-t
Copy link
Author

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:

Just ramped up the version.

Just check if they work initially and report back.

Also tested the tools with the changes and seems to work correctly as the same behavior with the original fio version.

@sitsofe
Copy link
Collaborator

sitsofe commented Apr 11, 2021

@ikegami-t Will this impact the terse output https://fio.readthedocs.io/en/latest/fio_man.html#terse-output ?

@ikegami-t
Copy link
Author

@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.

@sitsofe
Copy link
Collaborator

sitsofe commented Apr 13, 2021

Hmm that's going to be a problem because the column headings are no longer going to match and CSV is not self describing...

@ikegami-t
Copy link
Author

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.

@ikegami-t
Copy link
Author

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 ikegami-t requested a review from sitsofe May 2, 2021 16:04
@sitsofe
Copy link
Collaborator

sitsofe commented Jun 20, 2021

@ikegami-t can you squash all these into one commit?

@ikegami-t
Copy link
Author

@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;
Copy link
Collaborator

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?

Copy link
Author

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".

HOWTO Show resolved Hide resolved
HOWTO Show resolved Hide resolved
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 <ikegami.t@gmail.com>
Copy link
Collaborator

@sitsofe sitsofe left a 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants