Browser Metrics Do not Appear (Java)
search cancel

Browser Metrics Do not Appear (Java)

book

Article ID: 91852

calendar_today

Updated On:

Products

CA Application Performance Management Agent (APM / Wily / Introscope) INTROSCOPE

Issue/Introduction



Browser Metrics Do not Appear (Java) - Checklist

Environment

10.5 and higher version

Resolution

1. If you are using 10.5.0 & 10.5.1 Java Agent :

- check that browseragent.pbd has been uncommented in the <agent-home>/core/config/<appserver>-typical or full.pbd
- check that <agent>/examples/APM/BrowserAgent/ext/BrowserAgentExt.jar has been copied to <agent>/core/ext

2.- Open the IntroscopeAgent profile, check that main properties have been configured correctly:
 
If you are using Agent No Installer:
Open wily\core\config\IntroscopeAgent.profile make sure
introscope.agent.browseragent.autoInjectionEnabled=true
introscope.agent.browseragent.autoInjection.<key>.includeURLsRegex=.*
Important: Verify that the pages you need to monitor are not being excluded by includeURLsRegex
 
introscope.agent.browseragent.ssl.enable=<false/true>
introscope.agent.browseragent.dxchost=<DxC host name>
introscope.agent.browseragent.dxcport=<DxC port>
 
if you are using BrowserAgent ACC extension bundle”
Open "wily\extensions\browser-agent-ext-<version>\bundle.properties" , make sure
introscope.agent.browseragent.autoInjectionEnabled=true
introscope.agent.browseragent.autoInjection.<key>.includeURLsRegex=.*
Important: Verify that the pages you need to monitor are not being excluded by includeURLsRegex
 
introscope.agent.browseragent.ssl.enable=<false/true>
introscope.agent.browseragent.dxchost=<DxC host name>
introscope.agent.browseragent.dxcport=<DxC port>
 
3.- Review the Introscope agent logs to verify the snippet file location is correct and valid.

The Snippet file instruct the Browser Agent where to download the BA.js profile and the BAExt.js file
By default introscope.agent.browseragent.autoInjection.default.snippetLocation=../config/default.basnippet
If there is a problem a message will be reported in the agent log, for example:
[ERROR] [IntroscopeAgent.BrowserAgent] C:\CA\apm\wily\core\config\test.basnippet, this file is empty or not readable.
 
4.- Verify that unsupported browser traffic has occurred
 
Check sustainability metric: Agent Stats | Sustainability | Browser Agent Business Transaction : introscope.agent.browseragent.unsupportedBrowsers.count
Check the Product Compatibility Matrix for supported browsers.
 
5.- Check if the snippet is inserted in the correct place.
 
The snippet is always inserted after the <head> tag in the source page. Open the page you need to monitor, right click, select “View Source Page”, verify that the snippet  has been inserted, below example:


User-added image

Note: Java agent adds the x-apm-ba-response-b field into the <script> tag in the response content when the introscope.agent.browseragent.response.decoration.enabled property is set to true and the request URL matches the introscope.agent.browseragent.response.decoration.includeURLsRegex. This information is used for Transaction correlation

 

6.- Verify that the BA.js file is downloaded from the Digital Experience Collector as specified in the snippet.js file

 

In your browser press F12, go to the “Network” tab, open the page you would like to inspect, verify that “ba.js?agent=browser” appears in the list and the content is readable.

 
 

Here is an example of a problem, in this case DxC server was down.


 

7.-Check the browser console for any error or warn message.

 

Enable “browserLoggingEnabled” in the <DXC_HOME>/browserAgent/wa/ba/profile/default-tenant/default-app/profile.json. By default logging is disabled. 

Push the updated profile to DxC(s) by running:  :

<DXC_HOME>/bin/uploadBA.sh -baDir <DXC_HOME>/browserAgent/wa

Make sure DxC is up and running.

In your browser press F12, go to the “Console” tab, refresh the page, you should see [CA Browser Agent] entries as below, make sure no ERROR messages are reported


 

8.- Check if POST requests are blocked.

 

After executing the Browser Agent JavaScript code, POST requests including the page timing and other performance data are sent to DxC server, make sure POST requests are not being blocked.

User-added image
 

9.- Check if the browser is dropping the POST request (for example, CORS is disabled), see https://www.w3.org/wiki/CORS_Enabled

 

10.- Check the appropriate metrics type are enabled (Page, JavaScript Function or AJAX).


Open the <DXC_HOME>/browserAgent/wa/ba/profile/default-tenant/default-app/profile.json

Enable the below properties accordingly to your requirements.

 

"pageLoadMetricsEnabled" : true,
"ajaxMetricsEnabled" : true,
"jsFunctionMetricsEnabled" : false,

 
Push the updated profile to DxC(s) by running:  :

<DXC_HOME>/bin/uploadBA.sh -baDir <DXC_HOME>/browserAgent/wa

 
11.- Check if defined thresholds are not met (Page, JavaScript Function or AJAX).

For example, if Soft Page navigation or “route” changes are being excluded because changes are too fast, then try reducing ajaxMetricsThreshold
Open the <DXC_HOME>/browserAgent/wa/ba/profile/default-tenant/default-app/profile.json
Adjust the value as required.

 

"pageLoadMetricsThreshold" : 100,
"ajaxMetricsThreshold" : 100,
"jsFunctionMetricsThreshold" : 100,

 
Push the updated profile to DxC(s) by running:  :

<DXC_HOME>/bin/uploadBA.sh -baDir <DXC_HOME>/browserAgent/wa

 
12.- Check if business transactions are not defined and URL metrics are turned off.  

Open the <DXC_HOME>/browserAgent/wa/ba/profile/default-tenant/default-app/profile.json
Enable below property

 

"urlMetricOff" : false,

 
Push the updated profile to DxC(s) by running:  :

<DXC_HOME>/bin/uploadBA.sh -baDir <DXC_HOME>/browserAgent/wa

 
13.- Verify the below sustainability metrics:
 
a) Check if the agent has reached throttle clamp: Agent Stats | Sustainability | Browser Agent Business Transaction : introscope.agent.browseragent.autoInjection.responseCount 
If the value is greater than the value of introscope.agent.browseragent.autoInjection.throttleResponseLimit property, increase the introscope.agent.browseragent.autoInjection.throttleResponseLimit property value in agent profile and try to visit page again

b) Check if current request has reached snippet maximum searching length for response content :  Agent Stats | Sustainability | Browser Agent Business Transaction : introscope.agent.browseragent.autoInjection.snippet.maxSearchingReached.count 
If the value is greater than 0, increase the introscope.agent.browseragent.autoInjection.snippet.maxSearchingLength property value in agent profile and try to visit page again