type=page
status=published
title=delete-profiler
next=delete-protocol.html
prev=delete-password-alias.html
~~~~~~

= delete-profiler

[[delete-profiler-1]][[GSRFM00102]][[delete-profiler]]

== delete-profiler

Removes the profiler element

[[sthref930]]

=== Synopsis

[source]
----
asadmin [asadmin-options] delete-profiler [--help]
[--target target_name]
----

[[sthref931]]

=== Description

The `delete-profiler` subcommand deletes the profiler element in the
Java configuration. Only one profiler can exist at a time. If you
attempt to create a profiler while one already exists, an error message
is displayed and the existing profiler must be deleted.

For changes to take effect, the server must restarted.

This command is supported in remote mode only.

[[sthref932]]

=== Options

asadmin-options::
  Options for the `asadmin` utility. For information about these
  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
`--help`::
`-?`::
  Displays the help text for the subcommand.
`--target`::
  This option specifies the target profiler element which you are
  deleting. Valid values are

  `server`;;
    Deletes the profiler element for the default server instance
    `server` and is the default value.
  configuration_name;;
    Deletes the profiler element for the named configuration.
  cluster_name;;
    Deletes the profiler element for every server instance in the
    cluster.
  instance_name;;
    Deletes the profiler element for a particular server instance.

[[sthref933]]

=== Examples

[[GSRFM573]][[sthref934]]

==== Example 1   Deleting a Profile

This example deletes the profiler named `sample_profiler`.

[source]
----
asadmin> delete-profiler sample_profiler
Command delete-profiler executed successfully
----

[[sthref935]]

=== Exit Status

0::
  subcommand executed successfully
1::
  error in executing the subcommand

[[sthref936]]

=== See Also

link:asadmin.html#asadmin-1m[`asadmin`(1M)]

link:create-profiler.html#create-profiler-1[`create-profiler`(1)]


