fluent-plugin-derive 0.0.2 → 0.0.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,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 40df6241c18260283efffec5f0f93c244c34a40b
4
- data.tar.gz: 5915919018654ad6c36a6bb55ec333f63165ac93
3
+ metadata.gz: bd95355aa8004a964c277475bc8716af8a1adea7
4
+ data.tar.gz: d7f05f7e00022daae25af6dbda1d926c421c6b1e
5
5
  SHA512:
6
- metadata.gz: 24921c68f917045f314586080a70a35703e313b132ec4f1d610680c531674845fefc260b4b13c69648ca33b27d2eff6a1abac60e54b8819e6a577d94c2f5c4f2
7
- data.tar.gz: c99527ac6b9b5479e4f5a6d2cf252473439135390110757aa495934e0da1b029c108bfdad16be77442b890f8282a9776b242942d87f96512d7df7adaa6041412
6
+ metadata.gz: 99ac284efb825d838b1a1f6cb434fa06b5772ae8512167d606ea4bdaaa98e0b54679999893756bc9316a3ab7565a79f9f6cf9451e45b7b82ae9287e23fdac9f6
7
+ data.tar.gz: 987957ac4fbd5222ad927cce3ab77166f3a6c702c093307bca8d414ea50b7de2f1162cc1b2e2552b766ca44a482cae09556cd34dc13226ddfa7a1a47ab35a2b2
data/.travis.yml CHANGED
@@ -6,3 +6,4 @@ rvm:
6
6
  gemfile:
7
7
  - Gemfile
8
8
  - Gemfile.fluentd.lt.0.10.43
9
+ - Gemfile.fluentd.lt.0.10.47
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ # 0.0.3 (2014/08/04)
2
+
3
+ Enhancement:
4
+
5
+ * time_unit_division option to disable divinding by unit time. Thanks @avvmoto!
6
+
1
7
  # 0.0.2 (2014/02/07)
2
8
 
3
9
  Enhancement:
@@ -0,0 +1,8 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # fluentd 0.10.47 or later supports Fluent::Test::DummyLogDevice.
4
+ # This tests lt 0.10.47 on travis ci.
5
+ gem 'fluentd', '= 0.10.46'
6
+
7
+ # Specify your gem's dependencies in fluent-plugin-derive.gemspec
8
+ gemspec
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # fluent-plugin-derive
1
+ # fluent-plugin-derive, a plugin for [Fluentd](http://fluentd.org)
2
2
 
3
3
  Calculate per second value for the increasing/decreasing value between the last and the current, like derive in RRDTool.
4
4
 
@@ -95,6 +95,10 @@ Define the expected range value. If min and/or max are specified any value outsi
95
95
 
96
96
  Define the expected range value. If min and/or max are specified any value outside the defined range will be truncated.
97
97
 
98
+ * time_unit_division
99
+
100
+ Optional. Divide the incleased value by interval time before output. The default is `true`. Set `false` for disable dividing.
101
+
98
102
  ## Contributing
99
103
 
100
104
  1. Fork it
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "fluent-plugin-derive"
7
- spec.version = "0.0.2"
7
+ spec.version = "0.0.3"
8
8
  spec.authors = ["Nobuhiro Nikushi"]
9
9
  spec.email = ["deneb.ge@gmail.com"]
10
10
  spec.description = spec.summary
@@ -19,5 +19,5 @@ Gem::Specification.new do |spec|
19
19
 
20
20
  spec.add_runtime_dependency "fluentd"
21
21
  spec.add_development_dependency "rake"
22
- spec.add_development_dependency "rspec"
22
+ spec.add_development_dependency "rspec", '~> 2.99.0'
23
23
  end
@@ -14,6 +14,7 @@ class Fluent::DeriveOutput < Fluent::Output
14
14
  config_param :remove_tag_prefix, :string, :default => nil
15
15
  config_param :min, :integer, :default => nil
16
16
  config_param :max, :integer, :default => nil
17
+ config_param :time_unit_division, :bool, :default => true
17
18
 
18
19
  # for test
19
20
  attr_reader :key_pattern
