1. A method for performance monitoring in a multiprocessing system, the method comprising: counting occurrences of a first hardware event in a first hardware event counter of a processor; counting occurrences of a second hardware event in a second hardware event counter of the processor; sampling the second hardware event counter after a specified number of occurrences of the first hardware event have been counted, and resetting the first and second hardware event counters, wherein a value corresponding to the sampled second hardware event is to be stored in a storage device, wherein both the first hardware event counter and the second hardware event counter of the processor are to be utilized for a particular process and/or thread without including contamination from events captured from other processes and/or threads.