1. A method performed by data processing apparatus, the method comprising: receiving a plurality of instructions of an instrumented application, where the plurality of instructions comprise first instructions from an application and second instructions from a profiler that instruments the application with the second instructions to generate the instrumented application, the instrumented application being a functionally-equivalent version of the application; identifying, for each of the instructions in the plurality of instructions, a respective prefix from prefixes based on a category of the respective instruction, wherein at least the second instructions have a respective prefix that is different from the respective prefixes of the first instructions; annotating each of the instructions with the respective prefix for the instruction; and for at least a first hardware performance counter configuring the first hardware performance counter to count only instructions in the plurality of instructions annotated by one or more respective prefixes for the first instructions, and configuring a second hardware performance counter to count only the instructions in the plurality of instructions that are annotated by the respective prefix for the second instructions.