You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by se...@apache.org on 2015/09/17 20:20:13 UTC
[41/51] [abbrv] flink git commit: [FLINK-2357] [web dashboard] Show
plan (and optimizer properties) as a dedicated view
http://git-wip-us.apache.org/repos/asf/flink/blob/6a3b095e/flink-runtime-web/web-dashboard/web/partials/jobs/job.exceptions.html
----------------------------------------------------------------------
diff --git a/flink-runtime-web/web-dashboard/web/partials/jobs/job.exceptions.html b/flink-runtime-web/web-dashboard/web/partials/jobs/job.exceptions.html
index fc43714..bcaef0d 100644
--- a/flink-runtime-web/web-dashboard/web/partials/jobs/job.exceptions.html
+++ b/flink-runtime-web/web-dashboard/web/partials/jobs/job.exceptions.html
@@ -17,7 +17,7 @@ See the License for the specific language governing permissions and
limitations under the License.
-->
-<div ng-repeat="exception in exceptions['all-exceptions']" class="panel panel-default panel-multi">
+<div class="panel panel-default panel-multi">
<div class="panel-heading clearfix">
<div class="panel-title">Root exception</div>
</div>
http://git-wip-us.apache.org/repos/asf/flink/blob/6a3b095e/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node-list.html
----------------------------------------------------------------------
diff --git a/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node-list.html b/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node-list.html
index 94a9930..27e965a 100644
--- a/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node-list.html
+++ b/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node-list.html
@@ -17,9 +17,10 @@ See the License for the specific language governing permissions and
limitations under the License.
-->
-<table class="table table-hover table-clickable table-activable">
+<table class="table table-body-hover table-clickable table-activable">
<thead>
<tr>
+ <th class="tab-column"></th>
<th>Start Time</th>
<th>End Time</th>
<th>Duration</th>
@@ -32,13 +33,17 @@ limitations under the License.
<th>Status</th>
</tr>
</thead>
- <tbody>
- <tr ng-repeat="v in job.vertices" ng-class="{ active: job.currentNode && v.id == job.currentNode.id }" id="vertex-row-{{v.id}}" ui-sref="{nodeid: v.id}">
- <td>{{ v['start-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss' }}
- <div ui-view="node"></div>
+ <tbody ng-repeat="v in job.vertices" ng-class="{ active: job.currentNode && v.id == job.currentNode.id }" ui-sref="{nodeid: v.id}">
+ <tr>
+ <td class="tab-column">
+ <ul ng-if="job.currentNode && v.id == job.currentNode.id" class="nav nav-tabs tabs-vertical">
+ <li ng-class="{ active: ('single-job.plan.node.generic' | isState) }"><a ng-click="gotoGeneric(v.id)" title="Basic"><i class="fa fa-tasks"></i></a></li>
+ <li ng-class="{ active: ('single-job.plan.node.accumulators' | isState) }"><a ng-click="gotoAccumulators(v.id)" title="Accumulators"><i class="fa fa-calculator"></i></a></li>
+ </ul>
</td>
- <td>{{ v['end-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss' }}</td>
- <td>{{ v.duration }} ms</td>
+ <td><span ng-if="v['start-time'] > -1">{{ v['start-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss' }}</span></td>
+ <td><span ng-if="v['end-time'] > -1">{{ v['end-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss' }}</span></td>
+ <td><span ng-if="v.duration > -1">{{ v.duration }} ms</span></td>
<td>{{ v.name | humanizeTaskName }}</td>
<td>{{ v.metrics['read-bytes'] }}</td>
<td>{{ v.metrics['read-records'] }}</td>
@@ -53,5 +58,12 @@ limitations under the License.
<bs-label status="{{v.status}}">{{v.status}}</bs-label>
</td>
</tr>
+ <tr ng-if="job.currentNode && v.id == job.currentNode.id">
+ <td class="tab-column"></td>
+ <td colspan="10">
+ <div ng-if="'single-job.plan.node.generic' | isState" ng-include=" 'partials/jobs/job.plan.node.subtasks.html' "></div>
+ <div ng-if="'single-job.plan.node.accumulators' | isState" ng-include=" 'partials/jobs/job.plan.node.accumulators.html' "></div>
+ </td>
+ </tr>
</tbody>
</table>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flink/blob/6a3b095e/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node-nav.html
----------------------------------------------------------------------
diff --git a/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node-nav.html b/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node-nav.html
deleted file mode 100644
index e69de29..0000000
http://git-wip-us.apache.org/repos/asf/flink/blob/6a3b095e/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node-tabs.html
----------------------------------------------------------------------
diff --git a/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node-tabs.html b/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node-tabs.html
index 3ca9c90..15a8638 100644
--- a/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node-tabs.html
+++ b/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node-tabs.html
@@ -6,5 +6,8 @@
<li ui-sref-active="active"><a ui-sref=".properties({nodeid: nodeid})">Properties</a></li>
</ul>
</nav>
+ <div ng-if="'single-job.plan.node.properties' | isState" class="panel-heading clearfix">
+ <div class="panel-title">{{ node.description | humanizeTaskName }}</div>
+ </div>
<div ui-view="node-details" class="panel-body clean"></div>
</div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flink/blob/6a3b095e/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node.properties.html
----------------------------------------------------------------------
diff --git a/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node.properties.html b/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node.properties.html
index 1a1ed14..dce9fe5 100644
--- a/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node.properties.html
+++ b/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node.properties.html
@@ -17,7 +17,7 @@ See the License for the specific language governing permissions and
limitations under the License.
-->
-<div ng-if="node" class="row">
+<div class="row">
<div class="col-sm-6 col-md-4">
<table ng-if="node.optimizer_properties.global_properties" class="table table-properties">
<thead>
http://git-wip-us.apache.org/repos/asf/flink/blob/6a3b095e/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node.subtasks.html
----------------------------------------------------------------------
diff --git a/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node.subtasks.html b/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node.subtasks.html
index 34fedd0..594e080 100644
--- a/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node.subtasks.html
+++ b/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node.subtasks.html
@@ -16,8 +16,9 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
+
-->
-<table class="table table-hover table-clickable">
+<table class="table table-hover table-clickable table-activable table-inner">
<thead>
<tr>
<th>Start Time</th>
@@ -27,26 +28,24 @@ limitations under the License.
<th>Records read</th>
<th>Bytes written</th>
<th>Records written</th>
- <th>Tasks</th>
+ <th>Attempt</th>
+ <th>Host</th>
<th>Status</th>
</tr>
</thead>
<tbody>
- <tr>
- <td>{{ vertex['start-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss' }}</td>
- <td>{{ vertex['end-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss' }}</td>
- <td>{{ vertex.duration }} ms</td>
- <td>{{ vertex.metrics['read-bytes'] }}</td>
- <td>{{ vertex.metrics['read-records'] }}</td>
- <td>{{ vertex.metrics['write-bytes'] }}</td>
- <td>{{ vertex.metrics['write-records'] }}</td>
- <td>
- <div class="label-group">
- <bs-label status="{{status}}" ng-repeat="(index, status) in stateList">{{vertex.tasks[status]}}</bs-label>
- </div>
- </td>
+ <tr ng-repeat="subtask in vertex.st">
+ <td><span ng-if="subtask['start-time'] > -1">{{ subtask['start-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss' }}</span></td>
+ <td><span ng-if="subtask['end-time'] > -1">{{ subtask['end-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss' }}</span></td>
+ <td><span ng-if="subtask.duration > -1">{{ subtask.duration }} ms</span></td>
+ <td><span ng-if="subtask.metrics['read-bytes'] > -1">{{ subtask.metrics['read-bytes'] }}</span></td>
+ <td><span ng-if="subtask.metrics['read-records'] > -1">{{ subtask.metrics['read-records'] }}</span></td>
+ <td><span ng-if="subtask.metrics['write-bytes'] > -1">{{ subtask.metrics['write-bytes'] }}</span></td>
+ <td><span ng-if="subtask.metrics['write-records'] > -1">{{ subtask.metrics['write-records'] }}</span></td>
+ <td>{{ subtask.attempt + 1 }}</td>
+ <td>{{ subtask.host }}</td>
<td>
- <bs-label status="{{vertex.status}}">{{vertex.status}}</bs-label>
+ <bs-label status="{{subtask.status}}">{{subtask.status}}</bs-label>
</td>
</tr>
</tbody>
http://git-wip-us.apache.org/repos/asf/flink/blob/6a3b095e/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 3f47993..6220ac8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -741,11 +741,9 @@ under the License.
<exclude>flink-runtime-web/web-dashboard/vendor-local/d3-timeline.js</exclude>
<exclude>flink-runtime-web/web-dashboard/assets/fonts/FontAwesome.otf</exclude>
<exclude>flink-runtime-web/web-dashboard/assets/fonts/fontawesome*</exclude>
- <exclude>flink-runtime-web/web-dashboard/web/css/vendor.css</exclude>
- <exclude>flink-runtime-web/web-dashboard/web/fonts/FontAwesome.otf</exclude>
- <exclude>flink-runtime-web/web-dashboard/web/fonts/fontawesome*</exclude>
- <exclude>flink-runtime-web/web-dashboard/web/js/index.js</exclude>
- <exclude>flink-runtime-web/web-dashboard/web/js/vendor.js</exclude>
+
+ <!-- generated contents -->
+ <exclude>flink-runtime-web/web-dashboard/web/**</exclude>
<!-- downloaded and generated web libraries. -->
<exclude>flink-runtime-web/web-dashboard/node_modules/**</exclude>