Patents Assigned to AppDynamics, Inc.
-
Publication number: 20170357524Abstract: A system uses agents to monitor a distributed business transaction as well as monitor changes in software configuration. An agent may detect a file load, such a class load, obtain portions of the file such as functions, and perform a hash on the byte code functions. A hash tree may then be constructed and compared to previous states of the system. The hash tree may be generated, for example, at each file loading detected, so that system states can be compared. Differences in hash trees are detected and the changes are reported to an administrator of the system that provides the distrusted business transaction.Type: ApplicationFiled: April 30, 2017Publication date: December 14, 2017Applicant: AppDynamics, Inc.Inventors: Jonathan Newcomb Swirsky Whitney, Ido Carmel, Steffen Yount
-
Publication number: 20170269977Abstract: An application which utilizes a single thread is monitored and context for the individual requests and business transactions operating on that platform are provided. A wrapper is placed is around an object that calls a request. The wrapper renames a request object. Request objects are renamed with a unique name when they are called. When a call stack is sampled, the sampler will retrieve the unique name. Performance data associated with the unique name may be correlated to a business transaction and particular request as metrics are subsequently analyzed. For subsequent reporting, such as call graph reporting, the report or call graph will have requests in the context of a particular business transaction and a particular request instance. This provides more context in reporting of an business application request for frameworks that utilize as single request for multiple threads.Type: ApplicationFiled: February 6, 2017Publication date: September 21, 2017Applicant: AppDynamics, Inc.Inventor: Christopher Brichford
-
Publication number: 20170255476Abstract: An interface for communicating the status of a distributed business transaction using widgets is provided. The widgets may be dynamically identified and automatically created such that they are useful and of interest to a user of the dashboard. The location of the widgets within the dashboard may be dynamically positioned such that the most important widgets are provided to preferred locations for particular user.Type: ApplicationFiled: April 29, 2016Publication date: September 7, 2017Applicant: AppDynamics, Inc.Inventors: Jonathan Newcomb Swirsky Whitney, Tao Wang, Ryan O'Connell
-
Publication number: 20170220325Abstract: The present technology adds code to a top level build configuration file of a configuration program that will gather metrics for each invocation of a build. These metrics are sent to a commonly accessible metric server for future analysis. The metrics are collected for a distributed engineering team over several machines. Compilation time metrics may then be collected for each compilation event and those metrics are analyzed by a common aggregator.Type: ApplicationFiled: April 17, 2017Publication date: August 3, 2017Applicant: AppDynamics, Inc.Inventor: Andrew Patrick Buteau
-
Publication number: 20170222891Abstract: Asynchronous handoffs between threads and other software components may be automatically detected, and the corresponding working objects may be tracked. The system may report monitoring information for an overall transaction that includes the original request and corresponding asynchronous requests. Automatically detecting asynchronous requests may include instrumenting a virtual machine, such as a Java Virtual Machine (JVM), to detect the creation of thread handoff objects and the object and/or thread execution. Thread handoff objects may automatically tracked, tracked based on data learned over time, tracked based on user input, and otherwise configured. In some embodiments, after detecting the creation of a thread handoff object, an identification of the object of the call may be identified as being tracked in another server or application.Type: ApplicationFiled: December 5, 2016Publication date: August 3, 2017Applicant: AppDynamics, Inc.Inventors: Bhaskar Sunkara, Suraj Puvvada, Manoj Acharya, Vinay Srinivasaiah
-
Publication number: 20170171092Abstract: A transmitted transport communication protocol (TCP) packet in an established TCP connection is intercepted and resent with a modified IP layer to determine network nodes within a network path. No new connection is required, and the data may be transmitted to its intended location as part of the existing connection, bypassing firewalls and other obstacles commonly affecting ping commands. The change to the IP layer may include a modified TTL value. Address location and response time may be determined for each node in a network path.Type: ApplicationFiled: February 27, 2017Publication date: June 15, 2017Applicant: AppDynamics, Inc.Inventor: Suraj Puvvada
-
Publication number: 20170163505Abstract: A system determines the performance of a network within the context of an application using that network. Network data is collected and correlated with an application that uses the network as well as a distributed transaction implemented by the application. The collected network data is culled, and the remaining data is rolled up into one or more metrics. The metrics, selected network data, and other data are reported in the context of the application that implements part of the distributed transaction. In this manner, specific network performance and architecture data is reported along with application context information.Type: ApplicationFiled: February 20, 2017Publication date: June 8, 2017Applicant: AppDynamics, Inc.Inventors: Harish Nataraj, Adam Leftik, Ajay Chandel, Jyoti Bansal, Bhaskar Sunkara
-
Publication number: 20170147368Abstract: The present technology utilizes agents to monitor and report data from Java virtual machines (JVM) to a controller as part of application performance monitoring. When a JVM is loaded, code defining an interface for agents is loaded as well. A determination may be made as to whether the loaded agent implements the interface defined at the JVM. If the loaded agent does not implement the interface, for example if it is missing one or more methods defined by the interface, the agent class may be modified to define the missing methods. The modification to the agent class may be made after compilation but before the class is loaded into the JVM.Type: ApplicationFiled: January 1, 2017Publication date: May 25, 2017Applicant: AppDynamics, Inc.Inventors: Vinay Srinivasaiah, Bradley Winslow
-
Publication number: 20170147483Abstract: Asynchronous operations associated with a request such as synchronous threads, runnable elements, callable elements, and other invokable objects are tracked to determine the metrics about the request and operations. The present technology tracks the start and end of each asynchronous operation and maintains a counter which tracks the currently executing asynchronous operations. By monitoring the request, the start and end of each asynchronous operation associated with the request, and the number of asynchronous operations currently executing, the present technology may identify the end of a request by identifying when the last asynchronous operation associated with the request ends. In some instances, the present technology identifies the end of a request when a counter which tracks the number of asynchronous operations executing reaches a value of zero after the first asynchronous operation has already begun.Type: ApplicationFiled: November 28, 2016Publication date: May 25, 2017Applicant: AppDynamics, Inc.Inventors: Suraj Puvvada, Ryan Ericson
-
Publication number: 20170147462Abstract: A dynamic service module is embedded in an agent and able to add functionality to the agent. The service module may manage .jar files for execution by the agent. The service module may receive the .jar files, provide them to an agent for execution, and may perform other functions. The agent may perform obfuscation in order to translate the .jar files into a modified version which may be more compatible with a particular agent. Once execution of the .jar file is complete, the agent may remove the .jar file as well as all trace of the .jar file. For example, the agent may remove byte code instrumentation that was installed as a result of the .jar file.Type: ApplicationFiled: January 1, 2017Publication date: May 25, 2017Applicant: APPDYNAMICS, INC.Inventors: Brad Winslow, Anthony Kilman
-
Patent number: 9658917Abstract: Business transactions and the nodes processing the transactions may be monitored. Actions may be applied to one or more nodes when a performance issue is detected. A performance issue may relate to a metric associated with a transaction or node that processes the transaction. If a performance metric does not satisfy a health rule, the policy determines which action should be performed to correct the performance of the node. The corrective action may be applied to a node other than the node at which the performance metric is associated with. For example, if a performance metric for a first node does not satisfy a threshold, the corrective action may be applied to a second node. When a solution applied to a second node is found to correct the problem in first node, the solution may be applied to the other nodes experiencing the same problem.Type: GrantFiled: February 7, 2014Date of Patent: May 23, 2017Assignee: AppDynamics, Inc.Inventors: Ido Carmel, Abhijit Sawant, Raghvendra Singh, Takashi Arai, Andrew Morgan, Bhaskar Sunkara
-
Patent number: 9652357Abstract: Application performance data and machine health are collected by a system. The system correlates the two data types to provide context as to how machine health affects the performance of an application. Performance data for an application, for example an application executing as part of a distributed business transaction, and health data for a machine which hosts the application are collected. The performance data and machine health data may be correlated for a particular period of time. The correlation may then be reported to a user. By viewing the correlation, a user may see when machine health was good and bad, and may identify the effects of the machine health on the performance of an application.Type: GrantFiled: October 31, 2014Date of Patent: May 16, 2017Assignee: AppDynamics, Inc.Inventors: Amod Gupta, Ryan Ericson
-
Patent number: 9646276Abstract: An interface is provided for a user to create a custom dashboard for providing application performance data. The dashboard may be created from one or more widgets, such as graphs, charts, and other display components, and each widget may be individually configured with parameters. The dashboard may be configured to display data for one or more particular transactions, transaction types, or transactions that meet specified criteria. Once created, the dashboard may be shared through a website URL, e-mail, or other method.Type: GrantFiled: August 23, 2013Date of Patent: May 9, 2017Assignee: AppDynamics, Inc.Inventors: Sean Rea, Joseph Angeles, Thomas Keeney
-
Publication number: 20170126531Abstract: A system monitors applications and network flows used during the business transaction to determine distributed business transaction anomalies caused at least in part by network performance issues. A network flow associated with a business transaction is monitored by a network agent. The network agent may capture packets, analyze the packets and other network data to determine one or more baselines, and dynamically compare subsequent network flow performance to those baselines to determine an anomaly. When an anomaly in a network flow is detected, this information may be provided to a user along with other data regarding a business transaction that is utilizing the network flow. Concurrently with the network agent monitoring, application agents may monitor one or more applications performing the business transaction. The present system reports performance data for a business transaction in terms of application performance and network performance, all in the context of a distributed business transaction.Type: ApplicationFiled: December 23, 2016Publication date: May 4, 2017Applicant: AppDynamics, Inc.Inventors: Harish Nataraj, Ajay Chandel, Prakash Kaligotla, Naveen Kondapalli
-
Publication number: 20170109252Abstract: A dynamic monitoring process begins with configuring a start and end method to be monitored. The dynamic monitoring process may intercept both the start and end methods as and when the loader is initiated or at runtime to dynamically attach and detach the instrumentation. A loader may then be modified to call a library method upon detection of the start method. The library method may serve as a notification to the start of the method and causes a reflector to retrieve information from the incoming request. The incoming information may include data from which a business transaction name may be determined. The business transaction name is then associated with the monitoring of the particular request. When an exit call is detected, a call may be made to the library for a method which invokes a decorator. The decorator may insert business transaction name and other data into the outgoing call.Type: ApplicationFiled: December 23, 2016Publication date: April 20, 2017Applicant: AppDynamics, Inc.Inventors: Pankaj Kumar, Amod Gupta, Sanjay Nagaraj, Michael Margulis
-
Patent number: 9628544Abstract: The present technology adds code to a top level build configuration file of a configuration program that will gather metrics for each invocation of a build. These metrics are sent to a commonly accessible metric server for future analysis. The metrics are collected for a distributed engineering team over several machines. Compilation time metrics may then be collected for each compilation event and those metrics are analyzed by a common aggregator.Type: GrantFiled: October 31, 2014Date of Patent: April 18, 2017Assignee: AppDynamics, Inc.Inventor: Andrew Patrick Buteau
-
Patent number: 9621448Abstract: A transmitted transport communication protocol (TCP) packet in an established TCP connection is intercepted and resent with a modified IP layer to determine network nodes within a network path. No new connection is required, and the data may be transmitted to its intended location as part of the existing connection, bypassing firewalls and other obstacles commonly affecting ping commands. The change to the IP layer may include a modified TTL value. Address location and response time may be determined for each node in a network path.Type: GrantFiled: April 8, 2014Date of Patent: April 11, 2017Assignee: AppDynamics, Inc.Inventor: Suraj Puvvada
-
Publication number: 20170078167Abstract: A system monitors a network or web application provided by one or more distributed applications and provides data for each and every method instance in an efficient low-cost manner. Agents may monitor the performance of the distributed application by the web services and report monitoring data as runtime data to the remote server, for example a controller. The controller may analyze the data to identify one or more performance issues or “hot spot” methods based on current or past performance, functionality, content, or business relevancy. Instructions and/or configuration information may be transmitted by the controller to the agents that correspond to a particular business transaction portion associated with a hot spot. The portions are then monitored to collect data associated with the hot spot and the hot spot data is reported back to the controller.Type: ApplicationFiled: November 7, 2016Publication date: March 16, 2017Applicant: AppDynamics, Inc.Inventors: Jyoti Bansal, Bhaskar Sunkara, Manoj Acharya, Vinay Srinivasaiah, Binil Thomas, Awais Ahmed
-
Patent number: 9577900Abstract: A system determines the performance of a network within the context of an application using that network. Network data is collected and correlated with an application that uses the network as well as a distributed transaction implemented by the application. The collected network data is culled, and the remaining data is rolled up into one or more metrics. The metrics, selected network data, and other data are reported in the context of the application that implements part of the distributed transaction. In this manner, specific network performance and architecture data is reported along with application context information.Type: GrantFiled: July 31, 2015Date of Patent: February 21, 2017Assignee: AppDynamics, Inc.Inventors: Harish Nataraj, Adam Leftik, Ajay Chandel, Jyoti Bansal, Bhaskar Sunkara
-
Patent number: 9563485Abstract: An application which utilizes a single thread is monitored and context for the individual requests and business transactions operating on that platform are provided. A wrapper is placed is around an object that calls a request. The wrapper renames a request object. Request objects are renamed with a unique name when they are called. When a call stack is sampled, the sampler will retrieve the unique name. Performance data associated with the unique name may be correlated to a business transaction and particular request as metrics are subsequently analyzed. For subsequent reporting, such as call graph reporting, the report or call graph will have requests in the context of a particular business transaction and a particular request instance. This provides more context in reporting of an business application request for frameworks that utilize as single request for multiple threads.Type: GrantFiled: October 31, 2014Date of Patent: February 7, 2017Assignee: AppDynamics, Inc.Inventor: Christopher Brichford