johnf-fnordmetric 1.2.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (119) hide show
  1. data/Gemfile +6 -0
  2. data/Rakefile +9 -0
  3. data/fnordmetric.gemspec +41 -0
  4. data/lib/fnordmetric/acceptors/acceptor.rb +42 -0
  5. data/lib/fnordmetric/acceptors/amqp_acceptor.rb +56 -0
  6. data/lib/fnordmetric/acceptors/fyrehose_acceptor.rb +43 -0
  7. data/lib/fnordmetric/acceptors/stomp_acceptor.rb +71 -0
  8. data/lib/fnordmetric/acceptors/tcp_acceptor.rb +58 -0
  9. data/lib/fnordmetric/acceptors/udp_acceptor.rb +37 -0
  10. data/lib/fnordmetric/api.rb +46 -0
  11. data/lib/fnordmetric/cache.rb +20 -0
  12. data/lib/fnordmetric/context.rb +96 -0
  13. data/lib/fnordmetric/defaults.rb +22 -0
  14. data/lib/fnordmetric/enterprise/compatibility_handler.rb +42 -0
  15. data/lib/fnordmetric/ext.rb +75 -0
  16. data/lib/fnordmetric/gauge.rb +98 -0
  17. data/lib/fnordmetric/gauge_calculations.rb +106 -0
  18. data/lib/fnordmetric/gauge_modifiers.rb +144 -0
  19. data/lib/fnordmetric/gauge_rendering.rb +40 -0
  20. data/lib/fnordmetric/gauge_validations.rb +15 -0
  21. data/lib/fnordmetric/gauges/distribution_gauge.rb +87 -0
  22. data/lib/fnordmetric/gauges/server_health_gauge.rb +13 -0
  23. data/lib/fnordmetric/gauges/timeseries_gauge.rb +138 -0
  24. data/lib/fnordmetric/gauges/toplist_gauge.rb +44 -0
  25. data/lib/fnordmetric/histogram.rb +64 -0
  26. data/lib/fnordmetric/logger.rb +63 -0
  27. data/lib/fnordmetric/namespace.rb +208 -0
  28. data/lib/fnordmetric/session.rb +139 -0
  29. data/lib/fnordmetric/standalone.rb +20 -0
  30. data/lib/fnordmetric/timeseries.rb +79 -0
  31. data/lib/fnordmetric/toplist.rb +61 -0
  32. data/lib/fnordmetric/udp_client.rb +22 -0
  33. data/lib/fnordmetric/util.rb +25 -0
  34. data/lib/fnordmetric/version.rb +3 -0
  35. data/lib/fnordmetric/web/app.rb +63 -0
  36. data/lib/fnordmetric/web/app_helpers.rb +42 -0
  37. data/lib/fnordmetric/web/dashboard.rb +40 -0
  38. data/lib/fnordmetric/web/event.rb +99 -0
  39. data/lib/fnordmetric/web/reactor.rb +127 -0
  40. data/lib/fnordmetric/web/web.rb +59 -0
  41. data/lib/fnordmetric/web/websocket.rb +41 -0
  42. data/lib/fnordmetric/widget.rb +82 -0
  43. data/lib/fnordmetric/widgets/bars_widget.rb +44 -0
  44. data/lib/fnordmetric/widgets/html_widget.rb +28 -0
  45. data/lib/fnordmetric/widgets/numbers_widget.rb +80 -0
  46. data/lib/fnordmetric/widgets/pie_widget.rb +23 -0
  47. data/lib/fnordmetric/widgets/timeseries_widget.rb +65 -0
  48. data/lib/fnordmetric/widgets/toplist_widget.rb +68 -0
  49. data/lib/fnordmetric/worker.rb +89 -0
  50. data/lib/fnordmetric/zero_config_gauge.rb +138 -0
  51. data/lib/fnordmetric.rb +149 -0
  52. data/run_specs.sh +11 -0
  53. data/spec/api_spec.rb +49 -0
  54. data/spec/context_spec.rb +42 -0
  55. data/spec/dashboard_spec.rb +38 -0
  56. data/spec/event_spec.rb +170 -0
  57. data/spec/ext_spec.rb +14 -0
  58. data/spec/fnordmetric_spec.rb +56 -0
  59. data/spec/gauge_like_shared.rb +56 -0
  60. data/spec/gauge_modifiers_spec.rb +583 -0
  61. data/spec/gauge_spec.rb +230 -0
  62. data/spec/namespace_spec.rb +114 -0
  63. data/spec/session_spec.rb +231 -0
  64. data/spec/spec_helper.rb +49 -0
  65. data/spec/tcp_acceptor_spec.rb +35 -0
  66. data/spec/timeseries_gauge_spec.rb +56 -0
  67. data/spec/udp_acceptor_spec.rb +35 -0
  68. data/spec/util_spec.rb +46 -0
  69. data/spec/widget_spec.rb +113 -0
  70. data/spec/worker_spec.rb +40 -0
  71. data/web/.gitignore +4 -0
  72. data/web/build.sh +34 -0
  73. data/web/css/fnordmetric.core.css +868 -0
  74. data/web/fnordmetric-core.css +1409 -0
  75. data/web/fnordmetric-core.js +3420 -0
  76. data/web/fnordmetric-ui.css +282 -0
  77. data/web/fnordmetric-ui.js +12032 -0
  78. data/web/haml/app.haml +20 -0
  79. data/web/haml/distribution_gauge.haml +118 -0
  80. data/web/haml/timeseries_gauge.haml +80 -0
  81. data/web/haml/toplist_gauge.haml +194 -0
  82. data/web/img/head.png +0 -0
  83. data/web/img/list.png +0 -0
  84. data/web/img/list_active.png +0 -0
  85. data/web/img/list_hover.png +0 -0
  86. data/web/img/loader.gif +0 -0
  87. data/web/img/loader_white.gif +0 -0
  88. data/web/img/navbar.png +0 -0
  89. data/web/img/navbar_btn.png +0 -0
  90. data/web/img/picto_gauge.png +0 -0
  91. data/web/js/fnordmetric.bars_widget.js +178 -0
  92. data/web/js/fnordmetric.dashboard_view.js +99 -0
  93. data/web/js/fnordmetric.gauge_explorer.js +173 -0
  94. data/web/js/fnordmetric.gauge_view.js +260 -0
  95. data/web/js/fnordmetric.html_widget.js +21 -0
  96. data/web/js/fnordmetric.js +315 -0
  97. data/web/js/fnordmetric.numbers_widget.js +122 -0
  98. data/web/js/fnordmetric.overview_view.js +35 -0
  99. data/web/js/fnordmetric.pie_widget.js +118 -0
  100. data/web/js/fnordmetric.realtime_timeline_widget.js +175 -0
  101. data/web/js/fnordmetric.session_view.js +342 -0
  102. data/web/js/fnordmetric.timeline_widget.js +333 -0
  103. data/web/js/fnordmetric.timeseries_widget.js +405 -0
  104. data/web/js/fnordmetric.toplist_widget.js +119 -0
  105. data/web/js/fnordmetric.ui.js +91 -0
  106. data/web/js/fnordmetric.util.js +248 -0
  107. data/web/vendor/font-awesome/css/font-awesome-ie7.min.css +22 -0
  108. data/web/vendor/font-awesome/css/font-awesome.css +540 -0
  109. data/web/vendor/font-awesome/css/font-awesome.min.css +33 -0
  110. data/web/vendor/font-awesome/font/FontAwesome.otf +0 -0
  111. data/web/vendor/font-awesome/font/fontawesome-webfont.eot +0 -0
  112. data/web/vendor/font-awesome/font/fontawesome-webfont.svg +284 -0
  113. data/web/vendor/font-awesome/font/fontawesome-webfont.ttf +0 -0
  114. data/web/vendor/font-awesome/font/fontawesome-webfont.woff +0 -0
  115. data/web/vendor/jquery-1.6.2.min.js +18 -0
  116. data/web/vendor/jquery-ui.min.js +6 -0
  117. data/web/vendor/jquery.combobox.js +129 -0
  118. data/web/vendor/jquery.maskedinput.js +252 -0
  119. metadata +444 -0
