This package provides the very same information from Laravel Pulse as a JSON api endpoint.
You can install the package via composer:
composer require robertogallea/pulse-api
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.
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
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
],
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(),
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),
Please see CHANGELOG for more information on what has changed recently.
The MIT License (MIT). Please see License File for more information.