Module: Fluent::FluentSigdump

Defined in:
lib/fluent/supervisor.rb

Class Method Summary collapse

Class Method Details

.dump_windowsObject



1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
# File 'lib/fluent/supervisor.rb', line 1274

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



1290
1291
1292
1293
# File 'lib/fluent/supervisor.rb', line 1290

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