A method performed by at least a computer processor, said method comprising: executing a first instance of an application in a first execution environment in a first computing device and executing a second instance of said application in a second execution environment in a second computing device, wherein said first and second instances of the application are executed in parallel; said first execution environment being a performance environment gathering performance related metrics having minimal impact on the performance of said environment; said second execution environment being a detailed instrumented environment gathering detailed operational information; defining conditions under which detailed or performance tracing are performed, wherein said conditions contain filters that define parameters relating to a sampling frequency and to an instrumentation granularity; receiving an input stream for said application; identifying a first unit of work for said application within said input stream, wherein said first unit of work corresponds to a function call including input parameters for said function and causing said first unit of work to be executed within said first execution environment and within second execution environment, generating a first performance trace result and a first detailed trace result, by using a lightweight tracer executing in the first execution environment and a detailed tracer executing in the second execution environment, respectively; receiving said first performance trace result for said first unit of work from said first execution environment; receiving said first detailed trace result for said first unit of work from said second execution environment; combining said first performance trace result and said first detailed trace result into a results set for said first unit of work, wherein said combining comprises identifying a first identifier for said first unit of work in said first detailed trace data and said first identifier for said first unit of work in said first performance trace data. executing a first instance of an application in a first execution environment in a first computing device and executing a second instance of said application in a second execution environment in a second computing device, wherein said first and second instances of the application are executed in parallel; said first execution environment being a performance environment gathering performance related metrics having minimal impact on the performance of said environment; said second execution environment being a detailed instrumented environment gathering detailed operational information; defining conditions under which detailed or performance tracing are performed, wherein said conditions contain filters that define parameters relating to a sampling frequency and to an instrumentation granularity; receiving an input stream for said application; identifying a first unit of work for said application within said input stream, wherein said first unit of work corresponds to a function call including input parameters for said function and causing said first unit of work to be executed within said first execution environment and within second execution environment, generating a first performance trace result and a first detailed trace result, by using a lightweight tracer executing in the first execution environment and a detailed tracer executing in the second execution environment, respectively; receiving said first performance trace result for said first unit of work from said first execution environment; receiving said first detailed trace result for said first unit of work from said second execution environment; combining said first performance trace result and said first detailed trace result into a results set for said first unit of work, wherein said combining comprises identifying a first identifier for said first unit of work in said first detailed trace data and said first identifier for said first unit of work in said first performance trace data.