Improve the Usability and Performance of the Kiali tool in Large Environments #8230
Labels
backlog
Triaged Issue added to backlog
enhancement
This is the preferred way to describe new end-to-end features.
epic
Group issues together. An Epic is an effort that may live several sprints.
What do you want to improve?
Improve the usability and performance of the Kiali Traffic Graph, especially in environments with a large number of pods and complex topologies
What is the current behavior?
Overwhelming number of nodes and edges: The Traffic Graph cannot start due to the large number of nodes and edges, causing the UI to become unresponsive.
Memory limitations: Increasing memory does not significantly improve performance.
Graph rendering issues: The graph is too large to fit within the canvas, making it difficult to visualize.
What is the new behavior?
Proposed Solution: Implement a lazy loading approach where the Traffic Graph only starts rendering after the user selects specific filters. These filters will be used to query Prometheus for relevant metrics, ensuring that only the filtered results are rendered. Additionally, incorporate the ability to filter based on “operation nodes” using metric labels propagated through the flow.
Detailed Enhancement Proposal
Lazy Loading with Filters:
Initial Filter Selection: Before rendering the Traffic Graph, prompt the user to select filters such as namespace, service, or specific labels.
Prometheus Query: Use the selected filters to query Prometheus for relevant metrics.
Conditional Rendering: Render the Traffic Graph based on the filtered results from Prometheus, rather than attempting to render the entire topology initially.
Operation Node Filtering:
Metric Label Filtering: Allow users to filter the Traffic Graph based on specific metric labels (e.g., operation nodes).
Selective Rendering: Only render nodes, edges, and operation nodes that match the selected label value.
Improved Visualization: This will help the operation team focus on specific operation nodes without being overwhelmed by the entire topology.
Benefits:
Improved Performance: Reduces the load on the UI by only rendering filtered results.
Enhanced Usability: Users can interact with the Traffic Graph without experiencing UI freezes.
Focused Visualization: Helps the operation team to filter and visualize traffic per operation node, improving troubleshooting and monitoring efficiency.
Example Workflow:
User selects filters: Namespace, service, or specific labels.
Query Prometheus: Fetch metrics based on selected filters.
Render Traffic Graph: Display only the filtered nodes, edges, and operation nodes.
Interactive Options: Users can further refine the view using Hide/Find options without UI performance issues.
This enhancement should significantly improve the usability and performance of the Kiali Traffic Graph, especially in environments with a large number of pods and complex topologies.
The text was updated successfully, but these errors were encountered: