Automatic performance telemetry
Abstract:
The disclosed techniques assist in diagnosing performance problems of a software application. A profiling module dynamically instruments the application at runtime by intercepting a request to compile one of the application's functions and augmenting the function with performance measuring code. This way, instrumentation is installed without recompiling the application. The execution time of a synchronous function is tracked by adding a local variable that stores function entry time, and by inserting code at each function exit point that computes the elapsed time. The execution time of an async function that executes across multiple threads is measured by repurposing a state machine value to also store the initial function entry time. Instrumented functions that are executed at a rate exceeding a threshold are un-instrumented to avoid self-inflicted performance problems. Function invocations associated with a particular activity, such as responding to a particular web request, may be correlated.
Public/Granted literature
Information query
Patent Agency Ranking
0/0