fluent-plugin-suppress 0.0.7 → 1.0.0

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: 4cd6289c442f4ee33e2538a06a4f3abc9f7e9bc4
4
- data.tar.gz: 4f4429fc856c81fb95bf0299297900f5fc9d871d
3
+ metadata.gz: 8c0b6ee711914b962c5f5d766cce357ddd110a25
4
+ data.tar.gz: ce81797b67eb2fb9b7370bae9437c31c6169324d
5
5
  SHA512:
6
- metadata.gz: d35adc053bd035e4d3e5e54b4dbf5d887292e28bfcd58d8c2e7d828468a827467539b63e2760db81b81f1e8bf4ee9b0c81bb91a29cb8b41a6704b5f26bf4f759
7
- data.tar.gz: db2b49472f7549967a3783da4dcd2dea700183ff59c7ca066fe26336de16b887c6e0d6233f42302023a22926fd377d4b60211363bd243f83afe2175cca10e8b8
6
+ metadata.gz: de1ffa0ddd281010c45bc2e1681cb49a02991c64e84e2860b839bce1cb81b48f0f8f5223504590edb04aa56c49d1f77af20ced5076c0a597a8665608ca8fac19
7
+ data.tar.gz: 1613ba5ab4ea3591f7d24b8c5bb13f05d057c2c5c2c0dabc1159bf936209ccf5ce078e16597bfc0eda4e01befb34e3a2e3fa349ea601f845a302796fa5222034
@@ -1,7 +1,8 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.1.10
4
- - 2.2.5
3
+ - 2.1
4
+ - 2.2
5
5
  - 2.3
6
+ - 2.4
6
7
  gemfile:
7
8
  - Gemfile
data/README.md CHANGED
@@ -12,7 +12,7 @@ fluentd.conf
12
12
 
13
13
  ```
14
14
  <match foo.**>
15
- type suppress
15
+ @type suppress
16
16
  interval 10
17
17
  num 2
18
18
  attr_keys host,message
@@ -52,7 +52,7 @@ Fluentd >= v0.12 can use filter plugin.
52
52
 
53
53
  ```
54
54
  <filter foo.**>
55
- type suppress
55
+ @type suppress
56
56
  interval 10
57
57
  num 2
58
58
  attr_keys host,message
@@ -67,7 +67,7 @@ Filter plugin will not replace a tag.
67
67
 
68
68
  ```
69
69
  <match foo.**>
70
- type suppress
70
+ @type suppress
71
71
  attr_keys data.host, data.message
72
72
  </match>
73
73
  ```
@@ -85,7 +85,7 @@ If `attr_keys` is not specified, records will be suppressed by tag only.
85
85
 
86
86
  ```
87
87
  <match foo.**>
88
- type suppress
88
+ @type suppress
89
89
  ...
90
90
  </match>
91
91
  ```
@@ -1,11 +1,10 @@
1
- # -*- encoding: utf-8 -*-
2
1
  # -*- mode:ruby -*-
3
2
 
4
3
  Gem::Specification.new do |gem|
5
4
  gem.authors = ["FUJIWARA Shunichiro"]
6
5
  gem.email = ["fujiwara.shunichiro@gmail.com"]
7
- gem.description = %q{Fluentd plugin to suppress same messages}
8
- gem.summary = %q{Fluentd plugin to suppress same messages}
6
+ gem.description = %q{Fluentd filter plugin to suppress same messages}
7
+ gem.summary = %q{Fluentd filter plugin to suppress same messages}
9
8
  gem.homepage = "https://github.com/fujiwara/fluent-plugin-suppress"
10
9
  gem.license = "Apache-2.0"
11
10
 
@@ -14,9 +13,9 @@ Gem::Specification.new do |gem|
14
13
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
15
14
  gem.name = "fluent-plugin-suppress"
16
15
  gem.require_paths = ["lib"]
17
- gem.version = "0.0.7"
16
+ gem.version = "1.0.0"
18
17
 
19
- gem.add_runtime_dependency "fluentd", ">= 0.10.0"
18
+ gem.add_runtime_dependency "fluentd", [">= 0.14.8", "< 2"]
20
19
  gem.add_development_dependency "rake", ">= 0.9.2"
