Laravel application performance monitoring

Related tags

Laravel gauge
Overview

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, [
                '[email protected]'
            ]);
        });
    }

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.

Comments
  • Avoid to break migrations checking if already exists

    Avoid to break migrations checking if already exists

    I was getting this error to re-run the migrations on the test database:

    Migrating: 2018_08_08_100000_create_gauge_entries_table   Illuminate\Database\QueryException  : SQLSTATE[42P07]: Duplicate table: 7 ERROR:  relation "gauge_entries" already exists (SQL: create table "gauge_entries" ("sequence" bigserial primary key not null, "uuid" uuid not null, "family_hash" varchar(255) not null, "type" varchar(20) not null, "duration" integer not null, "content" jsonb not null, "created_at" timestamp(0) without time zone null))  at /var/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php:669
        665|         // If an exception occurs when attempting to run a query, we'll format the error
        666|         // message to include the bindings with SQL, which will make this exception a
        667|         // lot more helpful to the developer instead of just the database's errors.
        668|         catch (Exception $e) {
      > 669|             throw new QueryException(
        670|                 $query, $this->prepareBindings($bindings), $e
        671|             );
        672|         }
        673|   Exception trace:  1   Doctrine\DBAL\Driver\PDO\Exception::("SQLSTATE[42P07]: Duplicate table: 7 ERROR:  relation "gauge_entries" already exists")
          /var/www/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDO/Exception.php:18  2   Doctrine\DBAL\Driver\PDO\Exception::new(Object(PDOException))
          /var/www/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:117
    

    To avoid that we can only check if the database already have the related table that is what we have on this PR.

    opened by ferfabricio 4
  • css & js is not in correct location

    css & js is not in correct location

    base.css is available in vendor/tobiasdierich/guage/public/base.css but in defult blade it is written as vendor/gauge/ AWA charts.js is availble in vendor/tobiasdierich/guage/public/charts.js but in defult blade it is written as vendor/gauge/

    opened by abbasmashaddy72 4
  • Requests pagination error

    Requests pagination error

    Requests pagination error

    ErrorException
    Trying to get property 'content' of non-object (View: /...../vendor/tobiasdierich/gauge/resources/views/components/method-badge.blade.php)
    https://....../requests/e0e39d220ff38421b6dd61a998975b28?page=2
    

    image

    opened by dyanakiev 2
  • POST gauge/gauge-api/requests/metrics 419 (unknown status)

    POST gauge/gauge-api/requests/metrics 419 (unknown status)

    Thanks for the package. Doesn't show the live charts, has this error in the console.

    POST gauge/gauge-api/requests/metrics 419 (unknown status)
    gauge:1 Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0
    
    bug 
    opened by mokhosh 2
  • Fix composer php dependency

    Fix composer php dependency

    Laravel v6 require php >= 7.2.5 Laravel v7 require php >= 7.2.5 Laravel v8 require php >= 7.3

    composer.json:

    "php": "^7.4",
    "laravel/framework": "^6.0|^7.0|^8.0",
    
    opened by soufiene-slimi 1
Releases(v0.0.5)
Owner
Tobias Dierich
CS Student, Freelancer and developer at @codelayerhq. Interested in web development and networks.
Tobias Dierich
Laravel package to find performance bottlenecks in your laravel application.

Laravel Meter Laravel Meter monitors application performance for different things such as requests, commands, queries, events, etc and presents result

Sarfraz Ahmed 230 Dec 27, 2022
Laravel Segment is an opinionated, approach to integrating Segment into your Laravel application.

Laravel Segment Laravel Segment is an opinionated, approach to integrating Segment into your Laravel application. Installation You can install the pac

Octohook 13 May 16, 2022
Jetstrap is a lightweight laravel 8 package that focuses on the VIEW side of Jetstream / Breeze package installed in your Laravel application

A Laravel 8 package to easily switch TailwindCSS resources generated by Laravel Jetstream and Breeze to Bootstrap 4.

null 686 Dec 28, 2022
Laravel Jetstream is a beautifully designed application scaffolding for Laravel.

