pixielity / laravel-horizon
Laravel Horizon queue monitoring with automatic supervisor and metric discovery for Pixielity applications
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Forks: 0
pkg:composer/pixielity/laravel-horizon
Requires
- php: ^8.5
- laravel/horizon: ^5.0
- pixielity/laravel-support: *
Requires (Dev)
- mockery/mockery: ^1.6
- orchestra/testbench: ^10.0
- phpunit/phpunit: ^11.0
Suggests
- pixielity/laravel-telemetry-pulse: For real-time application monitoring
- pixielity/laravel-telemetry-telescope: For application debugging
- predis/predis: Required for Redis queue driver
README
Laravel Horizon queue monitoring with automatic supervisor and metric discovery for Pixielity applications.
📑 Table of Contents
🌟 Overview
The Telemetry Horizon package enhances Laravel Horizon with automatic discovery of metrics and tagging logic. It simplifies queue monitoring by allowing you to define metrics and tags directly on your classes using PHP 8 attributes.
📦 Installation
This package is included with the main pixielity/laravel-telemetry package. To install separately:
composer require pixielity/laravel-telemetry-horizon
✨ Features
- Automatic Metric Discovery: Register custom Horizon metrics via
#[AsMetric]. - Dynamic Tagging: Apply Horizon tags automatically using
#[HorizonTag]. - Monorepo Support: Scans your entire project for Horizon-related attributes.
🎯 Attributes
AsMetric
Marks a class as a Horizon metric for auto-discovery.
Properties:
name: Unique identifier for the metric.enabled: (default:true) Whether the metric is active.priority: (default:100) Registration priority.
HorizonTag
Defines tags to be applied to Horizon jobs.
Properties:
tags: Array of string tags.enabled: (default:true) Whether the tagging logic is active.
💡 Examples
Check the .examples directory for real-world usage patterns.
Custom Metric
use Pixielity\Horizon\Attributes\AsMetric;
#[AsMetric(name: 'sms_throughput')]
class SmsMetrics
{
public function getValue()
{
return 100; // Calculated value
}
}