Quick onboarding for new developers:
- Overview & Key Concepts - What is ASAP?
- Architecture - System design & data flows
- Local Setup - Set up dev environment
Deep dives into each component:
- Component Index - Component overview & 1-liners
- Query Engine - Rust query processor
- Arroyo - Streaming engine (fork + customizations)
- asap-summary-ingest - Pipeline configurator
- asap-planner-rs - Auto-configuration service
- Exporters - Metric generators
- asap-tools - Experiment framework
Task-oriented guides for common operations:
- Add Protocol Adapter - Support new query protocol
- Add Fallback Backend - Support new database
- Add Query Language - Support new language (cross-component)
- Add New Sketch - Implement new sketch algorithm
- Modify Sketch Logic - Change existing sketch
- Run an Experiment - End-to-end experiment workflow
- Add Workload - Create new query workload
- Add Data Generator - New exporters
- Analyze Results - Post-experiment analysis
- Manual Stack Run for Prometheus - Run ASAP components manually to accelerate Prometheus
- Bootstrap Config from Query Log - Auto-generate sketch configs from Prometheus query traffic
- Manual Stack Run for Clickhouse - Run ASAP components manually to accelerate Clickhouse
- Deploy to CloudLab - Deployment guide
- Troubleshooting - Common issues & solutions
Developer practices and infrastructure:
- Testing Guide - Unit, integration, E2E tests
- Code Style - Conventions & pre-commit hooks
- CI/CD - GitHub Actions & Docker builds
- Contributing - PR process & guidelines
Technical details co-located with code:
- asap-query-engine - Extensibility guides
- asap-tools/Experiments - Experiment framework architecture
- asap-planner-rs - Controller internals
- asap-summary-ingest - Pipeline configuration
- asap-tools/data-sources/prometheus-exporters - Exporter implementations