The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Mar. 05, 2024
Filed:
May. 03, 2021
Microsoft Technology Licensing, Llc, Redmond, WA (US);
Neil Evan Lydick, Bothell, WA (US);
MICROSOFT TECHNOLOGY LICENSING, LLC, Redmond, WA (US);
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.