chris-ware / pulse-health-check
Combine the power of Laravel Pulse with Spatie's Health Checks
Requires
- php: ^8.1
- illuminate/contracts: ^10.0
- laravel/pulse: ^1.0@beta
- spatie/laravel-health: ^1.23
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- larastan/larastan: ^2.0.1
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.8
- orchestra/testbench: ^8.8
- pestphp/pest: ^2.20
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- spatie/laravel-ray: ^1.26
README
Combine the power of Laravel Pulse with Spatie's Health Checks
Installation
You can install the package via composer:
composer require chris-ware/pulse-health-check
Usage
Cache Hit Ratio Check
This check will warn or fail if the cache hit ratio hits a certain percentage threshold. By default, it will fail at 10% hit ratio and warn at 25%.
use ChrisWare\PulseHealthCheck\Checks\PulseCacheHitRatioCheck; PulseCacheHitRatioCheck::new();
Configure the failure and warning levels:
use ChrisWare\PulseHealthCheck\Checks\PulseCacheHitRatioCheck; PulseCacheHitRatioCheck::new()->failWhenSizeRatioBelow(25)->warnWhenSizeRatioBelow(50);
Generic Check
This generic check will accommodate most basic circumstances for Pulse aggregates. Every check must have a defined for
method on it for it to understand which aggregate type to use.
Example for slow query aggregation:
use ChrisWare\PulseHealthCheck\Checks\PulseCheck; PulseCheck::new() ->for('slow_query') ->failWhenAbove(5) ->warnWhenAbove(3) ->interval(\Carbon\CarbonInterval::minutes(5));
Example for user request aggregation:
use ChrisWare\PulseHealthCheck\Checks\PulseCheck; PulseCheck::new() ->for('user_request') ->aggregate('count') ->failWhenAbove(500) ->warnWhenAbove(300) ->interval(\Carbon\CarbonInterval::minutes(5));
Available methods
for: Determine the aggregation type to use
aggregate: Determine the aggregation value to use (defaults to max
)
failWhenAbove: Set the value to fail if greater than or equal to
failWhenBelow: Set the value to fail if less than or equal to
warnWhenAbove: Set the value to warn if greater than or equal to
warnWhenBelow: Set the value to warn if less than or equal to
interval: The CarbonInterval for aggregations to be evaluated (defaults to 1 hour)
Testing
composer test
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.