-
Notifications
You must be signed in to change notification settings - Fork 1.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
Displays with a large number of plots take a long time to load due to annotation requests #6708
Comments
@akhenry Fiddling around with CouchDB indices/views to improve performance, and also looking at batching requests and have a few questions:
and though the annotations take a long time to load, it didn't appear to slow the plot load: Screen.Recording.2023-06-06.at.3.25.43.PM.movWe're not awaiting the annotation load, though maybe the blocking networking calls are prohibiting other parts of OpenMCT from functioning properly?
|
I've got an initial implementation, note the single Screen.Recording.2023-06-08.at.4.58.15.PM.mov@akhenry is something we'll want to test on an integration server before a PR? |
To test:
|
Verified Testathon 6/22/23. I only see one |
Verified Fixed in Testathon on 06/22/23. I'm seeing a single |
Fix verified during testathon 06/22/2023. |
Reopening this. I see this again in 3.0.0 on banner/testathon. |
I'm not able to replicate this locally: Screen.Recording.2023-07-26.at.10.07.55.AM.movI suspect the issue is the poor performance in general of plots with annotations captured in this ticket. If the plot is slow to load, either through network or CPU load, the annotation batches are 100ms apiece and will fire multiple times, which is expected behavior (at least for this fix). @shefalijoshi is this what's happening? If so, we can either increase the batch time (which I'm not sure we want), or fix the other performance issue and keep this issue closed. |
Moving to 3.1.0. The immediate issue here is obviated by #6866. |
Closing to re-test with Yamcs performance fix in place. |
Not Fixed: Testathon 10/3 |
@jvigliotta I'll take a look, but please note you'll see multiple |
@jvigliotta @ozyx @akhenry Yeah, I think we're in the same position as have been in: Screen.Recording.2023-10-04.at.4.54.38.PM.movNamely, you'll see more than one Do we want to keep this issue open? |
Closing per @akhenry - fixed per original ticket. |
Summary
A display with a large number of plotted telemetry points can result in a large number of requests being issued for annotations. This can cause delays in loading those displays when there is request contention in the browser or server. I think that the main problem is the number of requests, so if they could be debounced and batched I think that might be a reasonable solution.
Expected vs Current Behavior
Displays with a large number of plots should load quickly, especially when there are no annotations to retrieve.
Steps to Reproduce
_find
endpoint searching for annotations (one request per telemetry point).Note that in the production environment many of these requests are also taking a long time to return, probably because of the large number of documents in the production database.
The response for the long pending requests includes the following message:
No matching index found, create an index to optimize query time.\nThe number of documents examined is high in proportion to the number of results returned. Consider adding a more specific index to improve this
This implies that there are two ways of approaching this issue, and we could potentially do both:
Note additionally that pending requests for annotations are not cancelled when navigating away. This can completely block navigation for a long time.
Environment
Impact Check List
Additional Information
Video available upon request...
The text was updated successfully, but these errors were encountered: