Session slicing of mirrored packets
US-12184680-B2 · Dec 31, 2024 · US
US9451017B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9451017-B2 |
| Application number | US-201414338637-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 23, 2014 |
| Priority date | Jul 24, 2013 |
| Publication date | Sep 20, 2016 |
| Grant date | Sep 20, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A transaction monitoring and tracing system which combines transactional performance monitoring aspects with infrastructure performance and utilization measures, like e.g. used memory or CPU load of transaction executing computing infrastructure. The system uses two types of agents deployed to the monitored system, a transaction and process agent, which is deployed to a process executing monitored transactions, and a host agent, which is deployed to a computer system executing processes monitored by a transaction and process agent. The transaction and process agent provides transaction tracing and process infrastructure measurements, the host agent provides host or operating system infrastructure measurements. All three types of measurements are tagged by the corresponding agent in a way that allows a later correlation of corresponding tracing and measurement data by an external monitoring node. Combining transactional and infrastructure monitoring allows fast detection of non-transactional root causes of monitored transaction performance degradations.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method for monitoring performance of an application executing on a host computing device, comprising: generating, by a transaction agent instrumented in the application, a transaction event caused by execution of the application, where the transaction event includes an identifier for the host computing device, an identifier for an execution thread that caused the transaction event, and at least one transaction metric indicative of application performance; sending, by the transaction agent, the transaction event across a network to a server computer located remotely from the host computing device; generating, by a host agent executing on the host computing device, a host event, where the host event includes the identifier for the host computing device and at least one host metric indicative of utilization of a computing resource of the host computing device during execution of the application; sending, by the host agent, the host event across the network to the server computer; receiving, by a transaction correlator residing on the server computer, the transaction event; determining, by the transaction correlator, whether the transaction event corresponds to a thread execution record residing in a transaction repository, where thread execution records includes an identifier for the host computing device, an identifier for the execution thread that caused the transaction event, and at least one transaction metric; updating, by the transaction correlator, a given thread execution record residing in the transaction repository when the transaction event corresponds to the given thread execution record; creating, by the transaction correlator, a thread execution record for the transaction event when the transaction event does not correspond to a thread execution record in the transaction repository; correlating, by an analyzer residing on the server computer, the transaction event with the host event using the identifier for the host computing device and when the thread execution record overlaps temporally with the host event, wherein the thread execution record includes an execution start time and an execution end time for the execution thread; receiving, by an infrastructure processor residing on the server computer, the host event; determining, by the infrastructure processor, whether the host event corresponds to a host record in an infrastructure repository; where host records in the infrastructure repository include an identifier for the host computing device, and at least one host metric for the host computing device; creating, by the infrastructure processor, a host record for the host event when the host event does not correspond to a host record in the infrastructure repository; creating, by the infrastructure processor, a measurement entry for each host metric encapsulated in the host event, where the measurement entries are associated with a host record in the infrastructure repository corresponding to the host event; and determining a health state for a given host metric by applying a rule set to measurement entries for the given host metric and logging the health state in the infrastructure repository. 2. The method of claim 1 wherein determining a health state further comprises determining a change in the health state for the given host metric; creating a new health history entry for the given host metric in the infrastructure repository in response to the determination of a change in the health state of the given host metric, where the new health history entry indicates a health state for the given host metric and includes a start time indicating the time when the health state change occurred; and updating a previous health history entry for the given host metric with an end time for the previous health state, the updating of the previous health entry in response to the determination of a change in the health state of the given host metric. 3. The method of claim 1 further comprises generating, by a process agent executing on the host computing device, a process event, where the process agent is associated with a process that at least partially executed the application and the process event includes an identifier for the host computing device, an identifier for the process agent and at least one process metric indicative of utilization of a computing resource of the host computing device caused solely by execution of the process; sending, by the process agent, the process event across the network to the server computer. 4. The method of claim 3 further comprises correlating the transaction event with the process event when the transaction event overlaps temporally with the process event and using the identifier for the host computing device, the transaction event is associated with the process and the host identifier of the transaction vent matches the host identifier of the process event. 5. The method of claim 3 further comprises receiving, by an infrastructure processor residing on the server computer, the process event; determining, by the infrastructure processor, whether the process event corresponds to a process record in an infrastructure repository; where each process record includes an identifier for the host computing device, an identifier for the process agent and at least one process metric; creating, by the infrastructure processor, a process record for the process event when the process event does not correspond to a process record in the infrastructure repository; and creating, by the infrastructure processor, a measurement entry for each process metric encapsulated in the process event, where the measurement entries are associated with a process record in the infrastructure repository corresponding to the process event. 6. The method of claim 5 further comprises correlating, by the analyzer, host records residing in the infrastructure repository with process records residing in the infrastructure repository using a matching identifier for the host computing device and thereby determine which process is executed on which host computing device. 7. The method of claim 5 further comprises correlating, by the analyzer, thread execution records residing in the transaction repository with process records residing in the infrastructure repository using an identifier for the transaction agent that matches with an identifier for the process agent and a matching identifier for the host computing device and thereby determine which thread execution was performed in which process on which host computing device. 8. The method of claim 5 further comprises determining a health state for a given process metric by applying a rule set to measurement entries for the given process metric and logging the health state in the infrastructure repository. 9. The method of claim 8 wherein determining a health state for a given process metric further comprises determining a change in the health state for the given process metric; creating a new health history entry for the given process metric in the infrastructure repository in response to the determination of a change in the health state of the given process metric, where the new health history entry indicates a health state for the given process metric and includes a start time indicating the time when the health state change occurred; and updating a previous health history entry for the given process metric with an end time for the previous health state, the updating of the previous health entry in response to the determination of a change in the health state of the given process metric. 10. The method of claim 9 further comprises identifying interdependencies between execution performanc
Monitoring · CPC title
Processing captured monitoring data, e.g. for logfile generation · CPC title
in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title
by checking functioning · CPC title
Electricity · mapped topic
Related publications grouped by family.
Answers are generated from the same data shown on this page.