azkaban-aplcache
Changes
src/web/js/azkaban/model/log-data.js 15(+11 -4)
src/web/js/azkaban/view/job-details.js 10(+8 -2)
Details
src/web/js/azkaban/model/log-data.js 15(+11 -4)
diff --git a/src/web/js/azkaban/model/log-data.js b/src/web/js/azkaban/model/log-data.js
index 2e21386..2fe3ac5 100644
--- a/src/web/js/azkaban/model/log-data.js
+++ b/src/web/js/azkaban/model/log-data.js
@@ -22,7 +22,7 @@ azkaban.LogDataModel = Backbone.Model.extend({
HIVE_NUM_MAP_REDUCE_JOBS_STRING: "Total MapReduce jobs = ",
HIVE_MAP_REDUCE_JOB_START: "Starting Job",
HIVE_MAP_REDUCE_JOBS_SUMMARY: "MapReduce Jobs Launched:",
- HIVE_MAP_REDUCE_SUMMARY_REGEX: /Job (\d+): Map: (\d+) Reduce: (\d+) HDFS Read: (\d+) HDFS Write: (\d+)/,
+ HIVE_MAP_REDUCE_SUMMARY_REGEX: /Job (\d+):\s+Map: (\d+)\s+Reduce: (\d+)\s+(?:Cumulative CPU: (.+?))?\s+HDFS Read: (\d+)\s+HDFS Write: (\d+)/,
initialize: function() {
this.set("offset", 0 );
@@ -232,7 +232,7 @@ azkaban.LogDataModel = Backbone.Model.extend({
var numMRJobs = 0;
while (i < numLines) {
line = lines[i];
- if (line.contains(this.HIVE_NUM_MAP_REDUCE_JOBS_STRING)) {
+ if (line.indexOf(this.HIVE_NUM_MAP_REDUCE_JOBS_STRING) !== -1) {
// query involves map reduce jobs
var numMRJobs = parseInt(line.substring(this.HIVE_NUM_MAP_REDUCE_JOBS_STRING.length),10);
i++;
@@ -240,7 +240,7 @@ azkaban.LogDataModel = Backbone.Model.extend({
// get the map reduce jobs summary
while (i < numLines) {
line = lines[i];
- if (line.contains(this.HIVE_MAP_REDUCE_JOBS_SUMMARY)) {
+ if (line.indexOf(this.HIVE_MAP_REDUCE_JOBS_SUMMARY) !== -1) {
// job summary table found
i++;
@@ -264,6 +264,13 @@ azkaban.LogDataModel = Backbone.Model.extend({
job.push(match[3]);
job.push(match[4]);
job.push(match[5]);
+ job.push(match[6]);
+
+ if (match[7]) {
+ this.set("hasCumulativeCPU", true);
+ job.push(match[7]);
+ }
+
queryJobs.push(job);
previousJob = currJob;
numJobsSeen++;
@@ -281,7 +288,7 @@ azkaban.LogDataModel = Backbone.Model.extend({
}
break;
}
- else if (line.contains(this.HIVE_PARSING_START)) {
+ else if (line.indexOf(this.HIVE_PARSING_START) !== -1) {
if (numMRJobs === 0) {
hiveQueryJobs.push(null);
}
src/web/js/azkaban/view/job-details.js 10(+8 -2)
diff --git a/src/web/js/azkaban/view/job-details.js b/src/web/js/azkaban/view/job-details.js
index e3fbd00..ab77045 100644
--- a/src/web/js/azkaban/view/job-details.js
+++ b/src/web/js/azkaban/view/job-details.js
@@ -136,9 +136,15 @@ azkaban.JobSummaryView = Backbone.View.extend({
// Set up table column headers
var header = $("#hiveTableHeader");
var tr = document.createElement("tr");
- var headers = ["Query","Job","Map","Reduce","HDFS Read","HDFS Write"];
+
+ var headers;
+ if (this.model.get("hasCumulativeCPU")) {
+ headers = ["Query","Job","Map","Reduce","Cumulative CPU","HDFS Read","HDFS Write"];
+ } else {
+ headers = ["Query","Job","Map","Reduce","HDFS Read","HDFS Write"];
+ }
+
var i;
-
for (i = 0; i < headers.length; i++) {
var th = document.createElement("th");
$(th).text(headers[i]);