Labsco
axiomhq logo

axiom-apl

58

by axiomhq · part of axiomhq/cli

APL query language reference for Axiom. Provides operators, functions, patterns, and CLI usage. Auto-invoked by specialized Axiom skills when writing or…

🔥🔥🔥✓ VerifiedFreeQuick setup
🧰 Not standalone. This skill ships with axiomhq/cli and only works together with that tool — install the tool first, then add this skill.

This is the playbook your agent receives when the skill activates — you don't need to read it to use the skill, but it's here to audit before installing.

by 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-apl Download ZIPGitHub58

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)

[' '] | getschema

Never guess field names. The schema shows all fields with their types.

3. Sample Data

[' '] | 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 
| extend = 
| summarize by 
| project 
| sort by 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 = datetime(2024-01-15T10:00:00Z)
| where _time between (datetime(2024-01-15) .. datetime(2024-01-16))

Time functions:

  • ago(timespan) - Relative past time

  • now() - Current time

  • datetime(string) - Parse datetime

  • bin(_time, 5m) - Time bucketing

  • bin_auto(_time) - Automatic bucketing

When NOT to Use

  • Simple field lookup: Use getschema directly 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