phoenix

module
v0.0.0-...-441ca72 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 27, 2025 License: Apache-2.0

README ΒΆ

Phoenix Platform

License Go Version Documentation

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.

Directories ΒΆ

Path Synopsis
phoenix-platform
tests
tools
config-gen command

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL