triglav-agent 1.0.0.pre1

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.
Files changed (68) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +11 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +6 -0
  5. data/.yardopts +6 -0
  6. data/CHANGELOG.md +3 -0
  7. data/CODE_OF_CONDUCT.md +49 -0
  8. data/Gemfile +5 -0
  9. data/LICENSE.txt +21 -0
  10. data/README.md +59 -0
  11. data/Rakefile +11 -0
  12. data/bin/console +14 -0
  13. data/bin/setup +8 -0
  14. data/docs/Triglav/Agent/ApiClient/AuthenticationError.html +150 -0
  15. data/docs/Triglav/Agent/ApiClient/ConnectionError.html +150 -0
  16. data/docs/Triglav/Agent/ApiClient/Error.html +296 -0
  17. data/docs/Triglav/Agent/ApiClient.html +545 -0
  18. data/docs/Triglav/Agent/Base/CLI.html +498 -0
  19. data/docs/Triglav/Agent/Base/Connection.html +258 -0
  20. data/docs/Triglav/Agent/Base/Monitor.html +370 -0
  21. data/docs/Triglav/Agent/Base/Processor.html +623 -0
  22. data/docs/Triglav/Agent/Base/Setting.html +1081 -0
  23. data/docs/Triglav/Agent/Base/Worker.html +635 -0
  24. data/docs/Triglav/Agent/Base.html +121 -0
  25. data/docs/Triglav/Agent/Configuration.html +967 -0
  26. data/docs/Triglav/Agent/Error.html +130 -0
  27. data/docs/Triglav/Agent/HashUtil.html +351 -0
  28. data/docs/Triglav/Agent/LogFormatter.html +271 -0
  29. data/docs/Triglav/Agent/Logger.html +287 -0
  30. data/docs/Triglav/Agent/StorageFile.html +1130 -0
  31. data/docs/Triglav/Agent/Timer.html +424 -0
  32. data/docs/Triglav/Agent/TooManyError.html +134 -0
  33. data/docs/Triglav/Agent.html +131 -0
  34. data/docs/Triglav.html +119 -0
  35. data/docs/_index.html +335 -0
  36. data/docs/class_list.html +51 -0
  37. data/docs/css/common.css +1 -0
  38. data/docs/css/full_list.css +58 -0
  39. data/docs/css/style.css +481 -0
  40. data/docs/file.LICENSE.html +72 -0
  41. data/docs/file.README.html +137 -0
  42. data/docs/file_list.html +61 -0
  43. data/docs/frames.html +17 -0
  44. data/docs/index.html +137 -0
  45. data/docs/js/app.js +243 -0
  46. data/docs/js/full_list.js +216 -0
  47. data/docs/js/jquery.js +4 -0
  48. data/docs/method_list.html +659 -0
  49. data/docs/top-level-namespace.html +112 -0
  50. data/example/config.yml +40 -0
  51. data/lib/triglav/agent/api_client.rb +199 -0
  52. data/lib/triglav/agent/base/cli.rb +98 -0
  53. data/lib/triglav/agent/base/connection.rb +30 -0
  54. data/lib/triglav/agent/base/monitor.rb +32 -0
  55. data/lib/triglav/agent/base/processor.rb +136 -0
  56. data/lib/triglav/agent/base/setting.rb +112 -0
  57. data/lib/triglav/agent/base/worker.rb +95 -0
  58. data/lib/triglav/agent/configuration.rb +79 -0
  59. data/lib/triglav/agent/error.rb +4 -0
  60. data/lib/triglav/agent/hash_util.rb +36 -0
  61. data/lib/triglav/agent/logger.rb +50 -0
  62. data/lib/triglav/agent/storage_file.rb +144 -0
  63. data/lib/triglav/agent/timer.rb +80 -0
  64. data/lib/triglav/agent/version.rb +5 -0
  65. data/lib/triglav/agent.rb +20 -0
  66. data/lib/triglav-agent.rb +1 -0
  67. data/triglav-agent.gemspec +33 -0
  68. metadata +250 -0
