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

Add a new report type - expoHist #601

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

wu0h961738
Copy link

Provide an alternative way generating buckets in histogram

Background

  • Provide a new way generating buckets, an attribute in the command 'report': exponential sequence.
  • Append in README.md with explanation about usage of '--type expoHist'.

This PR manages to improve the distortion of which executing command 'report -type=hist[]' causes, the distortion that, if arithmetic x-axis was applied, the result set having approximate latency might be cohered into single bucket while trivial cases, including P99 or P999, might be dispersed into trivial buckets. However, Labeling x-axis in form of exponential sequence separates the high-density result set while at the same time cohering scattered cases, making graph more readable.

Example case below both comes with 200 requests, with 20 QPS and lasting 10 seconds, presenting through exponential-sequence bucket on the left side and arithmetic bucket on the other side.

Common phenomenon in which large amount of request data are under stress testing usually causes distortion. In practice, for example, the amount of requests goes above 100,000 if test comes with 10,000 QPS lasting 10 seconds. Then, the outcome of graph would be presented with a normal distribution( or right/left-skewed distribution), meaning that 65%, even 90%, above of cases fall in the certain range, therefore causing distortion on graph. Further, P99, the other result set worth to be observed as well, could be underestimated if the amount of them, usually, turns to be scarce.

Therefore, in order to prevent such readability-relative issues, an alternative method printing histogram comes into play: exponential sequence.

Checklist

  • Git commit messages conform to community standards.
  • Each Git commit represents meaningful milestones or atomic units of work.
  • Changed or added code is covered by appropriate tests.

Provide an alternative way generating buckets in histogram
@wu0h961738 wu0h961738 requested a review from tsenart as a code owner June 29, 2022 08:29
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.

1 participant