Tracking asynchronous entry points for an application

US10067862B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10067862-B2
Application numberUS-201615362668-A
CountryUS
Kind codeB2
Filing dateNov 28, 2016
Priority dateOct 31, 2014
Publication dateSep 4, 2018
Grant dateSep 4, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for monitoring an application, comprising: discovering a business transaction associated with the monitored application wherein the business transaction includes two asynchronous segment methods that execute on different threads of execution, wherein the discovering includes; receiving samples from a first thread of the different threads to obtain a first set of call data; identifying a first asynchronous segment method of the two asynchronous segment methods; receiving a first context object from the first asynchronous segment method; causing the first context object to be inserted into the first set of call data for the first thread; causing a state of the first asynchronous segment method for the first thread to be cached; causing the state of the first asynchronous segment method to be cleared from the first thread; receiving samples from a second thread of the different threads to obtain a second set of call data; identifying a second asynchronous segment method of the two asynchronous segment methods; receiving a second context object from the second asynchronous segment method; causing the second context object to be inserted into the second set of call data for the second thread; merging the first set of call data from the first asynchronous segment method with the second set of call data from the second asynchronous segment method based on a match of the first context object with the second context object; and monitoring the first asynchronous segment method in the first thread and the second asynchronous segment method in the second thread as being associated with the same business transaction. 2. The method of claim 1 , including: causing a modification of the second thread with the cached state of the first thread. 3. The method of claim 2 , including: causing storage of a partial call graph from the first thread after the first thread is monitored. 4. The method of claim 1 , including determining that the first asynchronous segment method is a begin segment and the second asynchronous segment method is an end segment. 5. The method of claim 1 , wherein the causing the context object for the first thread to be inserted in the call data includes causing the context object for the first thread to be placed in a call stack. 6. The method of claim 5 , including causing the call stack of the first thread to be cached. 7. The method of claim 1 , including causing the context object for the first thread to be cached. 8. A non-transitory computer readable storage medium having embodied thereon a program, the program being executable by a processor to perform operations for monitoring an application, the operations including: discovering a business transaction associated with the monitored application wherein the business transaction includes two asynchronous segment methods that execute on different threads of execution, wherein the discovering includes; receiving samples from a first thread of the different threads to obtain a first set of call data; identifying a first asynchronous segment method of the two asynchronous segment methods; receiving a first context object from the first asynchronous segment method; causing the first context object to be inserted into the first set of call data for the first thread; causing a state of the first asynchronous segment method for the first thread to be cached; causing the state of the first asynchronous segment method to be cleared from the first thread; receiving samples from a second thread of the different threads to obtain a second set of call data; identifying a second asynchronous segment method of the two asynchronous segment methods; receiving a second context object from the second asynchronous segment method; causing the second context object to be inserted into the second set of call data for the second thread; merging the first set of call data from the first asynchronous segment method with the second set of call data from the second asynchronous segment method based on a match of the first context object with the second context object; and monitoring the first asynchronous segment method in the first thread and the second asynchronous segment method in the second thread as being associated with the same business transaction. 9. The non-transitory computer readable storage medium of claim 8 , wherein the program is executable by a processor to perform operations including determining that the first asynchronous segment method is a begin segment and the second asynchronous segment method is an end segment. 10. The non-transitory computer readable storage medium of claim 8 , wherein the program is executable by a processor to perform operations including causing a modification of the second thread with the cached state of the first thread. 11. The non-transitory computer readable storage medium of claim 9 , wherein the program is executable by a processor to perform operations including causing a partial call graph from the first thread to be stored after the first thread is monitored. 12. The non-transitory computer readable storage medium of claim 8 , wherein causing the context object for the first thread to be inserted in the call data includes causing the context object for the first thread to be placed in a call stack. 13. The non-transitory computer readable storage medium of claim 12 , wherein the program is executable by a processor to perform operations including causing the call stack of the first thread to be cached. 14. A system for monitoring an application, including: a processor; a memory; and one or more modules stored in memory and executable by a processor to discover a business transaction associated with a monitored application wherein the business transaction includes two asynchronous segment methods that execute on different threads of execution, the one or more modules are executable by a processor to perform the discover including: receive samples from a first thread of the different threads to obtain a first set of call data; identify a first asynchronous segment method of the two asynchronous segment methods; receive a first context object from the first asynchronous segment method; cause the first context object to be inserted into the first set of call data for the first thread; cause a state of the first asynchronous segment method for the first thread to be cached; cause the state of the first asynchronous segment method to be cleared from the first thread; receive samples from a second thread of the different threads to obtain a second set of call data; identify a second asynchronous segment method of the two asynchronous segment methods; receive a second context object from the second asynchronous segment method; causing the second context object to be inserted into the second set of call data for the second thread; merge the first set of call data from the first asynchronous segment method with the second set of call data from the second asynchronous segment method based on a match of the first context object with the second context object; and monitor the first asynchronous segment method in the first thread and the second asynchronous segment method in the second thread as being associated with the same business transaction. 15. The system of claim 14 , the one or more modules further executable to cause a modification of the second thread with the cached state of the first thread. 16. The system of claim 15 , the one or more modules further executable to cause a partial call graph from the first thread to be sto

Assignees

Inventors

Classifications

  • for test execution, e.g. scheduling of test suites · CPC title

  • Transaction processing · CPC title

  • Interprogram communication · CPC title

  • Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements · CPC title

  • where the computing system component is a software system · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10067862B2 cover?
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 th…
Who is the assignee on this patent?
Appdynamics Llc, Cisco Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/3688. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 04 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).