<?xml version="1.0" encoding="UTF-8"?>
<!--
! CDDL HEADER START
!
! The contents of this file are subject to the terms of the
! Common Development and Distribution License, Version 1.0 only
! (the "License"). You may not use this file except in compliance
! with the License.
!
! You can obtain a copy of the license at legal-notices/CDDLv1_0.txt
! or http://forgerock.org/license/CDDLv1.0.html.
! See the License for the specific language governing permissions
! and limitations under the License.
!
! When distributing Covered Code, include this CDDL HEADER in each
! file and include the License file at legal-notices/CDDLv1_0.txt.
! If applicable, add the following below this CDDL HEADER, with the
! fields enclosed by brackets "[]" replaced with your own identifying
! information:
! Portions Copyright [yyyy] [name of copyright owner]
!
! CDDL HEADER END
!
!
! Copyright 2007-2008 Sun Microsystems, Inc.
! Portions Copyright 2011 ForgeRock AS
! -->
<adm:managed-object name="profiler-plugin"
plural-name="profiler-plugins" package="org.opends.server.admin.std"
extends="plugin" xmlns:adm="http://www.opends.org/admin"
xmlns:ldap="http://www.opends.org/admin-ldap">
<adm:synopsis>
The Profiler plug-in
captures profiling information about operations performed
inside the JVM while the <adm:product-name /> directory server is running.
</adm:synopsis>
<adm:profile name="ldap">
<ldap:object-class>
<ldap:name>ds-cfg-profiler-plugin</ldap:name>
<ldap:superior>ds-cfg-plugin</ldap:superior>
</ldap:object-class>
</adm:profile>
<adm:property-override name="java-class" advanced="true">
<adm:default-behavior>
<adm:defined>
<adm:value>
org.opends.server.plugins.profiler.ProfilerPlugin
</adm:value>
</adm:defined>
</adm:default-behavior>
</adm:property-override>
<adm:property-override name="plugin-type" advanced="true">
<adm:default-behavior>
<adm:defined>
<adm:value>startup</adm:value>
</adm:defined>
</adm:default-behavior>
</adm:property-override>
<adm:property-override name="invoke-for-internal-operations">
<adm:default-behavior>
<adm:defined>
<adm:value>false</adm:value>
</adm:defined>
</adm:default-behavior>
</adm:property-override>
<adm:property name="profile-sample-interval" mandatory="true">
<adm:synopsis>
Specifies the sample interval in milliseconds to be used when
capturing profiling information in the server.
</adm:synopsis>
<adm:description>
When capturing
data, the profiler thread sleeps for this length of time
between calls to obtain traces for all threads running in the
JVM.
</adm:description>
<adm:requires-admin-action>
<adm:none>
<adm:synopsis>
Changes to this configuration attribute take effect the
next time the profiler is started.
</adm:synopsis>
</adm:none>
</adm:requires-admin-action>
<adm:syntax>
<adm:duration lower-limit="1" upper-limit="2147483647" base-unit="ms" />
</adm:syntax>
<adm:profile name="ldap">
<ldap:attribute>
<ldap:name>ds-cfg-profile-sample-interval</ldap:name>
</ldap:attribute>
</adm:profile>
</adm:property>
<adm:property name="profile-directory" mandatory="true">
<adm:synopsis>
Specifies the path to the directory where profile information
is to be written. This path may be either an absolute path or a path
that is relative to the root of the <adm:product-name /> directory server
instance.
</adm:synopsis>
<adm:description>
The directory must exist and the directory server must have
permission to create new files in it.
</adm:description>
<adm:syntax>
<adm:string>
<adm:pattern>
<adm:regex>.*</adm:regex>
<adm:usage>DIR</adm:usage>
<adm:synopsis>
The path to any directory that exists on the filesystem
and that can be read and written by the server user.
</adm:synopsis>
</adm:pattern>
</adm:string>
</adm:syntax>
<adm:profile name="ldap">
<ldap:attribute>
<ldap:name>ds-cfg-profile-directory</ldap:name>
</ldap:attribute>
</adm:profile>
</adm:property>
<adm:property name="enable-profiling-on-startup" mandatory="true">
<adm:synopsis>
Indicates whether the profiler plug-in is to start collecting data
automatically when the directory server is started.
</adm:synopsis>
<adm:description>
This property is read only when the server is
started, and any changes take effect on the next restart.
This property is typically set to "false" unless startup
profiling is required, because otherwise the volume of data that
can be collected can cause the server to run out of memory if it
is not turned off in a timely manner.
</adm:description>
<adm:syntax>
<adm:boolean />
</adm:syntax>
<adm:profile name="ldap">
<ldap:attribute>
<ldap:name>ds-cfg-enable-profiling-on-startup</ldap:name>
</ldap:attribute>
</adm:profile>
</adm:property>
<adm:property name="profile-action">
<adm:synopsis>
Specifies the action that should be taken by the profiler.
</adm:synopsis>
<adm:description>
A value of "start" causes the profiler thread to start
collecting data if it is not already active. A value of "stop"
causes the profiler thread to stop collecting data and write
it to disk, and a value of "cancel" causes the profiler thread
to stop collecting data and discard anything that has been
captured. These operations occur immediately.
</adm:description>
<adm:default-behavior>
<adm:defined>
<adm:value>none</adm:value>
</adm:defined>
</adm:default-behavior>
<adm:syntax>
<adm:enumeration>
<adm:value name="none">
<adm:synopsis>Do not take any action.</adm:synopsis>
</adm:value>
<adm:value name="start">
<adm:synopsis>Start collecting profile data.</adm:synopsis>
</adm:value>
<adm:value name="stop">
<adm:synopsis>
Stop collecting profile data and write what has been
captured to a file in the profile directory.
</adm:synopsis>
</adm:value>
<adm:value name="cancel">
<adm:synopsis>
Stop collecting profile data and discard what has been
captured.
</adm:synopsis>
</adm:value>
</adm:enumeration>
</adm:syntax>
<adm:profile name="ldap">
<ldap:attribute>
<ldap:name>ds-cfg-profile-action</ldap:name>
</ldap:attribute>
</adm:profile>
</adm:property>
</adm:managed-object>