Laravel Jetstream is a beautifully designed application scaffolding for Laravel. Jetstream provides the perfect starting point for your next Laravel application and includes login, registration, email verification, two-factor authentication, session management, API support via Laravel Sanctum, and optional team management.

The Laravel Framework 3.5k Jan 8, 2023
Laravel Larex lets you translate your whole Laravel application from a single CSV file.

Laravel Larex Translate Laravel Apps from a CSV File Laravel Larex lets you translate your whole Laravel application from a single CSV file. You can i

Luca Patera 68 Dec 12, 2022
A Laravel extension for using a laravel application on a multi domain setting

Laravel Multi Domain An extension for using Laravel in a multi domain setting Description This package allows a single Laravel installation to work wi

null 658 Jan 6, 2023
Laravel application project as Sheina Online Store backend to be built with Laravel and VueJS

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Boas Aditya Christian 1 Jan 11, 2022
A Laravel chat package. You can use this package to create a chat/messaging Laravel application.

Chat Create a Chat application for your multiple Models Table of Contents Click to expand Introduction Installation Usage Adding the ability to partic

Tinashe Musonza 931 Dec 24, 2022
Laravel-tagmanager - An easier way to add Google Tag Manager to your Laravel application.

Laravel TagManager An easier way to add Google Tag Manager to your Laravel application. Including recommended GTM events support. Requirements Laravel

Label84 16 Nov 23, 2022
Foreman is a Laravel scaffolding application that automates common tasks you typically perform with each new Laravel app you create

Foreman is a Laravel scaffolding application that automates common tasks you typically perform with each new Laravel app you create. The directives you want Forman to perform are outlined in a JSON based template file.

Indatus 145 Apr 13, 2022
Laravel Logable is a simple way to log http request in your Laravel application.

Laravel Logable is a simple way to log http request in your Laravel application. Requirements php >= 7.4 Laravel version >= 6.0 Installation composer

Sagar 6 Aug 25, 2022
Laravel comments - This package enables to easily associate comments to any Eloquent model in your Laravel application

Laravel comments - This package enables to easily associate comments to any Eloquent model in your Laravel application

Rubik 4 May 12, 2022
List of 77 languages for Laravel Framework 4, 5, 6, 7 and 8, Laravel Jetstream , Laravel Fortify, Laravel Breeze, Laravel Cashier, Laravel Nova and Laravel Spark.

Laravel Lang In this repository, you can find the lang files for the Laravel Framework 4/5/6/7/8, Laravel Jetstream , Laravel Fortify, Laravel Cashier

Laravel Lang 6.9k Jan 2, 2023
Catch incoming emails in your Laravel application

Laravel Mailbox ?? Handle incoming emails in your Laravel application. Mailbox::from('{username}@gmail.com', function (InboundEmail $email, $username)

Beyond Code 918 Jan 2, 2023
Deploy and execute non-PHP AWS Lambda functions from your Laravel application.

Sidecar for Laravel Deploy and execute non-PHP AWS Lambda functions from your Laravel application. Read the full docs at hammerstone.dev/sidecar/docs.

Hammerstone 624 Dec 30, 2022
Livewire component that brings Spotlight/Alfred-like functionality to your Laravel application.

About LivewireUI Spotlight LivewireUI Spotlight is a Livewire component that provides Spotlight/Alfred-like functionality to your Laravel application.

Livewire UI 792 Jan 3, 2023
A Laravel package helps you add a complete real-time messaging system to your new / existing application with only one command.

A Laravel package helps you add a complete real-time messaging system to your new / existing application with only one command.

Munaf Aqeel Mahdi 1.7k Jan 5, 2023
Laravel package that converts your application into a static HTML website

phpReel Static Laravel Package phpReel Static is a simple Laravel Package created and used by phpReel that converts your Laravel application to a stat

phpReel 16 Jul 7, 2022
A simple package to manage the creation of a structure composed of the service and repository layers in a Laravel application

Chapolim Este projeto tem como objetivo fornecer alguns comandos adicionais à interface de linha de comando do Laravel, o Artisan, para manipular a es

Eliezer Alves 51 Dec 11, 2022