OwlMetry
CLI

Metrics

Create, list, and query metric definitions and aggregations from the CLI.

Metrics track measurable operations in your app, like network request duration, app launch time, or checkout completion. Definitions are scoped to projects. SDKs emit metric events using lifecycle operations (start / complete / fail / cancel) or single-shot measurements (record).

List metrics

owlmetry metrics list --project-id <id>

Lists all metric definitions for a project.

FlagRequiredDescription
--project-id <id>YesProject UUID

View a metric

owlmetry metrics view <slug> --project-id <id>

Shows the metric definition including name, slug, status, description, aggregation rules, and documentation.

Argument / FlagRequiredDescription
<slug>YesMetric slug
--project-id <id>YesProject UUID

Create a metric

owlmetry metrics create --project-id <id> --name <name> --slug <slug> [options]
FlagRequiredDescription
--project-id <id>YesProject UUID
--name <name>YesDisplay name
--slug <slug>YesUnique identifier (lowercase letters, numbers, hyphens only)
--description <desc>NoShort description
--docs <markdown>NoDetailed documentation in markdown
--lifecycleNoMark as a lifecycle metric (has start/complete/fail phases)

Slugs must match the pattern [a-z0-9-]+.

# Simple single-shot metric
owlmetry metrics create \
  --project-id 550e8400-... \
  --name "Page Load Time" \
  --slug page-load-time \
  --description "Time to interactive for the main page"

# Lifecycle metric with documentation
owlmetry metrics create \
  --project-id 550e8400-... \
  --name "Checkout Flow" \
  --slug checkout-flow \
  --lifecycle \
  --docs "Tracks the entire checkout process from cart to confirmation."

Query metric aggregation

owlmetry metrics query <slug> --project-id <id> [options]

Returns aggregated statistics for a metric: event counts by phase, success rate, duration percentiles, error breakdown, and optional grouping.

Argument / FlagRequiredDescription
<slug>YesMetric slug
--project-id <id>YesProject UUID
--since <time>NoStart time. Relative (1h, 30m, 7d) or ISO 8601.
--until <time>NoEnd time. Relative (1h, 30m, 7d) or ISO 8601.
--app-id <id>NoFilter by app UUID
--app-version <version>NoFilter by app version
--device-model <model>NoFilter by device model
--os-version <version>NoFilter by OS version
--user-id <id>NoFilter by user ID
--environment <env>NoFilter by environment: ios, ipados, macos, android, web, backend
--group-by <field>NoGroup results (see below)
--data-mode <mode>Noproduction (default), development, or all

Group-by options

ValueDescription
app_idGroup by app
app_versionGroup by app version
device_modelGroup by device model
os_versionGroup by OS version
environmentGroup by environment
time:hourGroup by hour
time:dayGroup by day
time:weekGroup by week
# Overall stats for the last 7 days
owlmetry metrics query checkout-flow --project-id 550e8400-... --since 2025-01-08

# Success rate by app version
owlmetry metrics query checkout-flow --project-id 550e8400-... --group-by app_version

# Duration stats for iOS only
owlmetry metrics query page-load-time --project-id 550e8400-... --environment ios

Query raw metric events

owlmetry metrics events <slug> --project-id <id> [options]

Returns individual metric events rather than aggregations. Useful for debugging specific occurrences.

Argument / FlagRequiredDescription
<slug>YesMetric slug
--project-id <id>YesProject UUID
--phase <phase>NoFilter by phase: start, complete, fail, cancel, record
--tracking-id <id>NoFilter by tracking UUID (correlates start/complete/fail of one operation)
--user-id <id>NoFilter by user ID
--since <time>NoStart time (default: 24h). Relative or ISO 8601.
--until <time>NoEnd time
--environment <env>NoFilter by environment
--limit <n>NoMax events to return
--cursor <cursor>NoPagination cursor
--data-mode <mode>Noproduction (default), development, or all
# All failures in the last day
owlmetry metrics events checkout-flow --project-id 550e8400-... --phase fail

# Trace a specific operation by tracking ID
owlmetry metrics events checkout-flow --project-id 550e8400-... --tracking-id a1b2c3d4-...

Update a metric

owlmetry metrics update <slug> --project-id <id> [options]
Argument / FlagRequiredDescription
<slug>YesMetric slug
--project-id <id>YesProject UUID
--name <name>NoNew display name
--description <desc>NoNew description
--status <status>Noactive or paused
owlmetry metrics update checkout-flow --project-id 550e8400-... --status paused

Delete a metric

owlmetry metrics delete <slug> --project-id <id>

Soft-deletes the metric definition. Existing metric events are not removed.

Argument / FlagRequiredDescription
<slug>YesMetric slug
--project-id <id>YesProject UUID

Ready to get started?

Install the CLI and let your agent handle the rest.