Tracking asynchronous entry points for an application

US9507655B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9507655-B2
Application numberUS-201414530443-A
CountryUS
Kind codeB2
Filing dateOct 31, 2014
Priority dateOct 31, 2014
Publication dateNov 29, 2016
Grant dateNov 29, 2016

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: sampling a first thread to identify a begin segment method executed by the first thread; extracting a context object from the begin segment; inserting the context object into a first set of call data for the first thread; sampling a second thread to identify an end method executed by the second thread, the second thread asynchronous form the first thread; extracting a second context object from the end segment method; reporting the first set of call data and a second set of call data to be merged based on the first context object and the second context object; setting a cached state and partial call graph from a previous thread on the current execution thread. 2. The method of claim 1 , further comprising determining a second thread is an end segment for the first thread. 3. The method of claim 1 , further comprising caching the context object for the first thread. 4. The method of claim 1 , further comprising caching the call stack of the first thread. 5. The method of claim 1 , wherein the element is placed in the call stack below a start thread. 6. The method of claim 1 , further comprising: determining that the first context object associated with the first thread matches the second context object associated with the second thread; monitoring the second thread; and inserting the context object into a second set of call data for the second thread. 7. A non-transitory computer readable storage medium having embodied thereon a program, the program being executable by a processor to perform a method for monitoring an application, the method comprising: sampling a first thread to identify a begin segment method executed by the first thread; extracting a context object from the begin segment; inserting the context object into a first set of call data for the first thread; sampling a second thread to identify an end segment executed by the second thread, the second thread asynchronous from the first thread; extracting a second context object from the end segment; and reporting the first set of call data and a second set of call data to be merged based on the first context object and the second context object; setting a cached state and partial call graph from a previous thread on the current execution thread. 8. The non-transitory computer readable storage medium of claim 7 , further comprising determining a second thread is an end segment for the first thread. 9. The non-transitory computer readable storage medium of claim 7 , further comprising caching the context object for the first thread. 10. The non-transitory computer readable storage medium of claim 7 , further comprising caching the call stack of the first thread. 11. The non-transitory computer readable storage medium of claim 7 , wherein the element is placed in the call stack below a start thread. 12. The non-transitory computer readable storage medium of claim 7 , further comprising: determining that the first context object associated with the first thread matches the second context object associated with the second thread; monitoring the second thread; and inserting the context object into a second set of call data for the second thread. 13. A system for monitoring an application, comprising: a processor; a memory; and one or more modules stored in memory and executable by a processor to sample a first thread to identify a begin segment method executed by the first thread extract a context object from the begin segment, insert the context object element into a first set of call data for the first thread, sample a second thread to identify an end executed by the second thread, the second thread asynchronous from the first thread, extract a second context object from the end segment; and report the first set of call data and a second set of call data to be merged based on the first context object and the second context object; setting a cached state and partial call graph from a previous thread on the current execution thread. 14. The system of claim 13 , the one or more modules further executable to determine a second thread is an end segment for the first thread. 15. The system of claim 13 , the one or more modules further executable to cache the context object for the first thread. 16. The system of claim 13 , the one or more modules further executable to cache the call stack of the first thread. 17. The system of claim 13 , wherein the element is placed in the call stack below a start thread. 18. The system of claim 13 , the one or more modules further executable to determine that the first context object associated with the first thread matches the second context object associated with the second thread, monitor the second thread, and insert the context object into a second set of call data for the second thread.

Assignees

Inventors

Classifications

  • G06F9/547Primary

    Remote procedure calls [RPC]; Web services · CPC title

  • Interprogram communication · CPC title

  • Transaction processing · CPC title

  • Workload generation, e.g. scripts, playback · 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

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 US9507655B2 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 Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/547. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 29 2016 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).