1. A computer implemented method for tracking utilization in a configuration comprising a core configured to operate in a multithreading (MT) mode, the MT mode supporting multiple threads on shared resources of the core, the method comprising: resetting a plurality of utilization counters, the utilization counters comprising a plurality of sets of counters; performing for each clock cycle on the core: selecting a set of counters from the plurality of sets of counters, the selecting based on a number of currently active threads on the core; and incrementing a counter in the selected set of counters, the incrementing based on an aggregation of one or more execution events at the multiple threads of the core; and providing values of the utilization counters to a software program.