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
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.
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.
xeroctl slos slo_abc123
xeroctl slos slo_abc123 -o json
create
Create a new SLO. The --name, --metric, and --target options are all required.
# 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.
# 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.
# 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.
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.
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.
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.
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
# 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
# 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
# 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