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

[OneDiscover] Enhance loading/navigating to Discover experience #195709

Closed
kertal opened this issue Oct 10, 2024 · 2 comments
Closed

[OneDiscover] Enhance loading/navigating to Discover experience #195709

kertal opened this issue Oct 10, 2024 · 2 comments
Labels
impact:medium Addressing this issue will have a medium level of impact on the quality/strength of our product. Meta performance Project:OneDiscover Enrich Discover with contextual awareness Team:DataDiscovery Discover, search (e.g. data plugin and KQL), data views, saved searches. For ES|QL, use Team:ES|QL.

Comments

@kertal
Copy link
Member

kertal commented Oct 10, 2024

When users load or navigate to Discover, multiple requests are triggered upfront before the initial search request is sent. These requests, primarily checks for data and data view availability, are currently processed sequentially, contributing to a slower perceived loading time and a less responsive user experience.

Proposed Improvements:

  • Parallelize Initial Requests
    • Currently, sequential processing of these checks adds significant delay (e.g., 4 requests taking 300ms each results in a total loading time of 1200ms).
    • By refactoring the logic to initiate these requests in parallel, we can cut this down to the time of the longest request (e.g., reducing 1200ms to 300ms).
  • Implement Caching:
    • Introduce a caching strategy (e.g., SWR caching, similar to what we use for DataView field_caps requests) to store the results of these checks.
    • Subsequent requests can retrieve data from the cache, significantly improving UI performance (e.g., reducing a 300ms request to 30ms or less).
  • Optimize Redundant Requests:
    • Evaluate the necessity of sending two separate requests to check for data and data views.
    • While the "no data" state is useful, for the majority of users with data, this results in unnecessary delays.
    • Consider showing the "no data" state only once during a fresh session or persisting a "has data" state in local storage, thereby reducing the need for repeated checks and improving overall UI responsiveness.
      By implementing these optimizations, we can significantly reduce waiting times, leading to a faster, more efficient experience for users.
@kertal kertal added the Team:DataDiscovery Discover, search (e.g. data plugin and KQL), data views, saved searches. For ES|QL, use Team:ES|QL. label Oct 10, 2024
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-data-discovery (Team:DataDiscovery)

@kertal kertal added Project:OneDiscover Enrich Discover with contextual awareness impact:medium Addressing this issue will have a medium level of impact on the quality/strength of our product. Meta labels Oct 10, 2024
@kertal kertal changed the title [OneDiscover] Enhance loading Discover experience [OneDiscover] Enhance loading/navigating to Discover experience Oct 10, 2024
@ninoslavmiskovic
Copy link
Contributor

Closing as completed. @kertal add issue for investigate further on caching.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
impact:medium Addressing this issue will have a medium level of impact on the quality/strength of our product. Meta performance Project:OneDiscover Enrich Discover with contextual awareness Team:DataDiscovery Discover, search (e.g. data plugin and KQL), data views, saved searches. For ES|QL, use Team:ES|QL.
Projects
None yet
Development

No branches or pull requests

3 participants