• Jiri Olsa's avatar
    perf script: Allow +- operator for type specific fields option · 6ef362fd
    Jiri Olsa authored
    Add support to add/remove fields for specific event types in -F option.
    It's now possible to use '+-' after event type, like:
    
      # cat > test.c
      #include <stdio.h>
    
      int main(void)
      {
         printf("Hello world\n");
         while(1) {}
      }
      ^D
      # gcc -g -o test test.c
      # perf probe -x test 'test.c:5'
      # perf record -e '{cpu/cpu-cycles,period=10000/,probe_test:main}:S' ./test
      ...
    
      # perf script -Ftrace:+period,-cpu
                test  3859 396291.117343:      10275 cpu/cpu-cycles,period=10000/:      7f..
                test  3859 396291.118234:      11041 cpu/cpu-cycles,period=10000/:  ffffff..
                test  3859 396291.118234:          1              probe_test:main:
                test  3859 396291.118248:       8668 cpu/cpu-cycles,period=10000/:  ffffff..
                test  3859 396291.118263:      10139 cpu/cpu-cycles,period=10000/:  ffffff..
    
    Committer testing:
    
    Couldn't make the test above work, but tested it with:
    
      # perf probe -x hello main
      Added new event:
        probe_hello:main     (on main in /home/acme/c/hello)
    
      You can now use it in all perf tools, such as:
    
    	  perf record -e probe_hello:main -aR sleep 1
    
      # perf record -e probe_hello:main ./hello
      hello, world
      [ perf record: Woken up 1 times to write data ]
      [ perf record: Captured and wrote 0.025 MB perf.data (1 samples) ]
      # perf script
               hello 21454 [002] 254116.874005: probe_hello:main: (401126)
      #
      # perf script -Ftrace:+period,-cpu
               hello 21454 254116.874005:          1 probe_hello:main: (401126)
    Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20190220122800.864-4-jolsa@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    6ef362fd
builtin-script.c 97.2 KB