scout_realtime 0.5.3 → 0.5.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG.md +4 -0
- data/lib/scout_realtime/models/processes.rb +1 -1
- data/lib/scout_realtime/version.rb +1 -1
- data/lib/scout_realtime/web/images/github.png +0 -0
- data/lib/scout_realtime/web/images/linux.png +0 -0
- data/lib/scout_realtime/web/images/logo.png +0 -0
- data/lib/scout_realtime/web/images/scout.png +0 -0
- data/lib/scout_realtime/web/javascripts/application.js +70 -28
- data/lib/scout_realtime/web/javascripts/d3.linechart.js +65 -17
- data/lib/scout_realtime/web/javascripts/jquery.debouncedresize.js +47 -0
- data/lib/scout_realtime/web/stylesheets/styles.css +245 -99
- data/lib/scout_realtime/web/views/graph.erb +0 -2
- data/lib/scout_realtime/web/views/header.erb +7 -7
- data/lib/scout_realtime/web/views/index.erb +22 -16
- data/lib/scout_realtime/web/views/layout.erb +5 -7
- data/lib/scout_realtime/web/views/overview_charts.erb +8 -12
- data/lib/scout_realtime/web/views/processes.erb +6 -6
- data/lib/scout_realtime/web/views/sidebar.erb +7 -7
- data/lib/scout_realtime/web/views/sidebar_bottom.erb +3 -0
- data/scout_realtime.gemspec +1 -1
- metadata +10 -9
- data/lib/scout_realtime/web/javascripts/bootstrap.min.js +0 -7
- data/lib/scout_realtime/web/javascripts/charts.js +0 -189
- data/lib/scout_realtime/web/javascripts/d3.barchart.js +0 -210
- data/lib/scout_realtime/web/stylesheets/bootstrap-theme.min.css +0 -7
- data/lib/scout_realtime/web/stylesheets/bootstrap.min.css +0 -7
@@ -1,122 +1,121 @@
|
|
1
|
-
|
2
|
-
font-family: "proxima-nova","Lucida Grande", sans-serif;
|
3
|
-
}
|
1
|
+
/*** overall styles ***/
|
4
2
|
|
5
|
-
|
6
|
-
|
7
|
-
font-
|
3
|
+
body {
|
4
|
+
margin: 0;
|
5
|
+
font-family: "Helvetica Neue","Lucida Grande", sans-serif;
|
6
|
+
font-size: 12px;
|
8
7
|
}
|
9
8
|
|
10
9
|
h2 {
|
11
10
|
font-size: 18px;
|
12
11
|
}
|
13
12
|
|
14
|
-
|
15
|
-
font-family: "proxima-nova","Lucida Grande", sans-serif;
|
16
|
-
font-weight: bold;
|
17
|
-
}
|
18
|
-
|
13
|
+
/* makes 'top' smaller in 'top processes' */
|
19
14
|
h2 span {
|
20
15
|
font-weight: normal;
|
21
16
|
}
|
22
17
|
|
18
|
+
/* default chart styling */
|
19
|
+
.chart {
|
20
|
+
height:85px;
|
21
|
+
width:100%;
|
22
|
+
}
|
23
|
+
|
23
24
|
/* the color used for lines in d3 charts */
|
24
25
|
svg .line {
|
25
26
|
fill: none;
|
26
|
-
stroke: #A8A5A2;
|
27
|
+
stroke: #A8A5A2; /* off-gray */
|
27
28
|
stroke-width: 2.5px;
|
28
29
|
}
|
29
30
|
|
30
|
-
.
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
-
|
35
|
-
box-sizing: border-box;
|
36
|
-
padding: 0;
|
37
|
-
margin:0;
|
38
|
-
}
|
39
|
-
|
40
|
-
.main_container {
|
41
|
-
border-top: 7px solid #00A3CC;
|
31
|
+
.axis {
|
32
|
+
fill: none;
|
33
|
+
stroke-width: 0.5px;
|
34
|
+
stroke: #333; /* off-gray - same as line color*/
|
35
|
+
font-size: 10px;
|
42
36
|
}
|
43
37
|
|
44
|
-
|
38
|
+
/*** main layout container - everything is inside of this ***/
|
45
39
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
40
|
+
#main_container {
|
41
|
+
border-top: 7px solid #00A3CC; /* blue */
|
42
|
+
min-width: 960px;
|
43
|
+
width: 100%;
|
44
|
+
margin:0;
|
45
|
+
border-collapse: collapse;
|
50
46
|
}
|
51
47
|
|
52
|
-
|
53
|
-
|
54
|
-
display: table-cell;
|
55
|
-
float: none;
|
56
|
-
vertical-align: top;
|
48
|
+
#main_container > tbody > tr > td:first-child {
|
49
|
+
padding: 0 30px;
|
57
50
|
}
|
58
51
|
|
59
|
-
|
52
|
+
/*** header ***/
|
60
53
|
|
61
|
-
|
54
|
+
#main_container #header {
|
55
|
+
margin: 0;
|
56
|
+
background: #fff;
|
62
57
|
border-bottom: 1px solid #E1E1E1;
|
58
|
+
padding: 0;
|
63
59
|
}
|
64
60
|
|
65
|
-
|
61
|
+
#main_container #header > div {
|
62
|
+
position: relative;
|
63
|
+
padding-top: 10px;
|
64
|
+
padding-bottom: 10px;
|
65
|
+
padding-left: 30px;
|
66
|
+
}
|
66
67
|
|
67
68
|
/* time + pause/play */
|
68
69
|
#toggle {
|
69
|
-
border: 1px solid #E1E1E1;
|
70
|
-
border-radius: 20px;
|
71
|
-
background: #fff;
|
72
70
|
float: right;
|
73
|
-
|
74
|
-
font-size: 12px;
|
71
|
+
font-size: 13px;
|
75
72
|
color: #000;
|
76
73
|
font-weight: bold;
|
77
|
-
|
74
|
+
position: absolute;
|
75
|
+
right: 0;
|
76
|
+
top: 0;
|
78
77
|
}
|
79
78
|
|
80
|
-
|
81
|
-
|
82
|
-
|
79
|
+
#toggle #report-time {
|
80
|
+
position: absolute;
|
81
|
+
right: 125px;
|
82
|
+
top: 14px;
|
83
|
+
width: 80px;
|
84
|
+
text-align: right;
|
83
85
|
}
|
84
86
|
|
85
|
-
#toggle
|
86
|
-
padding
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
margin-right: 5px;
|
87
|
+
#toggle .button {
|
88
|
+
padding: 0 20px;
|
89
|
+
height: 42px;
|
90
|
+
display: inline-block;
|
91
|
+
margin: 0;
|
92
|
+
transition: 0.1s background-color;
|
92
93
|
}
|
93
94
|
|
94
|
-
#toggle .
|
95
|
-
|
95
|
+
#toggle .button:hover {
|
96
|
+
cursor: pointer;
|
97
|
+
background-color: #FCF8F6;
|
96
98
|
}
|
97
99
|
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
100
|
+
#toggle #off {
|
101
|
+
border: 1px solid #E1E1E1;
|
102
|
+
border-width: 0 1px;
|
103
|
+
margin-left: 10px;
|
102
104
|
}
|
103
105
|
|
104
|
-
#
|
105
|
-
|
106
|
+
#toggle img {
|
107
|
+
padding-top: 15px;
|
108
|
+
vertical-align: middle;
|
106
109
|
}
|
107
110
|
|
108
|
-
|
109
|
-
|
110
|
-
border-bottom: 1px solid #E1E1E1;
|
111
|
+
#toggle .disabled img {
|
112
|
+
opacity: 0.3;
|
111
113
|
}
|
112
114
|
|
113
|
-
/*
|
114
|
-
#top .col-md-8 {
|
115
|
-
margin:0;
|
116
|
-
}
|
115
|
+
/* sidebar */
|
117
116
|
|
118
|
-
#
|
119
|
-
|
117
|
+
#sidebar_top, #sidebar_bottom {
|
118
|
+
width: 330px;
|
120
119
|
}
|
121
120
|
|
122
121
|
/* top sidebar */
|
@@ -128,13 +127,22 @@ svg .line {
|
|
128
127
|
line-height: 130%;
|
129
128
|
padding: 0;
|
130
129
|
border-bottom: 1px solid #444140;
|
130
|
+
vertical-align: top;
|
131
|
+
}
|
132
|
+
|
133
|
+
#sidebar_top div.info#hostname_info {
|
134
|
+
margin-top: 11px;
|
131
135
|
}
|
132
136
|
|
133
137
|
#hostname {
|
134
|
-
margin-bottom:
|
138
|
+
margin-bottom:25px;
|
135
139
|
color: #fff;
|
136
140
|
}
|
137
141
|
|
142
|
+
#sidebar_top div.info #os_info {
|
143
|
+
font-size: 15px;
|
144
|
+
}
|
145
|
+
|
138
146
|
#sidebar_top div span {
|
139
147
|
color: #fff;
|
140
148
|
}
|
@@ -151,65 +159,191 @@ svg .line {
|
|
151
159
|
padding-bottom: 0;
|
152
160
|
}
|
153
161
|
|
162
|
+
#sidebar_top div.info .desc {
|
163
|
+
font-weight: normal;
|
164
|
+
}
|
165
|
+
|
154
166
|
#sidebar_top div.info .value {
|
155
167
|
font-size: 18px;
|
156
168
|
}
|
157
169
|
|
158
170
|
#sidebar_bottom {
|
159
|
-
|
171
|
+
background: #35312F;
|
160
172
|
color: #fff;
|
173
|
+
vertical-align: top;
|
174
|
+
padding-top: 20px;
|
175
|
+
padding-left:19px;
|
176
|
+
width: 310px;
|
177
|
+
font-size: 13px;
|
178
|
+
color: #7B7B7B
|
161
179
|
}
|
162
180
|
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
181
|
+
#sidebar_bottom div a {
|
182
|
+
color: #7B7B7B; /* same as text */
|
183
|
+
text-decoration: none;
|
184
|
+
}
|
185
|
+
|
186
|
+
#sidebar_bottom div a:hover {
|
187
|
+
color: #fff;
|
168
188
|
}
|
169
189
|
|
170
|
-
.
|
171
|
-
|
190
|
+
#sidebar_bottom a.icon {
|
191
|
+
display: inline-block;
|
192
|
+
margin-right: 10px;
|
193
|
+
margin-top: 10px;
|
194
|
+
}
|
195
|
+
|
196
|
+
/*** overview charts ***/
|
197
|
+
|
198
|
+
#main_container > tbody > tr > td#overview_charts{
|
199
|
+
padding-top: 25px;
|
200
|
+
padding-right: 0; /* svg charts have a 30px margin - in effect, this ends up applying the 30px right margin */
|
201
|
+
background: #FCF8F6;
|
202
|
+
border-bottom: 1px solid #E1E1E1;
|
203
|
+
}
|
204
|
+
|
205
|
+
.overview_chart_container {
|
206
|
+
display: inline-block;
|
207
|
+
width: 49.5%;
|
208
|
+
}
|
209
|
+
|
210
|
+
.overview_chart_container .chart_container {
|
211
|
+
width: 100%;
|
212
|
+
overflow: hidden;
|
213
|
+
}
|
214
|
+
|
215
|
+
.overview_chart_container h3 {
|
216
|
+
color: #333;
|
172
217
|
font-size: 16px;
|
173
218
|
margin-top: 0;
|
174
219
|
float: left;
|
220
|
+
font-weight: normal;
|
221
|
+
margin-bottom:6px;
|
222
|
+
text-shadow: 0 1px 0 #fff;
|
223
|
+
line-height: 100%;
|
175
224
|
}
|
176
225
|
|
177
|
-
.
|
226
|
+
.overview_chart_container .latest_value{
|
178
227
|
color: #000;
|
179
|
-
font-size:
|
180
|
-
|
228
|
+
font-size: 16px;
|
229
|
+
font-weight: bold;
|
181
230
|
float: right;
|
231
|
+
margin-top:-4px;
|
232
|
+
border: 1px solid #E1E1E1;
|
233
|
+
width: 17%;
|
234
|
+
padding: 2px 0;
|
235
|
+
text-align: center;
|
236
|
+
border-radius: 5px;
|
237
|
+
background: #fff;
|
182
238
|
}
|
183
239
|
|
184
|
-
.
|
185
|
-
font-size:
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
240
|
+
.overview_chart_container .chart_info {
|
241
|
+
font-size: 11px;
|
242
|
+
color: #fff;
|
243
|
+
font-weight: normal;
|
244
|
+
height: 12px;
|
245
|
+
margin: 0px 0 3px 0;
|
246
|
+
clear: left;
|
247
|
+
}
|
248
|
+
|
249
|
+
.overview_chart_container .chart_info span {
|
250
|
+
color: #999;
|
251
|
+
text-shadow: 1px 1px 0 white;
|
252
|
+
padding: 0 5px 0 0;
|
253
|
+
}
|
254
|
+
|
255
|
+
/* the value */
|
256
|
+
.overview_chart_container .chart_info span span {
|
257
|
+
font-weight: bold;
|
258
|
+
padding-left: 3px;
|
190
259
|
}
|
191
260
|
|
192
261
|
.chart_section {
|
193
262
|
fill-opacity: 0;
|
194
263
|
}
|
195
264
|
|
265
|
+
/* overview chart overrides */
|
196
266
|
|
267
|
+
.overview_chart_container .x.axis {
|
268
|
+
display: none;
|
269
|
+
}
|
197
270
|
|
198
|
-
|
271
|
+
.overview_chart_container .y.axis {
|
272
|
+
display: block;
|
273
|
+
}
|
274
|
+
|
275
|
+
.overview_chart_container:hover .axis {
|
276
|
+
display: block;
|
277
|
+
}
|
278
|
+
|
279
|
+
.chart.overview_chart {
|
280
|
+
margin-left: -30px; /* chart has a 30px left margin */
|
281
|
+
margin-top: -15px; /* accounts for y-axis value. removing spacing btw h3 and chart so mouseover doesn't have a dead area */
|
282
|
+
height: 101px;
|
283
|
+
}
|
284
|
+
|
285
|
+
.overview_chart_container svg .line {
|
286
|
+
stroke: #00A3CC; /* blue */
|
287
|
+
}
|
199
288
|
|
200
|
-
|
289
|
+
/*** processes table ***/
|
290
|
+
|
291
|
+
/* table cell */
|
292
|
+
#main_container > tbody > tr > td#processes_container {
|
293
|
+
padding: 0 30px 30px 30px;
|
294
|
+
}
|
295
|
+
|
296
|
+
td#processes_container h2 {
|
297
|
+
margin-bottom: 0;
|
298
|
+
}
|
299
|
+
|
300
|
+
.sort-container {
|
301
|
+
position:relative;
|
302
|
+
}
|
303
|
+
.sort-container .sort-up, .sort-container .sort-down {
|
304
|
+
font-size:8px;
|
305
|
+
position:absolute;
|
306
|
+
display:none;
|
307
|
+
}
|
308
|
+
|
309
|
+
.sort-container .sort-down {
|
310
|
+
top:4px;
|
311
|
+
left: 3px;
|
312
|
+
}
|
313
|
+
|
314
|
+
table#processes {
|
315
|
+
border-spacing: 0;
|
201
316
|
width: 100%;
|
202
|
-
|
317
|
+
}
|
318
|
+
|
319
|
+
#processes svg .line {
|
320
|
+
stroke: #00A3CC; /* blue */
|
203
321
|
}
|
204
322
|
|
205
323
|
#processes thead th {
|
206
|
-
font-size:
|
324
|
+
font-size: 13px;
|
207
325
|
color: #9DB1BC;
|
208
|
-
padding: 10px
|
326
|
+
padding: 10px 10px;
|
209
327
|
border-bottom: 1px solid #eaeaea;
|
210
328
|
background: #fff;
|
329
|
+
text-align: left;
|
330
|
+
transition: 0.2s background-color;
|
211
331
|
}
|
212
332
|
|
333
|
+
/* name isn't sortable */
|
334
|
+
#processes thead th:not(:first-child) {
|
335
|
+
cursor: pointer;
|
336
|
+
}
|
337
|
+
|
338
|
+
#processes thead th:not(:first-child):hover {
|
339
|
+
background: #FCF8F6;
|
340
|
+
}
|
341
|
+
|
342
|
+
#processes tr:nth-child(odd) td {
|
343
|
+
background: #FCF8F6;
|
344
|
+
}
|
345
|
+
|
346
|
+
|
213
347
|
#processes td:not(:first-child) {
|
214
348
|
width: 26.6666%; /* 3 cols of data. 1st col in table is 20% */
|
215
349
|
}
|
@@ -218,7 +352,14 @@ svg .line {
|
|
218
352
|
font-size: 14px;
|
219
353
|
font-weight: bold;
|
220
354
|
width: 20%;
|
221
|
-
vertical-align:
|
355
|
+
vertical-align: top;
|
356
|
+
padding-left: 30px;
|
357
|
+
border-left: 1px solid #eaeaea;
|
358
|
+
}
|
359
|
+
|
360
|
+
#processes td:last-child {
|
361
|
+
padding-right: 30px;
|
362
|
+
border-right: 1px solid #eaeaea;
|
222
363
|
}
|
223
364
|
|
224
365
|
#processes tr:last-child td:first-child{
|
@@ -227,12 +368,17 @@ svg .line {
|
|
227
368
|
|
228
369
|
#processes td {
|
229
370
|
color: #666;
|
230
|
-
padding: 14px
|
371
|
+
padding: 14px 4px;
|
372
|
+
border-top: 1px solid #fff;
|
231
373
|
border-bottom: 1px solid #eaeaea;
|
232
374
|
font-size: 13px;
|
233
375
|
background: #fff;
|
234
376
|
}
|
235
377
|
|
378
|
+
#processes td span.chart_container {
|
379
|
+
width: 50%;
|
380
|
+
}
|
381
|
+
|
236
382
|
#processes tr.compact td {
|
237
383
|
padding-left: 16px;
|
238
384
|
padding-right: 16px;
|
@@ -242,13 +388,13 @@ svg .line {
|
|
242
388
|
display: inline-block;
|
243
389
|
}
|
244
390
|
|
245
|
-
|
246
391
|
/* process chart */
|
247
392
|
|
248
393
|
#processes .chart {
|
249
394
|
height: 15px;
|
395
|
+
width: 50%;
|
250
396
|
}
|
251
397
|
|
252
|
-
#processes .latest_value {
|
253
|
-
|
254
|
-
}
|
398
|
+
#processes .latest_value, #processes .chart_info {
|
399
|
+
padding-left: 10px;
|
400
|
+
}
|
@@ -1,6 +1,4 @@
|
|
1
1
|
<div class="chart_container">
|
2
2
|
<svg class="chart overview_chart" data-collector="<%=chart_collector%>" data-metrics=<%= JSON.dump(chart_metrics) %> data-instance-name="<%=chart_instance_name%>" data-y_scale_max="<%= chart_y_scale_max %>"></svg>
|
3
|
-
|
4
|
-
<div class="chart_legend"></div>
|
5
3
|
<div style="clear:both;"></div>
|
6
4
|
</div>
|
@@ -1,8 +1,8 @@
|
|
1
|
-
<div
|
2
|
-
<
|
3
|
-
<div
|
4
|
-
<
|
5
|
-
|
6
|
-
</div>
|
1
|
+
<div> <!-- wrapper div needed for ff positioning -->
|
2
|
+
<img src="/images/logo.png" alt="Scout Realtime"/>
|
3
|
+
<div id="toggle">
|
4
|
+
<span id='report-time'></span>
|
5
|
+
<span id='off' class="button"><img src="/images/pause.png" width=12 height=14 /></span><span id='on' class="button"><img src="/images/play.png" width=14 height=14 ></span>
|
7
6
|
</div>
|
8
|
-
|
7
|
+
<div>
|
8
|
+
|
@@ -1,21 +1,27 @@
|
|
1
|
-
<
|
2
|
-
<
|
3
|
-
|
1
|
+
<table id="main_container">
|
2
|
+
<tbody>
|
3
|
+
<tr>
|
4
|
+
<td id="header">
|
4
5
|
<%= erb :header %>
|
5
|
-
|
6
|
-
|
7
|
-
</div> <!-- col-md-8 -->
|
8
|
-
<!-- sidebar -->
|
9
|
-
<div class="col-md-4" id="sidebar_top" style="height:100%">
|
6
|
+
</td>
|
7
|
+
<td id="sidebar_top" rowspan=2>
|
10
8
|
<%= erb :sidebar %>
|
11
|
-
</
|
12
|
-
</
|
13
|
-
<
|
14
|
-
<
|
9
|
+
</td>
|
10
|
+
</tr>
|
11
|
+
<tr>
|
12
|
+
<td id="overview_charts">
|
13
|
+
<%= erb :overview_charts%>
|
14
|
+
</td>
|
15
|
+
</tr>
|
16
|
+
<tr>
|
17
|
+
<td id="processes_container">
|
15
18
|
<h2><span>Top</span> Processes</h2>
|
16
19
|
<%= erb :processes %>
|
17
|
-
</
|
18
|
-
|
19
|
-
|
20
|
-
</
|
20
|
+
</td>
|
21
|
+
<td id="sidebar_bottom">
|
22
|
+
<%= erb :sidebar_bottom%>
|
23
|
+
</td>
|
24
|
+
</tr>
|
25
|
+
</tbody>
|
26
|
+
</table>
|
21
27
|
<script src="/javascripts/application.js"></script>
|
@@ -4,7 +4,6 @@
|
|
4
4
|
<meta charset="utf-8">
|
5
5
|
<title>Scout Realtime</title>
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
7
|
-
<link href="/stylesheets/bootstrap.min.css" rel="stylesheet">
|
8
7
|
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
9
8
|
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
10
9
|
<!--[if lt IE 9]>
|
@@ -14,20 +13,19 @@
|
|
14
13
|
<link rel="stylesheet" href="stylesheets/styles.css?v=1.0">
|
15
14
|
<script type="text/javascript" src="javascripts/jquery.js"></script>
|
16
15
|
<script src="/javascripts/d3.v3.min.js"></script>
|
17
|
-
<script src="/javascripts/
|
16
|
+
<script src="/javascripts/jquery.debouncedresize.js"></script>
|
17
|
+
|
18
|
+
<!-- <script src="/javascripts/charts.js"></script> -->
|
18
19
|
<script src="/javascripts/d3.linechart.js"></script>
|
19
20
|
<script type="text/javascript" src="javascripts/handlebars-v1.1.0.js"></script>
|
20
21
|
<script>var metrics_array=[]<%#=DATA_FOR_TESTING.to_json%>;</script>
|
21
22
|
<script>var metrics=<%=@latest_run.to_json%>;</script>
|
22
23
|
<script>var historical_metrics=<%=@historical_metrics.to_json%>;</script>
|
23
24
|
<script>var meta=<%=@meta.to_json%>;</script>
|
24
|
-
<script type="text/javascript" src="//use.typekit.net/
|
25
|
+
<script type="text/javascript" src="//use.typekit.net/fxt5xqq.js"></script>
|
25
26
|
<script type="text/javascript">try{Typekit.load();}catch(e){}</script>
|
26
27
|
</head>
|
27
28
|
<body>
|
28
|
-
|
29
|
-
<%=yield%>
|
30
|
-
</div><!-- container -->
|
31
|
-
<script src="/javascripts/bootstrap.min.js"></script>
|
29
|
+
<%=yield%>
|
32
30
|
</body>
|
33
31
|
</html>
|
@@ -1,30 +1,26 @@
|
|
1
1
|
<!-- top row of metrics -->
|
2
|
-
<div class="
|
3
|
-
<div class="col-md-6 chart_container">
|
2
|
+
<div class="overview_chart_container">
|
4
3
|
<h3>CPU Usage</h3>
|
5
4
|
<div class="latest_value"></div>
|
6
|
-
<%= erb :graph, :locals => {:chart_collector => "cpu", :chart_metrics => ["io_wait", "system", "user"], :chart_instance_name => "", :chart_y_scale_max => "100"} %>
|
7
5
|
<div class="chart_info"></div>
|
6
|
+
<%= erb :graph, :locals => {:chart_collector => "cpu", :chart_metrics => ["io_wait", "system", "user"], :chart_instance_name => "", :chart_y_scale_max => "100"} %>
|
8
7
|
</div>
|
9
|
-
<div class="
|
8
|
+
<div class="overview_chart_container">
|
10
9
|
<h3>Memory Usage</h3>
|
11
10
|
<div class="latest_value"></div>
|
12
|
-
<%= erb :graph, :locals => {:chart_collector => "memory", :chart_metrics => ["used_percent"], :chart_instance_name => "", :chart_y_scale_max => "100"} %>
|
13
11
|
<div class="chart_info"></div>
|
12
|
+
<%= erb :graph, :locals => {:chart_collector => "memory", :chart_metrics => ["used_percent"], :chart_instance_name => "", :chart_y_scale_max => "100"} %>
|
14
13
|
</div>
|
15
|
-
</div> <!-- end first row of metrics -->
|
16
14
|
<!-- bottom row of metrics -->
|
17
|
-
<div class="
|
18
|
-
<div class="col-md-6 chart_container">
|
15
|
+
<div class="overview_chart_container">
|
19
16
|
<h3>Disk Utilization</h3>
|
20
17
|
<div class="latest_value"></div>
|
21
|
-
<%= erb :graph, :locals => {:chart_collector => "disk", :chart_metrics => ["utilization"], :chart_instance_name => @disks.last, :chart_y_scale_max => "100"} %>
|
22
18
|
<div class="chart_info"></div>
|
19
|
+
<%= erb :graph, :locals => {:chart_collector => "disk", :chart_metrics => ["utilization"], :chart_instance_name => @disks.last, :chart_y_scale_max => "100"} %>
|
23
20
|
</div>
|
24
|
-
<div class="
|
21
|
+
<div class="overview_chart_container">
|
25
22
|
<h3>Network Traffic</h3>
|
26
23
|
<div class="latest_value"></div>
|
27
|
-
<%= erb :graph, :locals => {:chart_collector => "network", :chart_metrics => ["bytes_in", "bytes_out"], :chart_instance_name => @networks.first, :chart_y_scale_max => ""} %>
|
28
24
|
<div class="chart_info"></div>
|
25
|
+
<%= erb :graph, :locals => {:chart_collector => "network", :chart_metrics => ["bytes_in", "bytes_out"], :chart_instance_name => @networks.first, :chart_y_scale_max => ""} %>
|
29
26
|
</div> <!-- -->
|
30
|
-
</div> <!-- end bottom row of metrics -->
|
@@ -2,9 +2,9 @@
|
|
2
2
|
<thead>
|
3
3
|
<tr>
|
4
4
|
<th></th>
|
5
|
-
<th>Count
|
6
|
-
<th>CPU
|
7
|
-
<th>Memory
|
5
|
+
<th data-sort-by="count">Count <span class="sort-container"><span class="sort-up">▲</span><span class="sort-down">▼</span></span></th>
|
6
|
+
<th data-sort-by="cpu">CPU % <span class="sort-container"><span class="sort-up">▲</span><span class="sort-down">▼</span></span></th>
|
7
|
+
<th data-sort-by="memory">Memory <span class="sort-container"><span class="sort-up">▲</span><span class="sort-down">▼</span></span></th>
|
8
8
|
</tr>
|
9
9
|
</thead>
|
10
10
|
<tbody></tbody>
|
@@ -14,17 +14,17 @@
|
|
14
14
|
<td>{{cmd}}</td>
|
15
15
|
<td class="process">
|
16
16
|
<span><svg class="chart" data-collector="{{cmd}}" data-type="count" data-instance-name=""></svg></span>
|
17
|
-
<span class="chart_info"></span>
|
17
|
+
<span class="chart_info" style="display:none"></span>
|
18
18
|
<span class="latest_value">{{count}}</span>
|
19
19
|
</td>
|
20
20
|
<td class="process">
|
21
21
|
<span><svg class="chart" data-collector="{{cmd}}" data-type="cpu" data-instance-name=""></svg></span>
|
22
|
-
<span class="chart_info"></span>
|
22
|
+
<span class="chart_info" style="display:none"></span>
|
23
23
|
<span class="latest_value">{{cpu}}</span>
|
24
24
|
</td>
|
25
25
|
<td class="process">
|
26
26
|
<span><svg class="chart" data-collector="{{cmd}}" data-type="memory" data-instance-name=""></svg></span>
|
27
|
-
<span class="chart_info"></span>
|
27
|
+
<span class="chart_info" style="display:none"></span>
|
28
28
|
<span class="latest_value">{{memory}}</span>
|
29
29
|
</td>
|
30
30
|
</tr>
|