-
Notifications
You must be signed in to change notification settings - Fork 8.1k
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
[Telemetry] Share promise for concurrent telemetry report generation #122572
Comments
Pinging @elastic/kibana-core (Team:Core) |
Mind sharing a few pointers regarding where the reports are generated from? |
Good point! We generate the report here: kibana/src/plugins/telemetry_collection_manager/server/plugin.ts Lines 245 to 284 in d12c1e8
|
I think that it will be easier if we implement #96538 first. Because we can share the response to all users and do not bear in mind the permissions of each one of them. |
Grooming outcome: we are closing this as we think the improvement will only cover a very niche scenario. Especially after all the improvements we've done in the report generation after we created this issue. |
As identified in the Load Testing PR elastic/kibana-load-testing#211, we could improve the performance of Kibana if we'd handle concurrent Telemetry Report Generation together in one promise.
This way, if a new request comes in while the Report Generation is taking place due to a previous request, they'll await the same promise. This way we'll reduce the load on both ES and Kibana, and it will reduce response times for any new incoming request.
Once it's served, the caching mechanism that's already in place, will ensure that we don't generate the report again for a few hours (currently 4h).
The text was updated successfully, but these errors were encountered: