fluent-plugin-sampling-filter 0.1.0 → 0.1.1
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.
- data/VERSION +1 -1
- data/fluent-plugin-sampling-filter.gemspec +64 -0
- data/lib/fluent/plugin/out_sampling_filter.rb +8 -4
- metadata +47 -16
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.1
|
@@ -0,0 +1,64 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = "fluent-plugin-sampling-filter"
|
8
|
+
s.version = "0.1.1"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["TAGOMORI Satoshi"]
|
12
|
+
s.date = "2012-03-29"
|
13
|
+
s.description = "fluentd plugin to pickup sample data from matched massages"
|
14
|
+
s.email = "tagomoris@gmail.com"
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"LICENSE.txt",
|
17
|
+
"README.rdoc"
|
18
|
+
]
|
19
|
+
s.files = [
|
20
|
+
".document",
|
21
|
+
"AUTHORS",
|
22
|
+
"Gemfile",
|
23
|
+
"LICENSE.txt",
|
24
|
+
"README.rdoc",
|
25
|
+
"Rakefile",
|
26
|
+
"VERSION",
|
27
|
+
"fluent-plugin-sampling-filter.gemspec",
|
28
|
+
"lib/fluent/plugin/out_sampling_filter.rb",
|
29
|
+
"test/helper.rb",
|
30
|
+
"test/plugin/test_out_sampling_filter.rb"
|
31
|
+
]
|
32
|
+
s.homepage = "http://github.com/tagomoris/fluent-plugin-sampling-filter"
|
33
|
+
s.require_paths = ["lib"]
|
34
|
+
s.rubygems_version = "1.8.19"
|
35
|
+
s.summary = "fluentd plugin to pickup sample data from matched massages"
|
36
|
+
|
37
|
+
if s.respond_to? :specification_version then
|
38
|
+
s.specification_version = 3
|
39
|
+
|
40
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
41
|
+
s.add_runtime_dependency(%q<fluentd>, [">= 0"])
|
42
|
+
s.add_development_dependency(%q<shoulda>, [">= 0"])
|
43
|
+
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
44
|
+
s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
|
45
|
+
s.add_development_dependency(%q<simplecov>, [">= 0"])
|
46
|
+
s.add_development_dependency(%q<rdoc>, [">= 0"])
|
47
|
+
else
|
48
|
+
s.add_dependency(%q<fluentd>, [">= 0"])
|
49
|
+
s.add_dependency(%q<shoulda>, [">= 0"])
|
50
|
+
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
51
|
+
s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
|
52
|
+
s.add_dependency(%q<simplecov>, [">= 0"])
|
53
|
+
s.add_dependency(%q<rdoc>, [">= 0"])
|
54
|
+
end
|
55
|
+
else
|
56
|
+
s.add_dependency(%q<fluentd>, [">= 0"])
|
57
|
+
s.add_dependency(%q<shoulda>, [">= 0"])
|
58
|
+
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
59
|
+
s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
|
60
|
+
s.add_dependency(%q<simplecov>, [">= 0"])
|
61
|
+
s.add_dependency(%q<rdoc>, [">= 0"])
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
@@ -48,13 +48,17 @@ class Fluent::SamplingFilterOutput < Fluent::Output
|
|
48
48
|
else
|
49
49
|
tag
|
50
50
|
end
|
51
|
-
@counts
|
51
|
+
# Access to @counts SHOULD be protected by mutex, with a heavy penalty.
|
52
|
+
# Code below is not thread safe, but @counts (counter for sampling rate) is not
|
53
|
+
# so serious value (and probably will not be broke...),
|
54
|
+
# then i let here as it is now.
|
52
55
|
pairs = []
|
53
56
|
es.each {|time,record|
|
54
|
-
@counts[t]
|
55
|
-
if @
|
57
|
+
c = (@counts[t] = @counts.fetch(t, 0) + 1)
|
58
|
+
if c % @interval == 0
|
56
59
|
pairs.push [time, record]
|
57
|
-
@counts[t]
|
60
|
+
# reset only just before @counts[t] is to be bignum from fixnum
|
61
|
+
@counts[t] = 0 if c > 0x6fffffff
|
58
62
|
end
|
59
63
|
}
|
60
64
|
emit_sampled(tag, pairs)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-sampling-filter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-03-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: fluentd
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: shoulda
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>='
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: '0'
|
33
38
|
type: :development
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: bundler
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ~>
|
@@ -43,10 +53,15 @@ dependencies:
|
|
43
53
|
version: 1.0.0
|
44
54
|
type: :development
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 1.0.0
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: jeweler
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
67
|
- - ~>
|
@@ -54,10 +69,15 @@ dependencies:
|
|
54
69
|
version: 1.6.4
|
55
70
|
type: :development
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 1.6.4
|
58
78
|
- !ruby/object:Gem::Dependency
|
59
79
|
name: simplecov
|
60
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
61
81
|
none: false
|
62
82
|
requirements:
|
63
83
|
- - ! '>='
|
@@ -65,10 +85,15 @@ dependencies:
|
|
65
85
|
version: '0'
|
66
86
|
type: :development
|
67
87
|
prerelease: false
|
68
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
69
94
|
- !ruby/object:Gem::Dependency
|
70
95
|
name: rdoc
|
71
|
-
requirement:
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
72
97
|
none: false
|
73
98
|
requirements:
|
74
99
|
- - ! '>='
|
@@ -76,7 +101,12 @@ dependencies:
|
|
76
101
|
version: '0'
|
77
102
|
type: :development
|
78
103
|
prerelease: false
|
79
|
-
version_requirements:
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
80
110
|
description: fluentd plugin to pickup sample data from matched massages
|
81
111
|
email: tagomoris@gmail.com
|
82
112
|
executables: []
|
@@ -92,6 +122,7 @@ files:
|
|
92
122
|
- README.rdoc
|
93
123
|
- Rakefile
|
94
124
|
- VERSION
|
125
|
+
- fluent-plugin-sampling-filter.gemspec
|
95
126
|
- lib/fluent/plugin/out_sampling_filter.rb
|
96
127
|
- test/helper.rb
|
97
128
|
- test/plugin/test_out_sampling_filter.rb
|
@@ -109,7 +140,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
109
140
|
version: '0'
|
110
141
|
segments:
|
111
142
|
- 0
|
112
|
-
hash:
|
143
|
+
hash: 2842791238956206034
|
113
144
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
114
145
|
none: false
|
115
146
|
requirements:
|
@@ -118,7 +149,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
118
149
|
version: '0'
|
119
150
|
requirements: []
|
120
151
|
rubyforge_project:
|
121
|
-
rubygems_version: 1.8.
|
152
|
+
rubygems_version: 1.8.19
|
122
153
|
signing_key:
|
123
154
|
specification_version: 3
|
124
155
|
summary: fluentd plugin to pickup sample data from matched massages
|