US 9,811,452 B2
Profiling system for computing devices
Dineel D. Sule, San Diego, CA (US); Subrato K. De, San Diego, CA (US); and Wilson Kwan, Markham (CA)
Assigned to QUALCOMM Innovation Center, Inc., San Diego, CA (US)
Filed by Qualcomm Innovation Center, Inc., San Diego, CA (US)
Filed on Feb. 1, 2016, as Appl. No. 15/11,851.
Claims priority of provisional application 62/116,055, filed on Feb. 13, 2015.
Prior Publication US 2016/0239408 A1, Aug. 18, 2016
Int. Cl. G06F 9/44 (2006.01); G06F 11/36 (2006.01); G06F 9/45 (2006.01); G06F 11/34 (2006.01)
CPC G06F 11/3688 (2013.01) [G06F 8/443 (2013.01); G06F 8/70 (2013.01); G06F 11/34 (2013.01); G06F 11/3612 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A method for profiling application code, the method comprising:
inserting instrumentation within application code;
linking the application code to a runtime app profile generator for gathering per thread samples;
generating an executable user application from the application code;
executing the executable user application;
launching the runtime app profile generator in response to execution of the application code;
registering with the runtime app profile generator, during execution of the executable user application, each of different threads of the executable user application as each of the different threads is initiated;
periodically sampling each of the different threads, without kernel-level support, during execution of the executable user application to obtain periodic samples of each of the different threads; and
generating hybrid profiling results using the periodic samples from each of the different threads of the executable user application and accumulated instrumented execution information.