dotswan/filament-laravel-pulse is a Laravel package.
It currently has 83 GitHub stars and 158.559 downloads on Packagist (latest version v2.2.2).
Install it with composer require dotswan/filament-laravel-pulse.
Discover more Laravel packages by dotswan
or browse all Laravel packages to compare alternatives.
Last updated
Filament Laravel Pulse is a package designed to enhance your Filament dashboard with comprehensive monitoring widgets. It provides insights into various aspects of your Laravel application's performance, including cache usage, exceptions, queues, servers, and more. By integrating these widgets into your Filament dashboard, you gain visibility into critical metrics and streamline your monitoring process.
Filament Laravel Pulse offers the following features:
To integrate the Filament Laravel Pulse package into your project, follow these steps:
This package supports multiple Filament versions. Please install the appropriate version based on your Filament installation:
For Filament 3.x: Install version 1.1.7
composer require dotswan/filament-laravel-pulse:^1.1.7
For Filament 4.x: Install version 2.x
composer require dotswan/filament-laravel-pulse:^2.0
Install Pulse:
composer require laravel/pulse
php artisan vendor:publish --provider="Laravel\Pulse\PulseServiceProvider"
php artisan migrate --step
Install Filament Laravel Pulse:
# For Filament 3.x
composer require dotswan/filament-laravel-pulse:^1.1.7
# For Filament 4.x
composer require dotswan/filament-laravel-pulse:^2.0
Filament Laravel Pulse can be configured to suit your application's specific needs. After installing the package, publish the configuration file using Artisan:
php artisan vendor:publish --provider="Dotswan\FilamentLaravelPulse\FilamentLaravelPulseServiceProvider"
To start using Filament Laravel Pulse, follow these steps:
Create a Custom Filament Page: Extend the default Filament dashboard by creating a custom page. You can define your custom dashboard class and extend app/Filament/Pages/Dashboard.
Define Widgets: Inside your custom dashboard class, define which widgets to include. Use the provided Pulse widgets (PulseCache, PulseExceptions, etc.) to display relevant metrics.
<?php
namespace App\Filament\Pages;
use Dotswan\FilamentLaravelPulse\Widgets\PulseCache;
use Dotswan\FilamentLaravelPulse\Widgets\PulseExceptions;
use Dotswan\FilamentLaravelPulse\Widgets\PulseQueues;
use Dotswan\FilamentLaravelPulse\Widgets\PulseServers;
use Dotswan\FilamentLaravelPulse\Widgets\PulseSlowOutGoingRequests;
use Dotswan\FilamentLaravelPulse\Widgets\PulseSlowQueries;
use Dotswan\FilamentLaravelPulse\Widgets\PulseSlowRequests;
use Dotswan\FilamentLaravelPulse\Widgets\PulseUsage;
use Filament\Actions\Action;
use Filament\Actions\ActionGroup;
use Filament\Pages\Dashboard\Concerns\HasFiltersAction;
use Filament\Support\Enums\ActionSize;
class Dashboard extends \Filament\Pages\Dashboard
{
use HasFiltersAction;
public function getColumns(): int|string|array
{
return 12;
}
protected function getHeaderActions(): array
{
return [
ActionGroup::make([
Action::make('1h')
->action(fn() => $this->redirect(route('filament.manager.pages.dashboard'))),
Action::make('24h')
->action(fn() => $this->redirect(route('filament.manager.pages.dashboard', ['period' => '24_hours']))),
Action::make('7d')
->action(fn() => $this->redirect(route('filament.manager.pages.dashboard', ['period' => '7_days']))),
])
->label(__('Filter'))
->icon('heroicon-m-funnel')
->size(ActionSize::Small)
->color('gray')
->button()
];
}
public function getWidgets(): array
{
return [
PulseServers::class,
PulseCache::class,
PulseExceptions::class,
PulseUsage::class,
PulseQueues::class,
PulseSlowQueries::class,
PulseSlowRequests::class,
PulseSlowOutGoingRequests::class
];
}
}
Example Configuration
Here's an example of what you might find in the published filament-laravel-pulse.php configuration file:
<?php
return [
'components' => [
// Customize and configure your monitoring widgets here
'cache' => [
'columnSpan' => [
'md' => 5,
'xl' => 5,
],
'cols' => 'full',
'ignoreAfter' => '1 hour',
'isDiscovered' => true,
'isLazy' => true,
'sort' => null,
'canView' => true,
'columnStart' => [],
],
// Define more components as needed
],
];
Modify the array under 'components' to adjust settings for each monitoring widget provided by Filament Laravel Pulse.
This package is distributed under the MIT License.
Security is a priority for us. If you encounter any security-related issues or vulnerabilities, please report them via our GitHub issue tracker. For direct communication, reach out to [email protected].
Contributions are welcome and valued. Enhancements, suggestions, and bug reports help improve this package for everyone. Here's how you can contribute:
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)Thank you for considering contributing to the Filament Laravel Pulse!