Memory dumps (REST)

The AppMon Server offers several RESTful interfaces to manage memory dumps. See Memory Diagnostics for more information.

XML data description

This section describes XML elements.

Element Values Description
state finished | running | waitingForExecutor | failed | scheduled The state of the job.
storedsessiontype memdump_simple | memdump_extended | memdump_selective The type of memory dump.

Memory dump

Create Memory Dump job

Put a job to create a memory dump. The Location header contains the reference to the created job. See Get Memory Dump Job, below.

PUT https://<server>:8021/rest/management/profiles/<profilename>/memorydumpjob consumes application/xml
POST https://<server>:8021/rest/management/profiles/<profilename>/memorydumpjob?httpMethod=PUT consumes application/xml

The memory dump job to be created must be described by an XML document. This XML document has to be sent to the REST interface within the request content. The structure of the expected XML is described by the Get Memory Dump Job interface. Also, the following optional XML elements can be added to the XMLs root element:

Get memory dump job

Get the state for a memory dump job. If job has finished, it contains a reference to the created memory dump. See Get Memory Dump below for more information.

GET https://<server>:8021/rest/management/profiles/<profilename>/memorydumpjob/<memorydumpjobid> Produces application/xml

Get memory dump

Get information about the created memory dump for the specified System Profile.

GET https://<server>:8021/rest/management/profiles/<profilename>/memorydumps/<resourceid> Produces application/xml

Get list of all memory dumps

Get a list of all memory dumps for the specified System Profile.

GET https://<server>:8021/rest/management/profiles/<profilename>/memorydumps produces application/xml

Get memory dump hotspot

Get memory dump Hotspots. The memory dump must be post-processed and of type memdump_extended to get Hotspot data. The result contains the top 10 classes.

GET https://<server>:8021/rest/management/profiles/<profilename>/memorydumps/<resourceid>/postprocession/hotspots Produces application/xml

Delete memory dump

Delete a memory dump.

DELETE https://<server>:8021/rest/management/profiles/<profilename>/memorydumps/<resourceid>
POST https://<server>:8021/rest/management/profiles/<profilename>/memorydumps/<resourceid>/httpMethod=DELETE

Post-processing

Create post-processed memory dump job

Put a job to post-process an existing memory dump. The response contains a reference to the created job in the Location header.

PUT https://<server>:8021/rest/management/profiles/<profilename>/memorydumps/<resourceid>/postprocessionjob
POST https://<server>:8021/rest/management/profiles/<profilename>/memorydumps/<resourceid>/postprocession/hotspots?httpMethod=PUT

Get post-processed memory dump job

Get a post-processing job. This returns the actual processing state, and a reference to the post-processed resource if the job is finished. See Get Memory Dump Post-Processed Result, below.

GET https://<server>:8021/rest/management/profiles/<profilename>/memorydumps/<resourceid>/postprocessionjob Produces application/xml

Get memory dump post-processed result

Get the result for post processing. The result contains a reference to the available memory dump resources.

GET https://<server>:8021/rest/management/profiles/<profilename>/memorydumps/<resourceid>/postprocession Produces application/xml

Get memory dump post-processed content

Get the processed classes for a post-processed memory dump. This includes the Garbage Collection size, the shallow class size, and the number of instances for the classes.

GET https://<server>:8021/rest/management/profiles/<profilename>/memorydumps/<resourceid>/postprocession/classes produces application/xml

Deprecated

This section contains deprecated REST interfaces to manage memory dumps. These interfaces have been replaced and should not be used.

Creating memory dumps

Note

Use Create Memory Dump Job to create a memory dump job.

POST https://<server>:8021/rest/management/profiles/<profilename>/memorydump

Memory dump status

Note

Use Get Memory Dump Job to get the status of a memory dump.

The following sample HTTP GET request queries the status of a previously triggered Memory Dump.

GET https://localhost:8021/rest/management/profiles/easyTravel/memorydumpcreated/Memory%20Dump%20%5B1250108367765%5D HTTP/1.1

The returned XML contains a result root node with a value attribute of true if the memory dump was created, or false if creation is still in progress. The success element indicates whether the memory dump was created successfully. If creation of the dump fails, message elements describe the reason. The dump status is kept for 15 minutes after the dump task was finished.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<result value="true">
  <success>true</success>
  <message language="en"><text>SUCCESS</text></message>
</result>