You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tez.apache.org by hi...@apache.org on 2015/02/24 21:25:37 UTC

tez git commit: TEZ-2136. Some enhancements to the new Tez UI. (Vinod Kumar Vavilapalli and Sreenath Somarajapuram via hitesh)

Repository: tez
Updated Branches:
  refs/heads/master c78feed0d -> 088f92dca


TEZ-2136. Some enhancements to the new Tez UI. (Vinod Kumar Vavilapalli and Sreenath Somarajapuram via hitesh)


Project: http://git-wip-us.apache.org/repos/asf/tez/repo
Commit: http://git-wip-us.apache.org/repos/asf/tez/commit/088f92dc
Tree: http://git-wip-us.apache.org/repos/asf/tez/tree/088f92dc
Diff: http://git-wip-us.apache.org/repos/asf/tez/diff/088f92dc

Branch: refs/heads/master
Commit: 088f92dca08d446e1ca026b99d09bb0602edea72
Parents: c78feed
Author: Hitesh Shah <hi...@apache.org>
Authored: Tue Feb 24 12:25:04 2015 -0800
Committer: Hitesh Shah <hi...@apache.org>
Committed: Tue Feb 24 12:25:04 2015 -0800

----------------------------------------------------------------------
 CHANGES.txt                                     |   1 +
 .../app/scripts/controllers/dag_controller.js   |  12 +-
 .../app/scripts/controllers/dags_controller.js  |   4 +-
 .../controllers/task_attempt_controller.js      |   8 +-
 .../app/scripts/controllers/task_controller.js  |   6 +-
 .../scripts/controllers/tez-app-controller.js   |  12 +-
 .../controllers/tez-app-index-controller.js     |   4 +
 .../scripts/controllers/vertex_controller.js    |   4 +-
 tez-ui/src/main/webapp/app/styles/main.less     |  18 ++-
 tez-ui/src/main/webapp/app/templates/dag.hbs    |  33 +----
 .../src/main/webapp/app/templates/dag/index.hbs |  37 ++++--
 tez-ui/src/main/webapp/app/templates/dags.hbs   |   4 +-
 tez-ui/src/main/webapp/app/templates/error.hbs  |   4 +-
 tez-ui/src/main/webapp/app/templates/task.hbs   |  28 +---
 .../main/webapp/app/templates/task/index.hbs    |  27 ++--
 .../webapp/app/templates/taskAttempt/index.hbs  |  45 ++++---
 .../main/webapp/app/templates/task_attempt.hbs  |  32 +----
 tez-ui/src/main/webapp/app/templates/tasks.hbs  |   6 +-
 .../src/main/webapp/app/templates/tez-app.hbs   |  20 +--
 .../main/webapp/app/templates/tez-app/index.hbs |  50 ++++---
 tez-ui/src/main/webapp/app/templates/vertex.hbs |  22 +---
 .../main/webapp/app/templates/vertex/index.hbs  | 132 +++++++++++--------
 22 files changed, 254 insertions(+), 255 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tez/blob/088f92dc/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index bf39b98..76a4793 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -71,6 +71,7 @@ Release 0.6.1: Unreleased
 INCOMPATIBLE CHANGES
 
 ALL CHANGES:
+  TEZ-2136. Some enhancements to the new Tez UI.
   TEZ-2135. ACL checks handled incorrectly in AMWebController.
   TEZ-1990. Tez UI: DAG details page shows Nan for end time when a DAG is running.
   TEZ-2116. Tez UI: dags page filter does not work if more than one filter is specified.

http://git-wip-us.apache.org/repos/asf/tez/blob/088f92dc/tez-ui/src/main/webapp/app/scripts/controllers/dag_controller.js
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/scripts/controllers/dag_controller.js b/tez-ui/src/main/webapp/app/scripts/controllers/dag_controller.js
index b3f15be..ea85c47 100644
--- a/tez-ui/src/main/webapp/app/scripts/controllers/dag_controller.js
+++ b/tez-ui/src/main/webapp/app/scripts/controllers/dag_controller.js
@@ -69,12 +69,12 @@ App.DagController = Em.ObjectController.extend(App.Helpers.DisplayHelper, {
   }.property('applicationId', 'appDetail', 'tezApp'),
 
   childDisplayViews: [
-    Ember.Object.create({title: 'Details', linkTo: 'dag.index'}),
-    Ember.Object.create({title: 'View', linkTo: 'dag.view'}),
-    Ember.Object.create({title: 'Vertices', linkTo: 'dag.vertices'}),
-    Ember.Object.create({title: 'Tasks', linkTo: 'dag.tasks'}),
-    Ember.Object.create({title: 'Task Attempts', linkTo: 'dag.taskAttempts'}),
-    Ember.Object.create({title: 'Counters', linkTo: 'dag.counters'}),
+    Ember.Object.create({title: 'DAG Details', linkTo: 'dag.index'}),
+    Ember.Object.create({title: 'DAG Counters', linkTo: 'dag.counters'}),
+    Ember.Object.create({title: 'Graphical View', linkTo: 'dag.view'}),
+    Ember.Object.create({title: 'All Vertices', linkTo: 'dag.vertices'}),
+    Ember.Object.create({title: 'All Tasks', linkTo: 'dag.tasks'}),
+    Ember.Object.create({title: 'All TaskAttempts', linkTo: 'dag.taskAttempts'}),
     Ember.Object.create({title: 'Swimlane', linkTo: 'dag.swimlane'})
   ],
 

http://git-wip-us.apache.org/repos/asf/tez/blob/088f92dc/tez-ui/src/main/webapp/app/scripts/controllers/dags_controller.js
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/scripts/controllers/dags_controller.js b/tez-ui/src/main/webapp/app/scripts/controllers/dags_controller.js
index c1aea73..a001ce2 100644
--- a/tez-ui/src/main/webapp/app/scripts/controllers/dags_controller.js
+++ b/tez-ui/src/main/webapp/app/scripts/controllers/dags_controller.js
@@ -21,9 +21,9 @@ App.DagsController = Em.ObjectController.extend(App.PaginatedContentMixin, App.C
 
 	controllerName: 'DagsController',
 
-	pageTitle: 'Dags',
+	pageTitle: 'Tez DAGs',
 
-	pageSubTitle: 'All Dags',
+	pageSubTitle: 'All Tez DAGs',
 
   // query parameters supported through url. The same named variables in this controller get
   // bound automatically to the ones defined in the route.

http://git-wip-us.apache.org/repos/asf/tez/blob/088f92dc/tez-ui/src/main/webapp/app/scripts/controllers/task_attempt_controller.js
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/scripts/controllers/task_attempt_controller.js b/tez-ui/src/main/webapp/app/scripts/controllers/task_attempt_controller.js
index d528b2d..b82d9ec 100644
--- a/tez-ui/src/main/webapp/app/scripts/controllers/task_attempt_controller.js
+++ b/tez-ui/src/main/webapp/app/scripts/controllers/task_attempt_controller.js
@@ -19,7 +19,7 @@
 App.TaskAttemptController = Em.ObjectController.extend(App.Helpers.DisplayHelper, {
 	controllerName: 'TaskAttemptController',
 
-	pageTitle: 'Task Attempt',
+	pageTitle: 'TaskAttempt',
 
 	loading: true,
 
@@ -28,8 +28,8 @@ App.TaskAttemptController = Em.ObjectController.extend(App.Helpers.DisplayHelper
   }.observes('content'),
 
 	childDisplayViews: [
-		Ember.Object.create({title: 'Details', linkTo: 'taskAttempt.index'}),
-		Ember.Object.create({title: 'Counters', linkTo: 'taskAttempt.counters'}),
+		Ember.Object.create({title: 'TaskAttempt Details', linkTo: 'taskAttempt.index'}),
+		Ember.Object.create({title: 'TaskAttempt Counters', linkTo: 'taskAttempt.counters'}),
 	],
 
-});
\ No newline at end of file
+});

