On this page:
On this page:
Notify the Agent of Events
You use the
|Notifies the agent of an event.|
Events are reported to the agent using event trackers. There are three different kinds of event trackers:
- VPageView: used to track the stages of a virtual page view
- Ajax: used to track Ajax requests
- Error: used to track errors
There are also two properties that are common to all tracker types
Gets or sets a URL
Gets or sets a URL.
Gets or sets the parent event identifier
Gets or sets the parent event identifier.
Shown below is the page view load flow. Most single page app frameworks follow a workflow similar to that of Angular. You'll use our API to set timing marks to match the below workflow as closely as possible in your single page app framework.
Based on the marks you set, AppDynamics derives the following key timing metrics. You should call marks in the order in which they occur in the flow. The following table describes which marks used to calculate each metric.
|Full Metric Name||Short Metric Name||How Calculated|
|End User Response Time|
(not used for waterfall UI)
|HTML Download Time||DDT|
|HTML Download and DOM Building Time||DRT|
|DOM Building Time||DPT|
|DOM Ready Time|
(used instead of PLT for waterfall UI)
Indicates when a virtual page starts. It automatically calls:
Indicates when a virtual page ends. It automatically calls:
Correlates the Ajax requests sent after this call with the virtual page view event. The last tracker calling this method wins.
This method is called automatically in the VPageView constructor. When a VPageView is created, the AJAX requests made after that call are automatically correlated to that VPageView. Use this separate call only when you wish to set up manual correlation.
Stops correlating Ajax requests to the virtual page view event.
Use this separate call only when you wish to set up manual correlation.
|Setters||The default value for these is the time when the API is called.|
|Sets the view change start time.|
|Sets the view change end time.|
|Sets the view DOM loaded time.|
|Sets the XHR requests completed time.|
|Sets the view resources loaded time. Resources include images, CSS files, and scripts.|
|Sets the virtual page start time.|
|Sets the virtual page end time.|
|Gets the view change start time.|
|Gets the view change end time.|
|Gets the view DOM loaded time.|
|Gets the XHR requests completed time.|
|Gets the view resources loaded time.|
|Gets the virtual page start time.|
Gets the virtual page end time.
For more details on what these metrics measure, see Browser RUM Metrics.
|Property Setters/Getters||Call this without a parameter to get the value and with a parameter to set the value.|
|Gets or sets the method ("GET" or "POST") of the Ajax.|
|Timing Setters||The default value for these is the time when the API is called.|
|Sets the time the request is sent.|
|Sets First Byte Time.|
|Sets Response Available Time.|
|Sets the time the response is completely processed.|
|Gets the time the request was sent.|
|Gets First Byte Time.|
|Gets Response Available Time|
|Gets the time the response was completely processed.|
|Property Setters/Getters||Call these without a parameter to get the value and with a parameter to set the value.|
|Gets or sets the error message.|
|Gets or sets the line number of source code where the error happened.|
|Gets or sets the stack trace when the error occurred.|
Ajax requests can be correlated to virtual page views automatically or manually. When you create a VPageView tracker,
startCorrelatingXhrs() is called automatically in the constructor, correlating any subsequent Ajax calls with that VPageView event. To set up manual correlation, call
stopCorrelatingXhrs() to stop the automatic process and then call
startCorrelatingXhrs() where you wish correlation to re-commence.
The following code samples show you how to report events manually.
You can exclude certain Ajax calls from being monitored by configuring ADRUM itself. Before you invoke the
adrum.js script at the top of your page, add lines similar to the following:
Virtual Page Events
Or you can exclude certain Ajax calls using the
vPageView.stopCorrelatingXhrs() call and then turning correlation back on with
vPageView.startCorrelatingXhrs(), as in the following: