# cockroach statement-diag

The `cockroach statement-diag` command can be used to manage and download statement diagnostics bundles generated from the Admin UI or `EXPLAIN ANALYZE (DEBUG)`.

## Required privileges

Only members of the `admin` role can run `cockroach statement-diag`. By default, the `root` user belongs to the `admin` role.

## Subcommands

Subcommand | Usage
--- | ---
`list` | List available statement diagnostics bundles and outstanding activation requests.
`download` | Download a specified diagnostics bundle into a `.zip` file.
`delete` | Delete a statement diagnostics bundle(s).
`cancel` | Cancel an outstanding activation request(s).

## Synopsis

List available statement diagnostics bundles and outstanding activation requests:

    $ cockroach statement-diag list <flags>

Download a specified diagnostics bundle into a `.zip` file:

    $ cockroach statement-diag download <diagnostics ID> <bundle filename> <flags>

Delete a statement diagnostics bundle:

    $ cockroach statement-diag delete <diagnostics ID> <flags>

Delete all statement diagnostics bundles:

    $ cockroach statement-diag delete --all <flags>

Cancel an outstanding activation request:

    $ cockroach statement-diag cancel <diagnostics ID> <flags>

Cancel all outstanding activation requests:

    $ cockroach statement-diag cancel --all <flags>

## Flags

- The `delete` and `cancel` subcommands support one general-use flag.
- All `statement-diag` subcommands support several client connection and logging flags.

### General

Flag | Description
--- | ---
`--all` | Apply to all bundles or activation requests.

### Client connection

Flag | Description
--- | ---
`--host` | The server host and port number to connect to. This can be the address of any node in the cluster. Env Variable: `COCKROACH_HOST` Default: `localhost:26257`
`--port` `-p` | The server port to connect to. Note: The port number can also be specified via `--host`. Env Variable: `COCKROACH_PORT` Default: `26257`
`--user` `-u` | The SQL user that will own the client session. Env Variable: `COCKROACH_USER` Default: `root`
`--insecure` | Use an insecure connection. Env Variable: `COCKROACH_INSECURE` Default: `false`
`--certs-dir` | The path to the certificate directory containing the CA and client certificates and client key. Env Variable: `COCKROACH_CERTS_DIR` Default: `${HOME}/.cockroach-certs/`
`--url` | A connection URL to use instead of the other arguments. Env Variable: `COCKROACH_URL` Default: no URL

See Client Connection Parameters for more details.

### Logging

By default, the `statement-diag` command logs errors to `stderr`.

If you need to troubleshoot this command's behavior, you can change its logging behavior.

## Examples

### Setup

These examples assume you are running an insecure cluster and have requested and/or generated statement diagnostics bundles using the Admin UI or `EXPLAIN ANALYZE (DEBUG)`.

### Download a statement diagnostics bundle

List statement diagnostics bundles and/or activation requests:

    $ cockroach statement-diag list --insecure

    Statement diagnostics bundles:
      ID                  Collection time          Statement
      603820372518502401  2020-11-02 18:29:13 UTC  CREATE DATABASE bank

    Outstanding activation requests:
      ID                  Activation time          Statement
      603811900498804737  2020-11-02 17:46:08 UTC  SELECT * FROM bank.accounts

Download a statement diagnostics bundle to `bundle.zip`:

    $ cockroach statement-diag download 603820372518502401 bundle.zip --insecure

### Delete all statement diagnostics bundles

Delete all statement diagnostics bundles:

    $ cockroach statement-diag delete --all --insecure

### Cancel an activation request

List statement diagnostics bundles and/or activation requests:

    $ cockroach statement-diag list --insecure

    Outstanding activation requests:
      ID                  Activation time          Statement
      603811900498804737  2020-11-02 17:46:08 UTC  SELECT * FROM bank.accounts

Delete an activation request:

    $ cockroach statement-diag cancel 603811900498804737 --insecure

## See also

- Admin UI Statement Details page
- `EXPLAIN ANALYZE (DEBUG)`
- SQL Statements
- Learn CockroachDB SQL
- Other Cockroach Commands