21
20
  gem.add_development_dependency "test-unit", ">= 3.0"
22
21
  end
@@ -1,11 +1,12 @@
1
- # -*- coding: utf-8 -*-
2
- module Fluent
3
- class SuppressFilter < Filter
1
+ require 'fluent/plugin/filter'
2
+
3
+ module Fluent::Plugin
4
+ class SuppressFilter < Fluent::Plugin::Filter
4
5
  Fluent::Plugin.register_filter('suppress', self)
5
6
 
6
- config_param :attr_keys, :string, :default => nil
7
- config_param :num, :integer, :default => 3
8
- config_param :interval, :integer, :default => 300
7
+ config_param :attr_keys, :string, default: nil
8
+ config_param :num, :integer, default: 3
9
+ config_param :interval, :integer, default: 300
9
10
 
10
11
  def configure(conf)
11
12
  super
@@ -13,16 +14,8 @@ module Fluent
13
14
  @slots = {}
14
15
  end
15
16
 
16
- def start
17
- super
18
- end
19
-
20
- def shutdown
21
- super
22
- end
23
-
24
17
  def filter_stream(tag, es)
25
- new_es = MultiEventStream.new
18
+ new_es = Fluent::MultiEventStream.new
26
19
  es.each do |time, record|
27
20
  if @keys
28
21
  keys = @keys.map do |key|
@@ -50,5 +43,5 @@ module Fluent
50
43
  end
51
44
  return new_es
52
45
  end
53
- end if defined?(Filter) # Support only >= v0.12
46
+ end
54
47
  end
@@ -1,22 +1,16 @@
1
- # -*- coding: utf-8 -*-
2
- module Fluent
3
- class SuppressOutput < Output
1
+ require "fluent/plugin/output"
2
+
3
+ module Fluent::Plugin
4
+ class SuppressOutput < Fluent::Plugin::Output
4
5
  include Fluent::HandleTagNameMixin
5
6
 
6
7
  Fluent::Plugin.register_output('suppress', self)
7
8
 
8
- config_param :attr_keys, :string, :default => nil
9
- config_param :num, :integer, :default => 3
10
- config_param :interval, :integer, :default => 300
9
+ helpers :event_emitter
11
10
 
12
- unless method_defined?(:log)
13
- define_method("log") { $log }
14
- end
15
-
16
- # Define `router` method of v0.12 to support v0.10 or earlier
17
- unless method_defined?(:router)
18
- define_method("router") { Fluent::Engine }
19
- end
11
+ config_param :attr_keys, :string, default: nil
12
+ config_param :num, :integer, default: 3
13
+ config_param :interval, :integer, default: 300
20
14
 
21
15
  def configure(conf)
22
16
  super
@@ -24,22 +18,18 @@ module Fluent
24
18
  @labelled = !conf['@label'].nil?
25
19
 
26
20
  if !@labelled && !@remove_tag_prefix && !@remove_tag_suffix && !@add_tag_prefix && !@add_tag_suffix
27
- raise ConfigError, "out_suppress: Set remove_tag_prefix, remove_tag_suffix, add_tag_prefix or add_tag_suffix."
21
+ raise Fluent::ConfigError, "out_suppress: Set remove_tag_prefix, remove_tag_suffix, add_tag_prefix or add_tag_suffix."
28
22
  end
29
23
 
30
24
  @keys = @attr_keys ? @attr_keys.split(/ *, */) : nil
31
25
  @slots = {}
32
26
  end
33
27
 
34
- def start
35
- super
28
+ def multi_workers_ready?
29
+ true
36
30
  end
37
31
 
38
- def shutdown
39
- super
40
- end
41
-
42
- def emit(tag, es, chain)
32
+ def process(tag, es)
43
33
  es.each do |time, record|
44
34
  if @keys
45
35
  keys = @keys.map do |key|
@@ -71,8 +61,6 @@ module Fluent
71
61
  log.warn "Drop record #{record} tag '#{tag}' was not replaced. Can't emit record, cause infinity looping. Set remove_tag_prefix, remove_tag_suffix, add_tag_prefix or add_tag_suffix correctly."
