• Ingo Molnar's avatar
    perf report: Show zero counters as well in 'perf report --stat' · 39ce7fb3
    Ingo Molnar authored
    When recently using 'perf report --stat' it was not clear to me from the
    output whether a particular statistics field (LOST_SAMPLES) was not
    present, or just zero:
    
      fomalhaut:~> perf report --stat
    
      Aggregated stats:
               TOTAL events:     495984
                MMAP events:         85
                COMM events:       3389
                EXIT events:       1605
            THROTTLE events:          2
          UNTHROTTLE events:          2
                FORK events:       3377
              SAMPLE events:     472629
               MMAP2 events:      14753
      FINISHED_ROUND events:        139
          THREAD_MAP events:          1
             CPU_MAP events:          1
           TIME_CONV events:          1
    
    I had to check the output several times to ascertain that I'm not
    misreading the output, that the field didn't change and that I didn't
    misremember the name. In fact I had to look into the perf source to make
    sure that zero fields are indeed not shown.
    
    With the patch applied:
    
      fomalhaut:~> perf report --stat
    
      Aggregated stats:
               TOTAL events:     495984
                MMAP events:         85
                LOST events:          0
                COMM events:       3389
                EXIT events:       1605
            THROTTLE events:          2
          UNTHROTTLE events:          2
                FORK events:       3377
                READ events:          0
              SAMPLE events:     472629
               MMAP2 events:      14753
                 AUX events:          0
        ITRACE_START events:          0
        LOST_SAMPLES events:          0
              SWITCH events:          0
     SWITCH_CPU_WIDE events:          0
          NAMESPACES events:          0
                ATTR events:          0
          EVENT_TYPE events:          0
        TRACING_DATA events:          0
            BUILD_ID events:          0
      FINISHED_ROUND events:        139
            ID_INDEX events:          0
       AUXTRACE_INFO events:          0
            AUXTRACE events:          0
      AUXTRACE_ERROR events:          0
          THREAD_MAP events:          1
             CPU_MAP events:          1
         STAT_CONFIG events:          0
                STAT events:          0
          STAT_ROUND events:          0
        EVENT_UPDATE events:          0
           TIME_CONV events:          1
             FEATURE events:          0
    
    It's pretty clear at a glance that LOST_SAMPLES is present but zero.
    
    The original output can still be gotten via:
    
      fomalhaut:~> perf report --stat | grep -vw 0
    
      Aggregated stats:
               TOTAL events:     495984
                MMAP events:         85
                COMM events:       3389
                EXIT events:       1605
            THROTTLE events:          2
          UNTHROTTLE events:          2
                FORK events:       3377
              SAMPLE events:     472629
               MMAP2 events:      14753
      FINISHED_ROUND events:        139
          THREAD_MAP events:          1
             CPU_MAP events:          1
           TIME_CONV events:          1
    
    So I don't think there's any real loss in functionality.
    Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
    Acked-by: default avatarJiri Olsa <jolsa@redhat.com>
    Link: http://lkml.kernel.org/r/20180307152430.7e5h7e657b7bgd7q@gmail.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    39ce7fb3
hist.c 19.9 KB