Skip to content
CA Application Performance Management - 10.0
Documentation powered by DocOps

Configure URL Groups

Last update September 30, 2016

Contents

Using URL Groups

You can use URL groups to monitor browser response time for special sets of requests. In these requests, you have defined the string that begins the path prefix. The path prefix is the portion of the URL that follows the hostname. For example, in this URL:

http://burger1.com/testWar/burgerServlet?ViewItem&category=11776&item=5550662630&rd=1

/testWar is the path prefix.

You can define a URL group for any category of requests that can be derived from a URL path prefix. For example, depending on the form of your application URLs, you could define URL groups in several ways. For example, groups for each customer your application supports, or for each major or sub application. With this flexibility, you can monitor performance in the context of committed service levels, or for critical portions of your application.

Example: How URL Group Properties Are Defined

The following example is an excerpt from a Java Agent profile, showing how URL groups are defined:

introscope.agent.urlgroup.keys=alpha,beta,gamma

introscope.agent.urlgroup.group.alpha.pathprefix=/testWar

introscope.agent.urlgroup.group.alpha.format=foo {host} bar {protocol} baz {port} quux {query_param:foo} red {path_substring:2:5} yellow {path_delimited:/:0:1} green {path_delimited:/:1:4} blue {path_substring:0:0}

introscope.agent.urlgroup.group.beta.pathprefix=/nofilterWar

introscope.agent.urlgroup.group.beta.format=nofilter foo {host} bar {protocol} baz {port} quux {query_param:foo} red {path_substring:2:5} yellow {path_delimited:/:0:1} green {path_delimited:/:1:4} blue {path_substring:0:0}

introscope.agent.urlgroup.group.gamma.pathprefix=/examplesWebApp

introscope.agent.urlgroup.group.gamma.format=Examples Web App

Defining Keys for URL Groups

The property introscope.agent.urlgroup.keys defines a list of the IDs, or keys, of all your URL groups. The key for a URL group is referenced in other property definitions that declare an attribute of the URL group. The following example defines the keys for three URL groups:

introscope.agent.urlgroup.keys=alpha,beta,gamma

You can define URL groups so some URLs fall into multiple groups. In this case, the order in which you list the keys for the URL groups in the property is important. Ensure that the URL group with the narrower membership precedes the URL group with broader membership.

Example 

The IP group with key alpha has this path prefix:
/examplesWebApp

The URL group with key delta has this path prefix:
/examplesWebApp/cleverones

In a correct key definition, delta precedes alpha in the keys parameter.

Defining Membership of Each URL Group

The property introscope.agent.urlgroup.group.groupKey.pathprefix specifies a pattern against which the path prefix of a URL is matched, defining which requests fall within the URL group.

Example Mapping a Group Key to a URL Path Prefix

This property definition assigns all requests in which the path portion of the URL starts with /testWar to the URL Group whose key is alpha:

introscope.agent.urlgroup.group.alpha.pathprefix=/testWar

Requests that match the specified pathprefix include:

http://burger1.com/testWar/burgerServlet?ViewItem&category=
11776&item=5550662630&rd=1

http://burger1.com/testWar/burgerServlet?Command=Order&item=5550662630

Example Creating URL Groups by Application Path

A company that provides call center services could monitor response time for functional areas. The APM Administrator could set up a URL group for each application function. If customers access services with this URL:

http://genesystems/us/application_function/

where application_function corresponds to applications such as OrderEntry, AcctService, and Support, the pathprefix property for each URL group specifies the appropriate application_function.

Note: You can use the asterisk symbol (*) as a wildcard in pathprefix properties.

Define the Name for a URL Group

The property introscope.agent.urlgroup.group.groupKey.format determines the names under which response time metrics for a URL group whose key is groupKey appear in the Workstation.

Typically, the introscope.agent.urlgroup.group.groupKey.format property is used to assign a text string as the name for a URL. The following example causes metrics for the URL group with key alpha to appear in the Workstation under the name Alpha Group:

introscope.agent.urlgroup.group.alpha.format=Alpha Group

(Optional) Advanced Naming Techniques for URL Groups

You can derive a URL group name from request elements. For example, the server port, the protocol, or a substring of the request URL. This derivation capability is useful if your application modules are easily differentiated by inspecting the request. This section describes advanced forms of the introscope.agent.urlgroup.group.alpha.format property.

Using Host as a URL Group Name

You can organize metrics for a URL group under names reflecting the hostname of the HTTP server associated with requests. Define the introscope.agent.urlgroup.group.alpha.format parameter as shown in this example:

introscope.agent.urlgroup.group.alpha.format={host}

When format={host}, statistics for these requests appear under the metric names us.mybank.com and uk.mybank.com respectively:

https://us.mybank.com/mifi/loanApp......

https://uk.mybank.com/mifi/loanApp.....

Using Protocol as a URL Group Name

