I've read before that its possible to create a SQL profiler trace that records directly to a table without neeing to use the SQL profiler - apparently this is better than having the SQL profiler itself running as the SQL profiler captures all events, and then filters entries in the profiler itself to display only the ones specified in the current filter. The direct trace only collects events specified in the trace itself, resulting in less of an impact on the server itself.
I want to set up a trace that records all queries taking longer than 1 second to execute, but now I cant seem to find that article again.