72
62
  end
73
63
  end
74
-
75
- chain.next
76
64
  end
77
65
  end
78
66
  end
@@ -1,28 +1,9 @@
1
- require 'rubygems'
2
- require 'bundler'
3
- begin
4
- Bundler.setup(:default, :development)
5
- rescue Bundler::BundlerError => e
6
- $stderr.puts e.message
7
- $stderr.puts "Run `bundle install` to install missing gems"
8
- exit e.status_code
9
- end
1
+ require 'bundler/setup'
10
2
  require 'test/unit'
11
3
 
12
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
13
- $LOAD_PATH.unshift(File.dirname(__FILE__))
4
+ $LOAD_PATH.unshift(File.join(__dir__, '..', 'lib'))
5
+ $LOAD_PATH.unshift(__dir__)
14
6
  require 'fluent/test'
15
- unless ENV.has_key?('VERBOSE')
16
- nulllogger = Object.new
17
- nulllogger.instance_eval {|obj|
18
- def method_missing(method, *args)
19
- # pass
20
- end
21
- }
22
- $log = nulllogger
23
- end
7
+ require 'fluent/test/helpers'
24
8
 
25
- require 'fluent/plugin/out_suppress'
26
-
27
- class Test::Unit::TestCase
28
- end
9
+ Test::Unit::TestCase.include(Fluent::Test::Helpers)
@@ -1,6 +1,5 @@
1
- require 'test/unit'
2
- require 'fluent/log'
3
- require 'fluent/test'
1
+ require 'helper'
2
+ require 'fluent/test/driver/filter'
4
3
  require 'fluent/plugin/filter_suppress'
5
4
 
6
5
  class SuppressFilterTest < Test::Unit::TestCase
@@ -27,17 +26,15 @@ class SuppressFilterTest < Test::Unit::TestCase
27
26
  num 2
28
27
  ]
29
28
 
30
- def create_driver(conf = CONFIG, tag='test.info')
31
- Fluent::Test::FilterTestDriver.new(Fluent::SuppressFilter).configure(conf, tag)
29
+ def create_driver(conf = CONFIG)
30
+ Fluent::Test::Driver::Filter.new(Fluent::Plugin::SuppressFilter).configure(conf)
32
31
  end
33
32
 
34
33
  def test_emit
35
- return unless defined? Fluent::Filter
36
-
37
34
  d = create_driver(CONFIG)
38
35
  es = Fluent::MultiEventStream.new
39
36
 
40
- time = Time.parse("2012-11-22 11:22:33 UTC").to_i
37
+ time = event_time("2012-11-22 11:22:33 UTC")
41
38
  es.add(time + 1, {"id" => 1, "host" => "web01", "message" => "error!!"})
42
39
  es.add(time + 2, {"id" => 2, "host" => "web01", "message" => "error!!"})
43
40
  es.add(time + 3, {"id" => 3, "host" => "web01", "message" => "error!!"})
@@ -47,8 +44,11 @@ class SuppressFilterTest < Test::Unit::TestCase
47
44
  es.add(time + 13, {"id" => 7, "host" => "web01", "message" => "error!!"})
48
45
  es.add(time + 14, {"id" => 8, "host" => "web01", "message" => "error!!"})
49
46
 
50
- filtered_es = d.run { d.filter_stream(es) }.filtered
51
- records = filtered_es.instance_variable_get(:@record_array)
47
+ d.run(default_tag: "test.info") do
48
+ d.feed(es)
49
+ end
50
+ records = d.filtered_records
51
+
52
52
  assert_equal 5, records.length
53
53
  assert_equal({"id" => 1, "host" => "web01", "message" => "error!!"}, records[0])
54
54
  assert_equal({"id" => 2, "host" => "web01", "message" => "error!!"}, records[1])
@@ -58,12 +58,10 @@ class SuppressFilterTest < Test::Unit::TestCase
58
58
  end
59
59
 
60
60
  def test_emit_wtih_nested_key
61
- return unless defined? Fluent::Filter
62
-
63
61
  d = create_driver(CONFIG_WITH_NESTED_KEY)
