fluent-plugin-elapsed-time 0.0.7 → 0.0.9

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,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 95316fca33950f404743d84a29cba5533c1f09a7
4
- data.tar.gz: aac3ab464cfb475b7008971da6f0f8db41714ff0
2
+ SHA256:
3
+ metadata.gz: 63c4d3cb00703293f90eaf251d165cd09d15ec41c5b55c9e72a93781dd09bf25
4
+ data.tar.gz: beea37710bd610aa376e8cc310777a154f01f7992af5df07a22ed6fc02f22fde
5
5
  SHA512:
6
- metadata.gz: 4c1dfa104a0ffbdcd0b67a348f219c29bc0fb2ae50fff4611d964eb44df7a3abde7c1903bfe1303ebcf802810008ade1bd7b4f15af16215d0119c3aa4732dc47
7
- data.tar.gz: ae092b3946153266d0da616916efd79645a85c15ab508856364ab51a624d833969e0a9b64096035ca6a00b8424211b526dbc5edb226f597060e1f1daadcbded1
6
+ metadata.gz: 82fa93cf8a14a5d328c20b9494eb1f75196afb45a04af9afc437e6cc2cdddfb2bcc721d4c185ca8c00394c3cf018e4860ef5422d268bbd43a77faf0962c5fb3d
7
+ data.tar.gz: 0d8869d44c91d1c44a07ff844d1c2db0cf31645cdd3630e86f540d8ec056a1fecc20144abfbf98a10c74eb0d81582c64c77a92276162909e3d3e33b79a6645f5
@@ -0,0 +1,6 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: 'github-actions'
4
+ directory: '/'
5
+ schedule:
6
+ interval: 'monthly'
@@ -0,0 +1,35 @@
1
+ name: test
2
+ on:
3
+ push:
4
+ branches: [master]
5
+ pull_request:
6
+ branches: [master]
7
+ schedule:
8
+ - cron: '0 0 1 * *'
9
+ jobs:
10
+ ruby-versions:
11
+ uses: ruby/actions/.github/workflows/ruby_versions.yml@master
12
+ with:
13
+ engine: cruby
14
+ min_version: 2.7
15
+ build:
16
+ needs: ruby-versions
17
+ runs-on: ${{ matrix.os }}
18
+ strategy:
19
+ fail-fast: false
20
+ matrix:
21
+ ruby: ${{ fromJson(needs.ruby-versions.outputs.versions) }}
22
+ exclude:
23
+ - ruby: head
24
+ os:
25
+ - ubuntu-latest
26
+ name: Ruby ${{ matrix.ruby }} ${{ matrix.os }}
27
+ steps:
28
+ - uses: actions/checkout@v6
29
+ - uses: ruby/setup-ruby@v1
30
+ with:
31
+ ruby-version: ${{ matrix.ruby }}
32
+ - name: unit testing
33
+ run: |
34
+ bundle install --jobs 4 --retry 3
35
+ bundle exec rake spec
data/.travis.yml CHANGED
@@ -1,6 +1,8 @@
1
1
  rvm:
2
- - 1.9.3
3
- - 2.0.0
4
2
  - 2.1.*
3
+ - 2.2.*
4
+ - 2.3.0
5
5
  gemfile:
6
6
  - Gemfile
7
+ before_install:
8
+ - gem update bundler
data/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## 0.0.9 (2026/03/16)
2
+
3
+ Fixes:
4
+
5
+ * gem: Remove obsoleted #has_rdoc= using to solve install error
6
+
7
+ ## 0.0.8 (2017/02/09)
8
+
9
+ Enhancement:
10
+
11
+ * Support v0.14
12
+
1
13
  ## 0.0.7 (2014/11/22)
2
14
 
3
15
  Changes:
@@ -3,14 +3,13 @@ $:.push File.expand_path('../lib', __FILE__)
3
3
 
4
4
  Gem::Specification.new do |gem|
5
5
  gem.name = "fluent-plugin-elapsed-time"
6
- gem.version = "0.0.7"
6
+ gem.version = "0.0.9"
7
7
  gem.authors = ["Naotoshi Seo"]
8
8
  gem.email = "sonots@gmail.com"
9
9
  gem.homepage = "https://github.com/sonots/fluent-plugin-elapsed-time"
10
10
  gem.description = "Fluentd plugin to measure elapsed time to process messages"
11
11
  gem.summary = gem.description
12
12
  gem.licenses = ["MIT"]
13
- gem.has_rdoc = false
14
13
 
15
14
  gem.files = `git ls-files`.split("\n")
16
15
  gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
@@ -23,4 +22,5 @@ Gem::Specification.new do |gem|
23
22
  gem.add_development_dependency "rspec-its"
24
23
  gem.add_development_dependency "pry"
