Looking to hire Laravel developers? Try LaraJobs

laravel-debugbar maintained by pixielity

Description
Laravel Debugbar integration with automatic collector discovery for Pixielity applications
Last update
2026/02/09 15:03 (dev-main)
License
Downloads
0

Comments
comments powered by Disqus

Laravel Debugbar integration with automatic collector discovery for Pixielity applications.

📑 Table of Contents

🌟 Overview

The Telemetry Debugbar package provides a seamless way to extend the Laravel Debugbar with custom collectors. It leverages PHP 8 attributes for automatic discovery, eliminating the need to manually register collectors in your Service Providers.

📦 Installation

This package is included with the main pixielity/laravel-telemetry package. If you need to install it separately:

composer require pixielity/laravel-telemetry-debugbar

✨ Features

  • Automatic Discovery: Simply tag your collector class with #[AsCollector] and it will be registered automatically.
  • Fluent Registry: Manage collectors dynamically via the built-in registry.
  • Standard Integration: Works perfectly with barryvdh/laravel-debugbar.

⚙️ Configuration

The package works out of the box. If you need to customize behavior, you can publish the configuration:

php artisan vendor:publish --tag=telemetry-debugbar-config

🎯 Attributes

AsCollector

Marks a class as a Debugbar collector.

Properties:

  • name: (optional) The name of the collector as it appears in the Debugbar.
  • enabled: (default: true) Whether the collector should be registered.
  • priority: (default: 100) The order in which collectors are registered.

💡 Examples

Check the .examples directory for real-world usage patterns.

Basic Collector

use Pixielity\Debugbar\Attributes\AsCollector;
use DebugBar\DataCollector\DataCollector;

#[AsCollector(name: 'custom_metrics')]
class MyCollector extends DataCollector
{
    public function collect(): array
    {
        return ['metric' => 'value'];
    }

    public function getName(): string
    {
        return 'custom_metrics';
    }
}