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

v1.0.0 2026-02-09 03:23 UTC

This package is auto-updated.

Last update: 2026-02-09 00:43:56 UTC


README

Health

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();
    }
}