http://git-wip-us.apache.org/repos/asf/tez/blob/088f92dc/tez-ui/src/main/webapp/app/scripts/controllers/task_controller.js
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/scripts/controllers/task_controller.js b/tez-ui/src/main/webapp/app/scripts/controllers/task_controller.js
index 4f33b3b..0a312e7 100644
--- a/tez-ui/src/main/webapp/app/scripts/controllers/task_controller.js
+++ b/tez-ui/src/main/webapp/app/scripts/controllers/task_controller.js
@@ -28,9 +28,9 @@ App.TaskController = Em.ObjectController.extend(App.Helpers.DisplayHelper, App.M
   }.observes('content'),
 
 	childDisplayViews: [
-		Ember.Object.create({title: 'Details', linkTo: 'task.index'}),
+		Ember.Object.create({title: 'Task Details', linkTo: 'task.index'}),
+		Ember.Object.create({title: 'Task Counters', linkTo: 'task.counters'}),
 		Ember.Object.create({title: 'Task Attempts', linkTo: 'task.attempts'}),
-		Ember.Object.create({title: 'Counters', linkTo: 'task.counters'}),
 	],
 
-});
\ No newline at end of file
+});

http://git-wip-us.apache.org/repos/asf/tez/blob/088f92dc/tez-ui/src/main/webapp/app/scripts/controllers/tez-app-controller.js
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/scripts/controllers/tez-app-controller.js b/tez-ui/src/main/webapp/app/scripts/controllers/tez-app-controller.js
index 1941b3f..eb1d16b 100644
--- a/tez-ui/src/main/webapp/app/scripts/controllers/tez-app-controller.js
+++ b/tez-ui/src/main/webapp/app/scripts/controllers/tez-app-controller.js
@@ -23,17 +23,13 @@ App.TezAppController = Em.ObjectController.extend(App.Helpers.DisplayHelper, App
 
   loading: true,
 
-  rmTrackingURL: function() {
-    return App.env.RMWebUrl + '/cluster/app/' + this.get('appId');
-  }.property('appId'),
-
   updateLoading: function() {
     this.set('loading', false);
   }.observes('content'),
 
   childDisplayViews: [
-    Ember.Object.create({title: 'Details', linkTo: 'tez-app.index'}),
-    Ember.Object.create({title: 'Dags', linkTo: 'tez-app.dags'}),
-    Ember.Object.create({title: 'Configuration', linkTo: 'tez-app.configs'}),
+    Ember.Object.create({title: 'App Details', linkTo: 'tez-app.index'}),
+    Ember.Object.create({title: 'DAGs', linkTo: 'tez-app.dags'}),
+    Ember.Object.create({title: 'App Configuration', linkTo: 'tez-app.configs'}),
   ],
-});
\ No newline at end of file
+});

