xeroctl slos

Manage Service Level Objectives (SLOs) for your project. Track compliance against latency, error rate, and other metrics. Part of the xeroctl CLI.

Overview

Service Level Objectives define measurable reliability and performance targets for your inference endpoints. Each SLO specifies a metric, a numeric target value, and an optional evaluation window. The platform continuously evaluates compliance and stores a history of results.

The slos command uses a unified flag-based interface. The action is determined by which flag is present (--create, --update, --delete, --history, --calculate, --summary). Only one action flag may be specified at a time.

Usage Pattern

bash
xeroctl slos # List all SLOs xeroctl slos <id> # Show SLO details xeroctl slos --summary # Show summary with overall compliance xeroctl slos --create --name <n> --metric <m> --target <t> # Create an SLO xeroctl slos <id> --update --name <n> # Update an SLO xeroctl slos <id> --delete # Delete an SLO xeroctl slos <id> --history # Show compliance history xeroctl slos <id> --calculate # Trigger compliance calculation xeroctl slos --endpoint <eid> # List SLOs for an endpoint

list

List all SLOs for the project. This is the default action when no ID, --summary, or --endpoint flag is given.

bash
xeroctl slos xeroctl slos --limit 50 xeroctl slos --after slo_abc123

Options

Option Description
--limit <n> Maximum number of results
--after <cursor> Pagination cursor: ID to start after

Output columns: ID, NAME, METRIC, TARGET, COMPLIANCE, STATUS. The STATUS column is color-coded.

get

Show full details of a specific SLO including metric, target, evaluation window, endpoint association, compliance percentage, and status.

bash
xeroctl slos slo_abc123 xeroctl slos slo_abc123 -o json

create

Create a new SLO. The --name, --metric, and --target options are all required.

bash
# P99 latency SLO (target in seconds) xeroctl slos --create \ --name "P99 Latency" \ --metric latency_p99 \ --target 0.5 # Error rate SLO with evaluation window xeroctl slos --create \ --name "Error Rate" \ --metric error_rate \ --target 0.01 \ --window 24h # SLO scoped to a specific endpoint xeroctl slos --create \ --name "Endpoint P95 Latency" \ --metric latency_p95 \ --target 1.0 \ --window 7d \ --endpoint my-endpoint # Dry run (no changes made) xeroctl slos --create \ --name "Test SLO" \ --metric error_rate \ --target 0.05 \ --dry-run

Options

Option Description
--name <name> SLO display name (required)
--metric <metric> Metric to track (required). See Metric Reference.
--target <value> Target value for the metric (required). Numeric, e.g., 0.5 for 500ms latency or 0.01 for 1% error rate.
--window <window> Evaluation window, e.g., 24h, 7d, 30d (optional)
--endpoint <id> Scope SLO to a specific endpoint identifier (optional)

update

Update an existing SLO. At least one of --name, --metric, --target, or --window must be provided.

bash
# Rename xeroctl slos slo_abc123 --update --name "Updated P99 Latency" # Tighten the target xeroctl slos slo_abc123 --update --target 0.3 # Change the evaluation window xeroctl slos slo_abc123 --update --window 7d # Update multiple fields xeroctl slos slo_abc123 --update --name "Strict Latency" --target 0.2 --window 24h

Options

Option Description
--name <name> New SLO display name
--metric <metric> New metric to track
--target <value> New target value
--window <window> New evaluation window

delete

Delete an SLO and its compliance history. A confirmation prompt is shown by default.

bash
# With confirmation prompt xeroctl slos slo_abc123 --delete # Skip confirmation xeroctl slos slo_abc123 --delete --force # Dry run xeroctl slos slo_abc123 --delete --dry-run

Options

Option Description
--force Skip the confirmation prompt
--dry-run Show what would be deleted without making changes

history

Show the compliance evaluation history for a specific SLO. Each entry represents a single evaluation period with a compliance percentage and pass/fail indicator.

bash
xeroctl slos slo_abc123 --history xeroctl slos slo_abc123 --history --limit 20 xeroctl slos slo_abc123 --history --after hist_xyz

Options

Option Description
--limit <n> Maximum number of history entries to return
--after <cursor> Pagination cursor: history entry ID to start after

Output columns: ID, COMPLIANCE (percentage), IN_COMPLIANCE (yes/no color-coded), EVALUATED_AT.

calculate

Trigger an on-demand compliance calculation for a specific SLO. Returns the current compliance percentage and evaluation timestamp.

bash
xeroctl slos slo_abc123 --calculate xeroctl slos slo_abc123 --calculate -o json

Note: Compliance calculations also run automatically on a scheduled basis. Use --calculate to get an immediate reading outside the regular evaluation cycle.

summary

Show a summary view of all SLOs with an overall compliance aggregate. Useful for a quick health check across all defined objectives.

bash
xeroctl slos --summary xeroctl slos --summary -o json

The summary prints overall compliance as a header line, followed by the same table as the list view (ID, NAME, METRIC, TARGET, COMPLIANCE, STATUS).

Endpoint Filter

Filter the SLO list to show only SLOs associated with a specific endpoint.

bash
xeroctl slos --endpoint my-endpoint xeroctl slos --endpoint my-endpoint --limit 20

When --endpoint is passed without any other action flag, the command lists all SLOs scoped to that endpoint rather than the full project list.

Metric Reference

The --metric option specifies which signal to evaluate. Common metric identifiers:

Metric Description Target Unit
latency_p50 Median (50th percentile) end-to-end request latency Seconds
latency_p95 95th percentile end-to-end request latency Seconds
latency_p99 99th percentile end-to-end request latency Seconds
error_rate Fraction of requests that resulted in an error Ratio (0.0 -- 1.0)
throughput Requests completed per second Requests/s

Examples

Create a Comprehensive SLO Set

bash
# Latency SLO -- P99 under 500ms xeroctl slos --create \ --name "P99 Latency" \ --metric latency_p99 \ --target 0.5 \ --window 24h \ --endpoint my-endpoint # Error rate SLO -- less than 1% errors xeroctl slos --create \ --name "Error Rate" \ --metric error_rate \ --target 0.01 \ --window 7d \ --endpoint my-endpoint # Check compliance immediately xeroctl slos --endpoint my-endpoint

Monitor Compliance Over Time

bash
# Overall project summary xeroctl slos --summary # History for a specific SLO xeroctl slos slo_abc123 --history --limit 30 # On-demand recalculation xeroctl slos slo_abc123 --calculate

Adjust a Target

bash
# Tighten the P99 target after infrastructure upgrade xeroctl slos slo_abc123 --update --target 0.3 # Extend the evaluation window xeroctl slos slo_abc123 --update --window 30d