Repository: flink Updated Branches: refs/heads/master 762141e55 -> c59550214
http://git-wip-us.apache.org/repos/asf/flink/blob/c5955021/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.html ---------------------------------------------------------------------- diff --git a/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.html b/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.html index 79ff0d3..59179d2 100644 --- a/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.html +++ b/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.html @@ -28,7 +28,6 @@ limitations under the License. <nav class="navbar navbar-default navbar-secondary-additional"> <ul class="nav nav-tabs"> <li ui-sref-active="active"><a ui-sref=".subtasks({nodeid: nodeid})">Subtasks</a></li> - <li ui-sref-active="active"><a ui-sref=".taskmanagers({nodeid: nodeid})">Subtasks by TaskManager</a></li> <li ui-sref-active="active"><a ui-sref=".metrics({nodeid: nodeid})">Task Metrics</a></li> <li ui-sref-active="active"><a ui-sref=".watermarks({nodeid: nodeid})">Watermarks</a></li> <li ui-sref-active="active"><a ui-sref=".accumulators({nodeid: nodeid})">Accumulators</a></li> http://git-wip-us.apache.org/repos/asf/flink/blob/c5955021/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node-list.subtasks.html ---------------------------------------------------------------------- diff --git a/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node-list.subtasks.html b/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node-list.subtasks.html index 8261bdc..4dc8996 100644 --- a/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node-list.subtasks.html +++ b/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node-list.subtasks.html @@ -16,7 +16,11 @@ 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. + --> +<label class="checkbox-inline"> + <input type="checkbox" ng-model="aggregate" ngChange="getSubtasks()" class="checkbox-inline"/>Aggregate task statistics by TaskManager +</label> <table class="table table-body-hover table-clickable table-activable"> <thead> <tr> @@ -55,7 +59,8 @@ limitations under the License. </tr> <tr ng-if="nodeid && v.id == nodeid"> <td colspan="11"> - <div ng-include=" 'partials/jobs/job.plan.node.subtasks.html' "></div> + <div ng-if="!aggregate" ng-include=" 'partials/jobs/job.plan.node.subtasks.html' "></div> + <div ng-if="aggregate" ng-include=" 'partials/jobs/job.plan.node.taskmanagers.html' "></div> </td> </tr> </tbody> http://git-wip-us.apache.org/repos/asf/flink/blob/c5955021/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node-list.taskmanagers.html ---------------------------------------------------------------------- diff --git a/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node-list.taskmanagers.html b/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node-list.taskmanagers.html deleted file mode 100644 index f322ac4..0000000 --- a/flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node-list.taskmanagers.html +++ /dev/null @@ -1,62 +0,0 @@ - -<!-- -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -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-body-hover table-clickable table-activable"> - <thead> - <tr> - <th>Start Time</th> - <th>End Time</th> - <th>Duration</th> - <th>Name</th> - <th>Bytes received</th> - <th>Records received</th> - <th>Bytes sent</th> - <th>Records sent</th> - <th>Parallelism</th> - <th>Tasks</th> - <th>Status</th> - </tr> - </thead> - <tbody ng-repeat="v in job.vertices" ng-class="{ active: v.id == nodeid }" ng-click="changeNode(v.id)"> - <tr ng-if="v.type == 'regular'"> - <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" title="{{v.duration | humanizeDuration:false}}">{{v.duration | humanizeDuration:true}}</span></td> - <td class="td-long">{{ v.name | humanizeText }}</td> - <td title="{{v.metrics['read-bytes']}} bytes">{{ v.metrics['read-bytes'] | humanizeBytes }}</td> - <td>{{ v.metrics['read-records'] | number }}</td> - <td title="{{v.metrics['write-bytes']}} bytes">{{ v.metrics['write-bytes'] | humanizeBytes }}</td> - <td>{{ v.metrics['write-records'] | number }}</td> - <td>{{ v.parallelism }}</td> - <td> - <div class="label-group"> - <bs-label status="{{status}}" ng-repeat="(index, status) in stateList">{{v.tasks[status]}}</bs-label> - </div> - </td> - <td> - <bs-label status="{{v.status}}">{{v.status}}</bs-label> - </td> - </tr> - <tr ng-if="nodeid && v.id == nodeid"> - <td colspan="11"> - <div ng-include=" 'partials/jobs/job.plan.node.taskmanagers.html' "></div> - </td> - </tr> - </tbody> -</table> \ No newline at end of file
