The Diagnostic Framework aids in capturing relevant and timely diagnostics for critical errors. The diagnostics can be sent to Oracle Support for further analysis. Use the Diagnostic Framework commands to generate incidents, query existing incidents and execute individual diagnostics dumps to gather specific diagnostics data. This chapter provides detailed descriptions of WLST commands for the Diagnostic Framework, including command syntax, arguments and command examples.
For additional information about using the Diagnostic Framework, see "Diagnosing Problems" in Administering Oracle Fusion Middleware.
Table 8-1 lists the different categories of Diagnostic Framework commands.
Table 8-1 Diagnostic Command Categories
Command Category | Description |
---|---|
View problems and incidents and create incidents. |
|
Display information about dumps and execute dumps. |
|
Capture samples of diagnostic dumps at specified intervals.s |
Use the commands in Table 8-2 to view problems and incidents and to create incidents.
Use this command... | To... | Use with WLST... |
---|---|---|
Create an aggregated incident, containing zip files that contain copies of incidents that match the specified criteria. |
Online |
|
Create a diagnostic incident. |
Online |
|
Retrieve the contents of the specified incident file. |
Online |
|
List the set of ADR Home paths. |
Online |
|
List a set of diagnostic incidents. |
Online |
|
List a set of diagnostic problems. |
Online |
|
List the incidents that meet the specified criteria. |
Online |
|
Reload all custom diagnostic rules or the specified rule. |
Online, Offline |
|
Show the details of a specified incident. |
Online |
Use with WLST: Online
Creates an aggregated incident, containing zip files that contain copies of incidents that match the specified criteria.
createAggregatedIncident(query [, servers])
Argument | Definition |
---|---|
query |
An expression composed of simple expressions, which can be connected by Boolean operators. An expression contains an incident attribute, an operator, and a string, in the following format:
attribute operator "string" Simple expressions can be connected by the Boolean operators AND or OR, grouped by parentheses () The following incident attributes are supported:
Custom incident attributes are also supported. For example, TRACEID, APP, URI, AND DSID are supported. The following operators are supported:
|
servers |
The name of one or more servers to query. This argument is optional. If you do not specify it, the command operates on all servers in the domain.
This option is only valid when you are connected to the Administration Server. |
The following example creates an aggregated incident for al incidents that contain the ODL_TRACE_ID of 123456 on the server wls_server1:
createAggregatedIncident(query="ORDL_TRACE_ID equals 123456", servers="wls_server1")
Incident 55 created, containing the following incidents:
Server wls_server1
Incident Id Problem Key Incident Time
15 TRACE [123456] [MANUAL] Mon Apr 15 11:22:12 EDT 2013
The following example creates an aggregated incident for al incidents that contain the ODL_TRACE_ID of 123456 on all servers in the domain:
createAggregatedIncident(query="ORDL_TRACE_ID equals 123456", servers="wls_server1")
Incident 55 created, containing the following incidents:
Server wls_server1, wls_server2
Incident Id Problem Key Incident Time
15 TRACE [123456] [MANUAL] Mon Apr 15 11:22:12 EDT 2013
Use with WLST: Online
Creates a diagnostic incident, using the specified information to determine the set of diagnostic rules and actions to execute.
createIncident([adrHome] [,incidentTime] [,messageId] [,ecid] [,appName] [,description] [,server])
Argument | Definition |
---|---|
adrHome |
The path for the ADR Home in which to create the incident. The ADR Home must exist. If this argument is not specified, the default ADR Home is used.
The default ADR Home is the following location: ADR_BASE/diag/OFM/domain_name/server_name |
incidentTime |
The timestamp at which the incident occurred. If this not specified, the current time is used. You can specify the following:
|
messageId |
The ID of the error message. For example, MDS-50400. |
ecid |
The Execution Context ID for the error message. |
appNname |
The name of the deployed application for which the diagnostics are being gathered.
For example, if you have multiple ADF applications deployed, each may register a dump called adf.dump. To execute this command for a specific application, you must specify the application name. |
description |
Descriptive text to associate with the incident. This is useful when reviewing the incident at a later time. |
server |
The name of the Managed Server from which to collect information. This argument is valid only when you are connected to the Administration Server. |
The following example creates an incident that is related to messages with the ID MDS-50400:
createIncident(messageId="MDS-50400", description="sample incident")
Incident Id: 3
Problem Id: 2
Problem Key: MDS-50400 [MANUAL]
Incident Time:Tue May 28 11:52:45 PDT 2013
Error Message Id: MDS-50400
Execution Context:null
Flood Controlled: false
Dump Files :
jvm_threads25_i3.txt
dms_metrics26_i3.txt
dfw_samplingArchive28_i3.readme.txt
odl_logs29_i3.txt
Use with WLST: Online
getIncidentFile(id, name [,outputFile] [,adrHome] [,server])
Argument | Definition |
---|---|
id |
The ID of the incident that you want to retrieve. |
name |
The name of the file to retrieve. To find the name of the file, use the showIncident command. |
outputFile |
The name of the file to which to write the output. |
adrHome |
The path for the ADR Home from which to retrieve the information. If this argument is not specified, the default ADR Home will be queried.
The default ADR Home is the following location: ADR_BASE/diag/OFM/domain_name/server_name |
server |
The name of the Managed Server from which to collect information. This argument is valid only when you are connected to the Administration Server. |
Use with WLST: Online
listADRHomes([server])
Argument | Definition |
---|---|
server |
The name of the Managed Server from which to collect information. This argument is valid only when you are connected to the Administration Server. |
Use with WLST: Online
Lists the set of diagnostic incidents for the given problem ID, if specified, or all available incidents.
listIncidents([id] [, adrHome] [,server])
Argument | Definition |
---|---|
id |
The ID of the problem for which you want to list the set of diagnostic incidents. |
adrHome |
The path for the ADR Home from which to query incidents. If this argument is not specified, the default ADR Home will be queried.
The default ADR Home is the following location: ADR_BASE/diag/OFM/domain_name/server_name |
server |
The name of the Managed Server from which to collect information. This argument is valid only when you are connected to the Administration Server. |
Use with WLST: Online
listProblems([adrHome][,server])
Argument | Definition |
---|---|
adrHome |
The path for the ADR Home from which to query problems. If this argument is not specified, the default ADR Home will be queried.
The default ADR Home is the following location: ADR_BASE/diag/OFM/domain_name/server_name |
server |
The name of the Managed Server from which to collect information. This argument is valid only when you are connected to the Administration Server. |
Use with WLST: Online
Lists the incidents that meet the specified criteria. You can query for the value of particular attributes across one or more servers, or all servers in a domain.
queryIncidents(query [,servers])
Argument | Definition |
---|---|
query |
An expression composed of simple expressions, which can be connected by Boolean operators. An expression contains an incident attribute, an operator, and a string, in the following format:
attribute operator "string" Simple expressions can be connected by the Boolean operators AND or OR, grouped by parentheses () The following incident attributes are supported:
Custom incident attributes are also supported. For example, TRACEID, APP, URI, AND DSID are supported. In addition, the context values, as shown in the incident readme.txt file, are supported. For example, DFW_APP_NAME and DFW_USER_NAME are supported. The following operators are supported:
|
servers |
The name of one or more servers to query. This argument is optional. If you do not specify it, the command operates on all servers in the domain.
This option is only valid when you are connected to the Administration Server. |
The following example queries all incidents in the domain for the ECID f19wAgN000001:
queryIncidents(query="ECID equals f19wAgN000001")
The following example queries all incidents that occurred between April 1, 2013 and April 15, 2013, for the server wls_server1:
queryIncidents(query="TIMESTAMP from '2013-04-01 00:00'AND TIMESTAMP to '2013-04-15 00:00'", servers=["wls_server1"])
Use with WLST: Online, Offline
reloadCustomRules([name] [, server])
Argument | Definition |
---|---|
name |
The name of a custom diagnostic rule. This argument is optional. If you specify it, only the named rule is reloaded. If you do not specify this argument, all custom diagnostic rules are reloaded.
The file containing the custom diagnostic rule must be located in one of the following directories: DOMAIN_HOME/config/fmwconfig/dfw DOMAIN_HOME/config/fmwconfig/servers/server_name/dfw |
server |
The name of the server to which to reload the rules. This argument is optional. If you do not specify it, the rules are reloaded to all servers.
This option is only valid when you are connected to the Administration Server. |
Use with WLST: Online
showIncident(id, [adrHome][, server])
Argument | Definition |
---|---|
id |
The ID of the incident that you want to view. |
adrHome |
The path for the ADR Home from which to query the incident. If this argument is not specified, the default ADR Home will be queried.
The default ADR Home is the following location: ADR_BASE/diag/OFM/domain_name/server_name |
server |
The name of the Managed Server from which to collect information. This argument is valid only when you are connected to the Administration Server. |
The following example displays information about the incident with the ID 10:
showIncident(id="10")
Incident Id: 10
Problem Id: 10
Problem Key: MDS-50500 [MANUAL]
Incident Time:Tue May 28 11:02:22 PDT 2013
Error Message Id: MDS-50500
Execution Context:
Flood Controlled: false
Dump Files :
readme.txt
jvm_threads10_i1.txt
dms_metrics11_i1.txt
dfw_samplingArchive13_i1.JVMThreadDump.txt
dfw_samplingArchive13_i1.readme.txt
odl_logs14_i1.txt
dms_metrics20_i1.txt
Use the commands in Table 8-3 to display information about dumps and to execute dumps.
Table 8-3 Diagnostic Dump Commands
Use this command... | To... | Use with WLST... |
---|---|---|
Display a description of the specified diagnostic dump. |
Online |
|
Execute the specified diagnostic dump. |
Online |
|
Display the set of diagnostic dumps that can be executed. |
Online |
Use with WLST: Online
describeDump(name [,appName] [.server])
Argument | Definition |
---|---|
name |
The name of the dump for which to display information. |
appName |
The name of the deployed application for which information is gathered.
For example, if you have multiple ADF applications deployed, each may register a dump called adf.dump. To execute this command for a specific application, you must specify the application name. |
server |
The name of the Managed Server from which to collect information. This argument is valid only when you are connected to the Administration Server. |
The following example displays information about the dump with the name odl.logs. You use the listDumps command to retrieve the list of available dumps.
describeDump(name="odl.logs")
Name: odl.logs
Description: Dump contents of diagnostic logs
Run Mode: asynchronous
Mandatory Arguments:
Optional Arguments:
Name Type Description
match_all BOOLEAN Whether to match both ECID and time range or any one of them.
timestamp LONG Log message timestamp in milliseconds
ecid STRING Log message execution context ID (ecid)
exclude_access_logs BOOLEAN Excludes access logs from dump.
timerange LONG Time range in minutes
Use with WLST: Online
executeDump(name [,args] [,outputFile] [,id] [,adrHome] [,server])
Argument | Definition |
---|---|
name |
The name of the diagnostic dump to execute. |
args |
Mandatory or optional arguments to pass to the dump. |
outputFile |
The name of the file to which to write the dump. If you do not specify this argument, the output is written to the console. |
id |
The ID of the incident to which to associate the dump. By default, the specified dump will not be associated with an incident. |
adrHome |
The ADR home that contains the incident. If you do not specify this argument, the default ADR home is used.
The default ADR Home is the following location: ADR_BASE/diag/OFM/domain_name/server_name |
server |
The name of the Managed Server from which to collect information. This argument is valid only when you are connected to the Administration Server. |
Arguments that are either required or are optional can be specified using the "args" keyword. For example:
executeDump("java.sysprops",args={"prop" : "os.name"})
The following example executes the dump with the name jvm.threads and writes it to the file dumpout.txt:
executeDump(name="jvm.threads", outputFile="/tmp/dumpout.txt")
Diagnostic dump jvm.threads output written to /tmp/dumpoutput.txt
The following example executes the dump with the name jvm.threads and the Incident ID for 33 and writes it to the file dumpout.txt:
executeDump(name="jvm.threads", outputFile="/tmp/dumpout.txt", id="33")
Diagnostic dump jvm.threads output associated with incident 33 in ADR Home diag/ofm/base_domain/AdminServer
The following example executes a dump with the argument prop
set to the value os.name
:
executeDump(name="java.sysprops",args={"prop" : "os.name"})
Use with WLST: Online
listDumps([appName] [,server])
Argument | Definition |
---|---|
appName |
The name of a deployed application for which diagnostics are being gathered.
For example, if you have multiple ADF applications deployed, each may register a dump called adf.dump. To execute this command for a specific application, you must specify the application name. If you specify this argument, the command returns the dumps for the specified application. If you do not specify this argument, the command returns the system dumps. |
server |
The name of the Managed Server from which to collect information. This argument is valid only when you are connected to the Administration Server. |
The following example lists all of the available dumps.
listDumps()
adf.DiagnosticsJarsVersionDump
dfw.samplingArchive
dms.configuration
dms.ecidctx
dms.metrics
http.requests
jvm.classhistogram
jvm.threads
mds.MDSInstancesDump
odl.activeLogConfig
odl.logs
odl.quicktrace
opss.diagTest
opss.identityStoreUserRoleApiConfig
opss.securityContext
wls.image
Use the command describeDump(name=<dumpName>) for help on a specific dump.
Use the commands in Table 8-4 to capture samples of diagnostic dumps at specified intervals.
Table 8-4 Dump Sampling Commands
Use this command... | To... | Use with WLST... |
---|---|---|
Create samplings for Diagnostic Framework dumps. |
Online |
|
Enable or disables all dump samplings. |
Online |
|
Collect all dump samplings in a zip file containing the individual sampling files and a readme file. |
Online |
|
List whether dump sampling is enabled or disabled. |
Online |
|
List all dump samplings, a specified dump sampling, or all dump samplings associated with a specified server. |
Online |
|
Remove the specified dump sampling. |
Online |
|
Update the specified dump sampling, modifying the settings of the sampling. |
Online |
Use with WLST: Online
addDumpSample(sampleName, diagnosticDumpName [, appName], samplingInterval, rotationCount [, dumpedImplicitly] [, toAppend] [, args] [, server])
Argument | Definition |
---|---|
sampleName |
The name of the sampling. |
diagnosticDumpName |
The name of the diagnostic dump to be sampled. |
appName |
Optional. The name of the application associated with the specified diagnostic dump. If you do not specify appName, the diagnostic dump has a scope of system. |
samplingInterval |
The sampling interval in seconds. If you specify zero or a negative value, sampling is suspended. |
rotationCount |
The maximum number of diagnostic dump samples to be kept in a rotation list. When this limit is reached, the oldest sample is deleted. |
dumpedImplicitly |
Optional. A Boolean value that specifies whether the diagnostic dump archive will be included in the dfw.samplingArchive. Valid values are true and false . The default is true.
If the value is false, and you want to include the dump archive in the dfw.samplingArchive, you must pass the sampling name to the executeDump command using the args parameter. |
toAppend |
Optional. A Boolean value that specifies whether the diagnostic dump samples are appended to its predecessor, resulting in a single archive when you execute dfw.samplingArchive. Valid values are true and false . The default is true. If the value is true, the sample is appended to its predecessor. If the value is false, dfw.sampleArchive returns a zip file containing individual sample files. Specify false if the dump samples contain binary data. |
args |
Optional. Diagnostic dump arguments to be used by the diagnostic dump at each sampling time. The arguments are expressed as name/value pairs. |
server |
Optional. The name of the server from which to collect the information. If you do not specify this parameter, this command associates the dump sampling with the Administration Server. |
Use with WLST: Online
Enables or disables all dump samplings. This command affects all configured dump samplings.
enableDumpSampling(enable [,server])
Argument | Definition |
---|---|
enable |
A Boolean value that specifies whether to enable or disable dump samplings. Valid values are true and false . |
server |
Optional. The name of the server for which to enable or disable dump sampling. If you do not specify this parameter, this command enables or disables the dump sampling for the Administration Server. |
Use with WLST: Online
Collects all dump samplings in a zip file containing the individual sampling files and a readme file. This method is particularly useful in dealing with binary format dumps.
getSamplingArchives([sampleName,] outputFile [,server])
Argument | Definition |
---|---|
name |
Optional. The name of a particular dump sampling that you want to retrieve. If you do not specify this argument, the command returns all dump samplings. |
outputFile |
The absolute path of the file to which the dump samplings will be written. |
server |
Optional. The name of the server from which to collect the information. If you do not specify this parameter, this command collects the dump samples for the Administration Server. |
The following example retrieves the dump sampling for the dump JVMThreadDump:
getSamplingArchives(sampleName="JVMThreadDump", outputFile="/tmp/jvm_dump.zip")
wrote 63518 bytes to /tmp/jvm_dump.zip
The following shows the contents of the zip file:
unzip -l jvm_dump.zip Archive: jvm_dump.zip Length Date Time Name -------- ---- ---- ---- 508780 05-21-13 07:25 dfw_samplingArchive1065570966467923683.JVMThreadDump.dmp 840 05-21-13 07:25 dfw_samplingArchive7749640004639161119.readme.txt -------- ------- 509620 2 files
Use with WLST: Online
isDumpSamplingEnabled([server])
Argument | Definition |
---|---|
server |
Optional. The name of the server to determine if dump sampling is enabled or disabled. This argument is only valid when you are connected to the Administration Server. |
Use with WLST: Online
Lists all dump samplings, a specified dump sampling, or all dump samplings associated with a specified server.
listDumpSamples([sampleName] [, server])
Argument | Definition |
---|---|
sampleName |
Optional. The name of the sampling. |
server |
Optional. The name of the server for which to list the dump samplings. If you do not specify this parameter, this command lists the dump samplings for the Administration Server. |
The following example lists all dump samplings associated with the server wls_server_1:
listDumpSamples(server="wls_server_1")
Name : JVMThreadDump
Dump Name : jvm.threads
Application Name :
Sampling Interval : 30
Rotation Count : 20
Dump Implicitly : true
Append Samples : true
Dump Arguments : context=true, timing=true, progressive=true, depth=20, threshold=30000
Name : JavaClassHistogram
Dump Name : jvm.classhistogram
Application Name :
Sampling Interval : 1800
Rotation Count : 5
Dump Implicitly : false
Append Samples : true
Dump Arguments :
Use with WLST: Online
removeDumpSample(sampleName [,server])
Argument | Definition |
---|---|
sampleName |
The name of the sampling to be removed. |
server |
Optional. The name of the server from which to remove the sampling. If you do not specify this parameter, the dump sampling is removed from the Administration Server. |
Use with WLST: Online
Updates the specified dump sampling, modifying the settings of the sampling. You cannot change the name of the sampling. Modifications take affect at the next sampling interval.
updateDumpSample(sampleName [, appName], samplingInterval, rotationCount [,dumpedImplicitly] [, toAppend] [, arg,] [, server])
Argument | Definition |
---|---|
sampleName |
The name of the dump sampling. |
appName |
Optional. The name of the application associated with the specified diagnostic dump. If you do not specify appName, the diagnostic dump has a scope of system. |
samplingInterval |
Optional. The sampling interval in seconds. If you specify zero or a negative value, sampling is suspended. |
rotationCount |
Optional. The maximum number of diagnostic dump samplings to be kept in a rotation list. When this limit is reached, the oldest sampling is deleted |
dumpedImplicitly |
Optional. A Boolean value that specifies whether the diagnostic dump archive will be included in the dfw.samplingArchive. Valid values are true and false . The default is true.
If the value is false, and you want to include the dump archive in the dfw.samplingArchive, you must pass the sampling name to the executeDump command using the args parameter. |
toAppend |
Optional. A Boolean value that specifies whether the diagnostic dump samples are appended to its predecessor, resulting in a single archive when you execute dfw.samplingArchive. Valid values are true and false . The default is true. If the value is true, the sample is appended to its predecessor. If the value is false, dfw.sampleArchive returns a zip file containing individual sampling files. Specify false if the dump samplings contain binary data. |
args |
Optional. Diagnostic dump arguments to be used by the diagnostic dump at each sampling time. The arguments are expressed as name/value pairs. |
server |
Optional. The name of the server from which to collect the information. If you do not specify this parameter, the dump sampling is updated for the Administration Server. |