1. A method comprising: executing instructions at a multi-threaded processor; determining, at the multi-threaded processor, a number of a plurality of threads that the multi-threaded processor executes during a time period; selecting a packet format from a plurality of packets foiiiiats for a particular thread based at least in part on the number of threads executed during the time period; generating a debug data packet having the selected packet format for the particular thread, wherein the debug data packet indicates whether execution of at least one instruction of the particular thread occurred during the time period; and storing the debug data packet based on a trigger time associated with the selected packet format.