• Yang Jihong's avatar
    perf tools: Add --debug-file option to redirect debug output · 72108c0b
    Yang Jihong authored
    Currently, debug messages is output to stderr, add --debug-file option to
    support redirection to a specified file.
    
    Some test scenarios:
    
      # perf --list-opts
      --help --version --exec-path --html-path --paginate --no-pager --debugfs-dir --buildid-dir --list-cmds --list-opts --debug --debug-file
    
      # perf --debug-file
      No path given for --debug-file.
    
       Usage: perf [--version] [--help] [OPTIONS] COMMAND [ARGS]
    
      # perf --debug-file /sys/perf.log record -v true
      Open debug file '/sys/perf.log' failed: Permission denied
    
       Usage: perf [--version] [--help] [OPTIONS] COMMAND [ARGS]
    
      # perf --debug-file /tmp/perf.log record -v true
      [ perf record: Woken up 1 times to write data ]
      [ perf record: Captured and wrote 0.013 MB perf.data (26 samples) ]
      # cat /tmp/perf.log
      DEBUGINFOD_URLS=
      Using CPUID GenuineIntel-6-3E-4
      nr_cblocks: 0
      affinity: SYS
      mmap flush: 1
      comp level: 0
      mmap size 528384B
      Control descriptor is not initialized
      mmap size 528384B
      Looking at the vmlinux_path (8 entries long)
      Using /proc/kcore for kernel data
      Using /proc/kallsyms for symbols
      symbol:unmap_start file:(null) line:0 offset:0 return:0 lazy:(null)
      symbol:unmap_complete file:(null) line:0 offset:0 return:0 lazy:(null)
      symbol:map_start file:(null) line:0 offset:0 return:0 lazy:(null)
      symbol:map_complete file:(null) line:0 offset:0 return:0 lazy:(null)
      symbol:reloc_start file:(null) line:0 offset:0 return:0 lazy:(null)
      symbol:reloc_complete file:(null) line:0 offset:0 return:0 lazy:(null)
      symbol:init_start file:(null) line:0 offset:0 return:0 lazy:(null)
      symbol:init_complete file:(null) line:0 offset:0 return:0 lazy:(null)
      symbol:lll_lock_wait_private file:(null) line:0 offset:0 return:0 lazy:(null)
      symbol:lll_lock_wait file:(null) line:0 offset:0 return:0 lazy:(null)
      symbol:setjmp file:(null) line:0 offset:0 return:0 lazy:(null)
      symbol:longjmp file:(null) line:0 offset:0 return:0 lazy:(null)
      symbol:longjmp_target file:(null) line:0 offset:0 return:0 lazy:(null)
      failed to write feature HYBRID_TOPOLOGY
    Signed-off-by: default avatarYang Jihong <yangjihong1@huawei.com>
    Acked-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Ian Rogers <irogers@google.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: https://lore.kernel.org/r/20231031105523.1472558-1-yangjihong1@huawei.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    72108c0b
perf.txt 2.58 KB