Module: Fluent::FluentSigdump

Defined in:
lib/fluent/supervisor.rb

Class Method Summary collapse

Class Method Details

.dump_windowsObject



1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
# File 'lib/fluent/supervisor.rb', line 1055

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



1071
1072
1073
1074
# File 'lib/fluent/supervisor.rb', line 1071

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