Nodes/{name}/info/waiters: GET
Displays the GPFS daemon process (mmfsd) threads that are waiting for events at the specified node.
Availability
Available on all IBM Storage Scale editions.
Description
The GET scalemgmt/v2/nodes/{name}/info/waiters request gets a list of the daemon process (mmfsd) threads that are waiting for events at the specified node. The details that are retrieved from the response output are used for troubleshooting deadlocks and performance problems. For more information about the fields in the returned data structure, see mmdiag command.
Request URL
https://<IP address or host name of API server>:<port>/scalemgmt/v2/nodes/{name}/info/waiters
where- nodes
- Specifies the resource for the GET call. Required.
- waiters
- Specifies the information that is required from the resource.
Request headers
Accept: application/json
Parameters
The following parameters can be used in the request URL to customize the
request:
Parameter name | Description and applicable keywords | Required/optional |
---|---|---|
name | The name of the node. | Required. |
Request data
No request data.
Response data
{
"mmDiagWaitersParams": [
{
"threadId": "string",
"threadAddr": string ,
"threadName":string,
"waitStartTime": time,
"waitStartTime": time,
"waitTime": duration,
"isMonitored": yes | no ,
"mutexAddr": "string",
"mutexName": "string ",
"auxReason": "string",
"delayTime": "time ",
"delayReason": "string ",
"condVarAddr": "string",
"condVarName": "string",
"condVarReason": "string",}
],
"status": {
"code": ReturnCode,
"message": "ReturnMessage."
}
}
The details of the parameters are provided in the following list:
- mmDiagWaitersParams
- An array of all the parameters used for the waiter threads.
- 'threadId":"Thread ID"
- The ID of the thread.
- "threadAdd":"Thread address"
- The IP address of the thread.
- "threadName":"Name"
- The name of the thread.
- "waitStartTime":"Start time"
- The start time of the event.
- "waitTime":"wait time"
- The duration for which the thread is waiting in seconds.
- "isMonitored":""
- Specifies whether the thread is monitored.
- "mutexAddr":"Address details"
- The mutex address.
- "mutexName":"Name"
- The mutex name.
- "auxReason":"Aux Reason"
- Additional details on the aux reason.
- "delayTime":"Delay time"
- The delay duration of the event.
- "delayReason":"Delay reason"
- The reason for the delay.
- "condVarAddr": "Condition details"
- The details required for addressing issues.
- "condVarName": "Condition name"
- The name of the waiter problem.
- "condVarReason": "Condition reason"
- The reason for the waiter problem.
Examples
The following example lists the threads.
Request
data:
curl -k -u user:password -X GET --header 'accept:application/json' --header 'Authorization: Basic YWRtaW46YWRtaW4wMDE=' 'https://198.51.100.1:443/scalemgmt/v2/nodes/access-41/info/waiters
Response data:
Note: In the JSON data that is returned, the return code indicates whether the
command is successful. The response code 200 indicates that the command successfully retrieved the
information. Error code 400 represents an
invalid request and 500 represents internal server error.
{
{
"mmDiagWaitersParams": [{
"threadId":"",
"threadAddr":"",
"threadName":"",
"waitStartTime":"",
"waitTime":"",
"isMonitored":""
"mutexAddr":"",
"mutexName":"",
"auxReason":"",
"delayTime":"",
"delayReason":"",
"condVarAddr": "",
"condVarName": "",
"condVarReason": "",
}],
"status": {
"code": 200,
"message": "The request finished successfully."
}