1. A computer-implemented method, comprising: a hardware counter counting to a predetermined value; in response to the hardware counter reaching the predetermined value, collecting data corresponding to a runtime event; determining if the runtime event is of a given event type; and in response to determining that the runtime event is of the given event type, incrementing a synthesized counter configured to monitor events of the given event type, wherein the synthesized counter is implemented as a storage location in machine addressable memory.