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

[UnifiedFieldList] Reduce requests for data view fields #167758

Open
kertal opened this issue Oct 2, 2023 · 3 comments
Open

[UnifiedFieldList] Reduce requests for data view fields #167758

kertal opened this issue Oct 2, 2023 · 3 comments
Labels
enhancement New value added to drive a business result Feature:Data Views Data Views code and UI - index patterns before 8.0 Feature:UnifiedFieldList The unified field list component used by Lens & Discover impact:low Addressing this issue will have a low level of impact on the quality/strength of our product. loe:large Large Level of Effort 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 2, 2023

To show the Unified Field List it currently takes 2 request for the fields that are part of the currently selected DataView.

  • The first request is fetching all fields, this happens when a data view is being loaded/constructed
  • The second request is aiming to get the fields that match the given query, filters (including the time range), this is used to split between available and empty fields.

With the implementation of #167750 is is possible to work with DataViews without automatic field fetching. Having this available would unlock the following potential improvement:

  • We could use the new class to load just the fields matching the current query & filter, these would be the available fields

  • When users would request to see the "Empty fields", this could trigger a request to fetch all fields, and the previously available fields could be used to split between Empty fields and Available fields

This change would lead to better performance especially in large installations. In an investigation, the request for all fields took 8s, a request for "Available fields" 2s, which would be significant performance improvement

tbc.

@kertal kertal added enhancement New value added to drive a business result Feature:Data Views Data Views code and UI - index patterns before 8.0 Team:DataDiscovery Discover, search (e.g. data plugin and KQL), data views, saved searches. For ES|QL, use Team:ES|QL. Feature:UnifiedFieldList The unified field list component used by Lens & Discover labels Oct 2, 2023
@elasticmachine
Copy link
Contributor

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

@kertal kertal changed the title [UnifiedFieldList] Reduce request for data view fields [UnifiedFieldList] Reduce requests for data view fields Oct 2, 2023
@kertal kertal added impact:medium Addressing this issue will have a medium level of impact on the quality/strength of our product. loe:large Large Level of Effort labels Oct 2, 2023
@thomasneirynck
Copy link
Contributor

thomasneirynck commented Oct 3, 2023

There actually seems to be three requests. Two identical ones (without the filter), followed by one with the filter.

image

This is a bug I think, and should track separately. #167885

@kertal
Copy link
Member Author

kertal commented Oct 3, 2023

@thomasneirynck you're right, but it's already tracked in:
#167221

@kertal kertal added impact:low Addressing this issue will have a low level of impact on the quality/strength of our product. and removed impact:medium Addressing this issue will have a medium level of impact on the quality/strength of our product. labels Nov 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New value added to drive a business result Feature:Data Views Data Views code and UI - index patterns before 8.0 Feature:UnifiedFieldList The unified field list component used by Lens & Discover impact:low Addressing this issue will have a low level of impact on the quality/strength of our product. loe:large Large Level of Effort 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