The problem is to set trace function for a thread creation event. There's a threading.settrace() function that does this thing, BUT it's said that it 'sets a trace function for all threads started from the "threading" module'. Are there any ways to create thread other than from threading.Thread()? (ex. thread.start_new_thread()) If yes (as with thread.start_new_thread()), is it affected by threading.settrace() function? If it is NOT - are there any ways to catch this event? Thank you :)