fluent-plugin-dd 0.1.2 → 0.1.3

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.
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: