PHPackages                             wamesk/laravel-telescope-dashboard - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Debugging &amp; Profiling](/categories/debugging)
4. /
5. wamesk/laravel-telescope-dashboard

ActiveLibrary[Debugging &amp; Profiling](/categories/debugging)

wamesk/laravel-telescope-dashboard
==================================

Advanced Telescope Dashboard with Vue 3 UI and type-specific filtering

1.2.0(2mo ago)051↓75%MITVuePHP ^8.2

Since Feb 23Pushed 2mo agoCompare

[ Source](https://github.com/wamesk/laravel-telescope-dashboard)[ Packagist](https://packagist.org/packages/wamesk/laravel-telescope-dashboard)[ RSS](/packages/wamesk-laravel-telescope-dashboard/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (3)Dependencies (4)Versions (6)Used By (0)

Laravel Telescope Dashboard
===========================

[](#laravel-telescope-dashboard)

Advanced replacement for the default Laravel Telescope UI. Built with **Vue 3**, **Tailwind CSS**, and type-specific filtering optimized with virtual generated columns for MySQL and MariaDB.

Features
--------

[](#features)

- **18 entry types** - Requests, Queries, Exceptions, Jobs, Logs, Mail, Events, Cache, Commands, Schedule, Models, Gates, Dumps, Notifications, Redis, Client Requests, Batches, Views
- **Type-specific filters** - Each entry type has its own set of relevant filters (HTTP method, status code, duration, log level, job status, etc.)
- **Virtual column optimization** - MySQL/MariaDB generated columns with composite indexes for fast filtering on large datasets
- **Dark / Light mode** - Theme toggle with localStorage persistence
- **URL state sync** - Filters and sorting are synced to URL query params for bookmarkable views
- **Column sorting** - Sort by sequence, created\_at, duration, or query time with ASC/DESC toggle
- **Inline &amp; full-page detail** - Expand entries in the table or open a full-page detail view with tabs
- **Related entries** - View all entries from the same batch grouped by type
- **JSON viewer** - Recursive viewer with expand/collapse and string truncation
- **Copy to clipboard** - Copy entry UUID or full JSON content
- **Multi-language** - English, Slovak, and Czech translations
- **Authorization** - Gate-based access control (default: `viewTelescope`)
- **Responsive** - Collapsible sidebar for mobile devices

Requirements
------------

[](#requirements)

- PHP 8.2+
- Laravel 11.0+
- Laravel Telescope 5.0+
- MySQL 8.0+ or MariaDB 10.2+ (for virtual generated columns and JSON functions)

Installation
------------

[](#installation)

### 1. Install via Composer

[](#1-install-via-composer)

```
composer require wamesk/laravel-telescope-dashboard
```

### 2. Publish assets

[](#2-publish-assets)

```
php artisan vendor:publish --tag=telescope-dashboard-assets
```

### 3. Run migrations

[](#3-run-migrations)

The package adds virtual generated columns and indexes to the `telescope_entries` table for optimized filtering:

```
php artisan migrate
```

### 4. (Optional) Publish configuration

[](#4-optional-publish-configuration)

```
php artisan vendor:publish --tag=telescope-dashboard-config
```

Configuration
-------------

[](#configuration)

After publishing, the config file is located at `config/wame-telescope-dashboard.php`:

```
return [
    // Enable or disable the dashboard
    'enabled' => env('TELESCOPE_DASHBOARD_ENABLED', true),

    // URL path for the dashboard
    'path' => env('TELESCOPE_DASHBOARD_PATH', 'telescope-dashboard'),

    // Laravel gate used for authorization
    'gate' => env('TELESCOPE_DASHBOARD_GATE', 'viewTelescope'),

    // Database connection for telescope data
    'connection' => env('DB_CONNECTION_TELESCOPE', 'mysql_telescope'),

    // Default number of entries per page
    'per_page' => 50,

    // Maximum entries per page (security limit)
    'max_per_page' => 200,

    // Route group patterns for request filtering
    'route_groups' => [
        'api'      => '/api/v*',
        'nova-api' => '/nova-api/*',
        'web'      => '/*',
    ],

    // Path to original Telescope (for "View in Telescope" links)
    'telescope_path' => env('TELESCOPE_PATH', 'telescope'),

    // Middleware applied to all dashboard routes
    'middleware' => ['web', 'auth'],
];
```

Authorization
-------------

[](#authorization)

The dashboard uses a Laravel gate for access control. By default, it checks the `viewTelescope` gate, which is typically defined by Telescope itself in `app/Providers/TelescopeServiceProvider.php`:

```
Gate::define('viewTelescope', function ($user) {
    return in_array($user->email, [
        'admin@example.com',
    ]);
});
```

You can change the gate name via the `gate` config option or the `TELESCOPE_DASHBOARD_GATE` environment variable.

Usage
-----

[](#usage)

Once installed, visit your application at:

```
https://your-app.test/telescope-dashboard

```

### Filtering

[](#filtering)

Each entry type provides its own set of filters. Examples:

Entry TypeAvailable Filters**Requests**HTTP method, URI, status code (2xx/3xx/4xx/5xx), min duration, route group, user email**Queries**Slow queries (&gt;100ms), query type (SELECT/INSERT/UPDATE/DELETE), min duration**Exceptions**Exception class**Jobs**Status (pending/completed/failed), job name**Logs**Level (emergency, alert, critical, error, warning, notice, info, debug)**Mail**Mailable class, recipient, subject**Models**Action (created/updated/deleted), model type**Gates**Ability, result (allowed/denied)**Cache**Type (hit/missed/set/forget), keyAll entry types also support **date range** and **content search** filters.

### Sorting

[](#sorting)

Entries can be sorted by:

- **Sequence** (default) - Insertion order
- **Created at** - Timestamp
- **Duration** - Request duration (requests only)
- **Time** - Query execution time (queries only)

### URL State

[](#url-state)

All filter and sorting states are synced to URL query parameters. This means you can bookmark or share filtered views:

```
/telescope-dashboard/#/requests?methods=GET,POST&statuses=4xx,5xx&sort_by=c_duration&sort_direction=desc

```

Database Optimization
---------------------

[](#database-optimization)

The package adds **virtual generated columns** (compatible with MySQL 8.0+ and MariaDB 10.2+) to the `telescope_entries` table for efficient filtering without modifying stored data:

ColumnSourceType`c_method``content->$.method``VARCHAR(10)``c_uri``content->$.uri``VARCHAR(500)``c_response_status``content->$.response_status``SMALLINT UNSIGNED``c_duration``content->$.duration``DECIMAL(10,2)``c_time``content->$.time``DECIMAL(10,2)`Each virtual column has a **composite index** with `(type, should_display_on_index, )` for optimal query performance.

API Endpoints
-------------

[](#api-endpoints)

The dashboard exposes the following JSON API endpoints (all protected by auth + gate middleware):

MethodEndpointDescription`POST``/telescope-dashboard/api/entries`Search entries with filters and sorting`GET``/telescope-dashboard/api/entries/{uuid}`Get a single entry`GET``/telescope-dashboard/api/entries/{uuid}/detail`Get entry with related batch entries`GET``/telescope-dashboard/api/filters/{type}`Get available filter values for an entry typeFrontend Development
--------------------

[](#frontend-development)

To modify the Vue 3 frontend:

```
cd wamesk/laravel-telescope-dashboard

# Install dependencies
npm install

# Start dev server with HMR
npm run dev

# Build for production
npm run build
```

The frontend stack:

- **Vue 3.4+** with Composition API
- **Vue Router 4.3+** (hash mode)
- **Tailwind CSS 3.4+**
- **Vite 5.0+**

After building, publish updated assets:

```
php artisan vendor:publish --tag=telescope-dashboard-assets --force
```

Translations
------------

[](#translations)

The package ships with English, Slovak, and Czech translations. To publish and customize:

```
php artisan vendor:publish --tag=telescope-dashboard-translations
```

Translation files are located in `resources/lang/{en,sk,cz}/telescope-dashboard.php`.

Comparison with Default Telescope UI
------------------------------------

[](#comparison-with-default-telescope-ui)

FeatureDefault TelescopeThis PackageUI frameworkBlade templatesVue 3 SPAFilteringBasicType-specific with 18 filter variantsSortingSequence onlySequence, created\_at, duration, timeQuery performanceDirect JSON queriesVirtual columns + composite indexes (MySQL &amp; MariaDB)ThemeLight onlyDark / Light with toggleURL stateNoneFull filter/sort syncEntry detailsSeparate pageInline expand + full-page detailBatch viewingFlat listGrouped by entry typeCopy supportNoneUUID and JSON copyResponsiveDesktop-focusedMobile-friendlyTranslationsEnglish onlyEN, SK, CZLicense
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance86

Actively maintained with recent releases

Popularity11

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 83.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~5 days

Total

5

Last Release

62d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2bf6ece61ae07942df38ce88eb4053d4176c6ab0bf803191953961023f25fc70?d=identicon)[WAME](/maintainers/WAME)

---

Top Contributors

[![adrianzofcin](https://avatars.githubusercontent.com/u/75702986?v=4)](https://github.com/adrianzofcin "adrianzofcin (5 commits)")[![stanislav-cervenak](https://avatars.githubusercontent.com/u/6931349?v=4)](https://github.com/stanislav-cervenak "stanislav-cervenak (1 commits)")

### Embed Badge

![Health badge](/badges/wamesk-laravel-telescope-dashboard/health.svg)

```
[![Health](https://phpackages.com/badges/wamesk-laravel-telescope-dashboard/health.svg)](https://phpackages.com/packages/wamesk-laravel-telescope-dashboard)
```

###  Alternatives

[fruitcake/laravel-telescope-toolbar

Toolbar for Laravel Telescope based on Symfony Web Profiler

8041.6M3](/packages/fruitcake-laravel-telescope-toolbar)[laracraft-tech/laravel-xhprof

Easy XHProf setup to profile your laravel application!

235321.4k](/packages/laracraft-tech-laravel-xhprof)[spatie/laravel-artisan-dd

Run dd from your commandline

16387.7k1](/packages/spatie-laravel-artisan-dd)[bavix/laravel-xhprof

Quick profiling of your code for Laravel

22156.6k](/packages/bavix-laravel-xhprof)[thehocinesaad/laravel-error-ai

This package adds Ask AI button to the error page.

2214.4k](/packages/thehocinesaad-laravel-error-ai)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
