fluentd 0.12.4 → 0.12.5
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of fluentd might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/ChangeLog +15 -0
- data/fluentd.gemspec +1 -1
- data/lib/fluent/event.rb +4 -4
- data/lib/fluent/plugin/in_tail.rb +1 -1
- data/lib/fluent/root_agent.rb +1 -1
- data/lib/fluent/version.rb +1 -1
- data/test/test_event.rb +168 -0
- metadata +6 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4727ad0adaf19638e4635a9cc2d4a701c15a51b6
|
4
|
+
data.tar.gz: c81e2d9a52fee23f6906e7e5e06b8c4f47e08a3b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b2e986a0d83076e2ea2a17dc1ff5e7c0eafb8c53d82a3d94b043428e0f73a8c28adb2ea02fc3dc8221a561335097a4d7f41c4df2ab902c54d693ccbe92ab30f1
|
7
|
+
data.tar.gz: ec22f2fab0a771bd55f71ff7240149ca99708641e8108bb2595a26980af6b6ee054791692f71c8976f394f44fb451f65db3b6f5309d14ec804fed8f9144fdcff
|
data/ChangeLog
CHANGED
@@ -1,5 +1,20 @@
|
|
1
1
|
# v0.12
|
2
2
|
|
3
|
+
## Release 0.12.5 - 2014/02/09
|
4
|
+
|
5
|
+
### New features / Enhancement
|
6
|
+
|
7
|
+
* in_tail: Enable multiline mode if format contains 'multiline'
|
8
|
+
https://github.com/fluent/fluentd/pull/545
|
9
|
+
* event: Improve EventStream#to_msgpack_stream performance
|
10
|
+
https://github.com/fluent/fluentd/pull/549
|
11
|
+
* engine: Add tag information emit log
|
12
|
+
|
13
|
+
### Bug fixes
|
14
|
+
|
15
|
+
* Update msgpack dependency to avoid incompatible encoding problem
|
16
|
+
https://github.com/fluent/fluentd/pull/550
|
17
|
+
|
3
18
|
## Release 0.12.4 - 2015/01/23
|
4
19
|
|
5
20
|
### New features / Enhancement
|
data/fluentd.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |gem|
|
|
18
18
|
|
19
19
|
gem.required_ruby_version = '>= 1.9.3'
|
20
20
|
|
21
|
-
gem.add_runtime_dependency("msgpack", [">= 0.5.
|
21
|
+
gem.add_runtime_dependency("msgpack", [">= 0.5.11", "< 0.6.0"])
|
22
22
|
gem.add_runtime_dependency("json", [">= 1.4.3"])
|
23
23
|
gem.add_runtime_dependency("yajl-ruby", ["~> 1.0"])
|
24
24
|
gem.add_runtime_dependency("cool.io", [">= 1.2.2", "< 2.0.0"])
|
data/lib/fluent/event.rb
CHANGED
@@ -27,11 +27,11 @@ module Fluent
|
|
27
27
|
end
|
28
28
|
|
29
29
|
def to_msgpack_stream
|
30
|
-
out =
|
30
|
+
out = MessagePack::Packer.new # MessagePack::Packer is fastest way to serialize events
|
31
31
|
each {|time,record|
|
32
|
-
[time,record]
|
32
|
+
out.write([time,record])
|
33
33
|
}
|
34
|
-
out
|
34
|
+
out.to_s
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
@@ -66,7 +66,7 @@ module Fluent
|
|
66
66
|
end
|
67
67
|
|
68
68
|
def dup
|
69
|
-
entries = @entries.map(:dup)
|
69
|
+
entries = @entries.map { |entry| entry.dup } # @entries.map(:dup) doesn't work by ArgumentError
|
70
70
|
ArrayEventStream.new(entries)
|
71
71
|
end
|
72
72
|
|
data/lib/fluent/root_agent.rb
CHANGED
@@ -215,7 +215,7 @@ module Fluent
|
|
215
215
|
def handle_emits_error(tag, es, e)
|
216
216
|
now = Engine.now
|
217
217
|
if @suppress_emit_error_log_interval.zero? || now > @next_emit_error_log_time
|
218
|
-
log.warn "emit transaction failed in @ERROR:", :error_class => e.class, :error => e
|
218
|
+
log.warn "emit transaction failed in @ERROR:", :error_class => e.class, :error => e, :tag => tag
|
219
219
|
log.warn_backtrace
|
220
220
|
@next_emit_error_log_time = now + @suppress_emit_error_log_interval
|
221
221
|
end
|
data/lib/fluent/version.rb
CHANGED
data/test/test_event.rb
ADDED
@@ -0,0 +1,168 @@
|
|
1
|
+
require_relative 'helper'
|
2
|
+
require 'fluent/test'
|
3
|
+
require 'fluent/event'
|
4
|
+
|
5
|
+
module EventTest
|
6
|
+
class OneEventStreamTest < ::Test::Unit::TestCase
|
7
|
+
include Fluent
|
8
|
+
|
9
|
+
def setup
|
10
|
+
@time = Engine.now
|
11
|
+
@record = {'k' => 'v', 'n' => 1}
|
12
|
+
@es = OneEventStream.new(@time, @record)
|
13
|
+
end
|
14
|
+
|
15
|
+
test 'repeatable?' do
|
16
|
+
assert_true @es.repeatable?
|
17
|
+
end
|
18
|
+
|
19
|
+
test 'dup' do
|
20
|
+
dupped = @es.dup
|
21
|
+
assert_kind_of OneEventStream, dupped
|
22
|
+
assert_not_equal @es.object_id, dupped.object_id
|
23
|
+
end
|
24
|
+
|
25
|
+
test 'each' do
|
26
|
+
@es.each { |time, record|
|
27
|
+
assert_equal @time, time
|
28
|
+
assert_equal @record, record
|
29
|
+
}
|
30
|
+
end
|
31
|
+
|
32
|
+
test 'to_msgpack_stream' do
|
33
|
+
stream = @es.to_msgpack_stream
|
34
|
+
MessagePack::Unpacker.new.feed_each(stream) { |time, record|
|
35
|
+
assert_equal @time, time
|
36
|
+
assert_equal @record, record
|
37
|
+
}
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
class ArrayEventStreamTest < ::Test::Unit::TestCase
|
42
|
+
include Fluent
|
43
|
+
|
44
|
+
def setup
|
45
|
+
@times = [Engine.now, Engine.now + 1]
|
46
|
+
@records = [{'k' => 'v1', 'n' => 1}, {'k' => 'v2', 'n' => 2}]
|
47
|
+
@es = ArrayEventStream.new(@times.zip(@records))
|
48
|
+
end
|
49
|
+
|
50
|
+
test 'repeatable?' do
|
51
|
+
assert_true @es.repeatable?
|
52
|
+
end
|
53
|
+
|
54
|
+
test 'dup' do
|
55
|
+
dupped = @es.dup
|
56
|
+
assert_kind_of ArrayEventStream, dupped
|
57
|
+
assert_not_equal @es.object_id, dupped.object_id
|
58
|
+
end
|
59
|
+
|
60
|
+
test 'empty?' do
|
61
|
+
assert_not_empty @es
|
62
|
+
assert_true ArrayEventStream.new([]).empty?
|
63
|
+
end
|
64
|
+
|
65
|
+
test 'each' do
|
66
|
+
i = 0
|
67
|
+
@es.each { |time, record|
|
68
|
+
assert_equal @times[i], time
|
69
|
+
assert_equal @records[i], record
|
70
|
+
i += 1
|
71
|
+
}
|
72
|
+
end
|
73
|
+
|
74
|
+
test 'to_msgpack_stream' do
|
75
|
+
i = 0
|
76
|
+
stream = @es.to_msgpack_stream
|
77
|
+
MessagePack::Unpacker.new.feed_each(stream) { |time, record|
|
78
|
+
assert_equal @times[i], time
|
79
|
+
assert_equal @records[i], record
|
80
|
+
i += 1
|
81
|
+
}
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
class MultiEventStreamTest < ::Test::Unit::TestCase
|
86
|
+
include Fluent
|
87
|
+
|
88
|
+
def setup
|
89
|
+
@times = [Engine.now, Engine.now + 1]
|
90
|
+
@records = [{'k' => 'v1', 'n' => 1}, {'k' => 'v2', 'n' => 2}]
|
91
|
+
@es = MultiEventStream.new
|
92
|
+
@times.zip(@records).each { |time, record|
|
93
|
+
@es.add(time, record)
|
94
|
+
}
|
95
|
+
end
|
96
|
+
|
97
|
+
test 'repeatable?' do
|
98
|
+
assert_true @es.repeatable?
|
99
|
+
end
|
100
|
+
|
101
|
+
test 'dup' do
|
102
|
+
dupped = @es.dup
|
103
|
+
assert_kind_of MultiEventStream, dupped
|
104
|
+
assert_not_equal @es.object_id, dupped.object_id
|
105
|
+
end
|
106
|
+
|
107
|
+
test 'empty?' do
|
108
|
+
assert_not_empty @es
|
109
|
+
assert_true MultiEventStream.new.empty?
|
110
|
+
end
|
111
|
+
|
112
|
+
test 'each' do
|
113
|
+
i = 0
|
114
|
+
@es.each { |time, record|
|
115
|
+
assert_equal @times[i], time
|
116
|
+
assert_equal @records[i], record
|
117
|
+
i += 1
|
118
|
+
}
|
119
|
+
end
|
120
|
+
|
121
|
+
test 'to_msgpack_stream' do
|
122
|
+
i = 0
|
123
|
+
stream = @es.to_msgpack_stream
|
124
|
+
MessagePack::Unpacker.new.feed_each(stream) { |time, record|
|
125
|
+
assert_equal @times[i], time
|
126
|
+
assert_equal @records[i], record
|
127
|
+
i += 1
|
128
|
+
}
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
132
|
+
class MessagePackEventStreamTest < ::Test::Unit::TestCase
|
133
|
+
include Fluent
|
134
|
+
|
135
|
+
def setup
|
136
|
+
pk = MessagePack::Packer.new
|
137
|
+
@times = [Engine.now, Engine.now + 1]
|
138
|
+
@records = [{'k' => 'v1', 'n' => 1}, {'k' => 'v2', 'n' => 2}]
|
139
|
+
@times.zip(@records).each { |time, record|
|
140
|
+
pk.write([time, record])
|
141
|
+
}
|
142
|
+
@es = MessagePackEventStream.new(pk.to_s)
|
143
|
+
end
|
144
|
+
|
145
|
+
test 'repeatable?' do
|
146
|
+
assert_true @es.repeatable?
|
147
|
+
end
|
148
|
+
|
149
|
+
test 'each' do
|
150
|
+
i = 0
|
151
|
+
@es.each { |time, record|
|
152
|
+
assert_equal @times[i], time
|
153
|
+
assert_equal @records[i], record
|
154
|
+
i += 1
|
155
|
+
}
|
156
|
+
end
|
157
|
+
|
158
|
+
test 'to_msgpack_stream' do
|
159
|
+
i = 0
|
160
|
+
stream = @es.to_msgpack_stream
|
161
|
+
MessagePack::Unpacker.new.feed_each(stream) { |time, record|
|
162
|
+
assert_equal @times[i], time
|
163
|
+
assert_equal @records[i], record
|
164
|
+
i += 1
|
165
|
+
}
|
166
|
+
end
|
167
|
+
end
|
168
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluentd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.12.
|
4
|
+
version: 0.12.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sadayuki Furuhashi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-02-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: msgpack
|
@@ -16,7 +16,7 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.5.
|
19
|
+
version: 0.5.11
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: 0.6.0
|
@@ -26,7 +26,7 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 0.5.
|
29
|
+
version: 0.5.11
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 0.6.0
|
@@ -428,6 +428,7 @@ files:
|
|
428
428
|
- test/test_buffer.rb
|
429
429
|
- test/test_config.rb
|
430
430
|
- test/test_configdsl.rb
|
431
|
+
- test/test_event.rb
|
431
432
|
- test/test_event_router.rb
|
432
433
|
- test/test_filter.rb
|
433
434
|
- test/test_formatter.rb
|
@@ -511,6 +512,7 @@ test_files:
|
|
511
512
|
- test/test_buffer.rb
|
512
513
|
- test/test_config.rb
|
513
514
|
- test/test_configdsl.rb
|
515
|
+
- test/test_event.rb
|
514
516
|
- test/test_event_router.rb
|
515
517
|
- test/test_filter.rb
|
516
518
|
- test/test_formatter.rb
|