Idea #2883
closed
Interactive job log browser to sort/select task logs for diagnostic and profiling purposes
Added by Tom Clegg over 10 years ago.
Updated over 10 years ago.
Description
The "log" link for a completed job should go to a (new) "log" tab on the "view job" page. (Perhaps /jobs/{uuid}#Log
just needs some generic javascript for "on page load, if location anchor is a tab, hit that tab")
The log tab should offer various views of the log data.
- Overview
- Obvious "N failed tasks" button (if any failed) that brings you to the "log messages" tab for all the failures
- "123 tasks completed in 1 hour 12 minutes, using 3 nodes"
- "3 hours 8 minutes of worker node usage, plus 28 minutes idle" ("idle" = node allocated but no tasks running there)
- Start time, finish time
- #complete, #incomplete, #failures. (complete+incomplete=total. E.g., a task can fail twice and then succeed on the third attempt.)
- For each category (completed task IDs / incomplete task IDs / failures), show min/max runtime.
- Time chart (lower priority)
- Perhaps like the chrome debug panel's view of network activity (attached screen shot), but more compact.
- Or, perhaps a vertical view with y=time(down), x=node -- i.e., idle nodes show up as empty areas.
- Messages from selected task(s)
- Just the setup/teardown/stderr messages relating to specified task(s)
- Sort by task qsequence, then log timestamp
- Drop-down to select "all tasks", or "all failures", "all successes", or a single task (show sequence, qsequence, and uuid in the drop-down items)
- Showing 1000 task IDs in a drop-down won't work well. (Either limit the drop-down to the first hard-coded N tasks, or don't even offer the "specified task" option, or some other reasonable strategy.)
Parsing should probably happen on the client side. (First iteration should just deal with a static log file but future work will include updating this page as new logs arrive by websocket. And the raw log needs to show up on the client side anyway, so might as well do everything from there?)
Files
- Project changed from 37 to Arvados
- Assigned To set to Peter Amstutz
- Description updated (diff)
Reviewing a441b04
My only request is for consistent indentation in addToLogViewer. I know indentation in ERB is kind of nightmarish, and I don't think we should expect perfect consistency across a document. But I think a JavaScript function can be internally consistent—right now a dedent makes an if block look like it's closed before it actually is.
With that addressed, I think this is good to merge. Thanks.
- Status changed from New to Resolved
- % Done changed from 67 to 100
Applied in changeset arvados|commit:4f1085f353d44600643a8e9dd6b43a39131e7946.
- Status changed from Resolved to In Progress
- Description updated (diff)
<tomclegg_> A task ends up either complete or incomplete.
<tomclegg_> An attempt to complete a task ends in either success or failure.
Rejected/not addressed tasks:
3 hours 8 minutes of worker node usage, plus 28 minutes idle" ("idle" = node allocated but no tasks running there)
For each category (completed task IDs / incomplete task IDs / failures), show min/max runtime.
Time chart (lower priority)
Please review that the remaining tasks are completed.
- Target version changed from 2014-06-17 Curating and Crunch to 2014-07-16 Sprint
- Story points changed from 2.0 to 0.5
Reviewing 715a760
I don't see the “Drop-down to select… a single task (show sequence, qsequence, and uuid in the drop-down items)” or equivalent. Given some of the follow-up discussion in the description, that's not especially surprising, but am I missing something? Was this scoped out too?
After I sort by node or task, trying to go back to sort by time is ineffective; nothing in the log view changes.
The drop-down to select a specific task was scoped out, the obvious UI of a drop-down menu seemed like it would get unwieldy when you have a thousand tasks. Also, it is not that hard to find a specific task by sorting by task.
On further consideration, an alternate UI that might work would be a text box where the user can type in a comma separated list or a range of task numbers that they want to filter on. I'll add this idea to story #3022.
Sorting is fixed in 5a4863dc I broke it during refactoring to batch-add rows to the list object, so it was assigning a row id of '1' to every row, whoops. Good catch!
Peter Amstutz wrote:
The drop-down to select a specific task was scoped out, the obvious UI of a drop-down menu seemed like it would get unwieldy when you have a thousand tasks. Also, it is not that hard to find a specific task by sorting by task.
On further consideration, an alternate UI that might work would be a text box where the user can type in a comma separated list or a range of task numbers that they want to filter on. I'll add this idea to story #3022.
Sounds good to me.
The "Select All" button changes the second radio selection to "Show failed tasks." This surprised me, since the text means I don't expect the button to impose any limits on the view. I feel like it should either leave the radio selection alone, or select "Show all tasks."
Brett Smith wrote:
The "Select All" button changes the second radio selection to "Show failed tasks." This surprised me, since the text means I don't expect the button to impose any limits on the view. I feel like it should either leave the radio selection alone, or select "Show all tasks."
Fixed in 143165af
- Target version changed from 2014-07-16 Sprint to 2014-06-17 Curating and Crunch
Thanks. I think this is good to merge.
- Target version changed from 2014-06-17 Curating and Crunch to 2014-07-16 Sprint
- Status changed from In Progress to Resolved
Applied in changeset arvados|commit:2fd0eba4e138bd9cadbdf03ea2ca37bbc3f87f24.
Also available in: Atom
PDF