About this Learning Path

Who is this for?

This is an advanced topic for software developers who want to instrument hardware event counters or the system counter in software applications.

What will you learn?

Upon completion of this learning path, you will be able to:

  • Understand different options for accessing counters from user space
  • Use the system counter to measure time in code
  • Use PAPI to instrument event counters in code
  • Use the Linux perf_event_open system call to instrument event counters in code


Before starting, you will need the following:

  • An Arm computer running Linux. A bare metal or cloud metal instance is best because they expose more counters. You can use a virtual machine (VM), but fewer counters may be available.