
Phoenix is an observability cost optimization platform that reduces metrics cardinality by up to 70% while maintaining critical visibility. Using intelligent pipeline optimization and agent-based architecture, Phoenix helps organizations cut observability costs without sacrificing insights.
π Quick Start
# Clone the repository
git clone https://github.com/phoenix/platform.git
cd platform
# Run the setup script for single-VM deployment
./deployments/single-vm/scripts/setup-single-vm.sh
# Start Phoenix with Docker Compose
cd deployments/single-vm
docker-compose up -d
# Access the dashboard
open http://localhost:3000
# Install agents on target hosts
curl -sSL http://localhost:8080/install-agent.sh | sudo bash
See QUICKSTART.md for detailed setup instructions.
π Key Features
- 70% Cost Reduction - Intelligent metrics filtering reduces cardinality without losing critical data
- Real-time Monitoring - WebSocket-based live updates for experiments and metrics
- Agent-Based Architecture - Distributed agents with task polling and heartbeat monitoring
- A/B Testing Framework - Safe rollout with baseline vs candidate pipeline comparison
- Pipeline Templates - Pre-built optimization strategies (Adaptive Filter, TopK, Hybrid)
- Dual Collector Support - Choose between OpenTelemetry or NRDOT (New Relic Distribution)
- NRDOT Integration - Advanced cardinality reduction with New Relic's optimized collectors
- Enterprise Ready - PostgreSQL storage, TLS support, comprehensive monitoring
ποΈ Architecture Overview
Phoenix uses a modular monorepo structure with agent-based architecture:
βββββββββββββββββββ βββββββββββββββββββ
β Phoenix API βββββββββββ€ Dashboard β
β (Port 8080) β β (React 18) β
β REST + WS β βββββββββββββββββββ
ββββββββββ¬βββββββββ
β Task Queue (PostgreSQL)
β Long-polling (30s timeout)
ββββββΌβββββ
β Phoenix ββββββΊ OTel/NRDOT βββββΊ Observability
β Agents β Collector β Backends
βββββββββββ ββββββββββββββ
Core Components
- Phoenix API - Central control plane with REST/WebSocket APIs
- Phoenix Agent - Distributed agents deploying pipeline configurations
- Phoenix CLI - Command-line interface for operations
- Dashboard - React-based UI for monitoring and management
π Documentation
Getting Started
Architecture & Design
API Reference
User Guides
Developer Resources
Operations
Tutorials
π Collector Support
Phoenix supports multiple telemetry collectors:
OpenTelemetry Collector (Default)
- Industry-standard collector with wide ecosystem support
- Configurable processors for basic cardinality reduction
- Compatible with any OTLP-compliant backend
NRDOT (New Relic Distribution of OpenTelemetry)
- Advanced cardinality reduction with New Relic's algorithms
- Up to 80% reduction in metric volume
- Automatic preservation of critical metrics
- Native integration with New Relic platform
Quick Start with NRDOT:
# Using environment variables
export USE_NRDOT=true
export NEW_RELIC_LICENSE_KEY=your-license-key
# Or using CLI
phoenix-cli experiment create \
--name "NRDOT Test" \
--use-nrdot \
--nr-license-key $NEW_RELIC_LICENSE_KEY \
--candidate-pipeline nrdot-cardinality
See NRDOT Integration Guide for detailed setup.
π οΈ Development
Prerequisites
- Go 1.21+
- Node.js 18+
- Docker & Docker Compose
- PostgreSQL 15+ (primary database)
Build from Source
# Install dependencies
make setup
# Build all components
make build
# Run tests
make test
# Start development environment
make dev-up
See Development Guide for detailed instructions.
π€ Contributing
We welcome contributions! Please see our Contributing Guidelines for details.
Good First Issues
π License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
π Links