argoproj / argo-workflows

Workflow Engine for Kubernetes
https://argo-workflows.readthedocs.io/
Apache License 2.0
15.11k stars 3.21k forks source link

Pagination when argo server displays node status #13843

Open shuangkun opened 3 weeks ago

shuangkun commented 3 weeks ago

Summary

Pagination when argo server displays node status

Use Cases

When one of my steps exceeds 4000 in parallel, the UI always hangs when expanded.


Message from the maintainers:

Love this feature request? Give it a 👍. We prioritise the proposals with the most 👍.

agilgur5 commented 3 weeks ago

You can try clicking the "lightning bolt" ⚡ icon in the UI to use the alternative, "fast" layout which is potentially more difficult to read. See also this Slack thread

Based on what you wrote, this is unrelated to Server performance, it's purely UI performance as it's the UI trying to parse and render status.nodes. The network request to the API only happens on page load and retrieves the Workflow resource. If the "fast" layout works, then specifically it would be the layout/sorting algorithm being too slow (rather than the rendering).

shuangkun commented 3 weeks ago

What I am doing now is to modify the UI. When expanding, only 500 nodes are expanded at a time to prevent thousands of nodes from being rendered at once and causing the UI to become unresponsive.

agilgur5 commented 3 weeks ago

Yea that could work; "batch rendering" would be the term for that. Fully client-side though, no server-side pagination involved

Could also run the layout algorithm on a different thread / web worker