# [Implement Code level Performance Analysis using the PMUv3 plugin](https://learn.arm.com/learning-paths/servers-and-cloud-computing/pmuv3_plugin_learning_path/)

## In this learning path

- [Introduction](https://learn.arm.com/learning-paths/servers-and-cloud-computing/pmuv3_plugin_learning_path/)
- [PMUv3 plugin features](https://learn.arm.com/learning-paths/servers-and-cloud-computing/pmuv3_plugin_learning_path/intro/)
- [Download and build the PMUv3 plugin](https://learn.arm.com/learning-paths/servers-and-cloud-computing/pmuv3_plugin_learning_path/before-you-begin/)
- [Instrument one section of code](https://learn.arm.com/learning-paths/servers-and-cloud-computing/pmuv3_plugin_learning_path/instrumentation/)
- [Plot, visualize, and analyze the results](https://learn.arm.com/learning-paths/servers-and-cloud-computing/pmuv3_plugin_learning_path/plot/)
- [Instrument multiple sections of code](https://learn.arm.com/learning-paths/servers-and-cloud-computing/pmuv3_plugin_learning_path/instrumentation2/)
- [Next Steps](https://learn.arm.com/learning-paths/servers-and-cloud-computing/pmuv3_plugin_learning_path/_next-steps/)

## About this Learning Path

| Skill level:     | Advanced         |
|------------------|------------------|
| Reading time:    | 1 hr             |
| Last updated:    | 11 Aug 2026      |

| Author:                         | Gayathri Narayana Yegna Narayanan, Arm |
|---------------------------------|---------------------------------------|
| Arm IP:                         | [Neoverse](https://support.arm.com/?tab=compute-ip&Product%20Type=Infrastructure%20Processors) |
| Tags:                           | [Performance and Architecture](https://learn.arm.com/tag/performance-and-architecture), [Arm AGI CPU](https://learn.arm.com/tag/arm-agi-cpu), [Linux](https://learn.arm.com/tag/linux), [C](https://learn.arm.com/tag/c), [CPP](https://learn.arm.com/tag/cpp), [Python](https://learn.arm.com/tag/python), [Runbook](https://learn.arm.com/tag/runbook) |

### Who is this for?
Engineers who want to carry out C/C++ performance analysis by instrumenting code at the block level.

### What will you learn?
Upon completion of this Learning Path, you will be able to:
- Generate a fine-grained, precise measurement of functions and other sections of code.
- Instrument your code to analyze a single section or multiple sections using the provided instrumentation scenarios.
- Run and collect performance metrics and raw event values for any of the 15 event groups (bundles) in a single run.
- Use a tool to plot raw PMU event values along with KPI metric values such as MPKI, stalls, and IPC to aid performance visualization.

### Prerequisites
Before starting, you will need the following:
- An Arm-based computer running Linux, such as an Arm AGI CPU platform.
- Some familiarity with Linux application performance analysis.