You can organize statistics for a URL group under names that reflect the protocol that is associated with requests. Define the to introscope.agent.urlgroup.group.alpha.format parameter as shown in this example:

introscope.agent.urlgroup.group.alpha.format={protocol}

When format={protocol} statistics are grouped in the Investigator under metric names that correspond to the protocol portion of request URLs. For example, statistics for these requests appear under the metric name https:

https://us.mybank.com/cgi-bin/mifi/scripts......

https://uk.mybank.com/cgi-bin/mifi/scripts......

Using Port as a URL Group Name

You can organize statistics for a URL group under names that reflect the port that is associated with requests. Define the introscope.agent.urlgroup.group.alpha.format parameter as shown in this example:

introscope.agent.urlgroup.group.alpha.format={port}

When format={port}, statistics are grouped under names that correspond to the port portion of request URLs. For example, statistics for these requests appear under the name 9001.

https://us.mybank.com:9001/cgi-bin/mifi/scripts......

https://uk.mybank.com:9001/cgi-bin/mifi/scripts......

Using Parameter as a URL Group Name

You can organize statistics for a URL group in Investigator under metric names reflecting the parameter value associated with requests. Define the introscope.agent.urlgroup.group.alpha.format parameter as shown in this example:

introscope.agent.urlgroup.group.alpha.format={query_param:param}

When format={query_param:param} statistics are grouped in Investigator under metric names that correspond to value of the parameter specified. Requests without parameters are listed under <empty>. For example, given this parameter definition:

introscope.agent.urlgroup.group.alpha.format=
{query_param:category}

Statistics for these requests appear under the metric name 734.

http://ubuy.com/ws/shoppingServlet?ViewItem&category=734
&item=3772&tc=photo

http://ubuy.com/ws/shoppingServlet?ViewItem&category=734
&item=8574&tc=photo

Using a Substring of the Request Path as a URL Group Name

To organize statistics for a URL group under names that reflect a substring of the path portion of request URLs, define the introscope.agent.urlgroup.group.alpha.format parameter as shown in this example:

introscope.agent.urlgroup.group.alpha.format=
{path_substring:m:n}

where m is the index of the first character, and n is one greater than the index of the last character. String selection operates like the java.lang.String.substring() method. For example, given this setting:

introscope.agent.urlgroup.group.alpha.format=
{path_substring:0:3}

Statistics for the following request appear under the metric node /ht:

http://research.com/htmldocu/WebL-12.html

Using a Delimited Portion of the Request Path as a URL Group Name

You can organize statistics for a URL group under names that reflect a character-delimited portion request URL path. Define the introscope.agent.urlgroup.group.alpha.format parameter as shown in this example:

introscope.agent.urlgroup.group.alpha.format=
{path_delimited:delim_char:m:n}

where delim_char is the character that delimits the segments in the path, m is the index of the first segment to select, and n is one greater than the index of the last segment to select. A delimiter character counts as a segment. The segment count starts at 0.

For example, given this setting:

introscope.agent.urlgroup.group.alpha.format={path_delimited:/:2:4}

Statistics for the requests of this form appear under the metric name /pageid.

http://www.buyitall.com/userid,sessionid/pageid

The delimiter character in this example is the forward slash (/).

The segments as delimited by the slash character in the URL example are:

0=/, 1=userid,sessionid, 2=/, and 3=pageid

You can specify multiple delimiters as necessary. For example, given this setting:

introscope.agent.urlgroup.group.alpha.format={path_delimited:/,:3:4}

Statistics for requests of the form that is shown in the setting example appear under the metric name sessionid. The following segments are delimited by the slash and the comma in the URL example:

0=/, 1=userid, 2=„, 3=sessionid, 4=/, and 5=pageid

Using Multiple Naming Methods for URL Groups

You can combine multiple naming methods in a single introscope.agent.urlgroup.group.alpha.format string, as shown in this example:

introscope.agent.urlgroup.group.alpha.format=red {host} orange {protocol} yellow {port} green {query_param:foo} blue {path_substring:2:5} indigo {path_delimited:/:0:1} violet {path_delimited:/:1:4} ultraviolet {path_substring:0:0} friend computer

Running the URLGrouper

URLGrouper is a command-line utility that analyzes a web server log file in Common Log Format. Using URLGrouper gives you a starting point for defining your own URL groups. The URLGrouper.jar file is located in the <Agent_Home>/tools directory.

You can use URLGRouper to analyze your web server log file. URLGrouper outputs a set of property settings for potential URL groups based on the web server log file contents. You can use the asterisk symbol (*) as a wildcard when running URLGrouper.

Follow these steps:

  1. Open a command shell.
  2. Enter this command:

    java -jar urlgrouper.jar <logfile>

    Where <logfile> is the full path to your web server log file.
    URLGrouper outputs the property definitions for a set of URL groups to STDOUT.

  3. To configure the proposed URL groups, copy the property statements produced by URLGrouper into the IntroscopeAgent.profile.

Was this helpful?

Please log in to post comments.