Java Agent URL Grouping Best Practices
search cancel

Java Agent URL Grouping Best Practices

book

Article ID: 95405

calendar_today

Updated On:

Products

CA Application Performance Management Agent (APM / Wily / Introscope) DX APM SaaS DX Application Performance Management

Issue/Introduction

I am trying to setup URL grouping and not seeing expected URLs as Frontends in the Investigator?

This KB covers some tips and best practices how to create and troubleshoot issues when creating URL Grouping

Environment

DX APM Agents

Resolution

1) Simplify your URL grouping  

To start, simplify your URL grouping to two groups :

Default, and a test one (Default should always be last).

If you have other groups created, comment them out by adding a "#" sign in front of the lines

For example:

introscope.agent.urlgroup.keys=test, complex, default

introscope.agent.urlgroup.group.test.pathprefix=/path/current 
introscope.agent.urlgroup.group.test.format={path_delimited:/:0:12} 

#introscope.agent.urlgroup.group.complex.pathprefix=/path/*/optional/*/test
#introscope.agent.urlgroup.group.complex.format= {path_delimited:/:14:16} instance of  {path_delimited:/:0:12}

introscope.agent.urlgroup.group.default.pathprefix=*
introscope.agent.urlgroup.group.default.format=Default


There are 3 parts to create an url group:
- the key name, which must be entered in the top urlgroup.keys entry
- the pathprefix which should be the complete path (eg - test.com/one/two/three would be /one/two/three), and
- the format - which is the name that it will appear under in the Investigator Frontends view.

IMPORTANT NOTES:
- These are hot properties
- if you make a change, it will show in the investigator within a minute without any need to restart the agent. If it does not appear, there are two main causes:
a) you are modifying the wrong agent profile
b) there is no load (activity) on the urls. The agent only discovers URLs when end users are loading them in their browsers.

 

2) Is the frontend from your test group appearing as you expected?

If so, add another,  one at a time, until you are complete.

 

3) Is the frontend appearing, but not as you expect?

The most likely reason is that the format is incorrect.

The format accepts two types of input:
- variables, enclosed in {}s, and strings (any other character not enclosed in a {}).

These can even be combined - as in the "complex" example above - which extracts two parts of the path for the display name, with some text in between.

Usually when there are problems, its because of a misunderstanding of how the variable is being used.

IMPORTANT: Review the URL and if using a path delimiter, carefully count how often it appears - frequently a character is missed while reading through a complex URL by hand.

Try experimenting with slightly different values, and see how it appears in the investigator.

For more details on variables that can be accepted - review the url grouping documentation: https://techdocs.broadcom.com/us/en/ca-enterprise-software/it-operations-management/dx-apm-agents/SaaS/java-agent/configure-java-monitoring/configure-frontend-url-groups.html 

Finally - keep in mind that anything outside of a {} will show up "as is" - including spaces. So if there is a frustrating space that you can't get rid of, keep in mind that it may be picking up a space you left in the format field to keep it readable.



4)  What if no entry appears for a frontend - or no frontends appear?

There are two reasons this could happen:

a) it could be being picked up by an earlier url group definition. An overly broad definition might be picking up more specific definitions. Always try to list the most specific definitions first in the list, then move out to broader ones, with finally default catching anything that was missed.

b) the definition (pathprefix) may be wrong. It may he helpful to setup a catch-all statement such as:
introscope.agent.urlgroup.group.default.pathprefix=*
introscope.agent.urlgroup.group.default.format={path_delimited:/:0:50} 

Which will catch and display all found paths - APM may be picking up the path differently than you expect. If it still doesn't appear, then APM may not be picking up the URL at all - make sure that is is being actively used by someone or APM may not be able to see it. If it does appear, note the path, and adjust the pathprefix accordingly.