US 12,314,422 B2
Automatic application data collection for potentially insightful business values
Ashwin Jayaprakash, Sunnyvale, CA (US); Juhwan Jeong, San Fancisco, CA (US); Ryan Nicholas TerBush, Laguna Hill, CA (US); Vinay Srinivasaiah, San Carlos, CA (US); and Puneet Anand, Saratoga, CA (US)
Assigned to Cisco Technology, Inc., San Jose, CA (US)
Filed by Cisco Technology, Inc., San Jose, CA (US)
Filed on Nov. 21, 2019, as Appl. No. 16/690,358.
Claims priority of provisional application 62/862,045, filed on Jun. 15, 2019.
Prior Publication US 2020/0394329 A1, Dec. 17, 2020
Int. Cl. G06F 21/62 (2013.01); G06F 11/30 (2006.01); G06F 11/34 (2006.01)
CPC G06F 21/6245 (2013.01) [G06F 11/302 (2013.01); G06F 11/3466 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method, comprising:
determining, by a computing device executing an analytics dynamic service (ADS) that is in-line with at least one application, a stack trace by instantiating a stack trace collector code module which when executed is configured to generate the stack trace based on one or more business transactions, wherein the at least one application is configured to perform at least part of the one or more business transactions, and wherein the at least one application comprises one or more monitoring agents residing in application code of the at least one application;
performing, by the computing device, an analysis of the stack trace by instantiating a stack trace analyzer code module which when executed is configured to analyze elements of the stack trace;
identifying, by the computing device and based on the analysis of the stack trace, one or more methods of the at least one application that were invoked during performance of the one or more business transactions;
generating, by the computing device, scores for each of the identified one or more methods based on which fields or parameters are used in an identified method;
selecting, by the computing device and from the identified one or more methods, a set of the one or more methods based on the scores generated for each of the identified one or more methods; and
configuring, by the computing device, the one or more monitoring agents executing on the at least one application to instrument the selected set of the one or more methods at one or more instrumentation points by instantiating an exit point instrumentation code module which when executed is configured to generate application performance data in response to instrumentation of the one or more instrumentation points, wherein the one or more monitoring agents set a reporting rate of the instrumentation of the one or more instrumentation points based on a complexity level of an object associated with the instrumentation and a depth of data collected by the instrumentation so that a measured overhead of the instrumentation is minimized.