Skip to content

Snapshot Method Calls Report

Daniel Odievich edited this page May 7, 2020 · 21 revisions

Overview

Snapshot Method Calls report provides information about Call Graph data for all Snapshots in APM Applications.

You can also watch this training video:

AppDynamics DEXTER - Snapshot Method Calls

Snapshot Method Calls report is produced when:

Report File Locations

Snapshot Method Calls report has the following file name:

Report\CallGraphs.<Job File Name>.<Start Date and Time in yyyyMMddHHmm>.<Number Of Hours Spanned By Report>.xlsx

For example:

CallGraphs.demo1demo2.2017123001-2017123003.xlsx

Data File Locations

The data for the report is in the following files:

  • Report\SNAP\snapshots.methodcalllines.csv

Data Schema

Full Size

Report Contents

Data Pivot
1.Parameters
2.Contents
3.Controllers
4.Appplications
11.Method Calls 11.Calls.Type, 11.Calls.Location, 11.Calls.Timeline
12.Call Occurrences 12.Call Occurrences.Type

1.Parameters

This sheet describes the parameters of the extraction and reporting job that produced this report.

Column Data Type Purpose
Controller URL Controller that was queried
UserName String User that was used to retrieve data from the Controller
Application String Name of Application that was queried
ApplicationID Integer ID of Application in Controller
ApplicationType String Type of the Application

2.Contents

This sheet provides quick access to the contents of this report and provides at-a-glance number of rows in each of the sheet's tables.

Column Data Type Purpose
Sheet Name String Name of the sheet in the report
Num Entities Integer Number of Entities in that sheet
Link Hyperlink Link to the sheet in the report

3.Controllers

This sheet provides information about Controllers covered by this report.

Column Data Type Purpose
Controller URL Controller that was queried
Version String Version of the Controller
VersionDetail String Full version string of the Controller
NumApps Integer Number of all APM Applications registered in the Controller
NumAPMApps Integer Number of APM Applications registered in the Controller
NumWEBApps Integer Number of WEB Applications registered in the Controller
NumMOBILEApps Integer Number of MOBILE Applications registered in the Controller
NumIOTApps Integer Number of IoT Applications registered in the Controller
NumSIMApps Integer Number of SIM Applications registered in the Controller
NumBIQApps Integer Number of BIQ Applications registered in the Controller
NumDBApps Integer Number of DB Applications registered in the Controller
ControllerLink URL Link to Controller

4.Applications

This sheet provides Snapshot summary information about all Applications in all Controllers covered by this report.

Column Data Type Purpose
Controller URL Controller that was queried
ApplicationName String Name of Application
NumSnapshots Integer Total number of Snapshots
NumSnapshotsNormal Integer Total number of Snapshots with Normal user experience
NumSnapshotsSlow Integer Total number of Snapshots with Slow user experience
NumSnapshotsVerySlow Integer Total number of Snapshots with Very Slow user experience
NumSnapshotsStall Integer Total number of Snapshots with Stall user experience
NumSnapshotsError Integer Total number of Snapshots with Error user experience
HasActivity Boolean Whether this Entity had any activity
From DateTime Beginning of time range queried, local time
To DateTime End of time range queried, local time
FromUtc DateTime Beginning of time range queried, UTC time
ToUtc DateTime End of time range queried, UTC time
Duration Integer Duration of time range queried, in minutes
ApplicationID Integer ID of Application in Controller
DetailLink Hyperlink Link to the Entity Details report
ControllerLink URL Link to Controller for this time range
ApplicationLink URL Link to Application in Controller for this time range

11.Method Calls

This sheet provides information about every method in all Segments in all Snapshots that occurred in the specified time range in all Applications in all Controllers covered by this report. It is equivalent to the Call Graph view of the Snapshot/Segment in AppDynamics UI.

