[ARVADOS] updated: 9c72375f74e8a251e9f09c8a16dbed9174417292
git at public.curoverse.com
git at public.curoverse.com
Wed Jun 18 17:08:25 EDT 2014
Summary of changes:
.../workbench/app/assets/javascripts/log_viewer.js | 15 ++--
apps/workbench/app/views/jobs/_show_log.html.erb | 93 +++++++++++++---------
2 files changed, 62 insertions(+), 46 deletions(-)
via 9c72375f74e8a251e9f09c8a16dbed9174417292 (commit)
via 6743d58bac1eb91040fc422fcd07f3351360d506 (commit)
from 715a760e661e589d454dadca9040729e651edc8a (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit 9c72375f74e8a251e9f09c8a16dbed9174417292
Merge: 6743d58 715a760
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date: Wed Jun 18 17:08:11 2014 -0400
Merge branch '2883-job-log-viewer' of git.curoverse.com:arvados into origin-2883-job-log-viewer
Conflicts:
apps/workbench/app/views/jobs/_show_log.html.erb
diff --cc apps/workbench/app/views/jobs/_show_log.html.erb
index 1d5da8a,8508287..831d717
--- a/apps/workbench/app/views/jobs/_show_log.html.erb
+++ b/apps/workbench/app/views/jobs/_show_log.html.erb
@@@ -103,17 -99,17 +103,29 @@@ $("#set-show-failed-only").on("click",
<div id="log-viewer">
<h3>Summary</h3>
-- <div id="log-viewer-overview"></div>
-
- <% if @object.tasks_summary[:failed] > 0 %>
- <button id="set-show-failed-only" class="btn btn-danger" style="margin-top: 1em">
- Show failed task output only
- </button>
- <% end %>
++ <p id="log-viewer-overview">
++ <% if !@object.log %>
++ <% if @object.finished_at %>
++ This job did not produce an output log.
++ <% else %>
++ This job is still running. The job log will be available when the job is complete.
++ <% end %>
++ <% else %>
++ <% if !logcollection %>
++ The collection containing the job log was not found.
++ <% end %>
++ <% end %>
++ </p>
<div class="h3">Log
<span class="pull-right">
- <% if @object.tasks_summary[:failed] > 0 %>
++ <% if @object.andand.tasks_summary.andand[:failed] and @object.tasks_summary[:failed] > 0 %>
+ <button id="set-show-failed-only" class="btn btn-danger">
+ Show failed task output only
+ </button>
+ <% end %>
+
<button id="filter-all" class="btn">
Select all
</button>
@@@ -166,50 -162,42 +178,41 @@@
</div>
- <div class="log-viewer-paging-div">
- <a href="#" class="log-viewer-page-up"><span class='glyphicon glyphicon-arrow-up'></span></a>
- <span class="log-viewer-paging"></span>
- <a href="#" class="log-viewer-page-down"><span class='glyphicon glyphicon-arrow-down'></span></a>
+ <div class="smart-scroll" data-smart-scroll-padding-bottom="50" style="margin-bottom: 0px">
- <table class="log-viewer-table">
- <thead>
- <tr>
- <th class="id" data-sort="id"></th>
- <th class="timestamp" data-sort="timestamp">Timestamp</th>
- <th class="node" data-sort="node">Node</th>
- <th class="slot" data-sort="slot">Slot</th>
- <th class="type" data-sort="type">Log type</th>
- <th class="taskid" data-sort="taskid">Task</th>
- <th class="message" data-sort="message">Message</th>
- </tr>
- </thead>
- <tbody class="list">
- <tr>
- <td class="id"></td>
- <td class="timestamp"></td>
- <td class="node"></td>
- <td class="slot"></td>
- <td class="type"></td>
- <td class="taskid"></td>
- <td class="message"></td>
- </tr>
- </tbody>
- </table>
-</div>
++ <table class="log-viewer-table">
++ <thead>
++ <tr>
++ <th class="id" data-sort="id"></th>
++ <th class="timestamp" data-sort="timestamp">Timestamp</th>
++ <th class="node" data-sort="node">Node</th>
++ <th class="slot" data-sort="slot">Slot</th>
++ <th class="type" data-sort="type">Log type</th>
++ <th class="taskid" data-sort="taskid">Task</th>
++ <th class="message" data-sort="message">Message</th>
++ </tr>
++ </thead>
++ <tbody class="list">
++ <tr>
++ <td class="id"></td>
++ <td class="timestamp"></td>
++ <td class="node"></td>
++ <td class="slot"></td>
++ <td class="type"></td>
++ <td class="taskid"></td>
++ <td class="message"></td>
++ </tr>
++ </tbody>
++ </table>
++
++ <% if @object.log and logcollection %>
++ <%= image_tag 'ajax-loader.gif', id: "logloadspinner" %>
++ <% end %>
++
+ </div>
+
- <table class="log-viewer-table">
- <thead>
- <tr>
- <th class="id" data-sort="id"></th>
- <th class="timestamp" data-sort="timestamp">Timestamp</th>
- <th class="node" data-sort="node">Node</th>
- <th class="slot" data-sort="slot">Slot</th>
- <th class="type" data-sort="type">Log type</th>
- <th class="taskid" data-sort="taskid">Task</th>
- <th class="message" data-sort="message">Message</th>
- </tr>
- </thead>
- <tbody class="list">
- <tr>
- <td class="id"></td>
- <td class="timestamp"></td>
- <td class="node"></td>
- <td class="slot"></td>
- <td class="type"></td>
- <td class="taskid"></td>
- <td class="message"></td>
- </tr>
- </tbody>
- </table>
-
- <div style="font-size: 18px">
+ <div class="log-viewer-paging-div" style="margin-bottom: -15px">
<a href="#" class="log-viewer-page-up"><span class='glyphicon glyphicon-arrow-up'></span></a>
<span class="log-viewer-paging"></span>
<a href="#" class="log-viewer-page-down"><span class='glyphicon glyphicon-arrow-down'></span></a>
</div>
-
</div>
--
--<% if !@object.log %>
- <p>This job is still running. The job log will be available when the job is complete.</p>
- <% else %>
- <% if logcollection %>
- <%= image_tag 'ajax-loader.gif', id: "logloadspinner" %>
- <% else %>
- <p>The collection containing the job log was not found.</p>
- <% end %>
- This job is still running. The job log will be available when the job is complete.
--<% end %>
-
-<%= image_tag 'ajax-loader.gif', id: "logloadspinner" %>
commit 6743d58bac1eb91040fc422fcd07f3351360d506
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date: Wed Jun 18 16:56:43 2014 -0400
Add error handling when log collection is not found. refs #3027.
diff --git a/apps/workbench/app/assets/javascripts/log_viewer.js b/apps/workbench/app/assets/javascripts/log_viewer.js
index 405c8ef..aa6ba79 100644
--- a/apps/workbench/app/assets/javascripts/log_viewer.js
+++ b/apps/workbench/app/assets/javascripts/log_viewer.js
@@ -181,13 +181,12 @@ function dumbPluralize(n, s, p) {
function generateJobOverview(id, logViewer, taskState) {
var html = "";
- var first = logViewer.items[1];
- var last = logViewer.items[logViewer.items.length-1];
-
- {
- html += "<div>";
+ if (logViewer.items.length > 2) {
+ html += "<p>";
html += "Started at " + first.values().timestamp;
+ var first = logViewer.items[1];
+ var last = logViewer.items[logViewer.items.length-1];
var duration = (last.values().ts.getTime() - first.values().ts.getTime()) / 1000;
var hours = 0;
@@ -224,7 +223,9 @@ function generateJobOverview(id, logViewer, taskState) {
html += " (" + dumbPluralize(taskState.failure_count, " failure") + ")";
html += ". Finished at " + last.values().timestamp + ".";
- html += "</div>";
+ html += "</p>";
+ } else {
+ html = "<p>Job log is empty or failed to load.</p>";
}
$(id).html(html);
@@ -277,4 +278,4 @@ function nextPage(logViewer, page, id) {
function prevPage(logViewer, page, id) {
gotoPage(logViewer.page_offset-1, logViewer, page, id);
-}
\ No newline at end of file
+}
diff --git a/apps/workbench/app/views/jobs/_show_log.html.erb b/apps/workbench/app/views/jobs/_show_log.html.erb
index 2c060cd..1d5da8a 100644
--- a/apps/workbench/app/views/jobs/_show_log.html.erb
+++ b/apps/workbench/app/views/jobs/_show_log.html.erb
@@ -40,16 +40,20 @@ var makeFilter = function() {
}
<% if @object.log %>
-<% logcollection = Collection.find @object.log %>
-
-$.ajax('<%=j url_for logcollection %>/<%=j logcollection.files[0][1] %>').
- done(function(data, status, jqxhr) {
+ <% logcollection = Collection.find @object.log %>
+ <% if logcollection %>
+ $.ajax('<%=j url_for logcollection %>/<%=j logcollection.files[0][1] %>').
+ done(function(data, status, jqxhr) {
logViewer.filter();
addToLogViewer(logViewer, data.split("\n"), taskState);
logViewer.filter(makeFilter());
generateJobOverview("#log-viewer-overview", logViewer, taskState);
$("#logloadspinner").detach();
- });
+ }).
+ fail(function(jqxhr, status, error) {
+ $("#logloadspinner").detach();
+ });
+ <% end %>
<% else %>
<%# Live log loading not implemented yet. %>
<% end %>
@@ -193,18 +197,19 @@ $("#set-show-failed-only").on("click", function() {
</tbody>
</table>
-
<div style="font-size: 18px">
<a href="#" class="log-viewer-page-up"><span class='glyphicon glyphicon-arrow-up'></span></a>
<span class="log-viewer-paging"></span>
<a href="#" class="log-viewer-page-down"><span class='glyphicon glyphicon-arrow-down'></span></a>
</div>
-
-
</div>
<% if !@object.log %>
- This job is still running. The job log will be available when the job is complete.
+ <p>This job is still running. The job log will be available when the job is complete.</p>
+<% else %>
+ <% if logcollection %>
+ <%= image_tag 'ajax-loader.gif', id: "logloadspinner" %>
+ <% else %>
+ <p>The collection containing the job log was not found.</p>
+ <% end %>
<% end %>
-
-<%= image_tag 'ajax-loader.gif', id: "logloadspinner" %>
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list