fluent-plugin-latency 0.0.2 → 0.0.4
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 +5 -5
- data/.travis.yml +7 -3
- data/CHANGELOG.md +17 -1
- data/Gemfile +0 -1
- data/Gemfile.v0.10 +5 -0
- data/Gemfile.v0.12 +4 -0
- data/Rakefile +6 -5
- data/example.conf +22 -0
- data/fluent-plugin-latency.gemspec +2 -3
- data/lib/fluent/plugin/out_latency.rb +7 -2
- data/test/helper.rb +15 -0
- metadata +12 -15
- data/spec/out_latency_spec.rb +0 -41
- data/spec/spec_helper.rb +0 -14
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 938d56b38367ac7e4af54c56afbdb3cd15e1fc5c0ea233bc79e9a96caa61daf6
|
|
4
|
+
data.tar.gz: 86c292c42a22cc305f389f68ab0b9f19dc44d2d6e147c7048db191dd74b16803
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1dc3f522e402071f60474161e2679facd5bb9f4fb64f3cd157a11315f61d59f93e1b57b10c4cd478ff2bca6b6fc16848fb12940ecb39fdb8ed26209925a00043
|
|
7
|
+
data.tar.gz: d1e3b833a025e17a8ac2e39f017d796a7a6300f60dd5b7d660fb0104e5ca463c3b15ec841d99e8a638adb666a6a16e6f6589129c2ee63868139c7fef98a9d2eb
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,22 @@
|
|
|
1
|
+
## 0.0.4 (2026/03/16)
|
|
2
|
+
|
|
3
|
+
Fixes:
|
|
4
|
+
|
|
5
|
+
* gem: Remove obsoleted #has_rdoc= using to solve install error
|
|
6
|
+
|
|
7
|
+
## 0.0.3 (2017/09/15)
|
|
8
|
+
|
|
9
|
+
Enhancements:
|
|
10
|
+
|
|
11
|
+
* Support Fluentd v0.14
|
|
12
|
+
|
|
13
|
+
Changes:
|
|
14
|
+
|
|
15
|
+
* Revert to MultiOutput
|
|
16
|
+
|
|
1
17
|
## 0.0.2 (2014/11/26)
|
|
2
18
|
|
|
3
|
-
|
|
19
|
+
Changes:
|
|
4
20
|
|
|
5
21
|
* Do not inherit MultiOutput, but Output
|
|
6
22
|
|
data/Gemfile
CHANGED
data/Gemfile.v0.10
ADDED
data/Gemfile.v0.12
ADDED
data/Rakefile
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
2
|
require "bundler/gem_tasks"
|
|
3
3
|
|
|
4
|
-
require '
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
require 'rake/testtask'
|
|
5
|
+
Rake::TestTask.new(:test) do |test|
|
|
6
|
+
test.libs << 'lib' << 'test'
|
|
7
|
+
test.pattern = 'test/**/test_*.rb'
|
|
8
|
+
test.verbose = true
|
|
8
9
|
end
|
|
9
|
-
task :default => :
|
|
10
|
+
task :default => :test
|
|
10
11
|
|
|
11
12
|
desc 'Open an irb session preloaded with the gem library'
|
|
12
13
|
task :console do
|
data/example.conf
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<source>
|
|
2
|
+
type dummy
|
|
3
|
+
tag raw
|
|
4
|
+
</source>
|
|
5
|
+
|
|
6
|
+
# Latency plugin output comes here
|
|
7
|
+
<match latency>
|
|
8
|
+
type stdout
|
|
9
|
+
</match>
|
|
10
|
+
|
|
11
|
+
# All messages come here once.
|
|
12
|
+
<match **>
|
|
13
|
+
type copy
|
|
14
|
+
<store>
|
|
15
|
+
type latency
|
|
16
|
+
tag latency
|
|
17
|
+
interval 1
|
|
18
|
+
</store>
|
|
19
|
+
<store>
|
|
20
|
+
type stdout
|
|
21
|
+
</store>
|
|
22
|
+
</match>
|
|
@@ -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-latency"
|
|
6
|
-
gem.version = "0.0.
|
|
6
|
+
gem.version = "0.0.4"
|
|
7
7
|
gem.authors = ["Naotoshi Seo"]
|
|
8
8
|
gem.email = "sonots@gmail.com"
|
|
9
9
|
gem.homepage = "https://github.com/sonots/fluent-plugin-latency"
|
|
10
10
|
gem.description = "Fluentd plugin to measure latency until receiving the 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")
|
|
@@ -19,8 +18,8 @@ Gem::Specification.new do |gem|
|
|
|
19
18
|
|
|
20
19
|
gem.add_dependency "fluentd"
|
|
21
20
|
gem.add_development_dependency "rake"
|
|
22
|
-
gem.add_development_dependency "rspec"
|
|
23
21
|
gem.add_development_dependency "pry"
|
|
24
22
|
gem.add_development_dependency "pry-nav"
|
|
25
23
|
gem.add_development_dependency "timecop"
|
|
24
|
+
gem.add_development_dependency "test-unit"
|
|
26
25
|
end
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
module Fluent
|
|
2
|
-
class LatencyOutput <
|
|
2
|
+
class LatencyOutput < MultiOutput
|
|
3
3
|
Plugin.register_output('latency', self)
|
|
4
4
|
|
|
5
5
|
# To support log_level option implemented by Fluentd v0.10.43
|
|
@@ -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 => 'latency'
|
|
11
16
|
config_param :interval, :time, :default => 60
|
|
12
17
|
|
|
@@ -57,7 +62,7 @@ module Fluent
|
|
|
57
62
|
max = num == 0 ? 0 : latency.max
|
|
58
63
|
avg = num == 0 ? 0 : latency.map(&:to_f).inject(:+) / num.to_f
|
|
59
64
|
message = {"max" => max, "avg" => avg, "num" => num}
|
|
60
|
-
|
|
65
|
+
router.emit(@tag, Engine.now, message)
|
|
61
66
|
end
|
|
62
67
|
end
|
|
63
68
|
end
|
data/test/helper.rb
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
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
|
|
10
|
+
require 'test/unit'
|
|
11
|
+
|
|
12
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
|
13
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
|
14
|
+
require 'fluent/test'
|
|
15
|
+
require 'fluent/plugin/in_gc'
|
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: fluent-plugin-latency
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Naotoshi Seo
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: fluentd
|
|
@@ -39,7 +38,7 @@ dependencies:
|
|
|
39
38
|
- !ruby/object:Gem::Version
|
|
40
39
|
version: '0'
|
|
41
40
|
- !ruby/object:Gem::Dependency
|
|
42
|
-
name:
|
|
41
|
+
name: pry
|
|
43
42
|
requirement: !ruby/object:Gem::Requirement
|
|
44
43
|
requirements:
|
|
45
44
|
- - ">="
|
|
@@ -53,7 +52,7 @@ dependencies:
|
|
|
53
52
|
- !ruby/object:Gem::Version
|
|
54
53
|
version: '0'
|
|
55
54
|
- !ruby/object:Gem::Dependency
|
|
56
|
-
name: pry
|
|
55
|
+
name: pry-nav
|
|
57
56
|
requirement: !ruby/object:Gem::Requirement
|
|
58
57
|
requirements:
|
|
59
58
|
- - ">="
|
|
@@ -67,7 +66,7 @@ dependencies:
|
|
|
67
66
|
- !ruby/object:Gem::Version
|
|
68
67
|
version: '0'
|
|
69
68
|
- !ruby/object:Gem::Dependency
|
|
70
|
-
name:
|
|
69
|
+
name: timecop
|
|
71
70
|
requirement: !ruby/object:Gem::Requirement
|
|
72
71
|
requirements:
|
|
73
72
|
- - ">="
|
|
@@ -81,7 +80,7 @@ dependencies:
|
|
|
81
80
|
- !ruby/object:Gem::Version
|
|
82
81
|
version: '0'
|
|
83
82
|
- !ruby/object:Gem::Dependency
|
|
84
|
-
name:
|
|
83
|
+
name: test-unit
|
|
85
84
|
requirement: !ruby/object:Gem::Requirement
|
|
86
85
|
requirements:
|
|
87
86
|
- - ">="
|
|
@@ -105,18 +104,19 @@ files:
|
|
|
105
104
|
- ".travis.yml"
|
|
106
105
|
- CHANGELOG.md
|
|
107
106
|
- Gemfile
|
|
107
|
+
- Gemfile.v0.10
|
|
108
|
+
- Gemfile.v0.12
|
|
108
109
|
- LICENSE
|
|
109
110
|
- README.md
|
|
110
111
|
- Rakefile
|
|
112
|
+
- example.conf
|
|
111
113
|
- fluent-plugin-latency.gemspec
|
|
112
114
|
- lib/fluent/plugin/out_latency.rb
|
|
113
|
-
-
|
|
114
|
-
- spec/spec_helper.rb
|
|
115
|
+
- test/helper.rb
|
|
115
116
|
homepage: https://github.com/sonots/fluent-plugin-latency
|
|
116
117
|
licenses:
|
|
117
118
|
- MIT
|
|
118
119
|
metadata: {}
|
|
119
|
-
post_install_message:
|
|
120
120
|
rdoc_options: []
|
|
121
121
|
require_paths:
|
|
122
122
|
- lib
|
|
@@ -131,11 +131,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
131
131
|
- !ruby/object:Gem::Version
|
|
132
132
|
version: '0'
|
|
133
133
|
requirements: []
|
|
134
|
-
|
|
135
|
-
rubygems_version: 2.2.2
|
|
136
|
-
signing_key:
|
|
134
|
+
rubygems_version: 4.0.6
|
|
137
135
|
specification_version: 4
|
|
138
136
|
summary: Fluentd plugin to measure latency until receiving the messages
|
|
139
137
|
test_files:
|
|
140
|
-
-
|
|
141
|
-
- spec/spec_helper.rb
|
|
138
|
+
- test/helper.rb
|
data/spec/out_latency_spec.rb
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
# encoding: UTF-8
|
|
2
|
-
require_relative 'spec_helper'
|
|
3
|
-
|
|
4
|
-
describe Fluent::LatencyOutput do
|
|
5
|
-
before { Fluent::Test.setup }
|
|
6
|
-
let(:config) { %[] }
|
|
7
|
-
let(:tag) { 'tag' }
|
|
8
|
-
let(:driver) { Fluent::Test::OutputTestDriver.new(Fluent::LatencyOutput, tag).configure(config) }
|
|
9
|
-
|
|
10
|
-
describe 'test configure' do
|
|
11
|
-
subject { driver.instance }
|
|
12
|
-
|
|
13
|
-
context "check default" do
|
|
14
|
-
let(:config) { %[] }
|
|
15
|
-
its(:tag) { should == 'latency' }
|
|
16
|
-
its(:interval) { should == 60 }
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
context "check config" do
|
|
20
|
-
let(:config) { %[tag tag\ninterval 120]}
|
|
21
|
-
its(:tag) { should == 'tag' }
|
|
22
|
-
its(:interval) { should == 120 }
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
describe 'test emit' do
|
|
27
|
-
let(:emit_time) { Time.utc(1,1,1,1,1,2010,nil,nil,nil,nil).to_i }
|
|
28
|
-
let(:current_time) { Time.utc(2,1,1,1,1,2010,nil,nil,nil,nil).to_i }
|
|
29
|
-
let(:message) { "INFO GET /ping" }
|
|
30
|
-
let(:expected) { {"max" => 1.0, "avg" => 1.0, "num" => 1} }
|
|
31
|
-
before {
|
|
32
|
-
Timecop.freeze(Time.at(current_time))
|
|
33
|
-
Fluent::Engine.should_receive(:emit).with("latency", current_time, expected)
|
|
34
|
-
}
|
|
35
|
-
after { Timecop.return }
|
|
36
|
-
it {
|
|
37
|
-
driver.run { driver.emit({'message' => message}, emit_time) }
|
|
38
|
-
driver.instance.flush_emit
|
|
39
|
-
}
|
|
40
|
-
end
|
|
41
|
-
end
|
data/spec/spec_helper.rb
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
# encoding: UTF-8
|
|
2
|
-
require 'rubygems'
|
|
3
|
-
require 'bundler'
|
|
4
|
-
Bundler.setup(:default, :test)
|
|
5
|
-
Bundler.require(:default, :test)
|
|
6
|
-
|
|
7
|
-
require 'fluent/test'
|
|
8
|
-
require 'rspec'
|
|
9
|
-
require 'pry'
|
|
10
|
-
require 'timecop'
|
|
11
|
-
|
|
12
|
-
$TESTING=true
|
|
13
|
-
$:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
|
|
14
|
-
require 'fluent/plugin/out_latency'
|