class LogStash::Outputs::Application_insights::Local_file
Attributes
bytesize[R]
events_count[R]
file_size[R]
oldest_event_time[R]
Public Class Methods
new( filename, is_gzip_file )
click to toggle source
# File lib/logstash/outputs/application_insights/local_file.rb, line 33 def initialize ( filename, is_gzip_file ) @file_name = filename @writer = write_file = File.new( @file_name, "wb" ) @writer = Zlib::GzipWriter.new( write_file ) if is_gzip_file @read_file = nil @bytesize = 0 @events_count = 0 @first_block_number = nil @next_block_number = nil @next_event_count = nil end
Public Instance Methods
<<( block )
click to toggle source
# File lib/logstash/outputs/application_insights/local_file.rb, line 86 def << ( block ) @bytesize += block.bytesize @events_count += block.events_count @writer.write( block.bytes ) State.instance.dec_upload_bytesize( block.bytesize ) @oldest_event_time = block.oldest_event_time if @oldest_event_time.nil? || block.oldest_event_time < @oldest_event_time @done_time = block.done_time if @done_time.nil? || block.done_time > @done_time end
close_read()
click to toggle source
# File lib/logstash/outputs/application_insights/local_file.rb, line 50 def close_read @read_file.close if @read_file @read_file = nil end
dispose()
click to toggle source
# File lib/logstash/outputs/application_insights/local_file.rb, line 98 def dispose @bytesize = nil @events_count = nil @done_time = nil @oldest_event_time = nil seal close_read File.delete( @file_name ) if @file_name @file_name = nil end
get_next_block()
click to toggle source
# File lib/logstash/outputs/application_insights/local_file.rb, line 66 def get_next_block block = Block.new block.bytes = @read_file.read(BLOB_BLOCK_MAX_BYTESIZE) return nil if block.bytes.nil? || 0 == block.bytes.length block.bytesize = block.bytes.length State.instance.inc_upload_bytesize( block.bytesize ) block.done_time = @done_time block.oldest_event_time = @oldest_event_time block.block_numbers = [ @next_block_number ] block.events_count = @next_event_count @next_event_count = @events_per_block @next_block_number += 1 block end
open_read()
click to toggle source
# File lib/logstash/outputs/application_insights/local_file.rb, line 55 def open_read @read_file = File.new( @file_name, "rb" ) # File.new( @file_name, File::RDWR ) @file_size = @read_file.size @blocks_num = ( @file_size + BLOB_BLOCK_MAX_BYTESIZE - 1 ) / BLOB_BLOCK_MAX_BYTESIZE @events_per_block = @events_count / @blocks_num @next_event_count = @events_per_block + ( @events_count % @blocks_num ) @first_block_number ||= Block.generate_block_numbers( @blocks_num ) @next_block_number = @first_block_number end
seal()
click to toggle source
# File lib/logstash/outputs/application_insights/local_file.rb, line 45 def seal @writer.close if @writer @writer = nil end