fluent-plugin-dd 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- ODg3YzliYmQ2NTdjOWRjMDU1MTg0NDZmOWVmMzZlNDRkM2M0YmE4ZA==
5
- data.tar.gz: !binary |-
6
- MTY0NzExYzM2ZWM1YjBkNjVjOGJkZmU3MmZmYjE0ZjAwMzhiMTkzYQ==
2
+ SHA1:
3
+ metadata.gz: d32c3397a0057d06d90fbb81f840017d27cd526d
4
+ data.tar.gz: cb5707e226e2a28b0abae125258b18c50a3c2235
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- ZDAyMWU5Mzk5YTA0YmQwNTBmYTNlMDQxMzU4YTBhZDhkOTNkYWIzZTU5NjQy
10
- M2EwYWQ0YWRmMjViMDM5MWY1MGNiZGM4ZjcwOTgyYjlmMGI1YmQ3YjAxYzE5
11
- MzU5NmU0YWJlNDQ2MjVhOTQ0OGE3Mzc0YmQzMGRhYjc3NGZjNzY=
12
- data.tar.gz: !binary |-
13
- OGM0ZTJmZDYzNjEwNWYwZjQ5ODA2YjUyZjU0ZTkzNGNjODRmYWRmYzk3MGE5
14
- NjlkMDg5NjlkNzdmOGEwZjViNTg1MWQxYzExMWQxNDBiZGYyOTFhZmY0Mzc4
15
- Zjk5OGJhYzQwMTA4MjUxOGYzNTVkOTljOTBiY2E5MmY1NDZkYzg=
6
+ metadata.gz: 15b1db3c558997642e120226f905f0e002728619174e10dd5bbb182e0c5478e1b943dc8cf8d12abf86b3a14b49ae91de7af6fc1add471753e0c9d3bc7a1d9e62
7
+ data.tar.gz: 2e18ce4ef7e1513876f1f3f54b411a714ffac4ca5648fa59ff7ce4d61405588cd1a9ef7a133115c9e9a1eb7a8992962a536a255d5dc35c1531ae811c9bba4707
data/README.md CHANGED
@@ -16,6 +16,7 @@ Output plugin for Datadog
16
16
  type dd
17
17
  dd_api_key ...
18
18
  #host my_host.example.com
19
+ #use_fluentd_tag_for_datadog_tag false
19
20
  </match>