64
62
  es = Fluent::MultiEventStream.new
65
63
 
66
- time = Time.parse("2012-11-22 11:22:33 UTC").to_i
64
+ time = event_time("2012-11-22 11:22:33 UTC")
67
65
  es.add(time + 1, {"id" => 1, "data" => {"host" => "web01", "message" => "error!!"}})
68
66
  es.add(time + 2, {"id" => 2, "data" => {"host" => "web01", "message" => "error!!"}})
69
67
  es.add(time + 3, {"id" => 3, "data" => {"host" => "web01", "message" => "error!!"}})
@@ -73,8 +71,10 @@ class SuppressFilterTest < Test::Unit::TestCase
73
71
  es.add(time + 13, {"id" => 7, "data" => {"host" => "web01", "message" => "error!!"}})
74
72
  es.add(time + 14, {"id" => 8, "data" => {"host" => "web01", "message" => "error!!"}})
75
73
 
76
- filtered_es = d.run { d.filter_stream(es) }.filtered
77
- records = filtered_es.instance_variable_get(:@record_array)
74
+ d.run(default_tag: "test.info") do
75
+ d.feed(es)
76
+ end
77
+ records = d.filtered_records
78
78
 
79
79
  assert_equal 5, records.length
80
80
  assert_equal({"id"=>1, "data" => {"host"=>"web01", "message"=>"error!!"}}, records[0])
@@ -85,12 +85,10 @@ class SuppressFilterTest < Test::Unit::TestCase
85
85
  end
86
86
 
87
87
  def test_emit_tagonly
88
- return unless defined? Fluent::Filter
89
-
90
88
  d = create_driver(CONFIG_TAG_ONLY)
91
89
  es = Fluent::MultiEventStream.new
92
90
 
93
- time = Time.parse("2012-11-22 11:22:33 UTC").to_i
91
+ time = event_time("2012-11-22 11:22:33 UTC")
94
92
  es.add(time + 1, {"id" => 1, "host" => "web01", "message" => "1 error!!"})
95
93
  es.add(time + 2, {"id" => 2, "host" => "web02", "message" => "2 error!!"})
96
94
  es.add(time + 3, {"id" => 3, "host" => "web03", "message" => "3 error!!"})
@@ -100,8 +98,10 @@ class SuppressFilterTest < Test::Unit::TestCase
100
98
  es.add(time + 13,{"id" => 7, "host" => "web07", "message" => "7 error!!"})
101
99
  es.add(time + 14,{"id" => 8, "host" => "web08", "message" => "8 error!!"})
102
100
 
103
- filtered_es = d.run { d.filter_stream(es) }.filtered
104
- records = filtered_es.instance_variable_get(:@record_array)
101
+ d.run(default_tag: "test.info") do
102
+ d.feed(es)
103
+ end
104
+ records = d.filtered_records
105
105
 
106
106
  assert_equal 4, records.length
107
107
  assert_equal({"id"=>1, "host"=>"web01", "message"=>"1 error!!"}, records[0])
@@ -109,5 +109,4 @@ class SuppressFilterTest < Test::Unit::TestCase
109
109
  assert_equal({"id"=>6, "host"=>"web06", "message"=>"6 error!!"}, records[2])
110
110
  assert_equal({"id"=>7, "host"=>"web07", "message"=>"7 error!!"}, records[3])
111
111
  end
112
-
113
112
  end
@@ -1,4 +1,6 @@
1
1
  require 'helper'
2
+ require 'fluent/test/driver/output'
3
+ require 'fluent/plugin/out_suppress'
2
4
 
3
5
  class SuppressOutputTest < Test::Unit::TestCase
4
6
  def setup
@@ -25,81 +27,80 @@ class SuppressOutputTest < Test::Unit::TestCase
25
27
  add_tag_prefix sp.
26
28
  ]
27
29
 
28
- def create_driver(conf = CONFIG, tag='test.info')
29
- Fluent::Test::OutputTestDriver.new(Fluent::SuppressOutput, tag).configure(conf)
30
+ def create_driver(conf = CONFIG)
31
+ Fluent::Test::Driver::Output.new(Fluent::Plugin::SuppressOutput).configure(conf)
30
32
  end
