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 including a first set of counters and a second set of counters, each set of counters corresponding to a different number of currently active threads and each set of counters non-overlapping with each other set 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 not based on which specific threads of the multiple threads are currently active, wherein the first set of counters is selected based on exactly one of the multiple threads being currently active, and the second set of counters is selected based on exactly two of the multiple threads being currently active; 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.