reacter 0.0.18 → 0.0.19

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 (2) hide show
  1. data/lib/reacter/parsers/kairosdb.rb +47 -0
  2. metadata +17 -51
@@ -0,0 +1,47 @@
1
+ require 'reacter/parser'
2
+
3
+ class Reacter
4
+ class Message
5
+ class KairosdbParser < Parser
6
+ class<<self
7
+ require 'multi_json'
8
+ require 'oj'
9
+
10
+ def detected?(message)
11
+ (message[0] == '{' or message[0] == '[')
12
+ end
13
+
14
+ def parse(message)
15
+ [*MultiJson.load(message)].collect{|i|
16
+ {
17
+ :metric => i['name'],
18
+ :time => i['timestamp'].to_i,
19
+ :value => i['value'],
20
+ :attributes => i['tags']
21
+ }
22
+ }
23
+ end
24
+
25
+ def dump(message)
26
+ message = message.to_h if message.is_a?(Message)
27
+ return nil unless message.is_a?(Hash)
28
+ return nil unless message[:source]
29
+ return nil unless message[:metric]
30
+ return nil unless message[:value]
31
+ return nil unless message[:time]
32
+
33
+ attributes = {
34
+ :host => message[:source]
35
+ }.merge(message[:attributes] || {})
36
+
37
+ MultiJson.dump({
38
+ :name => message[:metric],
39
+ :timestamp => message[:time].to_i,
40
+ :value => message[:value],
41
+ :tags => attributes
42
+ })
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: reacter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.18
4
+ version: 0.0.19
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2013-03-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: eventmachine
16
- requirement: !ruby/object:Gem::Requirement
16
+ requirement: &10277620 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,15 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
29
- version: '0'
24
+ version_requirements: *10277620
30
25
  - !ruby/object:Gem::Dependency
31
26
  name: em-http-server
32
- requirement: !ruby/object:Gem::Requirement
27
+ requirement: &10277180 !ruby/object:Gem::Requirement
33
28
  none: false
34
29
  requirements:
35
30
  - - ! '>='
@@ -37,15 +32,10 @@ dependencies:
37
32
  version: '0'
38
33
  type: :runtime
39
34
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: '0'
35
+ version_requirements: *10277180
46
36
  - !ruby/object:Gem::Dependency
47
37
  name: deep_merge
48
- requirement: !ruby/object:Gem::Requirement
38
+ requirement: &10276520 !ruby/object:Gem::Requirement
49
39
  none: false
50
40
  requirements:
51
41
  - - ! '>='
@@ -53,15 +43,10 @@ dependencies:
53
43
  version: '0'
54
44
  type: :runtime
55
45
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
46
+ version_requirements: *10276520
62
47
  - !ruby/object:Gem::Dependency
63
48
  name: hashlib
64
- requirement: !ruby/object:Gem::Requirement
49
+ requirement: &10275600 !ruby/object:Gem::Requirement
65
50
  none: false
66
51
  requirements:
67
52
  - - ! '>='
@@ -69,15 +54,10 @@ dependencies:
69
54
  version: '0'
70
55
  type: :runtime
71
56
  prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: '0'
57
+ version_requirements: *10275600
78
58
  - !ruby/object:Gem::Dependency
79
59
  name: hiredis
80
- requirement: !ruby/object:Gem::Requirement
60
+ requirement: &10274860 !ruby/object:Gem::Requirement
81
61
  none: false
82
62
  requirements:
83
63
  - - ! '>='
@@ -85,15 +65,10 @@ dependencies:
85
65
  version: '0'
86
66
  type: :runtime
87
67
  prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ! '>='
92
- - !ruby/object:Gem::Version
93
- version: '0'
68
+ version_requirements: *10274860
94
69
  - !ruby/object:Gem::Dependency
95
70
  name: multi_json
96
- requirement: !ruby/object:Gem::Requirement
71
+ requirement: &10273860 !ruby/object:Gem::Requirement
97
72
  none: false
98
73
  requirements:
99
74
  - - ! '>='
@@ -101,15 +76,10 @@ dependencies:
101
76
  version: '0'
102
77
  type: :runtime
103
78
  prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
- requirements:
107
- - - ! '>='
108
- - !ruby/object:Gem::Version
109
- version: '0'
79
+ version_requirements: *10273860
110
80
  - !ruby/object:Gem::Dependency
111
81
  name: oj
112
- requirement: !ruby/object:Gem::Requirement
82
+ requirement: &10272700 !ruby/object:Gem::Requirement
113
83
  none: false
114
84
  requirements:
115
85
  - - ! '>='
@@ -117,12 +87,7 @@ dependencies:
117
87
  version: '0'
118
88
  type: :runtime
119
89
  prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
- requirements:
123
- - - ! '>='
124
- - !ruby/object:Gem::Version
125
- version: '0'
90
+ version_requirements: *10272700
126
91
  description: A utility for consuming, transforming, and routing monitoring data from
127
92
  various sources
128
93
  email: ghetzel@outbrain.com
@@ -151,6 +116,7 @@ files:
151
116
  - lib/reacter/parsers/graphite.rb
152
117
  - lib/reacter/parsers/json.rb
153
118
  - lib/reacter/parsers/tsdb.rb
119
+ - lib/reacter/parsers/kairosdb.rb
154
120
  - lib/reacter/util.rb
155
121
  - bin/reacter
156
122
  homepage: http://outbrain.github.com/reacter/
@@ -173,7 +139,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
173
139
  version: '0'
174
140
  requirements: []
175
141
  rubyforge_project:
176
- rubygems_version: 1.8.23
142
+ rubygems_version: 1.8.11
177
143
  signing_key:
178
144
  specification_version: 3
179
145
  summary: Reacter monitoring processor