31
33
 
32
34
  def test_emit
33
35
  d = create_driver
34
36
 
35
- time = Time.parse("2012-11-22 11:22:33 UTC").to_i
36
- d.run do
37
- d.emit({"id" => 1, "host" => "web01", "message" => "error!!"}, time + 1)
38
- d.emit({"id" => 2, "host" => "web01", "message" => "error!!"}, time + 2)
39
- d.emit({"id" => 3, "host" => "web01", "message" => "error!!"}, time + 3)
40
- d.emit({"id" => 4, "host" => "web01", "message" => "error!!"}, time + 4)
41
- d.emit({"id" => 5, "host" => "app01", "message" => "error!!"}, time + 4)
42
- d.emit({"id" => 6, "host" => "web01", "message" => "error!!"}, time + 12)
43
- d.emit({"id" => 7, "host" => "web01", "message" => "error!!"}, time + 13)
44
- d.emit({"id" => 8, "host" => "web01", "message" => "error!!"}, time + 14)
37
+ time = event_time("2012-11-22 11:22:33 UTC")
38
+ d.run(default_tag: "test.info") do
39
+ d.feed(time + 1, {"id" => 1, "host" => "web01", "message" => "error!!"})
40
+ d.feed(time + 2, {"id" => 2, "host" => "web01", "message" => "error!!"})
41
+ d.feed(time + 3, {"id" => 3, "host" => "web01", "message" => "error!!"})
42
+ d.feed(time + 4, {"id" => 4, "host" => "web01", "message" => "error!!"})
43
+ d.feed(time + 4, {"id" => 5, "host" => "app01", "message" => "error!!"})
44
+ d.feed(time + 12, {"id" => 6, "host" => "web01", "message" => "error!!"})
45
+ d.feed(time + 13, {"id" => 7, "host" => "web01", "message" => "error!!"})
46
+ d.feed(time + 14, {"id" => 8, "host" => "web01", "message" => "error!!"})
45
47
  end
46
48
 
47
- emits = d.emits
48
- assert_equal 5, emits.length
49
- assert_equal ["sp.test.info", time + 1, {"id"=>1, "host"=>"web01", "message"=>"error!!"}], emits[0]
50
- assert_equal ["sp.test.info", time + 2, {"id"=>2, "host"=>"web01", "message"=>"error!!"}], emits[1]
51
- assert_equal ["sp.test.info", time + 4, {"id"=>5, "host"=>"app01", "message"=>"error!!"}], emits[2]
52
- assert_equal ["sp.test.info", time + 12, {"id"=>6, "host"=>"web01", "message"=>"error!!"}], emits[3]
53
- assert_equal ["sp.test.info", time + 13, {"id"=>7, "host"=>"web01", "message"=>"error!!"}], emits[4]
49
+ events = d.events
50
+ assert_equal 5, events.length
51
+ assert_equal ["sp.test.info", time + 1, {"id"=>1, "host"=>"web01", "message"=>"error!!"}], events[0]
52
+ assert_equal ["sp.test.info", time + 2, {"id"=>2, "host"=>"web01", "message"=>"error!!"}], events[1]
53
+ assert_equal ["sp.test.info", time + 4, {"id"=>5, "host"=>"app01", "message"=>"error!!"}], events[2]
54
+ assert_equal ["sp.test.info", time + 12, {"id"=>6, "host"=>"web01", "message"=>"error!!"}], events[3]
55
+ assert_equal ["sp.test.info", time + 13, {"id"=>7, "host"=>"web01", "message"=>"error!!"}], events[4]
54
56
 
55
57
  end
56
58
 
57
59
  def test_emit_wtih_nested_key
58
60
  d = create_driver(CONFIG_WITH_NESTED_KEY)
59
61
 