20
21
  ```
21
22
 
@@ -1,7 +1,7 @@
1
1
  # coding: utf-8
2
2
  Gem::Specification.new do |spec|
3
3
  spec.name = 'fluent-plugin-dd'
4
- spec.version = '0.1.2'
4
+ spec.version = '0.1.3'
5
5
  spec.authors = ['Genki Sugawara']
6
6
  spec.email = ['sugawara@cookpad.com']
7
7
  spec.description = %q{Output plugin for Datadog}
@@ -7,6 +7,7 @@ class Fluent::DdOutput < Fluent::BufferedOutput
7
7
 
8
8
  config_param :dd_api_key, :string
9
9
  config_param :host, :string, :default => nil
10
+ config_param :use_fluentd_tag_for_datadog_tag, :bool, :default => false
10
11
 
11
12
  def initialize
12
13
  super
@@ -51,8 +52,13 @@ class Fluent::DdOutput < Fluent::BufferedOutput
51
52
 
52
53
  record['metric']
53
54
  }.chunk {|tag, time, record|
54
- tag = record['tag'] || tag
55
- [tag] + record.values_at('metric', 'host', 'type')
55
+ dd_tag = record['tag']
56
+
57
+ if not dd_tag and @use_fluentd_tag_for_datadog_tag
58
+ dd_tag = tag
59
+ end
60
+
61
+ [dd_tag] + record.values_at('metric', 'host', 'type')
56
62
  }.each {|i, records|
57
63
  tag, metric, host, type = i
58
64
 
data/spec/out_dd_spec.rb CHANGED
@@ -10,6 +10,20 @@ describe Fluent::DdOutput do
10
10
 
11
11
  it 'should be called emit_points' do
12
12
  run_driver do |d, dog|
13
+ dog.should_receive(:emit_points).with(
14
+ "some.metric.name",
15
+ [[Time.parse("2014-02-08 04:14:15 UTC"), 50.0],
16
+ [Time.parse("2014-02-08 04:14:15 UTC"), 100.0]],
17
+ {}
18
+ )
19
+
20
+ d.emit({"metric" => "some.metric.name", "value" => 50.0}, time)
21
+ d.emit({"metric" => "some.metric.name", "value" => 100.0}, time)
22
+ end
23
+ end
24
+
25
+ it 'should be called emit_points with tag' do
26
+ run_driver(:use_fluentd_tag_for_datadog_tag => true) do |d, dog|
13
27
  dog.should_receive(:emit_points).with(
14
28
  "some.metric.name",
15
29
  [[Time.parse("2014-02-08 04:14:15 UTC"), 50.0],
@@ -23,7 +37,7 @@ describe Fluent::DdOutput do
23
37
  end
24
38
 
25
39
  it 'should be called emit_points for each tag' do
26
- run_driver do |d, dog|
40
+ run_driver(:use_fluentd_tag_for_datadog_tag => true) do |d, dog|
27
41
  dog.should_receive(:emit_points).with(
28
42
  "some.metric.name",
29
43
  [[Time.parse("2014-02-08 04:14:15 UTC"), 50.0],
@@ -133,21 +147,21 @@ describe Fluent::DdOutput do
133
147
  "some.metric.name",
134
148
  [[Time.parse("2014-02-08 04:14:15 UTC"), 50.0],
135
149
  [Time.parse("2014-02-08 04:14:15 UTC"), 100.0]],
136
- {:tags=>["test.default"], :host=>"www1.example.com"}
150
+ {:host=>"www1.example.com"}
137
151
  )
138
152
 
139
153
  dog.should_receive(:emit_points).with(
140
154
  "some.metric.name",
141
155
  [[Time.parse("2014-02-08 04:14:15 UTC"), 150.0],
142
156
  [Time.parse("2014-02-08 04:14:15 UTC"), 200.0]],
143
- {:tags=>["test.default"], :host=>"www2.example.com"}
157
+ {:host=>"www2.example.com"}
144
158
  )
145
159
 
146
160
  dog.should_receive(:emit_points).with(
147
161
  "some.metric.name",
148
162
  [[Time.parse("2014-02-08 04:14:15 UTC"), 250.0],
149
163
  [Time.parse("2014-02-08 04:14:15 UTC"), 300.0]],
150
- {:tags=>["test.default"], :host=>"www3.example.com"}
164
+ {:host=>"www3.example.com"}
151
165
  )
152
166
 
153
167
  d.emit({"metric" => "some.metric.name", "value" => 50.0, "host" => "www1.example.com"}, time)
@@ -165,14 +179,14 @@ describe Fluent::DdOutput do
165
179
  "some.metric.name",
166
180
  [[Time.parse("2014-02-08 04:14:15 UTC"), 50.0],
167
181
  [Time.parse("2014-02-08 04:14:15 UTC"), 100.0]],
168
- {:tags=>["test.default"], :type=>"gauge"}
182
+ {:type=>"gauge"}
169
183
  )
170
184
 
171
185
  dog.should_receive(:emit_points).with(
172
186
  "some.metric.name",
173
187
  [[Time.parse("2014-02-08 04:14:15 UTC"), 150.0],
174
188
  [Time.parse("2014-02-08 04:14:15 UTC"), 200.0]],
175
- {:tags=>["test.default"], :type=>"counter"}
189
+ {:type=>"counter"}
176
190
  )
177
191
 
178
192
  d.emit({"metric" => "some.metric.name", "value" => 50.0, "type" => "gauge"}, time)
@@ -188,7 +202,7 @@ describe Fluent::DdOutput do
188
202
  "some.metric.name",
189
203
  [[Time.parse("2014-02-08 04:14:15 UTC"), 50.0],
190
204
  [Time.parse("2014-02-08 04:14:15 UTC"), 100.0]],
191
- {:tags=>["test.default"]}
205
+ {}
192
206
  )
193
207
 
194
208
  log = d.instance.log
data/spec/spec_helper.rb CHANGED
@@ -18,10 +18,21 @@ def run_driver(options = {})
18
18
  dd_api_key = options[:dd_api_key] || 'test_dd_api_key'
19
19
  host = options[:host] || 'test_host'
20
20
 
21
+ option_keys = [
22
+ :use_fluentd_tag_for_datadog_tag
23
+ ]
24
+
25
+ additional_options = option_keys.map {|key|
26
+ if options[key]
27
+ "#{key} #{options[key]}"
28
+ end
29
+ }.join("\n")
30
+
21
31
  fluentd_conf = <<-EOS
22
32
  type datadog
23
33
  dd_api_key #{dd_api_key}
24
34
  host #{host}
35
+ #{additional_options}
25
36
  EOS
26
37
 
27
38
  tag = options[:tag] || 'test.default'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-dd
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Genki Sugawara
@@ -14,28 +14,28 @@ dependencies:
14
14
  name: fluentd
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ! '>='
17
+ - - '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ! '>='
24
+ - - '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: dogapi
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ! '>='
31
+ - - '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ! '>='
38
+ - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
@@ -56,28 +56,28 @@ dependencies:
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ! '>='
59
+ - - '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ! '>='
66
+ - - '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ! '>='
73
+ - - '>='
74
74
  - !ruby/object:Gem::Version
75
75
  version: 2.11.0
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ! '>='
80
+ - - '>='
81
81
  - !ruby/object:Gem::Version
82
82
  version: 2.11.0
83
83
  description: Output plugin for Datadog
@@ -107,20 +107,21 @@ require_paths:
107
107
  - lib
108
108
  required_ruby_version: !ruby/object:Gem::Requirement
109
109
  requirements:
110
- - - ! '>='
110
+ - - '>='
111
111
  - !ruby/object:Gem::Version
112
112
  version: '0'
113
113
  required_rubygems_version: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ! '>='
115
+ - - '>='
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  requirements: []
119
119
  rubyforge_project:
120
- rubygems_version: 2.1.11
120
+ rubygems_version: 2.0.14
121
121
  signing_key:
122
122
  specification_version: 4
123
123
  summary: Output plugin for Datadog
124
124
  test_files:
125
125
  - spec/out_dd_spec.rb
126
126
  - spec/spec_helper.rb
127
+ has_rdoc: