Abstract:
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.
Abstract:
The system identifies objects that cause thrashing behavior in garbage collection. A garbage collection process may be monitored for a period of time. Over that period of time, a number of objects may be observed to be collected by the garbage collection process. Data may be collected for those objects and a subset of those objects may be determined to be suspicious based on data collected for each object. The suspicious objects may then be reported as causing garbage collection thrashing.
Abstract:
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.
Abstract:
A system allows a provider to better monitor the health of customer accounts. The present system monitors customer utilization and adoption of their product using machine data along with human evaluation data. The customer may be monitored in several areas of usage with a product. The monitoring results include machine data (usage data) which is combined with human input to generate a health score for a customer. Once the health score is determined, action items may be assigned, a renewal possibility may be considered for future business, and expansion possibilities may be determined.
Abstract:
Asynchronous operations associated with a request such as 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 pending or 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. Tracking these operations allows the present technology to aggregate and report useful performance data about these requests.
Abstract:
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.
Abstract:
The present technology allows for a mobile device operating system to be modified in order to better monitor the performance of the mobile device applications. A mobile device file, such as a dex file for android operating system, may be extracted from an APK file for an application. The mobile device file may be analyzed, and a new mobile device file may be generated in addition to the analyzed mobile device file. The modifications may include identifying methods that should be monitored during execution of the corresponding application on a mobile device. The mobile device file, may be modified at a remote server, provided back to the mobile device, and then loaded by the mobile device at a later time.
Abstract:
The present technology may determine an anomaly in a portion of a distributed business application. Data can automatically be captured and analyzed for the portion of the application associated with the anomaly. By automatically capturing data for just the portion associated with the anomaly, the present technology reduces the resource and time requirements associated with other code-based solutions for monitoring transactions. A method for performing a diagnostic session for a request may begin with initiating collection of diagnostic data associated with a request. An application thread on each of two or more servers may be sampled. The application threads may be associated with the same business transaction and the business transaction may be associated with the request. The diagnostic data may be stored.
Abstract:
A distributed transaction is traced to determine how it is handled by applications which process the distributed transaction at least in part without threads. To trace the transaction, the business transaction may be named based on the application framework that handles the transaction. The tracing occurs in application frameworks which do not include multiple threads for handling transactions, such as for example a PHP application framework. The present technology may detect the framework and framework calls, and then generate a name for a business transaction based on the detected information. The business transaction may then be named based on the loaded application framework.
Abstract:
A system for naming a process being monitored that handles a requesting a framework such as a .NET framework. The process may be implemented by a .NET application framework within an IIS web server. The naming system allows for user readable names which are more than just numbers or indexes. The naming system is configured from a single location rather than from multiple locations, making it much easier to configure, change and update.