60
- time = Time.parse("2012-11-22 11:22:33 UTC").to_i
61
- d.run do
62
- d.emit({"id" => 1, "data" => {"host" => "web01", "message" => "error!!"}}, time + 1)
63
- d.emit({"id" => 2, "data" => {"host" => "web01", "message" => "error!!"}}, time + 2)
64
- d.emit({"id" => 3, "data" => {"host" => "web01", "message" => "error!!"}}, time + 3)
65
- d.emit({"id" => 4, "data" => {"host" => "web01", "message" => "error!!"}}, time + 4)
66
- d.emit({"id" => 5, "data" => {"host" => "app01", "message" => "error!!"}}, time + 4)
67
- d.emit({"id" => 6, "data" => {"host" => "web01", "message" => "error!!"}}, time + 12)
68
- d.emit({"id" => 7, "data" => {"host" => "web01", "message" => "error!!"}}, time + 13)
69
- d.emit({"id" => 8, "data" => {"host" => "web01", "message" => "error!!"}}, time + 14)
62
+ time = event_time("2012-11-22 11:22:33 UTC")
63
+ d.run(default_tag: "test.info") do
64
+ d.feed(time + 1, {"id" => 1, "data" => {"host" => "web01", "message" => "error!!"}})
65
+ d.feed(time + 2, {"id" => 2, "data" => {"host" => "web01", "message" => "error!!"}})
66
+ d.feed(time + 3, {"id" => 3, "data" => {"host" => "web01", "message" => "error!!"}})
67
+ d.feed(time + 4, {"id" => 4, "data" => {"host" => "web01", "message" => "error!!"}})
68
+ d.feed(time + 4, {"id" => 5, "data" => {"host" => "app01", "message" => "error!!"}})
69
+ d.feed(time + 12, {"id" => 6, "data" => {"host" => "web01", "message" => "error!!"}})
70
+ d.feed(time + 13, {"id" => 7, "data" => {"host" => "web01", "message" => "error!!"}})
71
+ d.feed(time + 14, {"id" => 8, "data" => {"host" => "web01", "message" => "error!!"}})
70
72
  end
71
73
 
72
- emits = d.emits
73
- assert_equal 5, emits.length
74
- assert_equal ["sp.test.info", time + 1, {"id"=>1, "data" => {"host"=>"web01", "message"=>"error!!"}}], emits[0]
75
- assert_equal ["sp.test.info", time + 2, {"id"=>2, "data" => {"host"=>"web01", "message"=>"error!!"}}], emits[1]
76
- assert_equal ["sp.test.info", time + 4, {"id"=>5, "data" => {"host"=>"app01", "message"=>"error!!"}}], emits[2]
77
- assert_equal ["sp.test.info", time + 12, {"id"=>6, "data" => {"host"=>"web01", "message"=>"error!!"}}], emits[3]
78
- assert_equal ["sp.test.info", time + 13, {"id"=>7, "data" => {"host"=>"web01", "message"=>"error!!"}}], emits[4]
74
+ events = d.events
75
+ assert_equal 5, events.length
76
+ assert_equal ["sp.test.info", time + 1, {"id"=>1, "data" => {"host"=>"web01", "message"=>"error!!"}}], events[0]
77
+ assert_equal ["sp.test.info", time + 2, {"id"=>2, "data" => {"host"=>"web01", "message"=>"error!!"}}], events[1]
78
+ assert_equal ["sp.test.info", time + 4, {"id"=>5, "data" => {"host"=>"app01", "message"=>"error!!"}}], events[2]
79
+ assert_equal ["sp.test.info", time + 12, {"id"=>6, "data" => {"host"=>"web01", "message"=>"error!!"}}], events[3]
80
+ assert_equal ["sp.test.info", time + 13, {"id"=>7, "data" => {"host"=>"web01", "message"=>"error!!"}}], events[4]
79
81
 
80
82
  end
81
83
 
82
84
  def test_emit_tagonly
83
85
  d = create_driver(CONFIG_TAG_ONLY)
84
86
 
