-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
Tasks UI #42621
Comments
Pinging @elastic/es-ui |
So happy to see this coming to life! Thanks @elastic/es-ui team! ❤️ |
What follows is way in the weeds but just wanted to dump my thoughts since I was here already.
You will need to know two pieces of data to form the link to the Monitoring Node Overview page:
Then you can form a link to the Monitoring Node Overview page like so:
At the risk of possibly over-engineering a bit 🤓: The Stack Monitoring plugin could expose a JS API that:
|
@ycombinator Such an API is something I've been thinking a little bit about as well. What do you think about starting a doc or another GH issue to track that independently? |
This is how Infra team did this with the Logs UI. See this issue and this PR |
@cachedout Yeah, lets take it to a separate GH issue. |
@ycombinator New issue opened: #43100 |
Closing this issue. After discussing with the ES team, we've decided not to create a generic tasks UI. We plan on creating more use-case specific UIs for managing tasks (e.g., reindex, search). |
@jkelastic built a similar prototype in EUI. He and other SEs helped us understand the value prop of a generic Tasks UI like this:
I'm reopening this so we can move forward with adding the Tasks UI. |
Closing in favor of #18829 |
Replaces old discussion: #18411
CC @cachedout @elastic/stack-monitoring
Overview
Long-running tasks can leak processes and kill a cluster. Users need a way to detect slow queries and kill these tasks. We can start down the road of addressing this problem by building a “Tasks” app that show a list of all tasks that are running, indicate ones that are cancellable, display any available information that the API provides, and give users the ability to cancel these tasks.
Note that we’ll have to disable cancel functionality if the user’s roles don’t support it (it’s likely that cluster monitoring and cluster manage are the required roles, but we need to double check this). Some of the other information this UI will surface:
Prototype
In 2016, @ycombinator built a prototype UI. Here are some of the notable features demonstrated by the prototype.
Parent-child relationship
There is a parent-child relationship between tasks, represented by indentation in the prototype.
Task-specific states, e.g. reindexing
The particular task demonstrated by the prototype was a reindex task, which had multiple states that the UI could represent. Note that there are many different types of tasks with their own variety of states.
"Documents created" state
When reindexing into an empty index, documents are created. This is surfaced by the reindex task's progress bar.
"Documents updated" state
If a simultaneous reindex task is started with the same target index, documents get updated as well as created, also indicated by the progress bar.
"Documents created and updated" state
If the original reindex task is canceled, then eventually the new task will being creating new documents instead of just updating existing ones. In this case, the progress bar indicates both states.
Task cancellation
Requests for cancelling tasks are asynchronous, so the prototype notifies the user of when the request to cancel a task has been sent. For the new UI, we should probably just gray out the row in the table and replace the action buttons with a spinner and the text "Deleting".
Once cancelled, the row is removed from the table and a toast notifies the user of the successful cancellation.
The text was updated successfully, but these errors were encountered: