Module: Fluent::FluentSigdump

Defined in:
lib/fluent/supervisor.rb

Class Method Summary collapse

Class Method Details

.dump_windowsObject



1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
# File 'lib/fluent/supervisor.rb', line 1286

def self.dump_windows
  raise "[BUG] WindowsSigdump::dump is for Windows ONLY." unless Fluent.windows?

  # Sigdump outputs under `/tmp` dir without `SIGDUMP_PATH` specified,
  # but `/tmp` dir may not exist on Windows by default.
  # So use the systemroot-temp-dir instead.
  dump_filepath = ENV['SIGDUMP_PATH'].nil? || ENV['SIGDUMP_PATH'].empty? \
    ? "#{ENV['windir']}/Temp/fluentd-sigdump-#{Process.pid}.log"
    : get_path_with_pid(ENV['SIGDUMP_PATH'])

  require 'sigdump'
  Sigdump.dump(dump_filepath)

  $log.info "dump to #{dump_filepath}."
end

.get_path_with_pid(raw_path) ⇒ Object



1302
1303
1304
1305
# File 'lib/fluent/supervisor.rb', line 1302

def self.get_path_with_pid(raw_path)
  path = Pathname.new(raw_path)
  path.sub_ext("-#{Process.pid}#{path.extname}").to_s
end