85
- time = Time.parse("2012-11-22 11:22:33 UTC").to_i
86
- d.run do
87
- d.emit({"id" => 1, "host" => "web01", "message" => "1 error!!"}, time + 1)
88
- d.emit({"id" => 2, "host" => "web02", "message" => "2 error!!"}, time + 2)
89
- d.emit({"id" => 3, "host" => "web03", "message" => "3 error!!"}, time + 3)
90
- d.emit({"id" => 4, "host" => "web04", "message" => "4 error!!"}, time + 4)
91
- d.emit({"id" => 5, "host" => "app05", "message" => "5 error!!"}, time + 4)
92
- d.emit({"id" => 6, "host" => "web06", "message" => "6 error!!"}, time + 12)
93
- d.emit({"id" => 7, "host" => "web07", "message" => "7 error!!"}, time + 13)
94
- d.emit({"id" => 8, "host" => "web08", "message" => "8 error!!"}, time + 14)
87
+ time = event_time("2012-11-22 11:22:33 UTC")
88
+ d.run(default_tag: "test.info") do
89
+ d.feed(time + 1, {"id" => 1, "host" => "web01", "message" => "1 error!!"})
90
+ d.feed(time + 2, {"id" => 2, "host" => "web02", "message" => "2 error!!"})
91
+ d.feed(time + 3, {"id" => 3, "host" => "web03", "message" => "3 error!!"})
92
+ d.feed(time + 4, {"id" => 4, "host" => "web04", "message" => "4 error!!"})
93
+ d.feed(time + 4, {"id" => 5, "host" => "app05", "message" => "5 error!!"})
94
+ d.feed(time + 12, {"id" => 6, "host" => "web06", "message" => "6 error!!"})
95
+ d.feed(time + 13, {"id" => 7, "host" => "web07", "message" => "7 error!!"})
96
+ d.feed(time + 14, {"id" => 8, "host" => "web08", "message" => "8 error!!"})
95
97
  end
96
98
 
97
- emits = d.emits
98
- assert_equal 4, emits.length
99
- assert_equal ["sp.test.info", time + 1, {"id"=>1, "host"=>"web01", "message"=>"1 error!!"}], emits[0]
100
- assert_equal ["sp.test.info", time + 2, {"id"=>2, "host"=>"web02", "message"=>"2 error!!"}], emits[1]
101
- assert_equal ["sp.test.info", time + 12, {"id"=>6, "host"=>"web06", "message"=>"6 error!!"}], emits[2]
102
- assert_equal ["sp.test.info", time + 13, {"id"=>7, "host"=>"web07", "message"=>"7 error!!"}], emits[3]
99
+ events = d.events
100
+ assert_equal 4, events.length
101
+ assert_equal ["sp.test.info", time + 1, {"id"=>1, "host"=>"web01", "message"=>"1 error!!"}], events[0]
102
+ assert_equal ["sp.test.info", time + 2, {"id"=>2, "host"=>"web02", "message"=>"2 error!!"}], events[1]
103
+ assert_equal ["sp.test.info", time + 12, {"id"=>6, "host"=>"web06", "message"=>"6 error!!"}], events[2]
104
+ assert_equal ["sp.test.info", time + 13, {"id"=>7, "host"=>"web07", "message"=>"7 error!!"}], events[3]
103
105
  end
104
-
105
106
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-suppress
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - FUJIWARA Shunichiro
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-17 00:00:00.000000000 Z
11
+ date: 2018-02-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd
@@ -16,14 +16,20 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.10.0
19
+ version: 0.14.8
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '2'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
27
  - - ">="
25
28
  - !ruby/object:Gem::Version
26
- version: 0.10.0
29
+ version: 0.14.8
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '2'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: rake
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -52,7 +58,7 @@ dependencies:
52
58
  - - ">="
53
59
  - !ruby/object:Gem::Version
54
60
  version: '3.0'
55
- description: Fluentd plugin to suppress same messages
61
+ description: Fluentd filter plugin to suppress same messages
56
62
  email:
57
63
  - fujiwara.shunichiro@gmail.com
58
64
  executables: []
@@ -92,10 +98,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
92
98
  version: '0'
93
99
  requirements: []
94
100
  rubyforge_project:
95
- rubygems_version: 2.6.6
101
+ rubygems_version: 2.6.11
96
102
  signing_key:
97
103
  specification_version: 4
98
- summary: Fluentd plugin to suppress same messages
104
+ summary: Fluentd filter plugin to suppress same messages
99
105
  test_files:
100
106
  - test/helper.rb
101
107
  - test/plugin/test_filter_suppress.rb