<!--
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 id="index" class="clearfix">

  <div class="clearfix">

    <div class="index-left">

      <div class="block" id="instance">

          <h2><span>Instance</span></h2>

          <div class="content">

            <ul class="data" ngShow="system">

              <li class="start_time"><dl class="clearfix">
                <dt><span>Start</span></dt>
                  <dd class="timeago">{{system.jvm.jmx.startTime | timeago}}</dd>
              </dl></li>

<!--
              <li class="host"><dl class="clearfix">
                <dt><span>Host</span></dt>
                  <dd></dd>
              </dl></li>

              <li class="dir dir_cwd"><dl class="clearfix">
                <dt><span>CWD</span></dt>
                <dd></dd>
              </dl></li>

              <li class="dir dir_instance"><dl class="clearfix">
                <dt><span>Instance</span></dt>
                <dd></dd>
              </dl></li>

              <li class="dir dir_data"><dl class="clearfix">
                <dt><span>Data</span></dt>
                <dd></dd>
              </dl></li>

              <li class="dir dir_index"><dl class="clearfix">
                <dt><span>Index</span></dt>
                <dd></dd>
              </dl></li>
-->
            </ul>

          </div>

      </div>

      <div class="block" id="versions">

          <h2><span>Versions</span></h2>

          <div class="content">

            <ul class="data">

              <li class="solr solr_spec_version"><dl class="clearfix">
                <dt><span>solr-spec</span></dt>
                  <dd>{{system.lucene["solr-spec-version"]}}</dd>
              </dl></li>

              <li class="solr_impl_version"><dl class="clearfix">
                <dt class=""><span>solr-impl</span></dt>
                  <dd>{{system.lucene["solr-impl-version"]}}</dd>
              </dl></li>

              <li class="lucene lucene_spec_version"><dl class="clearfix">
                <dt><span>lucene-spec</span></dt>
                  <dd>{{system.lucene["lucene-spec-version"]}}</dd>
              </dl></li>

              <li class="lucene_impl_version"><dl class="clearfix">            
                <dt><span>lucene-impl</span></dt>
                  <dd>{{system.lucene["lucene-impl-version"]}}</dd>
              </dl></li>

            </ul>

          </div>

          <div class="content" ng-show="releaseDaysOld > 365">
            <p class="warning-msg"><img src="img/ico/exclamation-button.png"/>&nbsp;WARNING: This Solr release is more than a year old. Consider upgrading.</p>
          </div>
      </div>

    </div>

    <div class="index-right">

      <div class="block" id="system">

          <h2><span>System</span>
    <small class="bar-desc">{{load_average}}</small>
    </h2>
          <a class="reload" ng-click="reload()"><span>reload</span></a>

          <div class="content">

            <div id="physical-memory-bar" ng-show="system.system.totalPhysicalMemorySize && system.system.freePhysicalMemorySize">

              <p data-desc="physical-memory-bar">Physical Memory
         <small class="bar-desc">{{memoryPercentage}}</small>
        </p>
              <div class="bar-holder bar-lvl-2">

                <div class="bar-max bar">
                  <span class="bar-max val">{{memoryMax}}</span>

                  <div class="bar-total bar" ng-style="{width:memoryPercentage}">
                    <span class="bar-total val" title="raw: {{memoryTotal}}B">{{memoryTotalDisplay}}</span>

                  </div>

                </div>

              </div>

            </div>

            <div id="swap-space-bar" ng-show="system.system.totalSwapSpaceSize && system.system.freeSwapSpaceSize">

              <p data-desc="swap-space-bar">Swap Space
          <small class="bar-desc">{{swapPercentage}}</small>
        </p>
              <div class="bar-holder bar-lvl-2">

                <div class="bar-max bar">
                  <span class="bar-max val">{{swapMax}}</span>

                  <div class="bar-total bar" ng-style="{width:swapPercentage}">
                    <span class="bar-total val" title="raw:{{swapTotal}}B">{{swapTotalDisplay}}</span>

                  </div>

                </div>

              </div>

            </div>

          <div id="file-descriptor-bar" ng-show="system.system.maxFileDescriptorCount && system.system.openFileDescriptorCount">

              <p data-desc="file-descriptor-bar">File Descriptor Count
          <small class="bar-desc">{{fileDescriptorPercentage}}</small>
        </p>
              <div class="bar-holder bar-lvl-2">

                <div class="bar-max bar">
                  <span class="bar-max val">{{system.system.maxFileDescriptorCount}}</span>

                  <div class="bar-total bar" ng-style="{width:fileDescriptorPercentage}">
                    <span class="bar-total val">{{system.system.openFileDescriptorCount}}</span>

                  </div>

                </div>

              </div>

            </div>

            <p class="no-info" ng-show="noInfo">Sorry, no information available</p>

          </div>

      </div>

    </div>

  </div>

  <div class="clearfix">

    <div class="index-left">

      <div class="block" id="jvm">

          <h2><span>JVM</span></h2>

          <div class="content clearfix">

            <ul class="data">

              <li class="jvm_version"><dl class="clearfix">            
                <dt><span>Runtime</span></dt>
                  <dd>{{system.jvm.name}} {{system.jvm.version}}</dd>
              </dl></li>

              <li class="processors"><dl class="clearfix">            
                <dt><span>Processors</span></dt>
                  <dd>{{system.jvm.processors}}</dd>
              </dl></li>

              <li class="command_line_args"><dl class="clearfix">
                <dt><span>Args</span></dt>
                <dd ng-repeat="arg in commandLineArgs track by $index" ng-class="{'odd':$odd}">{{arg}}</dd>
              </dl></li>
              <li>
                <div id="sort-command-line" ng-click="toggleCommandLineOrder()"><a ng-class="{on: commandLineOrderBy=='Sorted'}">Sort JVM Command line Args</a></div>
              </li>

            </ul>

          </div>

      </div>

    </div>
    <div class="index-right">

      <div class="block" id="jvm-memory">

          <h2><span data-desc="jvm-memory-bar">JVM-Memory
       <small class="bar-desc">{{javaMemoryPercentage}}</small>
    </span></h2>

          <div class="content">

            <div id="jvm-memory-bar">
              <div class="bar-holder bar-lvl-3">

                <div class="bar-max bar">
                  <span class="bar-max val" title="raw: {{javaMemoryMax}}">{{javaMemoryMax}}</span>

                  <div class="bar-total bar" ng-style="{width: javaMemoryTotalPercentage}">
                    <span class="bar-total val" title="raw: {{javaMemoryTotal}}B">{{javaMemoryTotalDisplay}}</span>

                    <div class="bar-used bar" ng-style="{width: javaMemoryUsedPercentage}">
                      <span class="bar-used val" title="raw: {{javaMemoryUsed}}B">{{javaMemoryUsedDisplay}}</span>

                    </div>

                  </div>

                </div>

              </div>
            </div>

            <div id="gpu" ng-show="gpuAvailable">
              <h2><span>GPU</span>
                <small class="bar-desc">{{gpuCount}} detected</small>
              </h2>

              <div class="content clearfix">
                <ul class="data">
                  <li class="gpu-name"><dl class="clearfix">
                    <dt><span>Name</span></dt>
                    <dd>{{gpuName}}</dd>
                  </dl></li>

                  <li class="gpu-compute"><dl class="clearfix">
                    <dt><span>Compute</span></dt>
                    <dd>{{gpuCompute}}</dd>
                  </dl></li>

                </ul>

                <div ng-repeat="gpu in gpuDevices" class="gpu-memory-bar-container">
                  <!-- Memory bar for active GPU -->
                  <div class="gpu-memory-bar" ng-show="gpu.active && gpu.totalMemory && gpu.usedMemory">
                    <p data-desc="gpu-memory-bar">{{gpu.name}} Memory
                      <small class="bar-desc">{{gpu.memoryPercentage}}</small>
                    </p>
                    <div class="bar-holder bar-lvl-2">
                      <div class="bar-max bar">
                        <span class="bar-max val">{{gpu.totalMemoryDisplay}}</span>
                        <div class="bar-total bar" ng-style="{width: gpu.memoryPercentage}">
                          <span class="bar-total val" title="raw: {{gpu.usedMemory}}B">{{gpu.usedMemoryDisplay}}</span>
                        </div>
                      </div>
                    </div>
                  </div>

                  <!-- Simple list entry for inactive GPUs -->
                  <div class="gpu-info" ng-show="!gpu.active">
                    <p>{{gpu.name}} (ID: {{gpu.id}}, Compute: {{gpu.computeCapability}})</p>
                  </div>
                </div>
              </div>
            </div>

          </div>

      </div>
      <div class="block" id="security">

          <h2>Security</h2>

          <div class="content" ng-show="isSecurityEnabled">

            <ul class="data">

              <li class="authentication_plugin"><dl class="clearfix">
                <dt><span>Authentication Plugin</span></dt>
                  <dd>{{system.security["authenticationPlugin"]}}</dd>
              </dl></li>

              <li class="authorization_plugin"><dl class="clearfix">
                <dt><span>Authorization Plugin</span></dt>
                  <dd>{{system.security["authorizationPlugin"]}}</dd>
              </dl></li>

              <li class="username"><dl class="clearfix">
                <dt><span>Current Username</span></dt>
                  <dd>{{system.security["username"]}}</dd>
              </dl></li>

              <li class="user_roles"><dl class="clearfix">
                <dt><span>User Roles</span></dt>
                  <dd>{{system.security["roles"]}}</dd>
              </dl></li>

            </ul>

          </div>

          <div ng-show="!isSecurityEnabled" style="text-align: left">
            <p class="warning-msg"><img src="img/ico/shield--exclamation.png"/>&nbsp;WARNING: Security is not enabled for this server!</p>
            <p>See <a href="/solr/#/~security">security screen</a> for how to enable authentication</p>
            <p>TLS enabled? <img ng-show="tls" src="img/ico/tick.png"/><img ng-show="!tls" src="img/ico/cross.png"/></p>
          </div>

      </div>

    </div>

  </div>

</div>
