| <div class="col-md-12"> |
| <!-- |
| 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. |
| --> |
| <div class="row"> |
| <!-- left half --> |
| <div class="col-md-6"> |
| <div class="row"> |
| <div class="col-md-12"> |
| <property-table |
| caption="Processor {{processor.id}}" |
| caption-tooltip="{{whatIsProcessor}}" |
| props-bind="processorInfoTable" |
| prop-name-class="col-xs-4 bold" |
| prop-value-class="col-xs-8 actor-path"> |
| </property-table> |
| </div> |
| |
| <div class="col-md-12"> |
| <executor-table |
| executors-bind="processor.executors"> |
| </executor-table> |
| </div> |
| </div> |
| </div> |
| <!-- end of left half --> |
| |
| <!-- right half --> |
| <div class="col-md-6"> |
| <metrics-charts></metrics-charts> |
| </div> |
| <!-- end of right half --> |
| </div> |
| |
| <div class="row"> |
| <div class="col-md-6"> |
| <h4 ng-style="{'margin-bottom': shouldPaginateTasks ? '7px' : ''}">Tasks |
| <remark style="font-size: 15.6px" type="info" placement="right" |
| tooltip="{{whatIsTask}}"></remark> |
| <div ng-if="shouldPaginateTasks" |
| style="display: inline-block; font-size: 12px; font-weight: 400;"> |
| <processor-task-pager |
| range="$parent.taskRange" count="processor.parallelism" query-limit="queryLimit"> |
| </processor-task-pager> |
| </div> |
| </h4> |
| <div class="row"> |
| <div class="col-sm-12"> |
| <metric-selector |
| metric-name="metricName" |
| metric-type="metricType" |
| metric-description="metricDescription"> |
| </metric-selector> |
| </div> |
| <div class="col-md-12"> |
| <h5>Distribution of {{metricDescription}}</h5> |
| |
| <div style="height: 110px"> |
| <bar-chart |
| ng-if="tasksBarChart != null" |
| options-bind="tasksBarChart.options" |
| datasource-bind="tasksBarChart.data"> |
| </bar-chart> |
| </div> |
| <div ng-include src="'views/apps/streamingapp/processor_task_table.html'" |
| ng-controller="StreamingAppProcessorTaskTableCtrl"></div> |
| </div> |
| </div> |
| </div> |
| |
| <div class="col-md-6" |
| style="min-height: 200px"> |
| <h4>Task Metrics Inspector</h4> |
| <ui-select theme="select2" multiple limit="1" ng-model="tasks.selected"> |
| <ui-select-match placeholder="Click here to pick tasks for inspection...">{{$item}} |
| </ui-select-match> |
| <ui-select-choices repeat="task in tasks.available|filter:$select.search"> |
| <span ng-bind="task"></span> |
| </ui-select-choices> |
| </ui-select> |
| |
| <div ng-if="tasks.selected.length>0"> |
| <br/> |
| |
| <div ng-include |
| src="'views/apps/streamingapp/processor_task_charts.html?'+tasks.selected.length" |
| ng-controller="StreamingAppProcessorTaskChartsCtrl"></div> |
| </div> |
| </div> |
| </div> |
| </div> |