Implement startat and stopat options so that function tracing starts/stops when a specific function is invoked, either by a specific thread, type of thread, or faction. It could also be an option to stop tracing when the startat function returns (as determined by the stack depth).