I administer the DB for an application. The application allows users to enable and disable tracing for the functions they perform within a screen in the application. When the user enables the trace, the application performs a:

alter session set events '10046 trace name context forever, level 12';

When a user complains about the performance of a screen, I have them create a trace. When they are done they disable the trace. This all seems normal until the trace is enabled and the screen performance improves 100%.

Here is the scenario put another way:
1) user runs query and it takes 2 minutes
2) user enables trace and runs the same query and it finishes immediately, user disables trace
3) user runs the same query and it takes 2 minutes

This makes analyzing traces for poorly performing queries impossible.

Has anyone ever seen this before? I have asked several DBA's none of them have seen this.

Thanks