@@ -0,0 +1,258 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Class: Triglav::Agent::Base::Connection
8
+
9
+ &mdash; Documentation by YARD 0.9.5
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../../../css/style.css" type="text/css" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../../../css/common.css" type="text/css" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ pathId = "Triglav::Agent::Base::Connection";
19
+ relpath = '../../../';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="../../../js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="../../../js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="../../../class_list.html"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="../../../_index.html">Index (C)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../../../Triglav.html" title="Triglav (module)">Triglav</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../../Agent.html" title="Triglav::Agent (module)">Agent</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Base.html" title="Triglav::Agent::Base (module)">Base</a></span></span>
41
+ &raquo;
42
+ <span class="title">Connection</span>
43
+
44
+ </div>
45
+
46
+ <div id="search">
47
+
48
+ <a class="full_list_link" id="class_list_link"
49
+ href="../../../class_list.html">
50
+
51
+ <svg width="24" height="24">
52
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
+ </svg>
56
+ </a>
57
+
58
+ </div>
59
+ <div class="clear"></div>
60
+ </div>
61
+
62
+ <iframe id="search_frame" src="../../../class_list.html"></iframe>
63
+
64
+ <div id="content"><h1>Class: Triglav::Agent::Base::Connection
65
+
66
+
67
+
68
+ </h1>
69
+ <div class="box_info">
70
+
71
+ <dl>
72
+ <dt>Inherits:</dt>
73
+ <dd>
74
+ <span class="inheritName">Object</span>
75
+
76
+ <ul class="fullTree">
77
+ <li>Object</li>
78
+
79
+ <li class="next">Triglav::Agent::Base::Connection</li>
80
+
81
+ </ul>
82
+ <a href="#" class="inheritanceTree">show all</a>
83
+
84
+ </dd>
85
+ </dl>
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+ <dl>
98
+ <dt>Defined in:</dt>
99
+ <dd>lib/triglav/agent/base/connection.rb</dd>
100
+ </dl>
101
+
102
+ </div>
103
+
104
+ <h2>Overview</h2><div class="docstring">
105
+ <div class="discussion">
106
+
107
+ <p>An abstract base class of Connection.</p>
108
+
109
+ <p>Wrap a connection to a storage. You can implement any methods which you
110
+ want to use in your Monitor class.</p>
111
+
112
+ <p>You have to implement following methods:</p>
113
+ <ul><li>
114
+ <p>initialize</p>
115
+ </li></ul>
116
+
117
+ <p>An instance is created for each `resource_uri_prefix`, that is, shared
118
+ among resources with of same `resource_uri_prefix`.</p>
119
+
120
+ <p>Note that multiple connections would be created, one connection for one
121
+ parallel thread basically.</p>
122
+
123
+
124
+ </div>
125
+ </div>
126
+ <div class="tags">
127
+
128
+
129
+ </div>
130
+
131
+
132
+
133
+
134
+
135
+
136
+
137
+ <h2>
138
+ Instance Method Summary
139
+ <small><a href="#" class="summary_toggle">collapse</a></small>
140
+ </h2>
141
+
142
+ <ul class="summary">
143
+
144
+ <li class="public ">
145
+ <span class="summary_signature">
146
+
147
+ <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(connection_info) &#x21d2; Connection </a>
148
+
149
+
150
+
151
+ </span>
152
+
153
+
154
+ <span class="note title constructor">constructor</span>
155
+
156
+
157
+
158
+
159
+
160
+
161
+
162
+
163
+ <span class="summary_desc"><div class='inline'>
164
+ <p>A new instance of Connection.</p>
165
+ </div></span>
166
+
167
+ </li>
168
+
169
+
170
+ </ul>
171
+
172
+
173
+ <div id="constructor_details" class="method_details_list">
174
+ <h2>Constructor Details</h2>
175
+
176
+ <div class="method_details first">
177
+ <h3 class="signature first" id="initialize-instance_method">
178
+
179
+ #<strong>initialize</strong>(connection_info) &#x21d2; <tt><span class='object_link'><a href="" title="Triglav::Agent::Base::Connection (class)">Connection</a></span></tt>
180
+
181
+
182
+
183
+
184
+
185
+ </h3><div class="docstring">
186
+ <div class="discussion">
187
+
188
+ <p>Returns a new instance of Connection</p>
189
+
190
+
191
+ </div>
192
+ </div>
193
+ <div class="tags">
194
+ <p class="tag_title">Parameters:</p>
195
+ <ul class="param">
196
+
197
+ <li>
198
+
199
+ <span class='name'>connection_info</span>
200
+
201
+
202
+ <span class='type'>(<tt>Hash</tt>)</span>
203
+
204
+
205
+
206
+ </li>
207
+
208
+ </ul>
209
+
210
+ <p class="tag_title">Raises:</p>
211
+ <ul class="raise">
212
+
213
+ <li>
214
+
215
+
216
+ <span class='type'>(<tt>NotImplementedError</tt>)</span>
217
+
218
+
219
+
220
+ </li>
221
+
222
+ </ul>
223
+
224
+ </div><table class="source_code">
225
+ <tr>
226
+ <td>
227
+ <pre class="lines">
228
+
229
+
230
+ 19
231
+ 20
232
+ 21</pre>
233
+ </td>
234
+ <td>
235
+ <pre class="code"><span class="info file"># File 'lib/triglav/agent/base/connection.rb', line 19</span>
236
+
237
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_connection_info'>connection_info</span><span class='rparen'>)</span>
238
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>NotImplementedError</span>
239
+ <span class='kw'>end</span></pre>
240
+ </td>
241
+ </tr>
242
+ </table>
243
+ </div>
244
+
245
+ </div>
246
+
247
+
248
+ </div>
249
+
250
+ <div id="footer">
251
+ Generated on Thu Feb 23 23:20:34 2017 by
252
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
253
+ 0.9.5 (ruby-2.3.2).
254
+ </div>
255
+
256
+ </div>
257
+ </body>
258
+ </html>
@@ -0,0 +1,370 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Class: Triglav::Agent::Base::Monitor
8
+
9
+ &mdash; Documentation by YARD 0.9.5
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../../../css/style.css" type="text/css" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../../../css/common.css" type="text/css" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ pathId = "Triglav::Agent::Base::Monitor";
19
+ relpath = '../../../';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="../../../js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="../../../js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="../../../class_list.html"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="../../../_index.html">Index (M)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../../../Triglav.html" title="Triglav (module)">Triglav</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../../Agent.html" title="Triglav::Agent (module)">Agent</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Base.html" title="Triglav::Agent::Base (module)">Base</a></span></span>
41
+ &raquo;
42
+ <span class="title">Monitor</span>
43
+
44
+ </div>
45
+
46
+ <div id="search">
47
+
48
+ <a class="full_list_link" id="class_list_link"
49
+ href="../../../class_list.html">
50
+
51
+ <svg width="24" height="24">
52
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
+ </svg>
56
+ </a>
57
+
58
+ </div>
59
+ <div class="clear"></div>
60
+ </div>
61
+
62
+ <iframe id="search_frame" src="../../../class_list.html"></iframe>
63
+
64
+ <div id="content"><h1>Class: Triglav::Agent::Base::Monitor
65
+
66
+
67
+
68
+ </h1>
69
+ <div class="box_info">
70
+
71
+ <dl>
72
+ <dt>Inherits:</dt>
73
+ <dd>
74
+ <span class="inheritName">Object</span>
75
+
76
+ <ul class="fullTree">
77
+ <li>Object</li>
78
+
79
+ <li class="next">Triglav::Agent::Base::Monitor</li>
80
+
81
+ </ul>
82
+ <a href="#" class="inheritanceTree">show all</a>
83
+
84
+ </dd>
85
+ </dl>
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+ <dl>
98
+ <dt>Defined in:</dt>
99
+ <dd>lib/triglav/agent/base/monitor.rb</dd>
100
+ </dl>
101
+
102
+ </div>
103
+
104
+ <h2>Overview</h2><div class="docstring">
105
+ <div class="discussion">
106
+
107
+ <p>An abstract class of Monitor.</p>
108
+
109
+ <p>Monitor your storage and send messages to triglav.</p>
110
+
111
+ <p>You have to implement following methods:</p>
112
+ <ul><li>
113
+ <p>initialize</p>
114
+ </li><li>
115
+ <p>process</p>
116
+ </li></ul>
117
+
118
+ <p>An instance is created per a `resource`. Connection is shared among same
119
+ `resource_uri_prefix`.</p>
120
+
121
+ <p>Note that multiple instances would be created, one instance for one
122
+ parallel thread basically, and `#process` is ran concurrently.</p>
123
+
124
+
125
+ </div>
126
+ </div>
127
+ <div class="tags">
128
+
129
+
130
+ </div>
131
+
132
+
133
+
134
+
135
+
136
+
137
+
138
+ <h2>
139
+ Instance Method Summary
140
+ <small><a href="#" class="summary_toggle">collapse</a></small>
141
+ </h2>
142
+
143
+ <ul class="summary">
144
+
145
+ <li class="public ">
146
+ <span class="summary_signature">
147
+
148
+ <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(connection, resource) &#x21d2; Monitor </a>
149
+
150
+
151
+
152
+ </span>
153
+
154
+
155
+ <span class="note title constructor">constructor</span>
156
+
157
+
158
+
159
+
160
+
161
+
162
+
163
+
164
+ <span class="summary_desc"><div class='inline'>
165
+ <p>A new instance of Monitor.</p>
166
+ </div></span>
167
+
168
+ </li>
169
+
170
+
171
+ <li class="public ">
172
+ <span class="summary_signature">
173
+
174
+ <a href="#process-instance_method" title="#process (instance method)">#<strong>process</strong> {|events| ... } &#x21d2; Object </a>
175
+
176
+
177
+
178
+ </span>
179
+
180
+
181
+
182
+
183
+
184
+
185
+
186
+
187
+
188
+ <span class="summary_desc"><div class='inline'></div></span>
189
+
190
+ </li>
191
+
192
+
193
+ </ul>
194
+
195
+
196
+ <div id="constructor_details" class="method_details_list">
197
+ <h2>Constructor Details</h2>
198
+
199
+ <div class="method_details first">
200
+ <h3 class="signature first" id="initialize-instance_method">
201
+
202
+ #<strong>initialize</strong>(connection, resource) &#x21d2; <tt><span class='object_link'><a href="" title="Triglav::Agent::Base::Monitor (class)">Monitor</a></span></tt>
203
+
204
+
205
+
206
+
207
+
208
+ </h3><div class="docstring">
209
+ <div class="discussion">
210
+
211
+ <p>Returns a new instance of Monitor</p>
212
+
213
+
214
+ </div>
215
+ </div>
216
+ <div class="tags">
217
+ <p class="tag_title">Parameters:</p>
218
+ <ul class="param">
219
+
220
+ <li>
221
+
222
+ <span class='name'>connection</span>
223
+
224
+
225
+ <span class='type'>(<tt><span class='object_link'><a href="Connection.html" title="Triglav::Agent::Base::Connection (class)">Triglav::Agent::Base::Connection</a></span></tt>)</span>
226
+
227
+
228
+
229
+ </li>
230
+
231
+ <li>
232
+
233
+ <span class='name'>resource</span>
234
+
235
+
236
+ <span class='type'>(<tt>TriglavClient::ResourceResponse</tt>)</span>
237
+
238
+
239
+
240
+ </li>
241
+
242
+ </ul>
243
+
244
+ <p class="tag_title">Raises:</p>
245
+ <ul class="raise">
246
+
247
+ <li>
248
+
249
+
250
+ <span class='type'>(<tt>NotImplementedError</tt>)</span>
251
+
252
+
253
+
254
+ </li>
255
+
256
+ </ul>
257
+
258
+ </div><table class="source_code">
259
+ <tr>
260
+ <td>
261
+ <pre class="lines">
262
+
263
+
264
+ 21
265
+ 22
266
+ 23</pre>
267
+ </td>
268
+ <td>
269
+ <pre class="code"><span class="info file"># File 'lib/triglav/agent/base/monitor.rb', line 21</span>
270
+
271
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_connection'>connection</span><span class='comma'>,</span> <span class='id identifier rubyid_resource'>resource</span><span class='rparen'>)</span>
272
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>NotImplementedError</span>
273
+ <span class='kw'>end</span></pre>
274
+ </td>
275
+ </tr>
276
+ </table>
277
+ </div>
278
+
279
+ </div>
280
+
281
+
282
+ <div id="instance_method_details" class="method_details_list">
283
+ <h2>Instance Method Details</h2>
284
+
285
+
286
+ <div class="method_details first">
287
+ <h3 class="signature first" id="process-instance_method">
288
+
289
+ #<strong>process</strong> {|events| ... } &#x21d2; <tt>Object</tt>
290
+
291
+
292
+
293
+
294
+
295
+ </h3><div class="docstring">
296
+ <div class="discussion">
297
+
298
+
299
+ </div>
300
+ </div>
301
+ <div class="tags">
302
+
303
+ <p class="tag_title">Yields:</p>
304
+ <ul class="yield">
305
+
306
+ <li>
307
+
308
+
309
+ <span class='type'>(<tt>events</tt>)</span>
310
+
311
+
312
+
313
+ &mdash;
314
+ <div class='inline'>
315
+ <p>Gives an array of events</p>
316
+ </div>
317
+
318
+ </li>
319
+
320
+ </ul>
321
+ <p class="tag_title">Raises:</p>
322
+ <ul class="raise">
323
+
324
+ <li>
325
+
326
+
327
+ <span class='type'>(<tt>NotImplementedError</tt>)</span>
328
+
329
+
330
+
331
+ </li>
332
+
333
+ </ul>
334
+
335
+ </div><table class="source_code">
336
+ <tr>
337
+ <td>
338
+ <pre class="lines">
339
+
340
+
341
+ 26
342
+ 27
343
+ 28
344
+ 29</pre>
345
+ </td>
346
+ <td>
347
+ <pre class="code"><span class="info file"># File 'lib/triglav/agent/base/monitor.rb', line 26</span>
348
+
349
+ <span class='kw'>def</span> <span class='id identifier rubyid_process'>process</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
350
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>NotImplementedError</span>
351
+ <span class='comment'># yield(events) if block_given?
352
+ </span><span class='kw'>end</span></pre>
353
+ </td>
354
+ </tr>
355
+ </table>
356
+ </div>
357
+
358
+ </div>
359
+
360
+ </div>
361
+
362
+ <div id="footer">
363
+ Generated on Thu Feb 23 23:20:33 2017 by
364
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
365
+ 0.9.5 (ruby-2.3.2).
366
+ </div>
367
+
368
+ </div>
369
+ </body>
370
+ </html>