Skip to content

tobiasdierich/gauge

Repository files navigation

Gauge - Laravel Application Performance Monitoring

Latest Version on Packagist Software License Total Downloads

Gauge is an easy to use package to monitor the performance of your Laravel applications. Gauge in based on Laravel Telescope.

Gauge

Requirements

Gauge works with the latest Laravel version starting at v6. The package has been tested with the latest versions of MySQL (v8) and Postgres (v13). Other version might work as well but are not supported officially.

Installation

Install the package via composer:

composer require tobiasdierich/gauge

After installing Gauge, publish the assets and run the migrations be executing the following commands:

php artisan gauge:install
php artisan migrate

Once done, open the Gauge dashboard at /gauge.

Data Pruning

Since gauge collects a bunch of data when enabled, you have to make sure to regularly prune old data from the database. Gauge comes with a prune command which by default removes all database entries older than a week. Setup your scheduler to prune old entries daily like this:

$schedule->command('gauge:prune')->daily();

Dashboard Authorization

By default, the dashboard exposed at /gauge is only accessible in local environments. If you want to access the dashboard in production environments, you can modify the gate function inside your app/providers/GaugeServiceProvider.php:

/**
     * Register the Gauge gate.
     *
     * This gate determines who can access Gauge in non-local environments.
     *
     * @return void
     */
    protected function gate()
    {
        Gate::define('viewGauge', function ($user) {
            return in_array($user->email, [
                'foo@bar.com'
            ]);
        });
    }

Configuration

The main configuration file is located at config/gauge.php. Use this file to disable Gauge, configure the watchers, etc.

Credits

License

The MIT License (MIT). Please check the License File for more information.