Combine the power of Laravel Pulse with Spatie's Health Checks
You can install the package via composer:
composer require chris-ware/pulse-health-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);
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));
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)
composer test
Please see CHANGELOG for more information on what has changed recently.
The MIT License (MIT). Please see License File for more information.