Skip to content

Commit e499589

Browse files
committed
compat: output: Avoid to use monitor lock if needn't
Signed-off-by: Hiroshi Hatake <hatake@calyptia.com>
1 parent 97486d1 commit e499589

File tree

1 file changed

+21
-9
lines changed

1 file changed

+21
-9
lines changed

lib/fluent/compat/output.rb

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -352,9 +352,13 @@ def handle_stream_simple(tag, es, enqueue: false)
352352
write_guard do
353353
@buffer.write({meta => data}, format: ->(_data){ _data }, size: ->(){ size }, enqueue: enqueue)
354354
end
355-
@counter_mutex.synchronize do
356-
@emit_size_metrics.add(es.to_msgpack_stream.bytesize) if @enable_size_metrics
357-
@emit_records_metrics.add(size)
355+
if @enable_size_metrics
356+
@counter_mutex.synchronize do
357+
@emit_records_metrics.add(es.size)
358+
@emit_size_metrics.add(es.to_msgpack_stream.bytesize)
359+
end
360+
else
361+
@emit_records_metrics.add(es.size)
358362
end
359363
return [meta]
360364
end
@@ -366,9 +370,13 @@ def handle_stream_simple(tag, es, enqueue: false)
366370
write_guard do
367371
@buffer.write({meta => bulk}, format: ->(_data){ _data }, size: ->(){ size }, enqueue: enqueue)
368372
end
369-
@counter_mutex.synchronize do
370-
@emit_size_metrics.add(es.to_msgpack_stream.bytesize) if @enable_size_metrics
371-
@emit_records_metrics.add(size)
373+
if @enable_size_metrics
374+
@counter_mutex.synchronize do
375+
@emit_records_metrics.add(es.size)
376+
@emit_size_metrics.add(es.to_msgpack_stream.bytesize)
377+
end
378+
else
379+
@emit_records_metrics.add(es.size)
372380
end
373381
return [meta]
374382
end
@@ -379,9 +387,13 @@ def handle_stream_simple(tag, es, enqueue: false)
379387
write_guard do
380388
@buffer.write({meta => data}, enqueue: enqueue)
381389
end
382-
@counter_mutex.synchronize do
383-
@emit_size_metrics.add(es.to_msgpack_stream.bytesize) if @enable_size_metrics
384-
@emit_records_metrics.add(size)
390+
if @enable_size_metrics
391+
@counter_mutex.synchronize do
392+
@emit_records_metrics.add(es.size)
393+
@emit_size_metrics.add(es.to_msgpack_stream.bytesize)
394+
end
395+
else
396+
@emit_records_metrics.add(es.size)
385397
end
386398
[meta]
387399
end

0 commit comments

Comments
 (0)