-
-
Notifications
You must be signed in to change notification settings - Fork 4.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
fix(ui): Fix last release bubble bucket #86956
base: master
Are you sure you want to change the base?
Conversation
❌ 4 Tests Failed:
View the top 3 failed test(s) by shortest run time
To view more test analytics, go to the Test Analytics Dashboard |
9080779
to
0be4c82
Compare
6aeb6eb
to
6317e09
Compare
currentBucket.releases.push(release); | ||
} else if (releaseTs > maxTime) { |
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 suppose we don't necessarily need this based on our assumption about releases being properly constrained to the correct timeframe, but this was to prevent adding releases with date < minTs into the last bucket.
// the last bucket, as the last buckets width can be less than the | ||
// others. (i.e. if the total time difference is not perfectly divible by | ||
// `desiredBuckets`, the last bucket will be the remainder) | ||
if (bucketEndTs && releaseTs <= bucketEndTs) { |
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.
You were kinda right about this @gggritso
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.
@billyvg 😂 what did I say about this, I don't remember!
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 dug it up to refer to: #85270 (comment) -- we in fact do want to include releases more recent than the time series. maxTime is equivalent to the latest plotted date -- but the data at that point includes [maxTime, now], but the releases bucket was only including up to maxTime
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 defer to you on what's the best experience here, but genuinely wondering if it's really that bad to let the final bubble extend the X axis!
// and for its last bucket, it's ending boundary is `maxTime` to | ||
// correspond to the chart. We cannot change `maxTime` for the buckets | ||
// otherwise we will draw bubbles past the chart data and it would look | ||
// broken. |
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.
Okay I have a question about this. How broken would it look? You're doing a lot of work to jam the latest releases in the last bucket (which is completely fine) but I'm curious what happens if you just don't. If you leave things as-is, and let the final bubble extend the X axis to the current timestamp, what happens? Does it add some blank space on the right side of the chart? Or something worse?
The last release bubble has some more recent releases filtered out because the meaning of
maxTime
differs between the time series plots and the release buckets:This PR changes the bucketing logic so it adds releases >
maxTime
to the last bucket. It assumes we fetch the correct releases outside of the buckets.We will have to fix the tooltip to reflect this without changing
maxTime
.ref #85775