pixielity / laravel-health
Health monitoring and diagnostics for Pixielity applications with support for multiple output formats (JSON, XML, HTML)
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Forks: 0
pkg:composer/pixielity/laravel-health
Requires
- php: ^8.5
- pixielity/laravel-support: *
- spatie/laravel-health: ^1.34
Requires (Dev)
- mockery/mockery: ^1.6
- orchestra/testbench: ^10.0
- phpunit/phpunit: ^11.0
Suggests
- ext-simplexml: Required for XML output format
README
Health monitoring and diagnostics for Pixielity applications with support for multiple output formats (JSON, XML, HTML).
📑 Table of Contents
🌟 Overview
The Telemetry Health package provides a powerful and extensible health monitoring system. It integrates seamlessly with spatie/laravel-health while adding automatic discovery through attributes.
📦 Installation
This package is included with the main pixielity/laravel-telemetry package. To install separately:
composer require pixielity/laravel-telemetry-health
✨ Features
- Automatic Registration: Discover health checks automatically using attributes.
- Multiple Formats: Built-in support for JSON, XML, and HTML status reports.
- Scheduled Checks: Configure check frequency directly on the attribute.
- Pulse Integration: Works perfectly with Laravel Pulse for real-time monitoring.
🎯 Attributes
AsHealthCheck
Marks a class as a health check for auto-discovery.
Properties:
name: Unique name for the health check.label: (optional) Human-readable label for dashboards.schedule: (optional) Cron expression for scheduling (default: every minute).enabled: (default:true) Whether the check is active.
📊 Formatting
The package extends status reports with support for XML output if ext-simplexml is available.
💡 Examples
Check the .examples directory for real-world usage patterns.
Basic Health Check
use Pixielity\Health\Attributes\AsHealthCheck;
use Spatie\Health\Checks\Check;
use Spatie\Health\Checks\Result;
#[AsHealthCheck(name: 'database', label: 'Primary DB')]
class DatabaseCheck extends Check
{
public function run(): Result
{
// Check logic here
return Result::make()->ok();
}
}