robertogallea/
pulse-api
g4t.io

Access Laravel Pulse Data as a JSON API

39 stars by Paul Redmond

Add an API layer to Laravel Pulse metrics

README from robertogallea/pulse-api Open on GitHub →

Access Laravel Pulse data using API

This package provides the very same information from Laravel Pulse as a JSON api endpoint.

17320370610423445938023068352330

Installation

You can install the package via composer:

composer require robertogallea/pulse-api

Usage

The package adds api endpoints to your application that exposes metrics collected by Pulse.

  • /api/pulse - Provides the full set of metrics collected by Pulse
  • /api/pulse/{$type} - Provides the metrics from a single type

By default, the available types are the one provided by Pulse itself:

  • servers
  • usage
  • queues
  • cache
  • slow_queries
  • exceptions
  • slow_requests
  • slow_jobs
  • slow_outgoing_requests

However, you can integrate your own by mimicking any Pulse card or by using your own implementation.

Configuration

The file config/pulse-api.php defines the configuration and can be customized after publishing the package Service Provider.

php artisan vendor:publish --tag=pulse-api-config

Access to endpoints

The endpoint is allowed according to the logic defined by the middlewares defined in the middleware section of the config. By default, the following apply:

'middleware' => [
    'api',
    Authorize::class, // the default Pulse middleware
],

Custom resources

Like in the web version of Pulse you can add your Cards, in PulseAPI you can add your own Resources, you can integrate the default ones by editing the resources configuration section:

'resources' =>
    \Robertogallea\PulseApi\Services\PulseAPI::getDefaultResources()->merge([
        // Add your custom resources
    ])->toArray(),

Including recorders configuration in json response

Laravel Pulse cards use configuration to adjust the rendering of the card view. This may be not required or not useful in api but is enabled by default. You can disable the configuration exposure by proper setting of the include-config configuration key to false:

'include_config' => env('PULSE_API_INCLUDE_CONFIG', true),

Changelog

Please see CHANGELOG for more information on what has changed recently.

Credits

License

The MIT License (MIT). Please see License File for more information.

More from the ecosystem

marcreichel/
laya-php
g4t.io
3 53

LayaPHP: Self-Hosted Text Classification for PHP and Laravel

Classify text in PHP without an LLM bill: typed decisions in 100+ languages, self-hosted. Laravel-ready SDK for Laya, a Jev AI alternative.

ai classification decision-engine
marcreichel/laya-php via Laravel News
Josh-Dovey/
postcodes-laravel
g4t.io
5 9

Postcodes for Laravel: GB Postcode Lookup and Geography Data

Postcodes for Laravel adds typed GB postcode lookups, validation, geography data, distance searches, and test fakes through the GB Postcodes API.

Josh-Dovey/postcodes-laravel via Laravel News
RedberryProducts/
mailbox-for-laravel
g4t.io
4 115

Mailbox for Laravel: Preview and Test Rendered Email

Mailbox for Laravel captures outgoing mail in a local dashboard and lets you test rendered HTML, recipients, and attachments with fluent assertions.

RedberryProducts/mailbox-for-laravel via Laravel News