github.com/billybanfield/evergreen@v0.0.0-20170525200750-eeee692790f7/service/templates/scheduler_events.html (about)

     1  {{define "scripts"}}
     2  <script type="text/javascript">
     3    window.userTz = {{GetTimezone $.User}};
     4    window.distro = {{.DistroId}};
     5  </script>
     6  <script type="text/javascript" src="{{Static "js" "scheduler_events.js"}}?hash={{ StaticsMD5 }}"></script>
     7  {{end}}
     8  
     9  {{define "title"}}
    10  Evergreen - Scheduler Task Queue Logs
    11  {{end}}
    12  
    13  {{define "content"}}
    14  <div class="container" ng-controller="SchedulerEventCtrl">
    15    <div class="row">
    16      <h2> [[distro]] </h2>
    17      <ul class="nav nav-tabs">
    18        <li ng-class="{active:tab == consts.logs}"><a href="#" ng-click="setTab(consts.logs)">Logs</a></li>
    19        <li ng-class="{active:tab == consts.stats}"><a href="#" ng-click="setTab(consts.stats)">Statistics</a></li>
    20      </ul>
    21    </div>
    22  
    23    <div ng-show="tab == consts.logs">
    24      <div ng-show="fullEvents.length == 0">
    25        <h4> No scheduler logs for [[distro]]</h4>
    26      </div>
    27      <div class="eventlog row" ng-repeat="event in fullEvents" ng-show="event.data.task_queue_info.task_queue_length > 0">
    28        <div class="timestamp col-lg-2 col-md-3 col-sm-4" style="min-width: 250px;">[[event.timestamp | convertDateToUserTimezone:userTz:'MMM D, YYYY h:mm:ss a']]</div>
    29        <div class="event_details col-lg-9 col-md-8 col-sm-7">
    30          <span class="log-elt"> Hosts Running:  [[event.data.task_queue_info.num_hosts_running]]</span>
    31          <span class="log-elt"> Tasks in Queue:  [[event.data.task_queue_info.task_queue_length]]</span>
    32          <span class="log-elt"> Expected Duration:  [[event.data.task_queue_info.expected_duration | stringifyNanoseconds : true]]</span>
    33        </div>
    34      </div>
    35    </div>
    36  
    37    <div ng-show="tab == consts.stats">
    38      <div class="row">
    39        <div class="col-lg-3">
    40          <h4> Granularity </h4>
    41          <div class="btn-group btn-group-sm">
    42            <a class="pointer btn btn-default" ng-repeat="granularity in granularitySeconds" ng-class="{active: currentGranularity.value == granularity.value}" ng-click="setGranularity(granularity)">
    43              [[granularity.display]]
    44            </a>
    45          </div>
    46        </div>
    47        <div class="col-lg-5 btn-group">
    48          <h4> Time Back </h4>
    49          <div class="btn-group btn-group-sm">
    50            <a class="pointer btn btn-default" ng-repeat="day in numberDays" ng-class="{active: currentNumberDays.value == day.value, disabled: disableDays(day)}" ng-click="setNumberDays(day)">
    51              [[day.display]]
    52            </a>
    53          </div>
    54        </div>
    55      </div>
    56  
    57      <div class="row">
    58      <div class="col-lg-10 stats-table">
    59        <table class="table table-bordered table-hover">
    60          <tr class="stats-header"> 
    61            <th> Timeframe </th>
    62            <th> Average Scheduled to Start Time </th>
    63            <th> Number Tasks </th>
    64          </tr>
    65          <tr ng-repeat="data in stats">
    66            <td> [[data.start_time | convertDateToUserTimezone:userTz:currentGranularity.format]]-[[data.end_time | convertDateToUserTimezone:userTz:currentGranularity.format]]</td>
    67            <td> 
    68              <span> [[data.avg | stringifyNanoseconds: true]] </span>
    69            </td>
    70            <td> [[data.number_tasks]] </td>
    71          </tr>
    72        </table>
    73      </div>
    74    </div>
    75  
    76    </div>
    77  
    78  </div>
    79  
    80  {{end}}