fluent-plugin-flowcounter 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a4106b69e6d5a5c4e44996ab86bf6bf3220bc11b
4
- data.tar.gz: fbe0fa0f5c544e265b37e3023a24e0bd66d0ae1f
3
+ metadata.gz: 373e8131d63b116d0e7bb4364fd93a19356bb141
4
+ data.tar.gz: 2000acaab8a219b70da435c4f77469155cbdd300
5
5
  SHA512:
6
- metadata.gz: d4b7e9a9543eb01212b56b413569fb210bcaa6ea5bc53c2f8aa02371a5c80bc0612e618280c063df6c8be39365f24217e6bded2c793004ce70ea982f84225d0b
7
- data.tar.gz: 39aa071b23d739acdccea9768036e03953d569fa4493a7a216b89228d65484843df0d5d73ee409458d0b1ad53389995f97d41917b8dcfa61daf705f13cf8f01c
6
+ metadata.gz: 715cd4f1dfeb133f64f334608df853f8efc2cf0debd31a87f63642dd0b82cf4c774126935e821a345bce8f348e8aea71a56409646b93c35f6cf51edb72df4a8a
7
+ data.tar.gz: 96e775ec5a88dc718a21676fe630236b50b7eba183a3bfeac47a0e66883292dd3b29b9ca16a261673eaf14340db56fd5ec48aa1f36341e1f3851568b8d0c5339
data/.travis.yml CHANGED
@@ -1,4 +1,6 @@
1
1
  language: ruby
2
+ sudo: false
2
3
  rvm:
3
- - 1.9.3
4
4
  - 2.0.0
5
+ - 2.1
6
+ - 2.2
data/README.md CHANGED
@@ -54,7 +54,7 @@ Counts from field 'message', per hour, aggregates all tags, output with tag 'flu
54
54
  </store>
55
55
  </match>
56
56
 
57
- <match flowcount>
57
+ <match fluentd.traffic>
58
58
  # output configurations where to send count results
59
59
  </match>
60
60
 
@@ -1,13 +1,13 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  Gem::Specification.new do |gem|
3
3
  gem.name = "fluent-plugin-flowcounter"
4
- gem.version = "0.3.1"
4
+ gem.version = "0.3.2"
5
5
  gem.authors = ["TAGOMORI Satoshi"]
6
6
  gem.email = ["tagomoris@gmail.com"]
7
7
  gem.summary = %q{Fluent plugin to count message flow}
8
8
  gem.description = %q{Plugin to counts messages/bytes that matches, per minutes/hours/days}
9
9
  gem.homepage = "https://github.com/tagomoris/fluent-plugin-flowcounter"
10
- gem.license = "APLv2"
10
+ gem.license = "Apache-2.0"
11
11
 
12
12
  gem.files = `git ls-files`.split($\)
13
13
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
@@ -15,6 +15,7 @@ Gem::Specification.new do |gem|
15
15
  gem.require_paths = ["lib"]
16
16
 
17
17
  gem.add_development_dependency "rake"
18
+ gem.add_development_dependency "test-unit"
18
19
  gem.add_runtime_dependency "fluentd"
19
20
  gem.add_runtime_dependency "fluent-mixin-config-placeholders", ">= 0.3.0"
20
21
  end
@@ -163,6 +163,8 @@ class Fluent::FlowCounterOutput < Fluent::Output
163
163
  end
164
164
  end
165
165
 
166
+ FOR_MISSING = ''
167
+
166
168
  def emit(tag, es, chain)
167
169
  name = tag
168
170
  if @input_tag_remove_prefix and
@@ -178,7 +180,7 @@ class Fluent::FlowCounterOutput < Fluent::Output
178
180
  else
179
181
  es.each {|time,record|
180
182
  c += 1
181
- b += @count_keys.inject(0){|s,k| s + record[k].bytesize}
183
+ b += @count_keys.inject(0){|s,k| s + (record[k] || FOR_MISSING).bytesize}
182
184
  }
183
185
  end
184
186
  countup(name, c, b)
@@ -303,4 +303,31 @@ count_keys message
303
303
  assert_equal 1.0, r1[0]['count_rate']
304
304
  assert_equal 15.0, r1[0]['bytes_rate']
305
305
  end
306
+
307
+ def test_emit_records_without_specified_field
308
+ d3 = create_driver( %[
309
+ unit minute
310
+ aggregate all
311
+ tag flowcount
312
+ input_tag_remove_prefix test
313
+ count_keys f4
314
+ ], 'test.tag4')
315
+ time = Time.now.to_i
316
+ d3.run do
317
+ 60.times do
318
+ d3.emit({'f1' => 'abcde', 'f2' => 'vwxyz', 'f3' => '0123456789'})
319
+ d3.emit({'f1' => 'abcde', 'f2' => 'vwxyz', 'f3' => '0123456789'})
320
+ d3.emit({'f1' => 'abcde', 'f2' => 'vwxyz', 'f3' => '0123456789'})
321
+ d3.emit({'f1' => 'abcde', 'f2' => 'vwxyz', 'f3' => '0123456789'})
322
+ d3.emit({'f1' => 'abcde', 'f2' => 'vwxyz', 'f3' => '0123456789'})
323
+ end
324
+ end
325
+ d3.instance.flush_emit(60)
326
+ emits = d3.emits
327
+ assert_equal 1, emits.length
328
+ data = emits[0]
329
+ assert_equal 'flowcount', data[0]
330
+ assert_equal 60*5, data[2]['count']
331
+ assert_equal 0, data[2]['bytes']
332
+ end
306
333
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-flowcounter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - TAGOMORI Satoshi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-05 00:00:00.000000000 Z
11
+ date: 2015-12-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: test-unit
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: fluentd
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -73,7 +87,7 @@ files:
73
87
  - test/plugin/test_out_flowcounter.rb
74
88
  homepage: https://github.com/tagomoris/fluent-plugin-flowcounter
75
89
  licenses:
76
- - APLv2
90
+ - Apache-2.0
77
91
  metadata: {}
78
92
  post_install_message:
79
93
  rdoc_options: []