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

Plots are sometimes not showing (or too eagerly hiding) spinners #5219

Closed
3 of 6 tasks
akhenry opened this issue May 18, 2022 · 9 comments
Closed
3 of 6 tasks

Plots are sometimes not showing (or too eagerly hiding) spinners #5219

akhenry opened this issue May 18, 2022 · 9 comments

Comments

@akhenry
Copy link
Contributor

akhenry commented May 18, 2022

Spun out from #4777

Summary

The issue here is that when historical data retrieval is extremely slow there is no visual indication provided in the plot that historical requests are still outstanding. ie. there is no spinner being shown.

In attempting to reproduce this, the plot did eventually fill in the missing data, it's just taking several minutes for Yamcs to return historical data at times.

Historically we overlaid a spinner until the data was returned, so restoring that functionality is a fine solution in the short term.

Longer term though, this is not the right approach. A spinner is very intrusive, and real-time data may be available first and may be obscured by the spinner. Something more akin to the progress bar use in tables is probably a better bet.

Steps to Reproduce

  1. Navigate to a plot of data (real data, will not work with SWGs)
  2. Navigate away
  3. Open the network tab
  4. Throttle the connection to slow 3G
  5. Navigate back to the plot. Observe that the plot shows no spinner at all.

Impact Check List

  • Data loss or misrepresented data?
  • Regression? Did this used to work or has it always been broken?
  • Is there a workaround available?
  • Does this impact a critical component?
  • Is this just a visual bug with no functional impact?
  • Does this block the execution of e2e tests?
@alizenguyen
Copy link
Contributor

Testing Instructions:

Create overlay or stacked plot, add SWG and add a time in ms to the load delay property. Should show progress bar if you switch tabs or if you reload the page.

@ozyx
Copy link
Contributor

ozyx commented Jun 29, 2022

Testathon 6/29/22:

Verified.

I used the test case provided by @alizenguyen, but I also throttled the network to 3G and accessed real telemetry. I was able to see the loading bar in both cases.

One caveat, if I set SWG load delay value to 0 and throttled to 3G, I did not see the loading bar at all.

@alizenguyen
Copy link
Contributor

@ozyx Hi! I'm trying to recreate the caveat. Did you see the graph at all? The progress bar is a component located with the plot component so it won't appear until the graph is at least loaded. It should show the progress bar once its loaded and missing any data though.

@ozyx
Copy link
Contributor

ozyx commented Jun 29, 2022

@alizenguyen :

This is what I'm seeing when switching from one object to a stacked plot w/ a SWG (with default values) when the network is throttled to 3G:

Screen.Recording.2022-06-29.at.3.20.00.PM.mov

Note that I don't see this when switching to real telemetry or an SWG w/ a load delay value.

@alizenguyen
Copy link
Contributor

@ozyx Thank you!!

Yeah, that's what I was seeing too. It looks like the loading for the entire component which includes the progress bar is delayed. So, that's why we don't see it initially and just a blank canvas. I think this what is to be expected for this implementation. I believe this loading in particular is meant to indicate missing data on the plot.

Strange that the plot loading isn't delayed for the other cases though...

@ozyx
Copy link
Contributor

ozyx commented Jun 29, 2022

@alizenguyen
It's probably because the SWG doesn't need to reach out anywhere to get it's telemetry data since it's generating the data itself, thus no request to wait for. This seems fine to me. The progress bar shows up just fine when throttling the network and viewing real telemetry that is requesting to an external provider. So all good!

@unlikelyzero
Copy link
Contributor

Must be tested locally and with viper-openmct

@charlesh88
Copy link
Contributor

Verified fixed Testathon 07-01-22 using testing notes as above.

@unlikelyzero
Copy link
Contributor

Note: this will require a openmct installation with rest api (like viper-openmct) to automate fully

@unlikelyzero unlikelyzero added the needs:e2e Needs an e2e test label Jul 5, 2022
@unlikelyzero unlikelyzero added this to the Sprint:2.0.7 milestone Jul 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants