blob: fe7720c677610ad99c091ff432c76ae6613de0f7 [file] [log] [blame]
Matteo Scandolo68c2e722015-12-04 10:14:40 -08001<div class="row">
Matteo Scandolo41f5c152015-12-09 17:09:55 -08002 <div class="col-sm-10">
Matteo Scandolo68856082015-12-08 14:35:55 -08003 <h1>XOS Monitoring Statistics</h1>
Matteo Scandolo68c2e722015-12-04 10:14:40 -08004 </div>
Matteo Scandolo41f5c152015-12-09 17:09:55 -08005 <div class="col-xs-2 text-right">
6 <a href="" class="btn btn-default"
Matteo Scandolo9db064f2016-02-08 14:17:42 -08007 ng-show="vm.selectedSlice && !vm.showStats"
Matteo Scandolo41f5c152015-12-09 17:09:55 -08008 ng-click="vm.showStats = true">
9 <i class="glyphicon glyphicon-transfer"></i>
10 </a>
11 <a href="" class="btn btn-default"
Matteo Scandolo9db064f2016-02-08 14:17:42 -080012 ng-show="vm.selectedSlice && vm.showStats"
Matteo Scandolo41f5c152015-12-09 17:09:55 -080013 ng-click="vm.showStats = false">
14 <i class="glyphicon glyphicon-transfer"></i>
15 </a>
16 </div>
Matteo Scandolo68c2e722015-12-04 10:14:40 -080017</div>
18
19<div class="row" ng-show="vm.loader">
20 <div class="col-xs-12">
21 <div class="loader">Loading</div>
22 </div>
23</div>
24
Matteo Scandolo68856082015-12-08 14:35:55 -080025<section ng-hide="vm.loader" ng-class="{animate: !vm.loader}">
Matteo Scandolo1d8627f2015-12-05 18:44:45 -080026 <div class="row">
Matteo Scandoloc0582112015-12-09 16:09:59 -080027 <div class="col-sm-3 service-list">
28 <h3>XOS Service: </h3>
29 <uib-accordion close-others="true" template-url="templates/accordion.html">
30 <uib-accordion-group
Matteo Scandolo9db064f2016-02-08 14:17:42 -080031 ng-repeat="service in vm.services | orderBy:'-service'"
Matteo Scandoloc0582112015-12-09 16:09:59 -080032 template-url="templates/accordion-group.html"
Matteo Scandolo9db064f2016-02-08 14:17:42 -080033 is-open="vm.accordion.open[service.service]"
34 heading="{{service.service}}">
Matteo Scandoloc0582112015-12-09 16:09:59 -080035 <h4>Slices:</h4>
Matteo Scandolo9db064f2016-02-08 14:17:42 -080036 <a ng-repeat="slice in service.slices"
37 ng-class="{active: slice.slice === vm.selectedSlice}"
38 ng-click="vm.loadSliceMeter(slice, service.service)"
Matteo Scandoloc0582112015-12-09 16:09:59 -080039 href="#" class="list-group-item" >
Matteo Scandolo9db064f2016-02-08 14:17:42 -080040 {{slice.slice}} <i class="glyphicon glyphicon-chevron-right pull-right"></i>
Matteo Scandoloc0582112015-12-09 16:09:59 -080041 </a>
42 </uib-accordion-group>
43 </uib-accordion>
Matteo Scandolo7b80d842015-12-04 15:55:20 -080044 </div>
Matteo Scandolo41f5c152015-12-09 17:09:55 -080045 <section class="side-container col-sm-9">
46 <div class="row">
Matteo Scandolo9db064f2016-02-08 14:17:42 -080047 <!-- STATS -->
Matteo Scandolo41f5c152015-12-09 17:09:55 -080048 <article ng-hide="!vm.showStats" class="stats animate-slide-left">
49 <div class="col-xs-12">
50 <div class="list-group">
51 <div class="list-group-item">
52 <h3>Stats</h3>
53 </div>
54 <div class="list-group-item">
Matteo Scandolo19c2a4e2016-02-02 16:29:40 -080055 <ceilometer-stats ng-if="vm.selectedSlice" name="vm.selectedSlice" tenant="vm.selectedTenant"></ceilometer-stats>
Matteo Scandolo41f5c152015-12-09 17:09:55 -080056 </div>
Matteo Scandolo1d8627f2015-12-05 18:44:45 -080057 </div>
Matteo Scandolo7b80d842015-12-04 15:55:20 -080058 </div>
Matteo Scandolo41f5c152015-12-09 17:09:55 -080059 </article>
Matteo Scandolo9db064f2016-02-08 14:17:42 -080060 <!-- METERS -->
Matteo Scandolo41f5c152015-12-09 17:09:55 -080061 <article ng-hide="vm.showStats" class="meters animate-slide-left">
Matteo Scandoloba4c9aa2016-02-11 09:35:29 -080062 <div class="alert alert-danger" ng-show="vm.ceilometerError">
63 {{vm.ceilometerError}}
64 </div>
Matteo Scandolo9db064f2016-02-08 14:17:42 -080065 <div class="col-sm-4 animate-slide-left" ng-hide="!vm.selectedSlice">
Matteo Scandolo41f5c152015-12-09 17:09:55 -080066 <div class="list-group">
67 <div class="list-group-item">
68 <h3>Resources</h3>
69 </div>
70 <a href="#"
71 ng-click="vm.selectMeters(meters, resource)"
72 class="list-group-item"
73 ng-repeat="(resource, meters) in vm.selectedResources"
74 ng-class="{active: resource === vm.selectedResource}">
75 {{resource}} <i class="glyphicon glyphicon-chevron-right pull-right"></i>
Matteo Scandolo1d8627f2015-12-05 18:44:45 -080076 </a>
77 </div>
Matteo Scandolo7b80d842015-12-04 15:55:20 -080078 </div>
Matteo Scandolo41f5c152015-12-09 17:09:55 -080079 <div class="col-sm-8 animate-slide-left" ng-hide="!vm.selectedMeters">
80 <div class="list-group">
81 <div class="list-group-item">
82 <h3>Meters</h3>
83 </div>
84 <div class="list-group-item">
85 <div class="row">
86 <div class="col-xs-6">
87 <label>Name:</label>
88 </div>
89 <div class="col-xs-3">
90 <label>Unit:</label>
91 </div>
92 <div class="col-xs-3"></div>
93 </div>
Matteo Scandolo6c6b9282015-12-15 14:37:27 -080094 <div class="row" ng-repeat="meter in vm.selectedMeters" style="margin-bottom: 10px;">
Matteo Scandolo41f5c152015-12-09 17:09:55 -080095 <div class="col-xs-6">
96 {{meter.name}}
97 </div>
98 <div class="col-xs-3">
99 {{meter.unit}}
100 </div>
101 <div class="col-xs-3">
Matteo Scandolo6c6b9282015-12-15 14:37:27 -0800102 <a ui-sref="samples({name: meter.name, tenant: meter.project_id})" class="btn btn-primary">
Matteo Scandolo41f5c152015-12-09 17:09:55 -0800103 <i class="glyphicon glyphicon-search"></i>
104 </a>
105 </div>
106 </div>
107 </div>
108 </div>
109 </div>
110 </article>
Matteo Scandolo7b80d842015-12-04 15:55:20 -0800111 </div>
Matteo Scandolo41f5c152015-12-09 17:09:55 -0800112 </section>
Matteo Scandolo68c2e722015-12-04 10:14:40 -0800113 </div>
Matteo Scandolo68856082015-12-08 14:35:55 -0800114</section>
Matteo Scandolo83869332015-12-14 14:26:20 -0800115<section ng-if="!vm.loader && vm.error">
116 <div class="alert alert-danger">
117 {{vm.error}}
118 </div>
119</section>