sentry-top-threads
Retrieves a top CPU thread dump from a remote sentry.
Command properties
| Property | Description |
|---|---|
| Command type | Transforming |
| Required permission | Administrator |
| License usage | N/A |
| Parallel execution | Supported |
| Distributed execution | Not supported |
Syntax
Options
timeout=INT- RPC timeout in seconds. Accepts a value between 1 and 600. (Default:
30)
Input fields
| Field | Type | Required | Description |
|---|---|---|---|
| guid | string | Required | Sentry unique identifier. |
Output fields
| Field | Type | Description |
|---|---|---|
| guid | string | Sentry unique identifier. |
| tid | long | Thread ID. |
| name | string | Thread name. |
| state | string | Thread state (e.g., RUNNABLE, WAITING, BLOCKED). |
| priority | integer | Thread priority. |
| usage | double | CPU usage. |
| stacktrace | string | Stack trace. |
| _error | string | Error message added to the original record if an error occurs. |
Error codes
Parsing errors
| Error code | Message | Description |
|---|---|---|
| 23100 | No permission to call sentry RPC. | A user without administrator privileges ran the command. |
| 23101 | Invalid sentry RPC timeout option value. Use a value between 1 and 600. | The timeout option value is not an integer or is outside the range 1–600. |
Runtime errors
Errors are returned via the _error field:
| Error message | Description |
|---|---|
| guid is null | The guid field value in the input record is null. |
| guid should be string | The guid field value in the input record is not a string. |
| guid should be non empty string | The guid field value in the input record is an empty string. |
| not connected | The sentry is not connected. |
| timeout | The RPC request timed out. |
| disconnected | The connection was lost while processing the RPC request. |
Other RPC exception messages may be returned depending on the state of the system where the sentry is installed.
Description
The sentry-top-threads command reads the guid field of each input record, sends an asynchronous RPC message to the corresponding sentry, and retrieves dump information for the top CPU-consuming threads.
Results are returned in the order RPC response messages are received from sentries, so the output record order may differ from the input record order.
The maximum length of the asynchronous RPC request queue is 100 by default and can be adjusted using the logpresso.core.sentry_rpc_parallel environment variable.
To retrieve results from all Data Nodes at once in a cluster environment, use the sonar-sentry-top-threads command.
Examples
-
Retrieve top CPU threads from all sentries
sentry | fields guid | sentry-top-threadsRetrieves the top CPU-consuming thread dump from all connected sentries.
-
Sort by CPU usage descending
sentry | fields guid | sentry-top-threads | sort -usageRetrieves the top CPU threads from all sentries sorted by CPU usage in descending order.
-
Retrieve with a 120-second timeout
sentry | fields guid | sentry-top-threads timeout=120Retrieves the top CPU thread dump from sentries with the RPC timeout set to 120 seconds.