fluent-plugin-datacounter 0.4.3 → 0.4.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 +4 -4
- data/fluent-plugin-datacounter.gemspec +2 -1
- data/lib/fluent/plugin/out_datacounter.rb +19 -11
- metadata +18 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 64d80ad86bd2585306cd7f6e9ba750f7949d1740
|
4
|
+
data.tar.gz: dc801aa3ae66d93fd1e476743629a06d9dd9df75
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 99dea601abca6ae123a04e568e5ead302af893f86c4ab9b0682a9f4a6993896aee5cd3f524a03dfcde536905e25a2ed0d1d5e70577161c2e5032b1fc3c46f02b
|
7
|
+
data.tar.gz: 7cc35142eb8ec3484188f4a95656d22ba8983ed994a6d69ce46050925eded3cb22e7f2a16f9bcfe778492d7721791f6546d03cd3514ac228873e5ead521aced7
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
Gem::Specification.new do |gem|
|
3
3
|
gem.name = "fluent-plugin-datacounter"
|
4
|
-
gem.version = "0.4.
|
4
|
+
gem.version = "0.4.4"
|
5
5
|
gem.authors = ["TAGOMORI Satoshi"]
|
6
6
|
gem.email = ["tagomoris@gmail.com"]
|
7
7
|
gem.homepage = "https://github.com/tagomoris/fluent-plugin-datacounter"
|
@@ -18,5 +18,6 @@ Gem::Specification.new do |gem|
|
|
18
18
|
|
19
19
|
gem.add_development_dependency "bundler"
|
20
20
|
gem.add_development_dependency "rake"
|
21
|
+
gem.add_development_dependency "test-unit"
|
21
22
|
gem.add_development_dependency "delorean"
|
22
23
|
end
|
@@ -47,7 +47,7 @@ class Fluent::DataCounterOutput < Fluent::Output
|
|
47
47
|
when 'minute' then 60
|
48
48
|
when 'hour' then 3600
|
49
49
|
when 'day' then 86400
|
50
|
-
else
|
50
|
+
else
|
51
51
|
raise RuntimeError, "@unit must be one of minute/hour/day"
|
52
52
|
end
|
53
53
|
end
|
@@ -134,7 +134,7 @@ class Fluent::DataCounterOutput < Fluent::Output
|
|
134
134
|
if @aggregate == :all
|
135
135
|
tag = 'all'
|
136
136
|
end
|
137
|
-
|
137
|
+
|
138
138
|
@mutex.synchronize {
|
139
139
|
@counts[tag] ||= [0] * (@patterns.length + 1)
|
140
140
|
sum = 0
|
@@ -201,12 +201,18 @@ class Fluent::DataCounterOutput < Fluent::Output
|
|
201
201
|
end
|
202
202
|
|
203
203
|
def flush(step) # returns one message
|
204
|
-
flushed
|
204
|
+
flushed = nil
|
205
|
+
@mutex.synchronize {
|
206
|
+
flushed,@counts = @counts,count_initialized(@counts.keys.dup.select{|k| @counts[k][-1] > 0})
|
207
|
+
}
|
205
208
|
generate_output(flushed, step)
|
206
209
|
end
|
207
210
|
|
208
211
|
def flush_per_tags(step) # returns map of tag - message
|
209
|
-
flushed
|
212
|
+
flushed = nil
|
213
|
+
@mutex.synchronize {
|
214
|
+
flushed,@counts = @counts,count_initialized(@counts.keys.dup.select{|k| @counts[k][-1] > 0})
|
215
|
+
}
|
210
216
|
generate_output_per_tags(flushed, step)
|
211
217
|
end
|
212
218
|
|
@@ -229,7 +235,7 @@ class Fluent::DataCounterOutput < Fluent::Output
|
|
229
235
|
# for internal, or tests only
|
230
236
|
@watcher = Thread.new(&method(:watch))
|
231
237
|
end
|
232
|
-
|
238
|
+
|
233
239
|
def watch
|
234
240
|
# instance variable, and public accessable, for test
|
235
241
|
@last_checked ||= Fluent::Engine.now
|
@@ -302,12 +308,14 @@ class Fluent::DataCounterOutput < Fluent::Output
|
|
302
308
|
stored[:patterns] == @patterns
|
303
309
|
|
304
310
|
if Fluent::Engine.now <= stored[:saved_at] + tick
|
305
|
-
@
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
+
@mutex.synchronize {
|
312
|
+
@counts = stored[:counts]
|
313
|
+
@saved_at = stored[:saved_at]
|
314
|
+
@saved_duration = stored[:saved_duration]
|
315
|
+
|
316
|
+
# skip the saved duration to continue counting
|
317
|
+
@last_checked = Fluent::Engine.now - @saved_duration
|
318
|
+
}
|
311
319
|
else
|
312
320
|
log.warn "out_datacounter: stored data is outdated. ignore stored data"
|
313
321
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-datacounter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- TAGOMORI Satoshi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-03-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fluentd
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: test-unit
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: delorean
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -105,10 +119,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
105
119
|
version: '0'
|
106
120
|
requirements: []
|
107
121
|
rubyforge_project:
|
108
|
-
rubygems_version: 2.
|
122
|
+
rubygems_version: 2.4.5
|
109
123
|
signing_key:
|
110
124
|
specification_version: 4
|
111
125
|
summary: Fluentd plugin to count records with specified regexp patterns
|
112
126
|
test_files:
|
113
127
|
- test/helper.rb
|
114
128
|
- test/plugin/test_out_datacounter.rb
|
129
|
+
has_rdoc:
|