@@ -0,0 +1,282 @@
1
+ /* this is an automatically generated file, don't modify it... */
2
+ .fnordmetric_graph .detail {
3
+ pointer-events: none;
4
+ position: absolute;
5
+ top: 0;
6
+ z-index: 2;
7
+ background: rgba(0, 0, 0, 0.1);
8
+ bottom: 0;
9
+ width: 1px;
10
+ transition: opacity 0.25s linear;
11
+ -moz-transition: opacity 0.25s linear;
12
+ -o-transition: opacity 0.25s linear;
13
+ -webkit-transition: opacity 0.25s linear;
14
+ }
15
+
16
+ .fnordmetric_graph .detail.inactive {
17
+ opacity: 0;
18
+ }
19
+
20
+ .fnordmetric_graph .detail .item.active {
21
+ opacity: 1;
22
+ }
23
+
24
+ .fnordmetric_graph .detail .x_label {
25
+ font-family: "Gotham Narrow", Helvetica, Arial, sans-serif;
26
+ border-radius: 3px;
27
+ padding: 6px;
28
+ opacity: 0.5;
29
+ border: 1px solid #e0e0e0;
30
+ font-size: 12px;
31
+ position: absolute;
32
+ background: white;
33
+ white-space: nowrap;
34
+ }
35
+
36
+ .fnordmetric_graph .detail .item {
37
+ position: absolute;
38
+ z-index: 2;
39
+ border-radius: 3px;
40
+ padding: 0.25em;
41
+ font-size: 12px;
42
+ font-family: "Gotham Narrow", Helvetica, Arial, sans-serif;
43
+ opacity: 0;
44
+ background: rgba(0, 0, 0, 0.4);
45
+ color: white;
46
+ border: 1px solid rgba(0, 0, 0, 0.4);
47
+ margin-left: 1em;
48
+ margin-top: -1em;
49
+ white-space: nowrap;
50
+ }
51
+
52
+ .fnordmetric_graph .detail .item.active {
53
+ opacity: 1;
54
+ background: rgba(0, 0, 0, 0.8);
55
+ }
56
+
57
+ .fnordmetric_graph .detail .item:before {
58
+ content: "\25c2";
59
+ position: absolute;
60
+ left: -0.5em;
61
+ color: rgba(0, 0, 0, 0.7);
62
+ width: 0;
63
+ }
64
+
65
+ .fnordmetric_graph .detail .dot {
66
+ width: 4px;
67
+ height: 4px;
68
+ margin-left: -4px;
69
+ margin-top: -3px;
70
+ border-radius: 5px;
71
+ position: absolute;
72
+ box-shadow: 0 0 2px rgba(0, 0, 0, 0.6);
73
+ background: white;
74
+ border-width: 2px;
75
+ border-style: solid;
76
+ display: none;
77
+ background-clip: padding-box;
78
+ }
79
+
80
+ .fnordmetric_graph .detail .dot.active {
81
+ display: block;
82
+ }
83
+
84
+ .fnordmetric_graph {
85
+ position: relative;
86
+ }
87
+
88
+ .fnordmetric_graph svg {
89
+ display: block;
90
+ overflow: hidden;
91
+ }
92
+
93
+ .fnordmetric_graph .x_tick {
94
+ position: absolute;
95
+ top: 0;
96
+ bottom: 0;
97
+ width: 0px;
98
+ border-left: 1px dotted rgba(0, 0, 0, 0.2);
99
+ pointer-events: none;
100
+ }
101
+
102
+ .fnordmetric_graph .x_tick .title {
103
+ position: absolute;
104
+ font-size: 12px;
105
+ font-family: "Gotham Narrow", Helvetica, Arial, sans-serif;
106
+ opacity: 0.5;
107
+ white-space: nowrap;
108
+ margin-left: 3px;
109
+ bottom: 1px;
110
+ }
111
+
112
+ .fnordmetric_graph .y_axis {
113
+ fill: none;
114
+ }
115
+
116
+ .fnordmetric_graph .y_ticks .tick {
117
+ stroke: rgba(0, 0, 0, 0.16);
118
+ stroke-width: 2px;
119
+ shape-rendering: crisp-edges;
120
+ pointer-events: none;
121
+ }
122
+
123
+ .fnordmetric_graph .y_grid .tick {
124
+ z-index: -1;
125
+ stroke: rgba(0, 0, 0, 0.20);
126
+ stroke-width: 1px;
127
+ stroke-dasharray: 1 1;
128
+ }
129
+
130
+ .fnordmetric_graph .y_grid path {
131
+ fill: none;
132
+ stroke: none;
133
+ }
134
+
135
+ .fnordmetric_graph .y_ticks path {
136
+ fill: none;
137
+ stroke: #808080;
138
+ }
139
+
140
+ .fnordmetric_graph .y_ticks text {
141
+ opacity: 0.5;
142
+ font-size: 12px;
143
+ pointer-events: none;
144
+ }
145
+
146
+ .fnordmetric_graph .x_tick.glow .title,
147
+ .fnordmetric_graph .y_ticks.glow text {
148
+ fill: black;
149
+ color: black;
150
+ text-shadow:
151
+ -1px 1px 0 rgba(255, 255, 255, 0.1),
152
+ 1px -1px 0 rgba(255, 255, 255, 0.1),
153
+ 1px 1px 0 rgba(255, 255, 255, 0.1),
154
+ 0px 1px 0 rgba(255, 255, 255, 0.1),
155
+ 0px -1px 0 rgba(255, 255, 255, 0.1),
156
+ 1px 0px 0 rgba(255, 255, 255, 0.1),
157
+ -1px 0px 0 rgba(255, 255, 255, 0.1),
158
+ -1px -1px 0 rgba(255, 255, 255, 0.1);
159
+ }
160
+
161
+ .fnordmetric_graph .x_tick.inverse .title,
162
+ .fnordmetric_graph .y_ticks.inverse text {
163
+ fill: white;
164
+ color: white;
165
+ text-shadow:
166
+ -1px 1px 0 rgba(0, 0, 0, 0.8),
167
+ 1px -1px 0 rgba(0, 0, 0, 0.8),
168
+ 1px 1px 0 rgba(0, 0, 0, 0.8),
169
+ 0px 1px 0 rgba(0, 0, 0, 0.8),
170
+ 0px -1px 0 rgba(0, 0, 0, 0.8),
171
+ 1px 0px 0 rgba(0, 0, 0, 0.8),
172
+ -1px 0px 0 rgba(0, 0, 0, 0.8),
173
+ -1px -1px 0 rgba(0, 0, 0, 0.8);
174
+ }
175
+
176
+ .fnordmetric_graph .y_ticks path { stroke:none; }
177
+ .fnordmetric_graph .y_grid .tick { stroke:rgba(0,0,0,.1); }
178
+
179
+ .fnordmetric_graph .x_tick {
180
+ border-left: none;
181
+ }
182
+
183
+ .fnordmetric_graph .x_tick.glow .title, .rickshaw_graph .y_ticks.glow text{
184
+ font-size:14px;
185
+ }
186
+
187
+ .fnordmetric_graph .y_grid .tick { stroke:rgba(0,0,0,.15); stroke-dasharray:0; }
188
+ .fnordmetric_graph .y_ticks text { fill:#333333; }
189
+
190
+ .fnordmetric_legend {
191
+ font-family: "Gotham Narrow", Helvetica, Arial;
192
+ font-size: 12px;
193
+ color: #333;
194
+ display: inline-block;
195
+ padding: 0;
196
+ border-radius: 2px;
197
+ position: relative;
198
+ }
199
+
200
+ .fnordmetric_legend .ui-sortable {
201
+ margin-left:-10px;
202
+ }
203
+
204
+ .fnordmetric_legend li.line{
205
+ float:left;
206
+ clear:none;
207
+ padding-right:0;
208
+ }
209
+
210
+ .fnordmetric_legend a.action{
211
+ margin-right:5px;
212
+ display:none;
213
+ }
214
+
215
+
216
+ .fnordmetric_legend li.line .label{
217
+ font.size:14px;
218
+ margin-left:5px;
219
+ color:#333;
220
+ position:relative;
221
+ top:-1px;
222
+ }
223
+
224
+ .fnordmetric_legend:hover {
225
+ z-index: 10;
226
+ }
227
+ .fnordmetric_legend .line {
228
+ clear: both;
229
+ line-height: 140%;
230
+ padding-right: 15px;
231
+ }
232
+
233
+ .fnordmetric_legend li {
234
+ margin-right:10px;
235
+ }
236
+
237
+ .fnordmetric_legend .line .swatch {
238
+ width: 10px;
239
+ height: 10px;
240
+ border: 1px solid rgba(0, 0, 0, 0.2);
241
+ border-radius:2px;
242
+ display: inline-block;
243
+ margin-right: 3px;
244
+ border-radius: 2px;
245
+ }
246
+ .fnordmetric_legend .label {
247
+ white-space: nowrap;
248
+ display: inline;
249
+ }
250
+ .fnordmetric_legend .action:hover {
251
+ opacity: 0.6;
252
+ }
253
+ .fnordmetric_legend .action {
254
+ margin-right: 0.2em;
255
+ font-size: 10px;
256
+ opacity: 0.2;
257
+ cursor: pointer;
258
+ font-size: 14px;
259
+ }
260
+ .fnordmetric_legend .line.disabled {
261
+ opacity: 0.4;
262
+ }
263
+ .fnordmetric_legend ul {
264
+ list-style-type: none;
265
+ margin: 0;
266
+ padding: 0;
267
+ margin: 2px;
268
+ cursor: pointer;
269
+ }
270
+ .fnordmetric_legend li {
271
+ padding: 0 0 0 2px;
272
+ min-width: 80px;
273
+ white-space: nowrap;
274
+ }
275
+ .fnordmetric_legend li:hover {
276
+ background: rgba(255, 255, 255, 0.08);
277
+ border-radius: 3px;
278
+ }
279
+ .fnordmetric_legend li:active {
280
+ background: rgba(255, 255, 255, 0.2);
281
+ border-radius: 3px;
282
+ }