25
24
  gem.add_development_dependency "pry-nav"
25
+ gem.add_development_dependency "test-unit"
26
26
  end
@@ -7,6 +7,11 @@ module Fluent
7
7
  define_method("log") { $log }
8
8
  end
9
9
 
10
+ # Define `router` method of v0.12 to support v0.10 or earlier
11
+ unless method_defined?(:router)
12
+ define_method("router") { Fluent::Engine }
13
+ end
14
+
10
15
  config_param :tag, :string, :default => 'elapsed'
11
16
  config_param :add_tag_prefix, :string, :default => nil
12
17
  config_param :remove_tag_prefix, :string, :default => nil
@@ -29,6 +34,7 @@ module Fluent
29
34
  super
30
35
  @outputs = []
31
36
  @elapsed = {}
37
+ @emit_procs = []
32
38
  end
33
39
 
34
40
  # for test
@@ -51,6 +57,12 @@ module Fluent
51
57
 
52
58
  output = Plugin.new_output(type)
53
59
  output.configure(e)
60
+ emit_proc = if output.respond_to?(:emit_events)
61
+ Proc.new {|output, tag, es, _chain| output.emit_events(tag, es)}
62
+ else
63
+ Proc.new {|output, tag, es, _chain| output.emit(tag, es, NullOutputChain.instance)}
64
+ end
65
+ @emit_procs << emit_proc
54
66
  @outputs << output
55
67
  }
56
68
 
@@ -82,7 +94,9 @@ module Fluent
82
94
  chain = NullOutputChain.instance
83
95
  start = Time.now
84
96
  es.each do |time, record|
85
- @outputs.each {|output| output.emit(tag, OneEventStream.new(time, record), chain) }
97
+ @outputs.each_with_index {|output, idx|
98
+ @emit_procs[idx].call(output, tag, OneEventStream.new(time, record), chain)
99
+ }
86
100
  finish = Time.now
87
101
  emit_tag = @tag_proc.call(tag)
88
102
  elapsed(emit_tag) << (finish - start).to_f
@@ -93,7 +107,9 @@ module Fluent
93
107
  def emit_es(tag, es)
94
108
  chain = NullOutputChain.instance
95
109
  t = Time.now
96
- @outputs.each {|output| output.emit(tag, es, chain) }
110
+ @outputs.each_with_index {|output, idx|
111
+ @emit_procs[idx].call(output, tag, es,chain)
112
+ }
97
113
  emit_tag = @tag_proc.call(tag)
98
114
  elapsed(emit_tag) << (Time.now - t).to_f
99
115
  end
@@ -143,7 +159,7 @@ module Fluent
143
159
  avg = num == 0 ? 0 : elapsed.map(&:to_f).inject(:+) / num.to_f
144
160
  messages[tag] = {"max" => max, "avg" => avg, "num" => num}
145
161
  end
146
- messages.each {|tag, message| Engine.emit(tag, Engine.now, message) }
162
+ messages.each {|tag, message| router.emit(tag, Engine.now, message) }
147
163
  end
148
164
 
149
165
  private
@@ -65,44 +65,44 @@ describe Fluent::ElapsedTimeOutput do
65
65
  context 'each message' do
66
66
  let(:config) { CONFIG + %[each message]}
67
67
  before do
68
- Fluent::Engine.stub(:now).and_return(time)
68
+ allow(Fluent::Engine).to receive(:now).and_return(time)
69
69
  end
70
70
  it {
71
71
  driver.run { messages.each {|message| driver.emit({'message' => message}, time) } }
72
- driver.instance.elapsed.size.should == 4
72
+ expect(driver.instance.elapsed.size).to eq(4)
73
73
  }
74
74
  end
75
75
 
76
76
  context 'each es' do
77
77
  let(:config) { CONFIG + %[each es]}
78
78
  before do
79
- Fluent::Engine.stub(:now).and_return(time)
79
+ allow(Fluent::Engine).to receive(:now).and_return(time)
80
80
  end
81
81
  it {
82
82
  driver.run { messages.each {|message| driver.emit({'message' => message}, time) } }
83
- driver.instance.elapsed.size.should == 4
83
+ expect(driver.instance.elapsed.size).to eq(4)
84
84
  }
85
85
  end
86
86
 
87
87
  context 'each message with aggregate tag' do
88
88
  let(:config) { CONFIG + %[each message\naggregate tag\nadd_tag_prefix elapsed]}
89
89
  before do
90
- Fluent::Engine.stub(:now).and_return(time)
90
+ allow(Fluent::Engine).to receive(:now).and_return(time)
91
91
  end
92
92
  it {
93
93
  driver.run { messages.each {|message| driver.emit({'message' => message}, time) } }
94
- driver.instance.elapsed("elapsed.#{tag}").size.should == 4
94
+ expect(driver.instance.elapsed("elapsed.#{tag}").size).to eq(4)
95
95
  }
