IP Library Granted Patent US 9,369,356
Granted Patent B2
US 9,369,356 · App. 14/690,254 · Granted Jun 14, 2016

Conducting a diagnostic session for monitored business transactions

Inventors: Jyoti Bansal (San Francisco, CA); Bhaskar Sunkara (San Francisco, CA)
Assignee: AppDynamics, Inc.
H04L43/04H04L43/022H04L43/045H04L43/10H04L67/02H04L67/22
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,369,356
App. No.
14/690,254
Granted
Jun 14, 2016
Kind
B2
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.

Claims (22)

1. A method for performing a diagnostic session for a request, comprising:

initiating collection of diagnostic data associated with a request, the request part of a distributed business transaction performed by a plurality of computing machines, the request received by a first machine of the plurality of computing machines, the request identified based on prior performance of at least a portion of the distributed business transaction;

sampling an application thread by an agent located on each of two or more servers, the application threads associated with the same distributed business transaction occurring over the plurality of computing machines;

associating the sampled thread data with a distributed transaction identifier; and

storing the diagnostic data with the distributed transaction identifier by the agents.

2. The method of claim 1 , wherein the collection of diagnostic data is initiated by detection of an anomaly by a controller which receives runtime data from remote agents, the remote agents including the agents located on each of two or more servers.

3. The method of claim 1 , wherein the collection of diagnostic data is initiated by detection of an anomaly by an agent monitoring a server which processes the request.

4. The method of claim 1 , wherein sampling an application thread includes sampling a thread call stack handling a request at a server.

5. The method of claim 1 , wherein the diagnostic data including the performance of one or more outgoing calls performed as part of the request, at least one outgoing call associated with an application thread at a second server of the two or more servers.

6. The method of claim 1 , further comprising:

detecting an outgoing call to a second server of the two or more servers; and

modifying the call to the second server with a diagnostic identifier,

wherein a thread call stack handling the call at the second server is sampled in response to detecting the diagnostic identifier at the second server.

7. The method of claim 1 , wherein the business transaction is associated with a diagnostic identifier.

8. A non-transitory computer readable storage medium having embodied thereon a program, the program being executable by a processor to perform a method for performing a diagnostic session for a request, the method comprising:

initiating collection of diagnostic data associated with a request, the request part of a distributed business transaction performed by a plurality of computing machines, the request received by a first machine of the plurality of computing machines, the request identified based on prior performance of at least a portion of the distributed business transaction;

sampling an application thread by an agent located on each of two or more servers, the application threads associated with the same distributed business transaction occurring over the plurality of computing machines; and

associating the sampled thread data with a distributed transaction identifier; and

storing the diagnostic data with the distributed transaction identifier by the agents.

9. A system for performing a diagnostic session for a request, comprising:

a first application server having memory; and

one or more modules stored in memory of the first application server and executable by a processor to initiate collection of diagnostic data associated with a request, the request part of a distributed business transaction performed by a plurality of computing machines, the request received by a first machine of the plurality of computing machines, the request identified based on prior performance of at least a portion of the distributed business transaction, sample an application thread by an agent located on each of two or more servers, the application threads associated with the same distributed business transaction occurring over the plurality of computing machines, associate the sampled thread data with a distributed transaction identifier, and store the diagnostic data with the distributed transaction identifier by the agents.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2017
From: APPDYNAMICS LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 044173/0050 →
CHANGE OF NAME Recorded Jun 23, 2017
From: APPDYNAMICS, INC.
To: APPDYNAMICS LLC
Reel/Frame 042964/0229 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2015
From: BANSAL, JYOTI; SUNKARA, BHASKAR
To: APPDYNAMICS, INC.
Reel/Frame 035439/0726 →
Continuity (5)
Continuation 14071525 · Nov 4, 2013
Continuation 13189360 · Jul 22, 2011
Continuation In Part 12878919 · Sep 9, 2010
Provisional Application 61241256 · Sep 10, 2009
Related Publication 20150222503A1 · Aug 6, 2015