@PublicAPI(stability=PRIVATE)

Package org.opends.server.plugins.profiler

Contains the implementation of the Directory Server plugin that acts as an embedded profiler that can be used for performance analysis of the server under load.

See:
          Description

Class Summary
ProfilerPlugin This class defines a Directory Server startup plugin that will register itself as a configurable component that can allow for a simple sample-based profiling mechanism within the Directory Server.
ProfilerThread This class defines a thread that may be used to actually perform profiling in the Directory Server.
ProfileStack This class defines a data structure that may be used to hold information about a thread stack trace.
ProfileStackFrame This class defines a data structure for holding information about a stack frame captured by the Directory Server profiler.
ProfileViewer This class defines a Directory Server utility that may be used to view profile information that has been captured by the profiler plugin.
 

Package org.opends.server.plugins.profiler Description

Contains the implementation of the Directory Server plugin that acts as an embedded profiler that can be used for performance analysis of the server under load. This plugin uses repeated calls to the the Thread.getAllStackTraces() at regular intervals in order to construct a picture of the particular method calls that seem to take a significant percentage of the Directory Server processing time. This information may be used to help identify potential targets for performance improvement by highlighting which methods are most frequently called.

The profiler is implemented as a Directory Server startup plugin so that it is made available for use at any point while the server is running. However, enabling this plugin only causes it to register with the server as a configurable component that will watch for modifications to the ds-cfg-profileAction attribute. If this attribute is modified to have a value of "start", then the profiler will begin capturing stack trace information until it is modified again with a value of "stop", at which point it will stop profiling and write the captured information to a binary file on the server filesystem, or "cancel", at which point it will stop profiling and discard any information that it had collected.

This package also contains a tool that can be used to view the information in this binary stack trace capture file. The tool may operate in a simple command-line mode as well as a more flexible and potentially more useful GUI mode.