
Description
APL query language reference for Axiom. Provides operators, functions, patterns, and CLI usage. Auto-invoked by specialized Axiom skills when writing or debugging APL queries.
SKILL.md
Axiom 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 the cli repository
View all 4 skillsdetect-anomalies
detect anomalies in observability data
Apr 6AxiomData AnalysisMonitoringObservabilityexplore-dataset
explore Axiom dataset schema and patterns
Apr 6AxiomData AnalysisObservabilityfind-traces
analyze OpenTelemetry distributed traces in Axiom
Apr 6AxiomDebuggingDistributed TracingObservability +1
More from Axiom
View publisheraxiom-alerting
manage Axiom monitors and notifiers
skills
May 11API DevelopmentAxiomMessagingMonitoring +2axiom-sre
investigate incidents with Axiom
skills
Apr 6AxiomDebuggingIncident ResponseObservability +1building-dashboards
build Axiom dashboards via API
skills
Apr 6APLAxiomDashboardsObservabilitycontrolling-costs
reduce Axiom query costs
skills
Apr 6AxiomCost OptimizationDashboardsObservabilitymetrics-chart
render Axiom metrics as charts
skills
Jul 18AxiomChartsData VisualizationMetrics +1query-metrics
query Axiom MetricsDB
skills
Jul 18AxiomMetricsObservability