1. An apparatus for non-intrusive tracing, the apparatus comprises: multiple counters, operable to count multiple selected events; multiple shadow registers, coupled to the multiple counters, for sampling the multiple counters in a seamless manner to provide multiple counters values, in response to triggering events; counters and registers logic, coupled to the multiple counters and to the multiple shadow registers, operable to control the operation of the multiple counters and multiple shadow registers; and trace logic, coupled to the multiple shadow registers, adapted to: (i) receive the multiple counters values and receive additional trace information that comprises at least one program counter value, and (ii) output at least one of the multiple counters values and the additional trace information.