Issues
Ease of use and interpretation
Availability of counters and restrictions on the number that can be measured at once
Differentiating between the system, the users process and other processes
Guarding against counter overflow
Handling dynamic/speculative execution