-
Notifications
You must be signed in to change notification settings - Fork 27
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 Origin UI RateGraph data loss/issues #497
Fix Origin UI RateGraph data loss/issues #497
Conversation
@CannonLock - can you take a look at this? |
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.
Looking for your input on one thing before I approve.
web_ui/frontend/app/origin/page.tsx
Outdated
rate={TimeDuration.fromString("3h")} | ||
duration={TimeDuration.fromString("7d")} | ||
resolution={TimeDuration.fromString("3h")} | ||
metric={['xrootd_server_bytes{direction="rx"}', 'xrootd_server_bytes{direction="rx"}']} |
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.
Lets keep these defaults. I realize they aren't the best when you first enter but for a origin that is actually in use somewhere I think they are more helpful then just todays numbers.
If you disagree, we should at least kick up the resolution a little bit, maybe to "20m"? 1440 data points on the graph is going to get busy.
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 agree we should think about users who run origin for days. How about I add a note to the graph to tell the user if they just started the origin and they can't see incoming data, they should modify the resolution?
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.
Actually, I can't run origin UI with latest main and I got the white screen with client side error that leads to Objects are not valid as a React child (found: object with keys {Type, Value}). If you meant to render a collection of children, use an array instead.
I've rolled back the values to default but I won't be able to add the note without seeing the UI. We can talk about more in detail tomorrow.
Given the limited time we have for 7.4, I will back port this in 7.4.x, so no worries if we need to get a release out soon @joereuss12 |
@CannonLock I added some instructions in the "no data" error message for how to adjust settings to get data out for fresh servers and I tested everything looks good. |
@haoming29 When I run the origin I am getting |
Did you login when you hit this? Where did this come from? |
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.
Bug I saw was related to the director being down? LGTM.
Fix #487
It turned out that issue #487 is expected as we set the default data resolution to 3h, and at the server fresh start (no history metric data), Prometheus doesn't have any data at
now() - 3h
. However, this should be adjust so that the default resolution can always give some result to the user at the server start.This PR fixes anther issue where the "reset" button sets
time
differently than the default value, causing inconsistent result (although in the later commits it was consolidated to update time accordingly, see details in next point)This PR also fixes a bug where the RateGraph visualizes data from
t= now()
tot= now() + range (by default 3h)
which means it "generates" fake data from now to 3 hours in the future and we don't want that. Instead, now the data will be fromt=now() - range
tot=now()
, which is the history data from last<range>
until now.This PR finally addressed the issue where we use
xrootd_server_bytes{direction="rx"}
metric for bothrx
andtx
data. Now the two data series will give different values (as reported by Prometheus)