Chat now with support
Chat with Support

Foglight for Java EE Technologies 5.9.13 - Installation Guide

Installing and Configuring Foglight for Java EE Technologies Integrating with JBoss Integrating with Apache Tomcat Integrating with WebLogic Domain Startup Scripts Integrating with WebSphere Integrating with WebSphere Liberty Integrating with Oracle AS Integrating with Spring Boot for Embedded Tomcat Creating a Generic Installation for Manual Java EE Agent Integration Managing Java EE Agent Installations, Integrations, and Configurations Managing Java EE Agent Configurations Managing Java EE Installation Java EE Integration Configuration FAQ and Troubleshooting Manually Integrating Application Server Appendix A: Java EE Application Methods AppendixB: Managing Permissions for the Java EE Integration Agent

Allowing non-component root nodes

By default, the Java EE agent collects requests that start at a defined component technology (such as HTTP, JMS, RMI, EJB, or Servlet) or a custom component. Enable the AllowNonComponentRootNodes setting to allow the Java EE agent to collect information on requests that start at any method. This may be useful when using the X-Agent or the StopCurrentRequestInMethods configuration setting. For more information, see Separating requests by parent method.

By default, this setting is disabled.

1
Click the Requests tab of the Edit dialog box.
2
Select the check box for AllowNonComponentRootNodes.
3
Click Save.

If you manually edit the instrumentation.config file, use the following syntax to enable non-component root nodes.

AllowNonComponentRootNodes = true;

Separating requests by parent method

Use the StopCurrentRequestInMethods parameter as a separate parameter when you want to stop the request in the configured method. Once stopped, the next method entered starts a new request. The data collected for the original request is not lost but has stopped collecting. The benefit of using the StopCurrentRequestInMethods parameter is to organize and specify the time range during which the Java EE agent collects requests.

The StopCurrentRequestInMethods setting splits one request type into two or more request types where the original request ends on the specified method and new requests are started on children of the specified method.

For example, suppose that you have the following request:

GET /foo/bar -> service() -> doGet() -> doSomeStuff() -> doMoreStuff()

and you want to configure it to split on the doGet() method. The result is two requests:

GET /foo/bar -> service() -> doGet()

doSomeStuff() -> doMoreStuff()

The configured method becomes a leaf in the original request and methods called within the defined method become the root node in new request types. The configured method becomes a method node even if it was previously part of a component.

AllowNonComponentRootNodes must be set to enabled (true).
For more information, see Allowing non-component root nodes , and the Managing Nexus Recording Settings topic in the Managing Application Servers Administration and Configuration Guide.
1
Click the Requests tab of the Edit dialog box.
2
To add method that the agent should stop on, click Edit beside StopCurrentRequestInMethods.
3
Click Add to add a stop method.
a
Leave the Include or Exclude option set to include (the default setting).
c
Click in the Method Name box and type the name of the method that you want the agent to stop on. In this example, that is:
com.foo.bar.SomeServletName.doGet()
5

The result is two requests:

GET /foo/bar -> service() -> doGet()

and

doSomeStuff() -> doMoreStuff()

If you manually edit the instrumentation.config file, use the following syntax to specify the stop methods.

StopCurrentRequestInMethods = MethodList();

For example, if the following request

GET /foo/bar -> service() -> doGet() -> doSomeStuff() -> doMoreStuff()

is configured to split on the doGet() method as follows:

StopCurrentRequestInMethods = MethodList(
  include "com.foo.bar.SomeServletName.doGet()",
);

the result will be the following two requests:

GET /foo/bar -> service() -> doGet()

doSomeStuff() -> doMoreStuff()

Splitting requests during single tracing

By default, requests that have been split using the StopCurrentRequestInMethods setting also appear as separate requests when collecting in single-trace mode.

Disabling the SplitRequestsWhenSingleTracing setting prevents request splitting when collecting a single trace. Requests that would otherwise be separated appear as part of the same call tree. In some situations, the additional context may be helpful for more detailed analysis.

1
Click the Requests tab of the Edit dialog box.
2
Clear the check box for SplitRequestsWhenSingleTracing.
3
Click Save.

If you manually edit the instrumentation.config file, use the following syntax to specify that requests should be split while single tracing.

SplitRequestsWhenSingleTracing = true;

Customizing instrumented classes

The Advanced instrumentation settings for a Java EE agent control which classes are instrumented.The InstrumentedClasses setting customizes the classes that are instrumented. In almost all cases, tune instrumentation using the UserClasses or CustomComponents. Changing any of these settings can have performance implications. For more information, see Changing user classes settings and Changing custom component settings .

The InstrumentedClasses setting is normally used to exclude a class when instrumentation causes failures or application problems.

Excluding a class ensures that it is excluded from all instrumentation.
Including a class causes the class to be examined and, if it implements important application server functionality, it may be instrumented appropriately.
1
Click the Advanced tab of the Edit dialog box.
2
Click Edit beside InstrumentedClasses.
Related Documents

The document was helpful.

Select Rating

I easily found the information I needed.

Select Rating