[FLINK-6661][web] Merge "Subtasks" and "Taskmanagers" view
This closes #3998. Project: http://git-wip-us.apache.org/repos/asf/flink/repo Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/c5955021 Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/c5955021 Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/c5955021 Branch: refs/heads/master Commit: c595502148de7dc02a407480570f9e51df81b268 Parents: 762141e Author: zentol <[email protected]> Authored: Fri May 26 13:41:03 2017 +0200 Committer: zentol <[email protected]> Committed: Wed Jun 7 11:33:30 2017 +0200 ---------------------------------------------------------------------- .../app/partials/jobs/job.plan.jade | 3 - .../jobs/job.plan.node-list.subtasks.jade | 8 ++- .../jobs/job.plan.node-list.taskmanagers.jade | 56 ------------------ .../web-dashboard/app/scripts/index.coffee | 7 --- .../app/scripts/modules/jobs/jobs.ctrl.coffee | 23 +++----- .../web-dashboard/web/js/hs/index.js | 4 +- flink-runtime-web/web-dashboard/web/js/index.js | 4 +- .../web/partials/jobs/job.plan.html | 1 - .../jobs/job.plan.node-list.subtasks.html | 7 ++- .../jobs/job.plan.node-list.taskmanagers.html | 62 -------------------- 10 files changed, 25 insertions(+), 150 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flink/blob/c5955021/flink-runtime-web/web-dashboard/app/partials/jobs/job.plan.jade ---------------------------------------------------------------------- diff --git a/flink-runtime-web/web-dashboard/app/partials/jobs/job.plan.jade b/flink-runtime-web/web-dashboard/app/partials/jobs/job.plan.jade index c7d3142..25a5a25 100644 --- a/flink-runtime-web/web-dashboard/app/partials/jobs/job.plan.jade +++ b/flink-runtime-web/web-dashboard/app/partials/jobs/job.plan.jade @@ -28,9 +28,6 @@ split a(ui-sref=".subtasks({nodeid: nodeid})") Subtasks li(ui-sref-active='active') - a(ui-sref=".taskmanagers({nodeid: nodeid})") Subtasks by TaskManager - - li(ui-sref-active='active') a(ui-sref=".metrics({nodeid: nodeid})") Task Metrics li(ui-sref-active='active') http://git-wip-us.apache.org/repos/asf/flink/blob/c5955021/flink-runtime-web/web-dashboard/app/partials/jobs/job.plan.node-list.subtasks.jade ---------------------------------------------------------------------- diff --git a/flink-runtime-web/web-dashboard/app/partials/jobs/job.plan.node-list.subtasks.jade b/flink-runtime-web/web-dashboard/app/partials/jobs/job.plan.node-list.subtasks.jade index 2067256..3bf6f1b 100644 --- a/flink-runtime-web/web-dashboard/app/partials/jobs/job.plan.node-list.subtasks.jade +++ b/flink-runtime-web/web-dashboard/app/partials/jobs/job.plan.node-list.subtasks.jade @@ -15,6 +15,11 @@ See the License for the specific language governing permissions and limitations under the License. + +label.checkbox-inline + input.checkbox-inline(type="checkbox", ng-model="aggregate", ngChange="getSubtasks()") + | Aggregate task statistics by TaskManager + table.table.table-body-hover.table-clickable.table-activable thead tr @@ -53,4 +58,5 @@ table.table.table-body-hover.table-clickable.table-activable bs-label(status="{{v.status}}") {{v.status}} tr(ng-if="nodeid && v.id == nodeid") td(colspan="11") - div(ng-include=" 'partials/jobs/job.plan.node.subtasks.html' ") + div(ng-if="!aggregate" ng-include=" 'partials/jobs/job.plan.node.subtasks.html' ") + div(ng-if="aggregate" ng-include=" 'partials/jobs/job.plan.node.taskmanagers.html' ") http://git-wip-us.apache.org/repos/asf/flink/blob/c5955021/flink-runtime-web/web-dashboard/app/partials/jobs/job.plan.node-list.taskmanagers.jade ---------------------------------------------------------------------- diff --git a/flink-runtime-web/web-dashboard/app/partials/jobs/job.plan.node-list.taskmanagers.jade b/flink-runtime-web/web-dashboard/app/partials/jobs/job.plan.node-list.taskmanagers.jade deleted file mode 100644 index 86e5898..0000000 --- a/flink-runtime-web/web-dashboard/app/partials/jobs/job.plan.node-list.taskmanagers.jade +++ /dev/null @@ -1,56 +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.table.table-body-hover.table-clickable.table-activable - thead - tr - th Start Time - th End Time - th Duration - th Name - th Bytes received - th Records received - th Bytes sent - th Records sent - th Parallelism - th Tasks - th Status - - 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' }} - td - span(ng-if="v['end-time'] > -1") {{ v['end-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss' }} - td - span(ng-if="v.duration > -1" title="{{v.duration | humanizeDuration:false}}") {{v.duration | humanizeDuration:true}} - - td.td-long {{ v.name | humanizeText }} - td(title="{{v.metrics['read-bytes']}} bytes") {{ v.metrics['read-bytes'] | humanizeBytes }} - td {{ v.metrics['read-records'] | number }} - td(title="{{v.metrics['write-bytes']}} bytes") {{ v.metrics['write-bytes'] | humanizeBytes }} - td {{ v.metrics['write-records'] | number }} - td {{ v.parallelism }} - td - .label-group - bs-label(status="{{status}}" ng-repeat="(index, status) in stateList") {{v.tasks[status]}} - - td - bs-label(status="{{v.status}}") {{v.status}} - tr(ng-if="nodeid && v.id == nodeid") - td(colspan="11") - div(ng-include=" 'partials/jobs/job.plan.node.taskmanagers.html' ") http://git-wip-us.apache.org/repos/asf/flink/blob/c5955021/flink-runtime-web/web-dashboard/app/scripts/index.coffee ---------------------------------------------------------------------- diff --git a/flink-runtime-web/web-dashboard/app/scripts/index.coffee b/flink-runtime-web/web-dashboard/app/scripts/index.coffee index 52bb075..2331abb 100644 --- a/flink-runtime-web/web-dashboard/app/scripts/index.coffee +++ b/flink-runtime-web/web-dashboard/app/scripts/index.coffee @@ -128,13 +128,6 @@ angular.module('flinkApp', ['ui.router', 'angularMoment', 'dndLists']) 'node-details': templateUrl: "partials/jobs/job.plan.node-list.watermarks.html" - .state "single-job.plan.taskmanagers", - url: "/taskmanagers" - views: - 'node-details': - templateUrl: "partials/jobs/job.plan.node-list.taskmanagers.html" - controller: 'JobPlanTaskManagersController' - .state "single-job.plan.accumulators", url: "/accumulators" views: http://git-wip-us.apache.org/repos/asf/flink/blob/c5955021/flink-runtime-web/web-dashboard/app/scripts/modules/jobs/jobs.ctrl.coffee ---------------------------------------------------------------------- diff --git a/flink-runtime-web/web-dashboard/app/scripts/modules/jobs/jobs.ctrl.coffee b/flink-runtime-web/web-dashboard/app/scripts/modules/jobs/jobs.ctrl.coffee index ebe8e98..517b00c 100644 --- a/flink-runtime-web/web-dashboard/app/scripts/modules/jobs/jobs.ctrl.coffee +++ b/flink-runtime-web/web-dashboard/app/scripts/modules/jobs/jobs.ctrl.coffee @@ -197,9 +197,15 @@ angular.module('flinkApp') # -------------------------------------- .controller 'JobPlanSubtasksController', ($scope, JobsService) -> + $scope.aggregate = false + getSubtasks = -> - JobsService.getSubtasks($scope.nodeid).then (data) -> - $scope.subtasks = data + if $scope.aggregate + JobsService.getTaskManagers($scope.nodeid).then (data) -> + $scope.taskmanagers = data + else + JobsService.getSubtasks($scope.nodeid).then (data) -> + $scope.subtasks = data if $scope.nodeid and (!$scope.vertex or !$scope.vertex.st) getSubtasks() @@ -209,19 +215,6 @@ angular.module('flinkApp') # -------------------------------------- -.controller 'JobPlanTaskManagersController', ($scope, JobsService) -> - getTaskManagers = -> - JobsService.getTaskManagers($scope.nodeid).then (data) -> - $scope.taskmanagers = data - - if $scope.nodeid and (!$scope.vertex or !$scope.vertex.st) - getTaskManagers() - - $scope.$on 'reload', (event) -> - getTaskManagers() if $scope.nodeid - -# -------------------------------------- - .controller 'JobPlanAccumulatorsController', ($scope, JobsService) -> getAccumulators = -> JobsService.getAccumulators($scope.nodeid).then (data) ->
