module Fluent::FluentSigdump

Public Class Methods

dump_windows() click to toggle source
# 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) click to toggle source
# 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