Download the PHP package danilopolani/filament-memory-tracker without Composer
On this page you can find all versions of the php package danilopolani/filament-memory-tracker. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download danilopolani/filament-memory-tracker
More information about danilopolani/filament-memory-tracker
Files in danilopolani/filament-memory-tracker
Package filament-memory-tracker
Short Description Track the memory usage of your workers and display them in Filament
License MIT
Homepage https://github.com/danilopolani/filament-memory-tracker
Informations about the package filament-memory-tracker
Filament Memory Tracker
Track the memory usage of your workers and display them in Filament.
If you're using Filament v1, please navigate the 1.x branch.
Installation
Install the package via composer:
Then publish the assets and the config of the package:
If you're upgrading from v1 to v2 please note that the namespace changed from
\DaniloPolani\
to\DaniloPolani\
.
Upgrade
When upgrading be sure to republish the assets:
Configuration
There are a few notable configuration options for the package.
Key | Type | Description |
---|---|---|
cache_store |
String | Define the cache store used to track memory usage. By default it will be your CACHE_DRIVER env value. |
trackers |
Array | A list of trackers names to be displayed in the dashboard. They must be the same used in your MemoryTracker() instance. See Usage below to discover more. |
date_format |
String | The DateTime format to display dates. |
Usage
In your Worker create a new MemoryTracker
instance and then ping the track()
method every time you want. There's an example with ReactPHP Event Loop.
ℹ️ | The $realUsage flag is the same as memory_get_usage(). |
---|
Then don't forget to add your tracker name inside the configuration too:
Track restarts
You can track the latest Worker restart date and memory usage as well! If you're working on a custom Worker, you should intercept the exit signals and then call the $memoryTracker->trackRestart()
method. Otherwise you can use the Trait provided by the package to achieve that:
- Include
DaniloPolani\FilamentMemoryTracker\Concerns\TracksRestart
inside your class; - Call
$this->trackRestartMemory(MemoryTracker $memoryTrackerInstance)
inside your constructor.
⚠️ | The TracksRestart requires the extension pcntl to be enabled. |
---|
Laravel Queue
You can track Laravel Queue too by listening to some specific events in a provider, for example your AppServiceProvider
.
Additional notes
- The widget will refresh every 5s automatically;
- By default the widget will be shown full-width if there's more than 1 tracker; otherwise, the widget will be a single block:

APIs
These are the available methods of the MemoryTracker
class:
Key | Description |
---|---|
track(): void |
Track the current memory usage for the worker. |
trackRestart(bool $resetPeak = true): void |
Track a restart. If $resetPeak is true, the memory peak will be purged as well. |
getHistory(): array |
Get the worker's history of memory usage. |
getPeak(): array\|null |
Get the worker's memory peak. Returns null if no peak found. |
getLatestRestart(): array\|null |
Get the worker's latest restart data. Returns null if no restart found. |
purge(): void |
Purge all the data of the current worker. |
purgeHistory(): void |
Purge the track history only of the current worker. |
purgePeak(): void |
Purge the memory peak of the current worker. |
purgeRestart(): void |
Purge the latest restart data of the current worker. |
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Credits
- Danilo Polani
- All Contributors
License
The MIT License (MIT). Please see License File for more information.
Laravel Package Boilerplate
This package was generated using the Laravel Package Boilerplate.
All versions of filament-memory-tracker with dependencies
filament/filament Version ^2.5
illuminate/support Version ^8.0|^9.0|^10.0
illuminate/contracts Version ^8.0|^9.0|^10.0
livewire/livewire Version ^2.6