96
96
  end
97
97
 
98
98
  context 'each es with aggregate tag' do
99
99
  let(:config) { CONFIG + %[each es\naggregate tag\nadd_tag_prefix elapsed]}
100
100
  before do
101
- Fluent::Engine.stub(:now).and_return(time)
101
+ allow(Fluent::Engine).to receive(:now).and_return(time)
102
102
  end
103
103
  it {
104
104
  driver.run { messages.each {|message| driver.emit({'message' => message}, time) } }
105
- driver.instance.elapsed("elapsed.#{tag}").size.should == 4
105
+ expect(driver.instance.elapsed("elapsed.#{tag}").size).to eq(4)
106
106
  driver.instance.flush_emit
107
107
  }
108
108
  end
@@ -110,36 +110,36 @@ describe Fluent::ElapsedTimeOutput do
110
110
  context 'remove_tag_slice' do
111
111
  let(:config) { CONFIG + %[remove_tag_slice 0..-2\naggregate tag\nadd_tag_prefix elapsed]}
112
112
  before do
113
- Fluent::Engine.stub(:now).and_return(time)
113
+ allow(Fluent::Engine).to receive(:now).and_return(time)
114
114
  end
115
115
  let(:expected_tag) { tag.split('.')[0..-2].join('.') }
116
116
  it {
117
117
  driver.run { messages.each {|message| driver.emit({'message' => message}, time) } }
118
- driver.instance.elapsed("elapsed.#{expected_tag}").size.should == 4
118
+ expect(driver.instance.elapsed("elapsed.#{expected_tag}").size).to eq(4)
119
119
  }
120
120
  end
121
121
 
122
122
  context 'zero_emit true' do
123
123
  let(:config) { CONFIG + %[zero_emit true]}
124
124
  before do
125
- Fluent::Engine.stub(:now).and_return(time)
125
+ allow(Fluent::Engine).to receive(:now).and_return(time)
126
126
  end
127
127
  it {
128
128
  driver.run { messages.each {|message| driver.emit({'message' => message}, time) } }
129
- driver.instance.flush_emit["elapsed"]["num"].should == 4
130
- driver.instance.flush_emit["elapsed"].should == {"max" => 0, "avg" => 0, "num" => 0}
129
+ expect(driver.instance.flush_emit["elapsed"]["num"]).to eq(4)
130
+ expect(driver.instance.flush_emit["elapsed"]).to eq({"max" => 0, "avg" => 0, "num" => 0})
131
131
  }
132
132
  end
133
133
 
134
134
  context 'zero_emit false' do
135
135
  let(:config) { CONFIG }
136
136
  before do
137
- Fluent::Engine.stub(:now).and_return(time)
137
+ allow(Fluent::Engine).to receive(:now).and_return(time)
138
138
  end
139
139
  it {
140
140
  driver.run { messages.each {|message| driver.emit({'message' => message}, time) } }
141
- driver.instance.flush_emit["elapsed"]["num"].should == 4
142
- driver.instance.flush_emit.should == {}
141
+ expect(driver.instance.flush_emit["elapsed"]["num"]).to eq(4)
142
+ expect(driver.instance.flush_emit).to eq({})
143
143
  }
144
144
  end
145
145
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-elapsed-time
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Naotoshi Seo
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2014-11-25 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: fluentd
@@ -94,12 +93,28 @@ dependencies:
94
93
  - - ">="
95
94
  - !ruby/object:Gem::Version
96
95
  version: '0'
96
+ - !ruby/object:Gem::Dependency
97
+ name: test-unit
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
97
110
  description: Fluentd plugin to measure elapsed time to process messages
98
111
  email: sonots@gmail.com
99
112
  executables: []
100
113
  extensions: []
101
114
  extra_rdoc_files: []
102
115
  files:
116
+ - ".github/dependabot.yml"
117
+ - ".github/workflows/test.yml"
103
118
  - ".gitignore"
104
119
  - ".rspec"
105
120
  - ".travis.yml"
@@ -116,7 +131,6 @@ homepage: https://github.com/sonots/fluent-plugin-elapsed-time
116
131
  licenses:
117
132
  - MIT
118
133
  metadata: {}
119
- post_install_message:
120
134
  rdoc_options: []
121
135
  require_paths:
122
136
  - lib
@@ -131,9 +145,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
131
145
  - !ruby/object:Gem::Version
132
146
  version: '0'
133
147
  requirements: []
134
- rubyforge_project:
135
- rubygems_version: 2.2.2
136
- signing_key:
148
+ rubygems_version: 4.0.6
137
149
  specification_version: 4
138
150
  summary: Fluentd plugin to measure elapsed time to process messages
139
151
  test_files: