fluent-plugin-concat 0.6.0 → 0.6.2

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: aba37ca7a793288cddef2c986f31caec1c492b4f
4
- data.tar.gz: beaa009f9c3bc35bc38e39390918bdd29e53361b
3
+ metadata.gz: 95f8097d8136f9936c1461ab176f2383888ed4e2
4
+ data.tar.gz: e29e68448603bb9cbdc5754d3b9709afc58839b0
5
5
  SHA512:
6
- metadata.gz: f62bffeed9583c683da11a8b6b7f58f4ab45fd1d39905e46a8cfa11747e96a185f5464933c9cc989aa466dd199215855b4ca2cb5a4510d9b54b13b51f6f1eb59
7
- data.tar.gz: 569e6b2393a83a0303cab98319ddcd412f6c11245ac26dde9524ff5bf12cbd7c82fae9765e901a84cfa834b8514978d0219f726ea5b8b34418b2b26bfeea4ea5
6
+ metadata.gz: 4fa4386e2addaaa1a3350def2c5c9b4d9a2deed83139f2b62f139290a8197cd12ce8d1323772650c39a0a57ccba081c6edd3207cfc8af50084e95588d7e58e51
7
+ data.tar.gz: b6207ff66e35becee6f006388fafbed69c043711bbfc7215b025496e49a9e4c2444661fb5631c5591b1d9af63f2a92cb07c5851aeaa390396f899fe2ba24c815
data/.rubocop.yml CHANGED
@@ -50,3 +50,6 @@ Style/MultilineMethodCallIndentation:
50
50
  EnforcedStyle: indented
51
51
  Style/DoubleNegation:
52
52
  Enabled: false
53
+ Style/EmptyCaseCondition:
54
+ Enabled: false
55
+
@@ -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-concat"
7
- spec.version = "0.6.0"
7
+ spec.version = "0.6.2"
8
8
  spec.authors = ["Kenji Okimoto"]
9
9
  spec.email = ["okimoto@clear-code.com"]
10
10
 
@@ -76,10 +76,12 @@ module Fluent
76
76
  new_es = MultiEventStream.new
77
77
  es.each do |time, record|
78
78
  begin
79
- new_time, new_record = process(tag, time, record)
80
- if new_record
81
- time = new_time if @use_first_timestamp
82
- new_es.add(time, record.merge(new_record))
79
+ flushed_es = process(tag, time, record)
80
+ unless flushed_es.empty?
81
+ flushed_es.each do |_time, new_record|
82
+ time = _time if @use_first_timestamp
83
+ new_es.add(time, record.merge(new_record))
84
+ end
83
85
  end
84
86
  rescue => e
85
87
  router.emit_error_event(tag, time, record, e)
@@ -97,6 +99,7 @@ module Fluent
97
99
  end
98
100
 
99
101
  def process(tag, time, record)
102
+ new_es = MultiEventStream.new
100
103
  if @stream_identity_key
101
104
  stream_identity = "#{tag}:#{record[@stream_identity_key]}"
102
105
  else
@@ -107,30 +110,49 @@ module Fluent
107
110
  when :line
108
111
  @buffer[stream_identity] << [tag, time, record]
109
112
  if @buffer[stream_identity].size >= @n_lines
110
- return flush_buffer(stream_identity)
113
+ new_time, new_record = flush_buffer(stream_identity)
114
+ time = new_time if @use_first_timestamp
115
+ new_es.add(time, new_record)
116
+ return new_es
111
117
  end
112
118
  when :regexp
113
- if firstline?(record[@key])
119
+ case
120
+ when firstline?(record[@key])
114
121
  if @buffer[stream_identity].empty?
115
122
  @buffer[stream_identity] << [tag, time, record]
123
+ if lastline?(record[@key])
124
+ new_time, new_record = flush_buffer(stream_identity)
125
+ time = new_time if @use_first_timestamp
126
+ new_es.add(time, new_record)
127
+ end
116
128
  else
117
- return flush_buffer(stream_identity, [tag, time, record])
129
+ new_time, new_record = flush_buffer(stream_identity, [tag, time, record])
130
+ time = new_time if @use_first_timestamp
131
+ new_es.add(time, new_record)
132
+ if lastline?(record[@key])
133
+ new_time, new_record = flush_buffer(stream_identity)
134
+ time = new_time if @use_first_timestamp
135
+ new_es.add(time, new_record)
136
+ end
137
+ return new_es
118
138
  end
119
- end
120
- if lastline?(record[@key])
121
- @buffer[stream_identity] << [tag, time, record] unless firstline?(record[@key])
122
- return flush_buffer(stream_identity)
123
- end
124
- if !firstline?(record[@key]) && !lastline?(record[@key])
139
+ when lastline?(record[@key])
140
+ @buffer[stream_identity] << [tag, time, record]
141
+ new_time, new_record = flush_buffer(stream_identity)
142
+ time = new_time if @use_first_timestamp
143
+ new_es.add(time, new_record)
144
+ return new_es
145
+ else
125
146
  if @buffer[stream_identity].empty?
126
- return [time, record]
147
+ new_es.add(time, record)
148
+ return new_es
127
149
  else
128
150
  # Continuation of the previous line
129
151
  @buffer[stream_identity] << [tag, time, record]
130
152
  end
131
153
  end
132
154
  end
133
- nil
155
+ new_es
134
156
  end
135
157
 
136
158
  def firstline?(text)
@@ -157,6 +179,7 @@ module Fluent
157
179
  timeout_stream_identities = []
158
180
  @timeout_map.each do |stream_identity, previous_timestamp|
159
181
  next if @flush_interval > (now - previous_timestamp)
182
+ next if @buffer[stream_identity].empty?
160
183
  time, flushed_record = flush_buffer(stream_identity)
161
184
  timeout_stream_identities << stream_identity
162
185
  tag = stream_identity.split(":").first
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-concat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kenji Okimoto
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-22 00:00:00.000000000 Z
11
+ date: 2016-08-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd
@@ -139,7 +139,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
139
139
  version: '0'
140
140
  requirements: []
141
141
  rubyforge_project:
142
- rubygems_version: 2.6.4
142
+ rubygems_version: 2.5.1
143
143
  signing_key:
144
144
  specification_version: 4
145
145
  summary: Fluentd Filter plugin to concat multiple event messages