<!--
   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.
-->
<h2>Node counts</h2>

<table class="table table-bordered table-striped" class="col-md-6">
    <tbody>
    <tr ng-repeat="typestat in $ctrl.nodemanagermetrics.NodeCount | orderBy:'key':false:$ctrl.nodeOrder">
        <td>{{typestat.key}}</td>
        <td>{{typestat.value}}</td>
    </tr>
    </tbody>
</table>

<h2>Status</h2>
<table class="table table-bordered table-striped" class="col-md-6">
    <tbody>
    <tr>
        <td>Client Rpc port</td>
        <td>{{$ctrl.overview.jmx.ClientRpcPort}}</td>
    </tr>
    <tr>
        <td>Datanode Rpc port</td>
        <td>{{$ctrl.overview.jmx.DatanodeRpcPort}}</td>
    </tr>
    <tr>
        <td>Node Manager: Safe mode status</td>
        <td>{{$ctrl.scmmetrics.InSafeMode}}</td>
    </tr>
    </tbody>
</table>