@@ -155,7 +156,11 @@ class Fluent::DeriveOutput < Fluent::Output
155
156
  log.warn "Could not calculate the rate. multiple input less than one second or minus delta of seconds on tag=#{tag}, key=#{key}"
156
157
  return nil
157
158
  end
158
- rate = (cur_value - prev_value)/(cur_time - prev_time)
159
+ if @time_unit_division
160
+ rate = (cur_value - prev_value)/(cur_time - prev_time)
161
+ else
162
+ rate = cur_value - prev_value
163
+ end
159
164
  if adjustment && adjustment[0] == '*'
160
165
  rate * adjustment[1]
161
166
  elsif adjustment && adjustment[0] == '/'
@@ -282,6 +282,22 @@ describe Fluent::DeriveOutput do
282
282
  }
283
283
  end
284
284
 
285
+ context 'time_unit_division false' do
286
+ let(:config) { %[
287
+ tag rate
288
+ key1 foo
289
+ time_unit_division false
290
+ ]}
291
+ before do
292
+ driver.run {
293
+ driver.emit({'foo'=> 100}, time)
294
+ driver.emit({'foo'=> 700}, time + 60)
295
+ }
296
+ end
297
+ it {
298
+ driver.emits[1].should == ['rate', time + 60, {'foo' => 600}]
299
+ }
300
+ end
285
301
 
286
302
  end
287
303
  end
@@ -307,17 +323,20 @@ describe Fluent::DeriveOutput do
307
323
  if Fluent::VERSION >= "0.10.43"
308
324
  context "log_level info" do
309
325
  let(:config) { base_config + %[log_level info] }
326
+ subject { Fluent::VERSION <= "0.10.46" ? capture_log(log) {|log| log.debug "foobar" } : log.tap{|log| log.debug "foobar" }.logs }
310
327
 
311
328
  it "should not contain debug level" do
312
- capture_log(log) {|log| log.debug "foobar" }.should == ""
329
+ should be_empty
313
330
  end
314
331
  end
315
332
  end
316
333
 
317
334
  context "log" do
318
335
  let(:config) { base_config }
336
+ subject { Fluent::VERSION <= "0.10.46" ? capture_log(log) {|log| log.debug "foobar" } : log.tap{|log| log.debug "foobar" }.logs.first }
337
+
319
338
  it "should work" do
320
- capture_log(log) {|log| log.info "foobar" }.should include("foobar")
339
+ should include("foobar")
321
340
  end
322
341
  end
323
342
  end
metadata CHANGED
@@ -1,57 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-derive
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nobuhiro Nikushi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-07 00:00:00.000000000 Z
11
+ date: 2014-08-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
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: rake
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: :development
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
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: 2.99.0
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: 2.99.0
55
55
  description: ''
56
56
  email:
57
57
  - deneb.ge@gmail.com
@@ -59,12 +59,13 @@ executables: []
59
59
  extensions: []
60
60
  extra_rdoc_files: []
61
61
  files:
62
- - .gitignore
63
- - .rspec
64
- - .travis.yml
62
+ - ".gitignore"
63
+ - ".rspec"
64
+ - ".travis.yml"
65
65
  - CHANGELOG.md
66
66
  - Gemfile
67
67
  - Gemfile.fluentd.lt.0.10.43
68
+ - Gemfile.fluentd.lt.0.10.47
68
69
  - LICENSE.txt
69
70
  - README.md
70
71
  - Rakefile
@@ -83,17 +84,17 @@ require_paths:
83
84
  - lib
84
85
  required_ruby_version: !ruby/object:Gem::Requirement
85
86
  requirements:
86
- - - '>='
87
+ - - ">="
87
88
  - !ruby/object:Gem::Version
88
89
  version: '0'
89
90
  required_rubygems_version: !ruby/object:Gem::Requirement
90
91
  requirements:
91
- - - '>='
92
+ - - ">="
92
93
  - !ruby/object:Gem::Version
93
94
  version: '0'
94
95
  requirements: []
95
96
  rubyforge_project:
96
- rubygems_version: 2.0.14
97
+ rubygems_version: 2.2.2
97
98
  signing_key:
98
99
  specification_version: 4
99
100
  summary: fluentd plugin to derive rate