• Kan Liang's avatar
    perf evlist: Print hint for group · 9953807c
    Kan Liang authored
    An event group is a critical relationship. There is a -g option that can
    display the relationship. But it's hard for a user to know when should
    this option be applied.
    
    If there is an event group in the perf record, print a hint to suggest
    the user apply the -g to display the group information.
    
    With the patch,
    
      $ perf record -e "{cycles,instructions},instructions" sleep 1
      [ perf record: Woken up 1 times to write data ]
      [ perf record: Captured and wrote 0.024 MB perf.data (4 samples) ]
      $
    
      $ perf evlist
      cycles
      instructions
      instructions
      # Tip: use 'perf evlist -g' to show group information
    
      $ perf evlist -g
      {cycles,instructions}
      instructions
      $
    
    Committer testing:
    
    So for a perf.data file _with_ a group:
    
      root@number:~# perf evlist -g
      {cpu_core/branch-instructions/pp,cpu_core/branches/}
      dummy:u
      root@number:~# perf evlist
      cpu_core/branch-instructions/pp
      cpu_core/branches/
      dummy:u
      # Tip: use 'perf evlist -g' to show group information
      root@number:~#
    
    Then for something _without_ a group, no hint:
    
      root@number:~# perf record ls
      <SNIP>
      [ perf record: Woken up 1 times to write data ]
      [ perf record: Captured and wrote 0.035 MB perf.data (7 samples) ]
      root@number:~# perf evlist
      cpu_atom/cycles/P
      cpu_core/cycles/P
      dummy:u
      root@number:~#
    
    No suggestion, good.
    Suggested-by: default avatarArnaldo Carvalho de Melo <acme@kernel.org>
    Reviewed-by: default avatarIan Rogers <irogers@google.com>
    Signed-off-by: default avatarKan Liang <kan.liang@linux.intel.com>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Closes: https://lore.kernel.org/lkml/ZttgvduaKsVn1r4p@x1/
    Link: https://lore.kernel.org/r/20240908202847.176280-1-kan.liang@linux.intel.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    9953807c
builtin-evlist.c 2.78 KB