-
Notifications
You must be signed in to change notification settings - Fork 25
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
Fix Hodges-Lehmann distribution ratio calculation #111
base: master
Are you sure you want to change the base?
Conversation
ceafd55
to
fee23ec
Compare
fee23ec
to
1d2eb85
Compare
src/test/kotlin/com/atlassian/performance/tools/report/ShiftedDistributionRegressionTestTest.kt
Show resolved
Hide resolved
...ain/kotlin/com/atlassian/performance/tools/report/api/distribution/DistributionComparator.kt
Show resolved
Hide resolved
...ain/kotlin/com/atlassian/performance/tools/report/api/distribution/DistributionComparator.kt
Outdated
Show resolved
Hide resolved
...ain/kotlin/com/atlassian/performance/tools/report/api/distribution/DistributionComparator.kt
Outdated
Show resolved
Hide resolved
...ain/kotlin/com/atlassian/performance/tools/report/api/distribution/DistributionComparator.kt
Outdated
Show resolved
Hide resolved
@@ -2,7 +2,7 @@ package com.atlassian.performance.tools.report.api.judge | |||
|
|||
import com.atlassian.performance.tools.jiraactions.api.ActionType | |||
import com.atlassian.performance.tools.report.ActionMetricsReader | |||
import com.atlassian.performance.tools.report.api.ShiftedDistributionRegressionTest | |||
import com.atlassian.performance.tools.report.api.distribution.DistributionComparator |
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.
No difference detected by RelativeNonparametricPerformanceJudgeTest
?
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.
No diff here
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.
So we don't see why the new one is 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.
How do you define better? Classification has not changed for unit tested cases and as stated in first PR comment, it's expected
src/main/kotlin/com/atlassian/performance/tools/report/api/ShiftedDistributionRegressionTest.kt
Outdated
Show resolved
Hide resolved
values[k++] = func(baseline[i], experiment[j]) | ||
} | ||
} | ||
return Median().withNaNStrategy(NaNStrategy.MINIMAL).evaluate(values) |
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.
When used on a set of latency measurements, why would we inject fake negative infinities?
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.
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.
Yes, but the workaround injects fake extreme values. Both "before" and "after" seem wrong.
PS. this case is untested, right?
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.
The only value of this PR is to have a relativeShift
correctly calculated, it does not improve classification as I hoped. I will prepare a small PR to fix ShiftedDistributionRegressionTest
and decline this one
...in/com/atlassian/performance/tools/report/api/judge/RelativeNonparametricPerformanceJudge.kt
Show resolved
Hide resolved
...ain/kotlin/com/atlassian/performance/tools/report/api/distribution/DistributionComparator.kt
Outdated
Show resolved
Hide resolved
92d2c11
to
89b2a3e
Compare
I hoped to see classification change for added distribution. As it should be detected as an improvement, while in production we have
no impact
:However previous classification was fine for default tolerance. We're just using a different production tolerance in
RegressionCheckIT
and improvement is below threshold.So at least we have a properly calculated Hodges-Lehmann coming with this change.