axiom-aplby axiomhq
APL query language reference for Axiom. Provides operators, functions, patterns, and CLI usage. Auto-invoked by specialized Axiom skills when writing or…
npx skills add https://github.com/axiomhq/cli --skill axiom-aplAxiom Processing Language (APL)
APL is Axiom's query language for analyzing observability data. This skill provides comprehensive guidance for writing, debugging, and optimizing APL queries.
Quick Reference
Documentation: https://axiom.co/docs/apl/introduction
CLI usage: See references/cli.md
Core Workflow
1. List Available Datasets
axiom dataset list -f json
2. Discover Schema (CRITICAL - Always Do First)
['<dataset>'] | getschema
Never guess field names. The schema shows all fields with their types.
3. Sample Data
['<dataset>'] | limit 10
4. Write Query
See references for operators, functions, and patterns.
APL Syntax Essentials
Dataset Reference
['dataset-name'] // Bracket notation (required for names with dots/dashes)
dataset_name // Plain identifier (only for simple names)
Field Reference
field_name // Plain field
['field.with.dots'] // Bracket notation for dotted fields
['service.name'] // OTel data (see references/otel.md for field mappings)
Basic Query Structure
['dataset']
| where <condition>
| extend <new_field> = <expression>
| summarize <aggregation> by <grouping>
| project <fields>
| sort by <field> desc
| limit 100
Time Handling
Always filter by time first - it's the most selective filter.
// Relative time
| where _time >= ago(1h)
| where _time >= ago(24h) and _time < ago(1h)
// Absolute time
| where _time >= datetime(2024-01-15T10:00:00Z)
| where _time between (datetime(2024-01-15) .. datetime(2024-01-16))
Time functions:
ago(timespan)- Relative past timenow()- Current timedatetime(string)- Parse datetimebin(_time, 5m)- Time bucketingbin_auto(_time)- Automatic bucketing
When NOT to Use
- Simple field lookup: Use
getschemadirectly instead of invoking the full skill - Known query patterns: If you already have a working query, don't re-invoke for syntax help
- Real-time alerting: Use Axiom Monitors for continuous alerting, not ad-hoc queries
References
- CLI Usage - Command flags and execution
- Operators - Tabular and scalar operators
- Functions - String, datetime, aggregation functions
- Patterns - Query patterns by use case
- Common Gotchas - Mistakes and fixes
- OpenTelemetry - OTel field mappings and trace patterns
More skills from axiomhq
detect-anomalies
by axiomhq
Detect anomalies in Axiom datasets using statistical analysis. Use when looking for unusual patterns, volume spikes, outliers, or new error types in…
explore-dataset
by axiomhq
Explore an Axiom dataset to understand its schema, fields, volume, and patterns. Use when discovering a new dataset, investigating data structure, or…
find-traces
by axiomhq
Analyze OpenTelemetry distributed traces from Axiom. Use when investigating a trace ID, finding traces by criteria (errors, latency, service), or debugging…
gilfoyle
by axiomhq
SRE agent that does what you can't. Queries your observability stack. Finds root causes. Doesn't panic. Doesn't guess. Doesn't care about your feelings. Use…
axiom-sre
by axiomhq
Expert SRE investigator for incidents and debugging. Uses hypothesis-driven methodology and systematic triage. Can query Axiom observability when available.…
building-dashboards
by axiomhq
Designs and builds Axiom dashboards via API. Covers chart types, APL and metrics/MPL query patterns, SmartFilters, layout, and configuration options. Use when…
controlling-costs
by axiomhq
Analyzes Axiom query patterns to find unused data, then builds dashboards and monitors for cost optimization. Use when asked to reduce Axiom costs, find unused…
query-metrics
by axiomhq
Runs metrics queries against Axiom MetricsDB via scripts. Discovers available metrics, tags, and tag values. Use when asked to query metrics, explore metric…