summaryrefslogblamecommitdiff
path: root/example/counting.cc
blob: a2af7f9d45e31521725329778aca2144991f8f38 (plain) (tree)




















                                             
#include <linux/perf_event.h>
#include "perf.hpp"

int main() {
  perf_group pg({
      {.name   = "CPUCLK",
       .type   = PERF_TYPE_SOFTWARE,
       .config = PERF_COUNT_SW_CPU_CLOCK},
      {.name   = "TASK",
       .type   = PERF_TYPE_SOFTWARE,
       .config = PERF_COUNT_SW_TASK_CLOCK},
      {.name   = "INSN",
       .type   = PERF_TYPE_HARDWARE,
       .config = PERF_COUNT_HW_INSTRUCTIONS},
  });
  pg.start();
  asm volatile("nop");
  asm volatile("nop");
  pg.stop();
  pg.dump();
}