# mc admin trace

LLMS index: [llms.txt](/llms.txt)

---

<a id="mc-admin-trace"></a>

<a id="command-mc.admin.trace"></a>

## Description {#description}

The [`mc admin trace`](#command-mc.admin.trace) command displays API operations occurring on the target MinIO deployment.

> [!NOTE]
> **Server compatibility**
>
> The supported server for [`mcli admin`](/reference/minio-mc-admin/#command-mc.admin) is SILO. Compatibility with unmodified upstream MinIO is best effort; general S3 compatibility alone does not provide these administrative APIs.

## Examples {#examples}

### Monitor All API operations {#monitor-all-api-operations}

Use [`mc admin trace`](#command-mc.admin.trace) to monitor API operations on a MinIO deployment:

```shell
mc admin trace -a ALIAS
```

- Replace [`ALIAS`](#mc.admin.trace.TARGET) with the [`alias`](/reference/minio-mc/mc-alias/#command-mc.alias) of the MinIO deployment.

### See Calls that Return 503 Errors {#see-calls-that-return-503-errors}

Use [`mc admin trace`](#command-mc.admin.trace) to monitor API operations that return a service unavailable 503 error:

```shell
mc admin trace -v --status-code 503 ALIAS
```

- Replace [`ALIAS`](#mc.admin.trace.TARGET) with the [`alias`](/reference/minio-mc/mc-alias/#command-mc.alias) of the MinIO deployment.

### See Console Trace for a Path {#see-console-trace-for-a-path}

Use [`mc admin trace`](#command-mc.admin.trace) to monitor activity for a specific path:

```shell
mc admin trace --path my-bucket/my-prefix/* ALIAS
```

- Replace [`ALIAS`](#mc.admin.trace.TARGET) with the [`alias`](/reference/minio-mc/mc-alias/#command-mc.alias) of the MinIO deployment.
- Replace `my-bucket/my-prefix/*` with the bucket, prefix, and object name or wildcard you wish to trace.

### See Console Trace for a Response Size Greater than 1Mb {#see-console-trace-for-a-response-size-greater-than-1mb}

Use [`mc admin trace`](#command-mc.admin.trace) to monitor responses over a specific size:

```shell
mc admin trace --filter-response --filter-size 1Mb ALIAS
```

- Replace [`ALIAS`](#mc.admin.trace.TARGET) with the [`alias`](/reference/minio-mc/mc-alias/#command-mc.alias) of the MinIO deployment.
- Replace `1Mb` with the desired response size.

### See Console Trace for a Request Operation Durations Greater than 5ms {#see-console-trace-for-a-request-operation-durations-greater-than-5ms}

Use [`mc admin trace`](#command-mc.admin.trace) to monitor long operations:

```shell
mc admin trace --response-duration 5ms ALIAS
```

- Replace [`ALIAS`](#mc.admin.trace.TARGET) with the [`alias`](/reference/minio-mc/mc-alias/#command-mc.alias) of the MinIO deployment.

## Syntax {#syntax}

[`mc admin trace`](#command-mc.admin.trace) has the following syntax:

```shell
mc admin trace [FLAGS] TARGET
```

[`mc admin trace`](#command-mc.admin.trace) supports the following argument:

#### `TARGET` {#mc.admin.trace.TARGET}

*mc-cmd*

Specify the [`alias`](/reference/minio-mc/mc-alias/#command-mc.alias) of a configured MinIO deployment for which to monitor API operations.

#### `--all, a` {#mc.admin.trace.-all}

*mc-cmd*

Returns all traffic on the MinIO deployment, including internode traffic between MinIO servers.

#### `--call` {#mc.admin.trace.-call}

*mc-cmd*

Traces only matching client operation or call types. For example, the following command only traces operations of the type `scanner`.

```shell
mc admin trace --call scanner TARGET
```

Valid call types include:

- `batch-keyrotation`
- `batch-replication`
- `bootstrap`
- `decommission`
- `ftp`
- `healing`
- `ilm`
- `internal`
- `os`
- `rebalance`
- `replication-resync`
- `s3`
- `scanner`
- `storage`

If not specified, MinIO returns call types of `s3`.

#### `--errors, e` {#mc.admin.trace.-errors}

*mc-cmd*

Returns failed API operations only.

#### `--filter-request` {#mc.admin.trace.-filter-request}

*mc-cmd*

Trace client operations or calls with request size greater than the specified [`--filter-size`](#mc.admin.trace.-filter-size) value.

Must be used with [`--filter-size`](#mc.admin.trace.-filter-size) flag.

#### `--filter-response` {#mc.admin.trace.-filter-response}

*mc-cmd*

Trace client operations or calls with response size greater than the specified [`--filter-size`](#mc.admin.trace.-filter-size) value.

Must be used with [`--filter-size`](#mc.admin.trace.-filter-size) flag.

#### `--filter-size` {#mc.admin.trace.-filter-size}

*mc-cmd*

Size limit of a filtered client operation or call.

Must be used with either [`--filter-request`](#mc.admin.trace.-filter-request) or [`--filter-response`](#mc.admin.trace.-filter-response) flag.

Valid units include:

| Suffix | Unit Size                      |
| ------ | ------------------------------ |
| `k`    | KB (Kilobyte, 1000 Bytes)      |
| `m`    | MB (Megabyte, 1000 Kilobytes)  |
| `g`    | GB (Gigabyte, 1000 Megabytes)  |
| `t`    | TB (Terrabyte, 1000 Gigabytes) |
| `ki`   | KiB (Kibibyte, 1024 Bites)     |
| `mi`   | MiB (Mebibyte, 1024 Kibibytes) |
| `gi`   | GiB (Gibibyte, 1024 Mebibytes) |
| `ti`   | TiB (Tebibyte, 1024 Gibibytes) |
{.wide .expand}

#### `--funcname` {#mc.admin.trace.-funcname}

*mc-cmd*

Returns calls for the entered function name.

#### `--method` {#mc.admin.trace.-method}

*mc-cmd*

Returns call of the specified HTTP method.

#### `--node` {#mc.admin.trace.-node}

*mc-cmd*

Returns calls for the specified server.

#### `--path` {#mc.admin.trace.-path}

*mc-cmd*

Returns calls for the specified path.

#### `--request-header` {#mc.admin.trace.-request-header}

*mc-cmd*

Returns calls matching the supplied request header.

#### `--request-query` {#mc.admin.trace.-request-query}

*mc-cmd*

Returns calls matching the supplied request query parameter.

#### `--response-duration` {#mc.admin.trace.-response-duration}

*mc-cmd*

Trace calls with response duration greater than the specified value.

<a id="mc.admin.trace.-response-threshold"></a>

`--response-threshold` is not a current mcli flag. Use `--response-duration 5ms` to select calls slower than 5 milliseconds. Without that flag, no response-duration threshold is applied.

#### `--status-code` {#mc.admin.trace.-status-code}

*mc-cmd*

Returns calls of the specified HTTP status code.

#### `--stats` {#mc.admin.trace.-stats}

*mc-cmd*

Accumulates aggregated statistics for each traced function call during the current trace session.

The output table includes the following columns.

| Column     | Description                                                                                                     |
| ---------- | --------------------------------------------------------------------------------------------------------------- |
| `Call`     | The name of the captured client operation or function.                                                          |
| `Count`    | The number of times the client operation or call occurred.                                                      |
| `RPM`      | The Rate Per Minute (RPM) of the client operation or call.                                                      |
| `Avg Time` | The average time required for the client operation or call to complete.                                         |
| `Min Time` | The minimum time spent for the client operation or call to complete.                                            |
| `Max Time` | The maximum time spent for the client operation or call to complete.                                            |
| `Avg TTFB` | The average Time To First Byte (TTFB) for the client operation or call response.                                |
| `Max TTFB` | The maximum Time To First Byte for the client operation or call response.                                       |
| `Avg Size` | Average size of client operation or call responses.                                                             |
| `Errors`   | The number of client operations or calls that failed with an error.                                             |
| `RX Avg`   | The average number of Bytes Received (RX) for the client operation or call. Displayed only when non-zero (`0`). |
| `TX AVG`   | The average number of Bytes Sent (TX) for the client operation or call. Displayed only when non-zero (`0`).     |
{.wide .expand}

> [!NOTE]
> **Added: RELEASE.2023-11-15T22-45-58Z**
>
> The `Avg TTFB` and `Max TTFB` statistics columns were added in `RELEASE.2023-11-15T22-45-58Z`.

Accumulate stats, such as name, count, duration, min time, max time, time to first byte, or errors. Accumulates up to 15 stat entries.

#### `--verbose` {#mc.admin.trace.-verbose}

*mc-cmd*

Returns verbose output.

### Global Flags {#global-flags}

This command supports any of the [global flags](/reference/minio-mc/#minio-mc-global-options).