http://git-wip-us.apache.org/repos/asf/tez/blob/088f92dc/tez-ui/src/main/webapp/app/scripts/controllers/tez-app-index-controller.js
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/scripts/controllers/tez-app-index-controller.js b/tez-ui/src/main/webapp/app/scripts/controllers/tez-app-index-controller.js
index 3b11e3a..cfc0215 100644
--- a/tez-ui/src/main/webapp/app/scripts/controllers/tez-app-index-controller.js
+++ b/tez-ui/src/main/webapp/app/scripts/controllers/tez-app-index-controller.js
@@ -21,6 +21,10 @@ App.TezAppIndexController = Em.ObjectController.extend(App.ModelRefreshMixin, {
   needs: "tezApp",
   controllerName: 'TezAppIndexController',
 
+  rmTrackingURL: function() {
+    return App.env.RMWebUrl + '/cluster/app/' + this.get('appId');
+  }.property('appId'),
+
   load: function () {
     var tezApp = this.get('model'),
       store  = this.get('store');

http://git-wip-us.apache.org/repos/asf/tez/blob/088f92dc/tez-ui/src/main/webapp/app/scripts/controllers/vertex_controller.js
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/scripts/controllers/vertex_controller.js b/tez-ui/src/main/webapp/app/scripts/controllers/vertex_controller.js
index b575d83..ce7737b 100644
--- a/tez-ui/src/main/webapp/app/scripts/controllers/vertex_controller.js
+++ b/tez-ui/src/main/webapp/app/scripts/controllers/vertex_controller.js
@@ -62,10 +62,10 @@ App.VertexController = Em.ObjectController.extend(App.Helpers.DisplayHelper, App
   },
 
   childDisplayViews: [
-    Ember.Object.create({title: 'Details', linkTo: 'vertex.index'}),
+    Ember.Object.create({title: 'Vertex Details', linkTo: 'vertex.index'}),
+    Ember.Object.create({title: 'Vertex Counters', linkTo: 'vertex.counters'}),
     Ember.Object.create({title: 'Tasks', linkTo: 'vertex.tasks'}),
     Ember.Object.create({title: 'Task Attempts', linkTo: 'vertex.taskAttempts'}),
-    Ember.Object.create({title: 'Counters', linkTo: 'vertex.counters'}),
     Ember.Object.create({title: 'Swimlane', linkTo: 'vertex.swimlane'}),
     Ember.Object.create({title: 'Sources & Sinks', linkTo: 'vertex.additionals'}),
   ],

http://git-wip-us.apache.org/repos/asf/tez/blob/088f92dc/tez-ui/src/main/webapp/app/styles/main.less
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/styles/main.less b/tez-ui/src/main/webapp/app/styles/main.less
index be8b228..275f3b6 100644
--- a/tez-ui/src/main/webapp/app/styles/main.less
+++ b/tez-ui/src/main/webapp/app/styles/main.less
@@ -105,6 +105,7 @@ body, html, body > .ember-view {
 
   .breadcrumb {
     padding: 5px 15px;
+    border: 1px solid @logo-orange;
     font-size: 16px;
     .active .sub {
       font-size: 12px;
@@ -344,9 +345,19 @@ body, html, body > .ember-view {
 /* dag page */
 .detail-list {
   table-layout: fixed;
-  overflow: hidden;
   white-space: nowrap;
 
+  tr {
+    margin: 0px 0px 0px 15px;
+    overflow: hidden;
+  }
+
+  thead {
+    background-color: @bg-lite;
+    font-style: italic;
+    font-weight: bold;
+  }
+
   td {
     padding: 0px 20px 0px 0px;
   }
@@ -354,6 +365,11 @@ body, html, body > .ember-view {
   td:first-child {
     width:120px;
   }
+
+  th, td {
+    border: 1px solid @border-lite;
+    padding: 5px;
+  }
 }
 
 /* status related */

http://git-wip-us.apache.org/repos/asf/tez/blob/088f92dc/tez-ui/src/main/webapp/app/templates/dag.hbs
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/templates/dag.hbs b/tez-ui/src/main/webapp/app/templates/dag.hbs
index c78de95..950e13c 100644
--- a/tez-ui/src/main/webapp/app/templates/dag.hbs
+++ b/tez-ui/src/main/webapp/app/templates/dag.hbs
@@ -17,39 +17,12 @@
 }}
 
 <ul class="breadcrumb">
-  <li>{{#link-to 'application'}}<i class="fa fa-home"> All Dags</i>{{/link-to}} <span class="divider"></span></li>
-  <li class="active">Dag - <span class='sub'>{{name}}</span></li>
+  <li>{{#link-to 'application'}}<i class="fa fa-home"> All DAGs</i>{{/link-to}} <span class="divider"></span></li>
+  <li class="active">DAG [ {{id}} ]</li>
 </ul>
 
 {{#unless loading}}
   <div class='type-table fill-full margin-small'>
-    <div class='align-left'>
-
-      <table class='detail-list'>
-        <tbody>
-          <tr>
-            <td>Dag ID</td>
-            <td>{{id}}</td>
-          </tr>
-          <tr>
-            <td>{{t 'common.applicationId'}}</td>
-            <td>
-              {{#if enableAppIdLink}}
-                {{#link-to 'tez-app' applicationId class='ember-table-content'}}{{applicationId}}{{/link-to}}
-              {{else}}
-                <span class='ember-table-content'>{{applicationId}}</span>
-              {{/if}}
-            </td>
-          </tr>
-          <tr>
-            <td>{{t 'common.user'}}</td>
-            <td>{{user}}</td>
-          </tr>
-        </tbody>
-      </table>
-
-    </div>
-
     <div class='pill-container align-right'>
       {{bs-pills contentBinding='childDisplayViews' selectedBinding='childDisplayViewSelected' size='lg'}}
     </div>
@@ -60,4 +33,4 @@
   </div>
 {{else}}
   {{partial 'partials/loading-spinner'}}
-{{/unless}}
\ No newline at end of file
+{{/unless}}

http://git-wip-us.apache.org/repos/asf/tez/blob/088f92dc/tez-ui/src/main/webapp/app/templates/dag/index.hbs
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/templates/dag/index.hbs b/tez-ui/src/main/webapp/app/templates/dag/index.hbs
index bc6b1d3..a4b735a 100644
--- a/tez-ui/src/main/webapp/app/templates/dag/index.hbs
+++ b/tez-ui/src/main/webapp/app/templates/dag/index.hbs
@@ -26,25 +26,36 @@
 <div class='type-table fill-full margin-small-horizontal'>
   <div class='align-left'>
     <table class='detail-list'>
+       <thead>
+         <tr>
+            <th colspan=2>DAG Details</th>
+         </tr>
+      </thead>
       <tbody>
         <tr>
+          <td>{{t 'common.applicationId'}}</td>
+          <td>
+            {{#if controllers.dag.enableAppIdLink}}
+              {{#link-to 'tez-app' applicationId class='ember-table-content'}}{{applicationId}}{{/link-to}}
+            {{else}}
+              <span class='ember-table-content'>{{applicationId}}</span>
+            {{/if}}
+          </td>
+        </tr>
+        <tr>
+          <td>{{t 'common.user'}}</td>
+          <td>{{user}}</td>
+        </tr>
+        <tr>
           <td>{{t 'common.status'}}</td>
           <td>
             <i {{bind-attr class=':task-status taskIconStatus'}}></i> {{status}}
             {{#if progressStr}} {{bs-badge content=progressStr}}{{/if}}
-          </td>
-          <td>
             {{#if hasFailedTasks}}
-              <a href='{{unbound failedTasksLink}}'>FailedTasks</a>
+              [ <a href='{{unbound failedTasksLink}}'>Failed Tasks</a> ]
             {{/if}}
           </td>
         </tr>
-      </tbody>
-    </table>
-  </div>
-  <div class='align-right'>
-    <table class='detail-list'>
-      <tbody>
         <tr>
           <td>{{t 'common.time.start'}}</td>
           <td>{{formatUnixTimestamp startTime}}</td>
@@ -63,7 +74,9 @@
 </div>
 
 {{#if diagnostics}}
-	{{#bs-panel heading="Diagnostics" collapsible=false dismiss=false type='danger'}}
-    {{formatDiagnostics diagnostics}}
-	{{/bs-panel}}
+  <div class="margin-small-vertical">
+    {{#bs-panel heading="Diagnostics" collapsible=false dismiss=false type='danger'}}
+      {{formatDiagnostics diagnostics}}
+    {{/bs-panel}}
+  </div>
 {{/if}}

http://git-wip-us.apache.org/repos/asf/tez/blob/088f92dc/tez-ui/src/main/webapp/app/templates/dags.hbs
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/templates/dags.hbs b/tez-ui/src/main/webapp/app/templates/dags.hbs
index 7ea8924..d0e83c4 100644
--- a/tez-ui/src/main/webapp/app/templates/dags.hbs
+++ b/tez-ui/src/main/webapp/app/templates/dags.hbs
@@ -17,9 +17,9 @@
 }}
 
 <ul class="breadcrumb">
-  <li>{{#link-to 'application'}}<i class="fa fa-home"> All Dags</i>{{/link-to}} <span class="divider"></span></li>
+  <li>{{#link-to 'application'}}<i class="fa fa-home"> All DAGs</i>{{/link-to}} <span class="divider"></span></li>
 </ul>
 
 <div class='margin-small-vertical'>
   {{partial 'common/table-with-spinner'}}
-</div>
\ No newline at end of file
+</div>

http://git-wip-us.apache.org/repos/asf/tez/blob/088f92dc/tez-ui/src/main/webapp/app/templates/error.hbs
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/templates/error.hbs b/tez-ui/src/main/webapp/app/templates/error.hbs
index 3bd7bab..fd2f9f5 100644
--- a/tez-ui/src/main/webapp/app/templates/error.hbs
+++ b/tez-ui/src/main/webapp/app/templates/error.hbs
@@ -17,8 +17,8 @@
 }}
 
 <ul class="breadcrumb">
-  <li>{{#link-to 'application'}}<i class="fa fa-home"> All Dags</i>{{/link-to}} <span class="divider"></span></li>
+  <li>{{#link-to 'application'}}<i class="fa fa-home"> All DAGs</i>{{/link-to}} <span class="divider"></span></li>
   <li class="active">Error</span></li>
 </ul>
 
-<h1>An Error Occurred</h1>
\ No newline at end of file
+<h1>An Error Occurred</h1>

http://git-wip-us.apache.org/repos/asf/tez/blob/088f92dc/tez-ui/src/main/webapp/app/templates/task.hbs
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/templates/task.hbs b/tez-ui/src/main/webapp/app/templates/task.hbs
index 0965df5..c84f840 100644
--- a/tez-ui/src/main/webapp/app/templates/task.hbs
+++ b/tez-ui/src/main/webapp/app/templates/task.hbs
@@ -17,32 +17,14 @@
 }}
 
 <ul class="breadcrumb">
-  <li>{{#link-to 'application'}}<i class="fa fa-home"> All Dags</i>{{/link-to}} <span class="divider"></span></li>
-  <li>{{#link-to 'dag.vertices' dagID}}Dag{{/link-to}} <span class="divider"></span></li>
-  <li>{{#link-to 'vertex.tasks' vertexID}}Vertex{{/link-to}} <span class="divider"></span></li>
-  <li class="active">Task - <span class='sub'>{{id}}</span></li>
+  <li>{{#link-to 'application'}}<i class="fa fa-home"> All DAGs</i>{{/link-to}} <span class="divider"></span></li>
+  <li>{{#link-to 'dag.vertices' dagID}}DAG [ {{dagID}} ]{{/link-to}} <span class="divider"></span></li>
+  <li>{{#link-to 'vertex.tasks' vertexID}}Vertex [ {{vertexID}} ] {{/link-to}} <span class="divider"></span></li>
+  <li class="active">Task [ {{id}} ]</li>
 </ul>
 
 {{#unless loading}}
   <div class='type-table fill-full margin-small-horizontal'>
-    <div class='align-left'>
-      <table class='detail-list'>
-        <tbody>
-          <tr>
-            <td>Task ID</td>
-            <td>{{id}}</td>
-          </tr>
-          <tr>
-            <td>Vertex ID</td>
-            <td>{{vertexID}}</td>
-          </tr>
-          <tr>
-            <td>DAG ID</td>
-            <td>{{dagID}}</td>
-          </tr>
-        </tbody>
-      </table>
-    </div>
     <div class='pill-container align-right'>
       {{bs-pills contentBinding='childDisplayViews' selectedBinding='childDisplayViewSelected' size='lg'}}
     </div>
@@ -52,4 +34,4 @@
   </div>
 {{else}}
   {{partial 'partials/loading-spinner'}}
-{{/unless}}
\ No newline at end of file
+{{/unless}}

http://git-wip-us.apache.org/repos/asf/tez/blob/088f92dc/tez-ui/src/main/webapp/app/templates/task/index.hbs
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/templates/task/index.hbs b/tez-ui/src/main/webapp/app/templates/task/index.hbs
index 833e624..f760797 100644
--- a/tez-ui/src/main/webapp/app/templates/task/index.hbs
+++ b/tez-ui/src/main/webapp/app/templates/task/index.hbs
@@ -26,19 +26,26 @@
 <div class='type-table fill-full margin-small-horizontal'>
 	<div class='align-left'>
 		<table class='detail-list'>
+ 			<thead>
+ 			        <tr>
+ 			           <th colspan=2>Task Details</th>
+ 			        </tr>
+ 			</thead>
 			<tbody>
 				<tr>
+ 					<td>Task ID</td>
+					<td>{{id}}</td>
+				</tr>
+				<tr>
+					<td>Vertex ID</td>
+					<td>{{vertexID}}</td>
+				</tr>
+				<tr>
 					<td>{{t 'common.status'}}</td>
 					<td>
 						<i {{bind-attr class=':task-status taskIconStatus'}}></i> {{taskStatus}}
 					</td>
 				</tr>
-			</tbody>
-		</table>
-	</div>
-	<div class='align-right'>
-		<table class='detail-list'>
-			<tbody>
 				<tr>
 					<td>{{t 'common.time.start'}}</td>
 					<td>{{formatUnixTimestamp startTime}}</td>
@@ -57,7 +64,9 @@
 </div>
 
 {{#if diagnostics}}
-	{{#bs-panel heading="Diagnostics" collapsible=false dismiss=false type='danger' class="margin-medium-vertical"}}
-    {{formatDiagnostics diagnostics}}
-	{{/bs-panel}}
+	<div class="margin-small-vertical">
+		{{#bs-panel heading="Diagnostics" collapsible=false dismiss=false type='danger' class="margin-medium-vertical"}}
+			{{formatDiagnostics diagnostics}}
+		{{/bs-panel}}
+	</div>
 {{/if}}

http://git-wip-us.apache.org/repos/asf/tez/blob/088f92dc/tez-ui/src/main/webapp/app/templates/taskAttempt/index.hbs
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/templates/taskAttempt/index.hbs b/tez-ui/src/main/webapp/app/templates/taskAttempt/index.hbs
index 23b96b4..ee6452b 100644
--- a/tez-ui/src/main/webapp/app/templates/taskAttempt/index.hbs
+++ b/tez-ui/src/main/webapp/app/templates/taskAttempt/index.hbs
@@ -26,27 +26,34 @@
 <div class='type-table fill-full margin-small-horizontal'>
 	<div class='align-left'>
 		<table class='detail-list'>
+			<thead>
+				<tr>
+					<th colspan=2>TaskAttempt Details</th>
+				</tr>
+			</thead>
 			<tbody>
 				<tr>
-					<td>{{t 'common.status'}}</td>
-					<td>
-						<i {{bind-attr class=':task-status taskAttemptIconStatus'}}></i> {{taskAttemptStatus}}
-					</td>
+					<td>Task Attempt ID</td>
+					<td>{{id}}</td>
+				</tr>
+				<tr>
+					<td>Task ID</td>
+					<td>{{taskID}}</td>
 				</tr>
 				<tr>
 					<td>Container</td>
 					<td>{{containerId}}</td>
 				</tr>
-        <tr>
-          <td>Node</td>
-          <td>{{nodeId}}</td>
-        </tr>
-			</tbody>
-		</table>
-	</div>
-	<div class='align-right'>
-		<table class='detail-list'>
-			<tbody>
+				<tr>
+					<td>Node</td>
+					<td>{{nodeId}}</td>
+				</tr>
+				<tr>
+					<td>{{t 'common.status'}}</td>
+					<td>
+						<i {{bind-attr class=':task-status taskAttemptIconStatus'}}></i> {{taskAttemptStatus}}
+					</td>
+				</tr>
 				<tr>
 					<td>{{t 'common.time.start'}}</td>
 					<td>{{formatUnixTimestamp startTime}}</td>
@@ -65,7 +72,9 @@
 </div>
 
 {{#if diagnostics}}
-	{{#bs-panel heading="Diagnostics" collapsible=false dismiss=false type='danger' class="margin-medium-vertical"}}
-    {{formatDiagnostics diagnostics}}
-	{{/bs-panel}}
-{{/if}}
\ No newline at end of file
+	<div class="margin-small-vertical">
+		{{#bs-panel heading="Diagnostics" collapsible=false dismiss=false type='danger' class="margin-medium-vertical"}}
+		{{formatDiagnostics diagnostics}}
+		{{/bs-panel}}
+	</div>
+{{/if}}

http://git-wip-us.apache.org/repos/asf/tez/blob/088f92dc/tez-ui/src/main/webapp/app/templates/task_attempt.hbs
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/templates/task_attempt.hbs b/tez-ui/src/main/webapp/app/templates/task_attempt.hbs
index 67a087d..278055b 100644
--- a/tez-ui/src/main/webapp/app/templates/task_attempt.hbs
+++ b/tez-ui/src/main/webapp/app/templates/task_attempt.hbs
@@ -17,37 +17,15 @@
 }}
 
 <ul class="breadcrumb">
-  <li>{{#link-to 'application'}}<i class="fa fa-home"> All Dags</i>{{/link-to}} <span class="divider"></span></li>
-  <li>{{#link-to 'dag.vertices' dagID}}Dag{{/link-to}} <span class="divider"></span></li>
-  <li>{{#link-to 'vertex.tasks' vertexID}}Vertex{{/link-to}} <span class="divider"></span></li>
-  <li>{{#link-to 'task.attempts' taskID}}Task{{/link-to}} <span class="divider"></span></li>
-  <li class="active">Task Attempt - <span class='sub'>{{id}}</span></li>
+  <li>{{#link-to 'application'}}<i class="fa fa-home"> All DAGs</i>{{/link-to}} <span class="divider"></span></li>
+  <li>{{#link-to 'dag.vertices' dagID}}DAG [ {{dagID}} ] {{/link-to}} <span class="divider"></span></li>
+  <li>{{#link-to 'vertex.tasks' vertexID}}Vertex [ {{vertexID}} ] {{/link-to}} <span class="divider"></span></li>
+  <li>{{#link-to 'task.attempts' taskID}}Task [ {{taskID}} ] {{/link-to}} <span class="divider"></span></li>
+  <li class="active">Task Attempt [ {{id}} ]</li>
 </ul>
 
 {{#unless loading}}
   <div class='type-table fill-full margin-small-horizontal'>
-    <div class='align-left'>
-      <table class='detail-list'>
-        <tbody>
-          <tr>
-            <td>Task Attempt ID</td>
-            <td>{{id}}</td>
-          </tr>
-          <tr>
-            <td>Task ID</td>
-            <td>{{taskID}}</td>
-          </tr>
-          <tr>
-            <td>Vertex ID</td>
-            <td>{{vertexID}}</td>
-          </tr>
-          <tr>
-            <td>DAG ID</td>
-            <td>{{dagID}}</td>
-          </tr>
-        </tbody>
-      </table>
-    </div>
     <div class='pill-container align-right'>
       {{bs-pills contentBinding='childDisplayViews' selectedBinding='childDisplayViewSelected' size='lg'}}
     </div>

http://git-wip-us.apache.org/repos/asf/tez/blob/088f92dc/tez-ui/src/main/webapp/app/templates/tasks.hbs
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/templates/tasks.hbs b/tez-ui/src/main/webapp/app/templates/tasks.hbs
index 14324c2..d03c769 100644
--- a/tez-ui/src/main/webapp/app/templates/tasks.hbs
+++ b/tez-ui/src/main/webapp/app/templates/tasks.hbs
@@ -17,9 +17,9 @@
 }}
 
 <ul class="breadcrumb">
-  <li>{{#link-to 'application'}}<i class="fa fa-home"> All Dags</i>{{/link-to}} <span class="divider"></span></li>
-  <li>{{#link-to 'dag.vertices' dagID}}Dag{{/link-to}} <span class="divider"></span></li>
+  <li>{{#link-to 'application'}}<i class="fa fa-home"> All DAGs</i>{{/link-to}} <span class="divider"></span></li>
+  <li>{{#link-to 'dag.index' parentID}}DAG [ {{parentID}} ]{{/link-to}} <span class="divider"></span></li>
   <li class="active">Tasks</li>
 </ul>
 
-{{partial "common/table-with-spinner"}}
\ No newline at end of file
+{{partial "common/table-with-spinner"}}

http://git-wip-us.apache.org/repos/asf/tez/blob/088f92dc/tez-ui/src/main/webapp/app/templates/tez-app.hbs
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/templates/tez-app.hbs b/tez-ui/src/main/webapp/app/templates/tez-app.hbs
index d96103f..6b925cf 100644
--- a/tez-ui/src/main/webapp/app/templates/tez-app.hbs
+++ b/tez-ui/src/main/webapp/app/templates/tez-app.hbs
@@ -17,26 +17,12 @@
 }}
 
 <ul class="breadcrumb">
-  <li>{{#link-to 'application'}}<i class="fa fa-home"> All Dags</i>{{/link-to}} <span class="divider"></span></li>
-  <li class="active">Tez App - <span class='sub'>{{id}}</span></li>
+  <li>{{#link-to 'application'}}<i class="fa fa-home"> All DAGs</i>{{/link-to}} <span class="divider"></span></li>
+  <li class="active">Tez App [ {{id}} ]</li>
 </ul>
 
 {{#unless loading}}
   <div class='type-table fill-full '>
-    <div class='align-left'>
-      <table class='detail-list'>
-        <tbody>
-          <tr>
-            <td>YARN RM Tracking URL</td>
-            <td><a target="_blank" {{bind-attr href=rmTrackingURL}}>{{unbound appId}}</a></td>
-          </tr>
-          <tr>
-            <td>Attempt Id</td>
-            <td>{{appDetail.attemptId}}</td>
-          </tr>
-        </tbody>
-      </table>
-    </div>
     <div class='pill-container align-right'>
       {{bs-pills contentBinding='childDisplayViews' selectedBinding='childDisplayViewSelected' size='lg'}}
     </div>
@@ -46,4 +32,4 @@
   </div>
 {{else}}
   {{partial 'partials/loading-spinner'}}
-{{/unless}}
\ No newline at end of file
+{{/unless}}

http://git-wip-us.apache.org/repos/asf/tez/blob/088f92dc/tez-ui/src/main/webapp/app/templates/tez-app/index.hbs
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/templates/tez-app/index.hbs b/tez-ui/src/main/webapp/app/templates/tez-app/index.hbs
index bedb8f2..c9d57bd 100644
--- a/tez-ui/src/main/webapp/app/templates/tez-app/index.hbs
+++ b/tez-ui/src/main/webapp/app/templates/tez-app/index.hbs
@@ -24,16 +24,29 @@
   }}
 </div>
 <div class='type-table fill-full margin-small-horizontal'>
-  <div class='align-left'>
+  <div style="padding-top: 20px;">
     <table class='detail-list'>
+       <thead>
+         <tr>
+            <th colspan=2>Tez Application Description</th>
+         </tr>
+      </thead>
       <tbody>
         <tr>
-          <td>App Name</td>
+          <td>Application Tracking URL</td>
+          <td><a target="_blank" {{bind-attr href=rmTrackingURL}}>{{unbound appId}}</a></td>
+        </tr>
+        <tr>
+          <td>Application Name</td>
           <td>
             {{appDetail.name}}
           </td>
         </tr>
         <tr>
+          <td>Application Attempt Id</td>
+          <td>{{appDetail.attemptId}}</td>
+        </tr>
+        <tr>
           <td>Queue</td>
           <td>
             {{appDetail.queue}}
@@ -44,27 +57,32 @@
           <td>{{appDetail.user}}</td>
         </tr>
         <tr>
-          <td>Type</td>
+          <td>Application Type</td>
           <td>{{appDetail.type}}</td>
         </tr>
+      </tbody>
+    </table>
+  </div>
+  <div style="padding-top: 20px;">
+    <table class='detail-list'>
+      <thead>
+         <tr>
+            <th colspan=2>Tez Application Details</th>
+         </tr>
+      </thead>
+      <tbody>
         <tr>
-          <td>App State</td>
+          <td>Application State</td>
           <td>
             {{appDetail.appState}}
           </td>
         </tr>
         <tr>
-          <td>Final App Status</td>
+          <td>Final Application Status</td>
           <td>
             <i {{bind-attr class=':task-status iconStatus'}}></i> {{appDetail.finalAppStatus}}
           </td>
         </tr>
-      </tbody>
-    </table>
-  </div>
-  <div class='align-right'>
-    <table class='detail-list'>
-      <tbody>
         <tr>
           <td>{{t 'common.time.start'}}</td>
           <td>{{formatUnixTimestamp appDetail.startedTime}}</td>
@@ -83,7 +101,9 @@
 </div>
 
 {{#if diagnostics}}
-  {{#bs-panel heading="Diagnostics" collapsible=false dismiss=false type='danger'}}
-    {{formatDiagnostics diagnostics}}
-  {{/bs-panel}}
-{{/if}}
\ No newline at end of file
+  <div class="margin-small-vertical">
+    {{#bs-panel heading="Diagnostics" collapsible=false dismiss=false type='danger'}}
+      {{formatDiagnostics diagnostics}}
+    {{/bs-panel}}
+  </div>
+{{/if}}

http://git-wip-us.apache.org/repos/asf/tez/blob/088f92dc/tez-ui/src/main/webapp/app/templates/vertex.hbs
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/templates/vertex.hbs b/tez-ui/src/main/webapp/app/templates/vertex.hbs
index 86e0f70..0cc985b 100644
--- a/tez-ui/src/main/webapp/app/templates/vertex.hbs
+++ b/tez-ui/src/main/webapp/app/templates/vertex.hbs
@@ -17,27 +17,13 @@
 }}
 
 <ul class="breadcrumb">
-  <li>{{#link-to 'application'}}<i class="fa fa-home"> All Dags</i>{{/link-to}} <span class="divider"></span></li>
-  <li>{{#link-to 'dag.vertices' dagID}}Dag{{/link-to}} <span class="divider"></span></li>
-  <li class="active">Vertex - <span class='sub'>{{name}}</span></li>
+  <li>{{#link-to 'application'}}<i class="fa fa-home"> All DAGs</i>{{/link-to}} <span class="divider"></span></li>
+  <li>{{#link-to 'dag.vertices' dagID}} DAG [ {{dagID}}  ] {{/link-to}} <span class="divider"></span></li>
+  <li class="active">Vertex [ {{id}} ]</li>
 </ul>
 
 {{#unless loading}}
   <div class='type-table margin-small-horizontal fill-full'>
-    <div class='align-left'>
-      <table class='detail-list'>
-        <tbody>
-          <tr>
-            <td>Vertex ID</td>
-            <td>{{id}}</td>
-          </tr>
-          <tr>
-            <td>DAG ID</td>
-            <td>{{dagID}}</td>
-          </tr>
-        </tbody>
-      </table>
-    </div>
     <div class='pill-container align-right'>
       {{bs-pills contentBinding='childDisplayViews' selectedBinding='childDisplayViewSelected' size='lg'}}
     </div>
@@ -47,4 +33,4 @@
   </div>
 {{else}}
   {{partial 'partials/loading-spinner'}}
-{{/unless}}
\ No newline at end of file
+{{/unless}}

http://git-wip-us.apache.org/repos/asf/tez/blob/088f92dc/tez-ui/src/main/webapp/app/templates/vertex/index.hbs
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/templates/vertex/index.hbs b/tez-ui/src/main/webapp/app/templates/vertex/index.hbs
index 557c644..2f2eeda 100644
--- a/tez-ui/src/main/webapp/app/templates/vertex/index.hbs
+++ b/tez-ui/src/main/webapp/app/templates/vertex/index.hbs
@@ -27,14 +27,39 @@
 
   <div class="horizontal-half align-children-left">
     <table class='detail-list'>
+       <thead>
+         <tr>
+           <th colspan=2>Vertex description</th>
+          </tr>
+      </thead>
       <tbody>
         <tr>
+          <td>Vertex ID</td>
+          <td>{{id}}</td>
+        </tr>
+        <tr>
           <td>Vertex Name</td>
           <td>
             {{name}}
           </td>
         </tr>
         <tr>
+          <td>Processor Class</td>
+          <td>{{processorClassName}}</td>
+        </tr>
+      </tbody>
+    </table>
+  </div>
+
+  <div style="padding-top: 20px;">
+    <table class='detail-list'>
+       <thead>
+         <tr>
+           <th colspan=2>Vertex details</th>
+          </tr>
+      </thead>
+      <tbody>
+        <tr>
           <td>{{t 'common.status'}}</td>
           <td>
             <i {{bind-attr class=':task-status iconStatus'}}></i>
@@ -43,36 +68,27 @@
           </td>
         </tr>
         <tr>
-          <td>Total Tasks</td>
-          <td>{{numTasks}}</td>
-        </tr>
-        <tr>
-          <td>Successful Tasks</td>
-          <td>{{sucessfulTasks}}</td>
+          <td>{{t 'common.time.start'}}</td>
+          <td>{{formatUnixTimestamp startTime}}</td>
         </tr>
         <tr>
-          <td>Failed Tasks</td>
-          <td>
-            {{failedTasks}}
-          </td>
-          <td>
-            {{#if hasFailedTasks}}
-              <a href='{{unbound failedTasksLink}}'>FailedTasks</a>
-            {{/if}}
-          </td>
+          <td>{{t 'common.time.end'}}</td>
+          <td>{{formatUnixTimestamp endTime}}</td>
         </tr>
         <tr>
-          <td>Killed Tasks</td>
-          <td>{{killedTasks}}</td>
+          <td>{{t 'common.time.duration'}}</td>
+          <td>{{formatDuration startTime endTime}}</td>
         </tr>
         {{#if hasFirstTaskStarted}}
           <tr>
             <td>First Task Start Time</td>
             <td>{{formatUnixTimestamp firstTaskStartTime}}
-            <td>
+              [
               {{#each taskid in firstTasksToStart}}
-                {{#link-to 'task' taskid}}{{taskid}}{{/link-to}}<br/>
+                {{#if _view.contentIndex}} | {{/if}}
+                {{#link-to 'task' taskid}}{{taskid}}{{/link-to}}
               {{/each}}
+              ]
             </td>
           </tr>
         {{/if}}
@@ -80,35 +96,17 @@
           <tr>
             <td>Last Task Finish Time</td>
             <td>{{formatUnixTimestamp lastTaskFinishTime}}
-            <td>
+              [
               {{#each taskid in lastTasksToFinish}}
-                {{#link-to 'task' taskid}}{{taskid}}{{/link-to}}<br/>
+                {{#if _view.contentIndex}} | {{/if}}
+                {{#link-to 'task' taskid}}{{taskid}}{{/link-to}}
               {{/each}}
+              ]
+            </td>
           </tr>
         {{/if}}
       </tbody>
     </table>
-  </div><div class="horizontal-half align-children-left" style="vertical-align: top; padding-left: 50px;">
-    <table class='detail-list inline-block'>
-      <tbody>
-        <tr>
-          <td>{{t 'common.time.start'}}</td>
-          <td>{{formatUnixTimestamp startTime}}</td>
-        </tr>
-        <tr>
-          <td>{{t 'common.time.end'}}</td>
-          <td>{{formatUnixTimestamp endTime}}</td>
-        </tr>
-        <tr>
-          <td>{{t 'common.time.duration'}}</td>
-          <td>{{formatDuration startTime endTime}}</td>
-        </tr>
-        <tr>
-          <td>Processor Class</td>
-          <td>{{processorClassName}}</td>
-        </tr>
-      </tbody>
-    </table>
   </div>
 
   {{#if hasStats}}
@@ -116,10 +114,32 @@
       <table class='detail-list'>
         <thead>
           <tr>
-            <th>Task Stats</th>
+            <th colspan=2>Tasks of this Vertex</th>
           </tr>
         </thead>
         <tbody>
+          <tr>
+            <td>Total Tasks</td>
+            <td>{{numTasks}}</td>
+          </tr>
+          <tr>
+            <td>Successful Tasks</td>
+            <td>{{sucessfulTasks}}</td>
+          </tr>
+          <tr>
+            <td>Failed Tasks</td>
+            <td>
+              {{failedTasks}}
+            </td>
+              {{#if hasFailedTasks}}
+                <a href='{{unbound failedTasksLink}}'>FailedTasks</a>
+              {{/if}}
+          </tr>
+          <tr>
+            <td>Killed Tasks</td>
+            <td>{{killedTasks}}</td>
+          </tr>
+
           {{#if avgTaskDuration}}
             <tr>
               <td>Average Duration</td>
@@ -129,22 +149,26 @@
           {{#if minTaskDuration}}
             <tr>
               <td>Minimum Duration</td>
-              <td>{{formatTimeMillis minTaskDuration}}</td>
-              <td>
+              <td>{{formatTimeMillis minTaskDuration}}
+                [
                 {{#each taskid in shortestDurationTasks}}
-                  {{#link-to 'task' taskid}}{{taskid}}{{/link-to}}<br/>
+                  {{#if _view.contentIndex}} | {{/if}}
+                  {{#link-to 'task' taskid}}{{taskid}}{{/link-to}}
                 {{/each}}
+                ]
               </td>
             </tr>
           {{/if}}
           {{#if maxTaskDuration}}
             <tr>
               <td>Maximum Duration</td>
-              <td>{{formatTimeMillis maxTaskDuration}}</td>
-              <td>
+              <td>{{formatTimeMillis maxTaskDuration}}
+                [
                 {{#each taskid in longestDurationTasks}}
-                  {{#link-to 'task' taskid}}{{taskid}}{{/link-to}}<br/>
+                  {{#if _view.contentIndex}} | {{/if}}
+                  {{#link-to 'task' taskid}}{{taskid}}{{/link-to}}
                 {{/each}}
+                ]
               </td>
             </tr>
           {{/if}}
@@ -156,7 +180,9 @@
 </div>
 
 {{#if diagnostics}}
-  {{#bs-panel heading="Diagnostics" collapsible=false dismiss=false type='danger'}}
-    {{formatDiagnostics diagnostics}}
-  {{/bs-panel}}
-{{/if}}
\ No newline at end of file
+  <div class="margin-small-vertical">
+    {{#bs-panel heading="Diagnostics" collapsible=false dismiss=false type='danger'}}
+      {{formatDiagnostics diagnostics}}
+    {{/bs-panel}}
+  </div>
+{{/if}}