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

Changing the instrumentation level for Request Metric data collection

The Java EE agent uses instrumentation for request monitoring and to collect single traces. This instrumentation does add some overhead to your monitored servers and the information collected indirectly applies load to the Foglight Management Server. However, if you only require single traces collected at component level, or you do not require request monitoring at all, you can reduce or turn off instrumentation using the Instrumentation Level setting. This reduces the overhead on your monitored servers and the load on the Foglight Management Server.

The default instrumentation level is FullDetail. At full detail level, request monitoring can be enabled and, when single traces are collected, all nodes in the call tree are included. This level provides the most flexibility in terms of request monitoring and single trace collection and should be acceptable for most customers.

If you require request monitoring, but do not require full detail single traces, instrumentation can be set to Component Detail. At component detail level, you can enable request monitoring, but when single traces are collected, they are collected at only the component technology detail level, reducing the complexity of the call tree. This level is more restrictive in what information can be collected for single traces, but reduces both the agent overhead on the monitored server and the load on the Management Server.

If you require request monitoring but only require request metrics for HTTP, JMS, and RMI requests, instrumentation can be set to Basic Detail. At this level, no breakdowns are collected and, if single traces are collected, only HTTP, JMS, and RMI nodes are included in the Request Trace call tree. No other component or full detail methods are collected, therefore reducing both the agent overhead on the monitored server and the load on the Management Server, compared to the Component Detail instrumentation level.

If you do not require request monitoring or the ability to capture single traces, instrumentation for this purpose can be disabled by setting the instrumentation level to No Detail. At this setting, request monitoring cannot be enabled and you are unable to capture single traces at any detail level. This removes instrumentation overhead on the monitored server and greatly reduces load on the Management Server.

Full Detail — Instruments at full detail level. All methods in the call tree are captured.
Component Detail — Instruments at the component level only. Methods from defined component technology, including custom components, are captured.
Basic Detail — Instruments at a basic level. Only request metrics for HTTP, JMS, and RMI request are collected. No other component or full detail methods are captured.
No Detail — Turns off instrumentation that is not essential for running an agent. As a result, no request metrics are collected, and single traces call trees cannot be captured.
2
Click Save.

If you manually edit the instrumentation.config file, use the following syntax to set the instrumentation level:

FullDetail

InstrumentationLevel = "FullDetail";

ComponentDetail

InstrumentationLevel = "ComponentDetail";

BasicDetail

InstrumentationLevel = "BasicDetail";

NoDetail

InstrumentationLevel = "NoDetail";

Configuring instrumented simple method settings

Simple methods are methods for which instrumentation would add more byte-code and overhead to the original method.

By default, simple methods are not instrumented to reduce overhead of a sampled request and the complexity of single traces. When simple methods are not instrumented, any time spent in those methods is attributed to the caller.

1
On the General tab of the Edit dialog box, click Edit beside InstrumentedSimpleMethods.
4
Click in the Method Name box and type the name of the method you want to instrument. For example, in the following image, the getSugar() method is instrumented even if it is detected as a simple method.
5
6
Click Save.

If you manually edit the instrumentation.config file, use the following syntax to enable simple method instrumentation:

To explicitly name methods to be instrumented, even if they are detected as simple methods:

For example, to instrument the getSugar() method even if it is detected as a simple method:

Changing user classes settings

Use the User Classes setting to customize the classes that are treated as user or application code.

Excluding a class prevents the class from being instrumented as user code. It may still be partially instrumented if it implements important application server functionality (such as RMI communications).

Including a class ensures that the class is specified and instrumented as user code.

For more information about instrumented class and custom components, see: Customizing instrumented classes , and Changing custom component settings .

3
Click include. The setting switches to exclude.
5
Click the Class Name box and type the name of the class you want to exclude.
For example, suppose that you have an instrumented user class named com.globex.plan.DominateWorld, but the instrumentation is causing excessive load on the agent or Nexus. You can exclude this class.
The class com.globex.plan.DominateWorld is excluded, as well as all classes in the package "com.globex.scheme".
In this case, the class com.globex.plan.DominateWorld is included, but the class com.globex.pocket.Sugar is excluded because it matches the exclude pattern on the second line. Also, any classes in net.globex. package or the root globex. package are excluded since they match the exclude regular expression.
TIP: For more information about regular expressions, see the Appendix: Regular Expressions in the Foglight for Application Servers User Guide.
6
In the Settings Editor dialog box, click OK to save your changes to the user class instrumentation.

If you manually edit the instrumentation.config file, use the following syntax to enable user class or package instrumentation:

One use for configuring user classes is to exclude a class because instrumenting it is causing excessive load on the agent or Nexus. You can also include or exclude entire packages:

UserClasses = ClassList(
exclude "com.globex.plan.DominateWorld",
exclude "com.globex.scheme."
);

The class com.globex.plan.DominateWorld is excluded, as well as all classes in the package "com.globex.scheme".

Regular expressions can also be used to include or exclude classes. Also, multiple include and exclude elements can appear in the block, but it is the first element that matches that controls the outcome.

UserClasses = ClassList(
include "com.globex.plan.DominateWorld",
exclude /(\.|^)globex\./,
include "com.globex.pocket.Sugar"
);

In this case, the class com.globex.plan.DominateWorld is included, but the class com.globex.pocket.Sugar is excluded because it matches the exclude pattern on the third line. Also, any classes in net.globex. package or the root globex. package are excluded since they match the exclude regular expression.

For more information about regular expressions, see the Appendix: Regular Expressions in the Foglight for Application Servers User Guide.

Changing custom component settings

The Custom Components setting extends the default set of J2EE components to be included when recording a session at the Component Detail instrumentation level.

Sometimes, your distributed application may use third-party technologies that are not part of the default list of items included in the default instrumentation for the Java EE agent. If you want to include these in the component-only view, you can use custom component instrumentation.

The default custom component settings are shown in the following screenshot. Some customizations may be required to add additional classes if these frameworks have been extended. You can add package listings if necessary.

The method signature can be specified but it must be specified using the internal JVM format. For more information, see the Oracle Java SE Documentation: http://docs.oracle.com/javase/specs/#7035.

For example, you could add the component Globex, and then specify methods to include or exclude.
a
Click Add component.
Click Add to add a single method at a time.
Click Add multiple to open a text box where you can type several methods.

If you manually edit the instrumentation.config file, use the following syntax to specify custom component instrumentation.

1
Edit CustomComponents. Specify the name of each component in a method list, either by entering the name or by forming a regular expression that matches the name or pattern. Enter the include element before each item in the list. For example:
2
After editing the instrumentation.config settings, ensure that it is read by restarting the instrumented application servers.

The default custom component settings are shown below. Some customizations may be required to add additional classes if these frameworks have been extended. In the example below, you can uncomment and add package listings if necessary.

Related Documents

The document was helpful.

Select Rating

I easily found the information I needed.

Select Rating