There are several things that need to be done to improve the overall performance of the page.
Break down the app state
At the moment one massive state is responsible for keeping track of all components state and fetching the data. Instead, each component should manage its own state and fetch the necessary data
The minimum amount of required shared data should live in the common state.
Dedicated API endpoints
It will reduce the size of ongoing requests, the complexity of client-side operations and should help with tracking the network activity.
[x] Create a Kibana API endpoint for fetching the Anomaly Explorer Charts data. This one is the most critical because at the moment it performs 18 API calls. (https://github.com/elastic/kibana/pull/128165)
[ ] Create a Kibana API endpoint for fetching View By swim lane data. At the moment it forms a fairly big es-query like request and calls the /ml/results/anomaly_search endpoint
[ ] Create a Kibana API endpoint for fetching Top influencers
Anomaly Explorer page performs too many redundant API calls during initial load and some UI interactions. Some examples:
There are several things that need to be done to improve the overall performance of the page.
Break down the app state
At the moment one massive state is responsible for keeping track of all components state and fetching the data. Instead, each component should manage its own state and fetch the necessary data
The minimum amount of required shared data should live in the common state.
Dedicated API endpoints
It will reduce the size of ongoing requests, the complexity of client-side operations and should help with tracking the network activity.
/ml/results/anomaly_search
endpoint