Merge branch '2934-limit-crunch-logs' of git.curoverse.com:arvados into 2934-limit...
[arvados.git] / apps / workbench / app / assets / javascripts / log_viewer.js
1 function addToLogViewer(logViewer, lines) {
2     var re = /((\d\d\d\d)-(\d\d)-(\d\d))_((\d\d):(\d\d):(\d\d)) ([a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{15}) (\d+) (\d+)? (.*)/;
3     for (var a in lines) {
4         var v = lines[a].match(re);
5         if (v != null) {
6
7             var ts = new Date(Date.UTC(v[2], v[3], v[4], v[6], v[7], v[8]));
8
9             v11 = v[11];
10             if (typeof v[11] === 'undefined') {
11                 v11 = ' ';
12             }
13
14             var message = v[12];
15             var type = "";
16             if (v11 != ' ') {
17                 if (/^stderr /.test(message)) {
18                     if (/^stderr crunchstat: /.test(message)) {
19                         type = "crunchstat";
20                         message = message.substr(19);
21                     } else if (/^stderr srun: /.test(message)) {
22                         type = "task-dispatch";
23                         message = message.substr(7);
24                     } else if (/^stderr slurmd/.test(message)) {
25                         type = "task-dispatch";
26                         message = message.substr(7);
27                     } else {
28                         type = "task-output";
29                         message = message.substr(7);
30                     }
31                 } else {
32                     type = "task-dispatch";
33                 }
34             } else {
35                 if (/^status: /.test(message)) {
36                     type = "job-status";
37                     message = message.substr(8);
38                 } else {
39                     type = "crunch";
40                 }
41             }
42
43             logViewer.add({
44                 id: logViewer.items.length,
45                 timestamp: ts.toLocaleDateString() + " " + ts.toLocaleTimeString(),
46                 taskid: v11,
47                 message: message,
48                 type: type
49             });
50
51         } else {
52             console.log("Did not parse: " + lines[a]);
53         }
54     }
55     logViewer.update();
56 }