mc support telemetry analyze

mc support telemetry analyze provides an interactive terminal interface for analyzing OpenTelemetry trace data. Use this command to perform quick latency analysis on recorded telemetry files.

The command reads trace files created by mc support telemetry record and displays them in an interactive tree view with duration metrics, percentage breakdowns, and color-coded latency indicators.

Syntax

The following command opens an interactive analysis view for a local telemetry file:

mc support telemetry analyze ./mytrace.otlp

The command has the following syntax:

mc [GLOBALFLAGS] support telemetry analyze  \
                 [--private-key "string"]   \
                 [--min-duration "string"]  \
                 [--service "string"]       \
                 [--filter "string"]        \
                 [--type "string"]          \
                 [--top integer]            \
                 [--export "string"]        \
                 INPUT
  • Brackets [] indicate optional parameters.
  • Parameters sharing a line are mutually dependent.
  • Parameters separated using the pipe | operator are mutually exclusive.

Copy the example to a text editor and modify as needed before running the command in the terminal/shell.

Parameters

INPUT

Required

The path to the telemetry file to analyze. You can analyze any of the following telemetry files:

  • Local files (.otlp, .bin, .enc, .zst)
  • Encrypted files (requires --private-key)
  • Remote S3/MinIO AIStor objects (for example, myaistor/testbucket/mytrace.otlp)

--private-key

Optional

Path to the private key for decrypting encrypted telemetry files.

Default: support_private.pem

The command automatically searches for numbered key variants, such as file.pem, file-2.pem, file-3.pem.

--min-duration

Optional

Filter out spans shorter than the specified duration.

Accepts duration strings such as 100ms, 1s, or 500us.

Use this to focus on slow operations and reduce noise from fast spans.

--service

Optional

Filter spans by service name.

Only spans from the specified service appear in the analysis.

MinIO AIStor telemetry uses the service name MinIO AIStor. This filter is useful when analyzing telemetry files that contain traces from multiple services or when filtering traces collected from an OpenTelemetry collector that aggregates data from multiple sources.

--filter

Optional

Filter spans by name using substring matching.

For example, --filter=PutObject shows only spans with “PutObject” in their name.

--type

Optional

Filter by trace type. You can specify this flag multiple times to include multiple types.

Valid types include:

TypeDescription
adminAdmin API calls
batchexpireBatch expiration operation calls
batchkeyrotationBatch key rotation operation calls
batchreplicationBatch replication operation calls
bootstrapCluster bootstrap events
decommissionDecommission operation calls
formattingFormatting events
ftpFTP server calls
healingHealing operation calls
iamIdentity and access management calls
ilmLifecycle management calls
internalInternal operations and grid RPC calls
kmsKMS interaction calls
objectObject layer calls
osOperating system calls
rebalanceRebalance operation calls
replicationReplication events
replicationresyncReplication resync operation calls
s3S3 API calls
scannerScanner operation calls
storageStorage layer calls

The AIStor Client ignores capitalization when specifying trace types.

--top

Optional

Show only the top N slowest traces.

Set to 0 to show all traces.

Default: 0 (all traces)

--export

Optional

Export the analysis to a JSON file at the specified path.

The exported file contains the full trace tree structure with durations and percentages.

Global flags

This command supports any of the global flags.

Required permissions

This command performs client-side analysis and does not require any MinIO AIStor admin permissions.

For local files, no permissions are required.

For remote S3/MinIO AIStor objects, the command requires the s3:GetObject permission on the bucket and object path. The authenticated user must have read access to the telemetry file stored in the bucket.

Interactive interface

The command launches a terminal user interface (TUI) with two view modes.

Tree view

The default view displays traces as an expandable tree hierarchy. Each span shows:

  • Name: The operation or span name
  • Duration: Time taken, color-coded by latency:
    • Green: Less than 50ms
    • Yellow: 50ms to 200ms
    • Red: More than 200ms
  • Percentage bar: Visual representation of time relative to the root span
  • Percentage: Numeric percentage of the root span duration

Grouped view

Press Tab or g to switch to the grouped view. This view aggregates root spans by operation name and displays statistics:

  • Count: Number of occurrences
  • Avg: Average duration
  • Min: Minimum duration
  • p50/p95/p99: Percentile durations
  • Max: Maximum duration
  • Err: Error count
  • Err%: Error percentage

Select an operation and press Enter or → to view individual instances.

Keyboard controls

KeyAction
↑/↓ or j/kNavigate up/down
→ or lExpand node
← or hCollapse node or go to parent
SpaceToggle expand/collapse
Enter or dView span details
Tab or gSwitch between tree and grouped views
sCycle sort mode (grouped view)
cCollapse all nodes
Home/EndJump to first/last item
PgUp/PgDnPage up/down
q or EscQuit

Span details

The detail view shows the following information for a span:

  • Span ID and parent span ID
  • Start and end timestamps
  • Duration
  • Span kind, which indicates the role of the span:
    • INTERNAL: An operation within the service
    • SERVER: Handling an incoming request
    • CLIENT: Making an outgoing request to another service or node
    • PRODUCER: Creating a message for asynchronous processing
    • CONSUMER: Receiving a message from asynchronous processing
  • Status code and message
  • Service name
  • All span and resource attributes
  • Events with timestamps

Examples

Analyze a local telemetry file

The following command opens the interactive analyzer for a local file:

mc support telemetry analyze ./metrics-2025-01-15.bin

Analyze an encrypted file

The following command analyzes an encrypted telemetry file using a private key:

mc support telemetry analyze --private-key=support_private.pem ./metrics.enc

Filter to S3 operations slower than 100ms

The following command shows only S3 API calls that took longer than 100ms:

mc support telemetry analyze --type=s3 --min-duration=100ms ./mytrace.otlp

Export analysis to JSON

The following command exports the analysis to a JSON file for scripting or further processing:

mc support telemetry analyze --export=analysis.json ./mytrace.otlp

Use --json for JSON output to stdout instead of the interactive interface:

mc support telemetry analyze --json ./mytrace.otlp

On this page