-
Notifications
You must be signed in to change notification settings - Fork 9.1k
HDFS-16949 Update ReadTransferRate to ReadLatencyPerGB for effectiv… #5479
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
Conversation
💔 -1 overall
This message was automatically generated. |
…e percentile metrics
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'm not sure we should modify this metric vs suppling the quantile we want.
q.add(readTransferRate); | ||
public void addReadLatencyPerGB(long readLatencyPerGB) { | ||
this.readLatencyPerGB.add(readLatencyPerGB); | ||
for (MutableQuantiles q : readLatencyPerGBQuantiles) { |
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.
Why don't we modify these quantiles rather than the metric?
I think we have the metric we want, but we want the lowest
vs highest
percentile (ts clear the current percentile is lower=better).
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'm not sure we should modify this metric vs suppling the quantile we want.
💔 -1 overall
This message was automatically generated. |
Closing as a different approach was merged in PR #5495 |
…e percentile metrics
Description of PR
PR #5397 added ReadTransferRate quantiles to calculate the rate which data is read per unit of time.
With percentiles the values are sorted in ascending order and hence for the transfer rate p90 gives us the value where 90 percent rates are lower (worse), p99 gives us the value where 99 percent values are lower (worse).
Note that value(p90) < p(99) thus p99 is a better transfer rate as compared to p90.
However as the percentile increases the value should become worse in order to know how good our system is.
Hence instead of calculating the data read transfer rate, we should calculate it's inverse. We will instead calculate the time taken for a GB of data to be read. ( seconds / GB )
After this the p90 value will give us 90 percentage of total values where the time taken is less than value(p90), similarly for p99 and others.
Also p(90) < p(99) and here p(99) will become a worse value (taking more time each byte) as compared to p(90)
How was this patch tested?
Updated Unit Tests.
For code changes:
LICENSE
,LICENSE-binary
,NOTICE-binary
files?