Column Data Type Purpose
Controller URL Controller that was queried
ApplicationName String Name of Application
TierName String Name of Tier where this Business Transaction started
TierType String Type of Tier where this Business Transaction started
NodeName String Name of Node where this Business Transaction started
AgentType String Type of Agent reporting to this Tier
BTName String Name of Business Transaction
BTType String Type of Business Transaction
SegmentUserExperience String User Experience (NORMAL, SLOW, VERY_SLOW, STALL, ERROR) of Segment
SnapshotUserExperience String User Experience (NORMAL, SLOW, VERY_SLOW, STALL, ERROR) of Snapshot
RequestID GUID Unique ID of this Snapshot
SegmentID Integer Unique ID of this Segment in this Snapshot
Occurred DateTime When Method Call was made, local time
OccurredUtc DateTime When Method Call was made, UTC time
Type String Type of the method as determined by AppDynamics APM agent (POJO, POCO, SERVLET, SPRING_BEAN, JS, etc)
Framework String Type of framework as determined by indexing process using mapping from MethodNamespaceTypeMapping.csv
FullNameIndent String Full name of each call method, indented with same number of spaces as it is deep in the specific Segment’s call graph
Exec Integer Execution time of this method only
ExecTotal Integer Execution time of this method and its children
ExecToHere Integer Execution time elapsed up to this method
Wait Integer Wait time of this method only
WaitTotal Integer Wait time of this method and its children
Block Integer Block time of this method only
BlockTotal Integer Block time of this method and its children
CPU Integer CPU time of this method only
CPUTotal Integer CPU time of this method and its children
ExecRange String String representing bucket into which Exec fits
ExitCalls String List of Exit Calls made by this method
NumExits Integer Number of Exit Calls made by this method
HasErrors Boolean Whether any Exit Calls made by this method resulted in error
SEPs String List of Service Endpoints that were applied to this method
NumSEPs Integer Number of Service Endpoints that were applied to this method
MIDCs String List of Business Data captured via MIDCs. Only available if Input\Configuration=true, and if MIDCs are configured
NumMIDCs Integer Number of MIDCs configured on this method
NumChildren Integer Number of child method calls for this method
ElementType String Type of the call graph element, one of the following:
Root – beginning of call graph
Stem – middle of call graph, only 1 child
Branch – middle of the call graph, more than 1 child
Leaf – end of the call graph. Likely an exit, but may be non-trivial burn of time doing something
SequenceNumber Integer Line number in this Segment’s call graph
Depth Integer Depth of this method from the root element of Call Graph
PrettyName String More user-friendly name of the class/method combo that sometimes is displayed in the call graph, for things like Servlets and JMS
FullName String Combination of Class, Method and LineNumber
Class String Class of the Class/Method combo
Method String Method of the Class/Method combo
LineNumber Integer Line number of the Class/Method combo, if it was available and captured
ApplicationID Integer ID of Application in Controller
TierID Integer ID of Tier in Application
NodeID Integer ID of Node in Application
BTID Integer ID of Business Transaction in Application

11.Calls.Type

This sheet uses data in 11.Method Calls sheet as source for pivot table to enable summary reporting and ad-hoc drill-down.

Default configuration provides breakdown of Method Call Lines by Type, groups them by their Business Transaction and summarizes them by Type of call and Framework of call by Average Execution Duration.

Columns Rows Values Filters
Type
Framework
Controller
ApplicationName
AgentType
TierName
BTName
Exec (Average)
ElementType
NumChildren
NumExits
Depth
ExecRange

Here is an example showing all the method calls that have no exits, and fall into range of 2000-5000ms:

Full Size

Expanding that report shows all the calls to java.lang.Thread:Sleep:

Full Size

Here is another example of all method calls with 2 exits that fall into 10000 to 15000 ms range:

Full Size

11.Calls.Location

This sheet uses data in 11.Method Calls sheet as source for pivot table to enable summary reporting and ad-hoc drill-down.

Default configuration provides breakdown of Method Calls by Type and Framework (determined using lookup of Class name via MethodNamespaceTypeMapping.csv), groups them by their Business Transaction and summarizes Average Execution Time by the Execution Range.

Columns Rows Values Filters
ExecRange
Type
Framework
FullName
Controller
ApplicationName
AgentType
TierName
BTName
Exec (Count)
ElementType
NumChildren
NumExits
Depth

Here is an example showing breakdown of all the calls in Execution Duration buckets grouped by Type and Framework across 2 Applications across 2 Controllers:

Full Size

Drilling down to specific Framework, we can have breakdown of the types of the code that may be slow:

Full Size

The detail can be filtered further, here looking into bucket between 1000 and 2000 milliseconds:

Full Size

11.Calls.Timeline

This sheet uses data in 11.Method Calls sheet as source for pivot table to enable summary reporting and ad-hoc drill-down.

Default configuration provides per-minute summary of Average Durations of specific method calls, by Type and Framework.

Columns Rows Values Filters
Type
Framework
Occurred
Exec (Average)
ElementType
NumChildren
NumExits
Depth
Class
Method
FullName
BTName
ExecRange

Here is an example showing all types of method calls across 3 hours. JS is clearly the slowest: Full Size

Filtering down to Type=JS, we can see that the slowest calls happened during the 7PM hour:

Full Size

Filtering on Type=POJO and Framework=AppDynamics, we can see how the distribution of method calls to this type of calls looks like across 3 hours:

Full Size

Filtering on Method Call elements with 1 child, but no exits, falling in the range between 2000 and 5000 milliseconds, we can see them occurring early in 7 and 8 am:

Full Size

Clone this wiki locally