Some applications have thousands of unique URLs to be monitored. Most of them have a base URI and additional paths appended to it. For example: xxxx://com.myco.server/bankapp/acct/create xxxx://com.myco.server/bankapp/acct/update xxxx//com.myco.server/bankapp/acct/delete xxxx://com.myco.server/bankapp/loan/rates xxxx://com.myco.server/bankapp/loan/apply xxxx://com.myco.server/tradeapp/invest/info xxxx://com.myco.server/tradeapp/invest/acct xxxx://com.myco.server/tradeapp/quotes and so on.
Monitoring such unique URLs has a monitoring overhead in terms of Java heap size and could lead to OutOfMemory condition in Data Collector as well as in TEMA and other components if there are thousands of such unique URLs.
To overcome this issue, ITCAM 6.1 Fixpack 5 Interim Fix 5 introduces a new URL mapping feature. By using this facility, the user can cause HTTP requests to be renamed based upon an
initial portion of the request URI, so that individual URIs that begin with a common prefix will be lumped together and given the same request name, and essentially treated as two instances of the same request. The reduction in number of URLs tracked reduces the memory overhead for monitoring.
Step 1: Create a XML file
To implement this, a XML file needs to be created with the following format:
This tag defines a series of HTTP URI prefix strings that define how URIs and URLs are to be remapped. The consists of a series of tags, each of which identifies a URI initial
substring. When the Data Collector detects the start of an HTTP request, it locates the most
specific URI initial sub-string within the set of tags, and remaps the original URI to the tag value.
This allows a group of URIs that have a common prefix to be remapped to the prefix, allowing them to be grouped together, and resulting in a smaller set of unique URIs. The URL is similarly remapped, by taking the resulting URI prefix string, and adding it to the end of the network location portion of the original URL.
Currently, this is the only requestMapperDefinition. The type="servlet" applies to URIs that access both servlets and JSPs.
This tag defines an initial URI substring within the tag. When an HTTP request starts, the request mapper finds the most specific tag that is a match for the URI passed by the caller, and remaps the URI and URL to the value of the .
For example, to remap the URIs shown above to only two types, the XML file will look like the following:
Using this, URLs like xxxx://com.myco.server/bankapp/acct/create and xxxx://com.myco.server/bankapp/acct/update. will be mapped to xxxx://com.myco.server/bankapp.
Similarly, xxxx://com.myco.server/tradeapp/invest/acct and xxxx://com.myco.server/tradeapp/quotes will be mapped to xxxx://com.myco.server/tradeapp
Step 2: DataCollector changes
Place the XML file (the file can be called anything you want, as long as it has a suffix of ".xml") in the DCHOME/runtime//custom/ directory.
Then, update the DCHOME/runtime//custom/toolkit_custom.properties file, and add the following property to the end:
am.camtoolkit.gpe.customxml.reqMap=<requestMapper xml file name>
where "" is the simple (unqualified) file name of the request mapper XML file.
Step 3: Restart Application Server