Download the PHP package seanbarton/laravel-periscope without Composer
On this page you can find all versions of the php package seanbarton/laravel-periscope. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download seanbarton/laravel-periscope
More information about seanbarton/laravel-periscope
Files in seanbarton/laravel-periscope
Package laravel-periscope
Short Description A lightweight companion UI for Laravel Telescope with URL-driven filtering and search.
License MIT
Informations about the package laravel-periscope
Laravel Periscope
Laravel Periscope is a lightweight companion UI for Laravel Telescope. It does not collect application telemetry and it does not replace Telescope. It reads Telescope's existing database tables and provides a denser interface for filtering, searching, drilling into entries, and following the lifecycle of a request.
Copyright 2026 Sean Barton, Tortoise IT Limited.
What It Does
- Adds a
/periscopedashboard for Telescope entries. - Uses the existing
telescope_entriesandtelescope_entries_tagstables. - Supports URL-driven saved searches using query parameters.
- Adds date range filtering, live list watch mode, type filters, text search, status/method/path filters, and an errors-only scan.
- Provides detail views for requests, logs, mail, queries, jobs, gates, exceptions, views, models, cache, events, and HTTP client entries.
- Provides a lifecycle view for a request batch so related Telescope entries can be inspected in sequence.
- Shows related error flow and application stack traces with expandable source previews.
- Suppresses Periscope/Telescope dashboard noise from Laravel Debugbar by default.
- Suppresses Periscope-generated Telescope entries by default.
Security
Periscope deliberately inherits Telescope's authorization.
The package route middleware calls Laravel\Telescope\Telescope::check($request). That means the same logic that decides whether the current request can view Telescope also decides whether it can view Periscope. If a user cannot view Telescope, they cannot view Periscope.
Periscope does not define a separate gate, role, policy, user list, password, token, or bypass. The package ships with the normal Laravel web middleware by default, then applies the Telescope authorization check.
For production use, configure Telescope's own authorization as you normally would in your application, usually in app/Providers/TelescopeServiceProvider.php.
If that callback returns false, Periscope returns 403.
Installation
Install the package with Composer:
Then clear Laravel's cached package/config state if needed:
Visit:
Local Path Install
During development, you can include Periscope without copying it into your application by using a Composer path repository:
This keeps Periscope as a separate package while making it available to the Laravel app through vendor/.
Configuration
The package works without publishing its config. Publish it only when you need to change defaults:
Available options:
PERISCOPE_ENABLED=false disables the Periscope routes.
PERISCOPE_PATH=internal/periscope moves the dashboard to a different URL.
PERISCOPE_THEME=default uses the built-in Open Water light theme. Other available themes are harbor, meadow, submarine (Into the Depths), and abyss.
Users can override this env default for their current browser session via the Periscope sidebar theme switcher.
PERISCOPE_DB_CONNECTION can be used when Telescope stores entries on a non-default database connection.
PERISCOPE_EXCLUDE_FROM_TELESCOPE=true automatically adds the Periscope path to Telescope's ignored paths and suppresses Telescope recording while Periscope pages are being served.
PERISCOPE_DISABLE_DEBUGBAR=true automatically disables Debugbar while Periscope is rendering and adds the Periscope/Telescope dashboard paths to Debugbar's ignored paths.
URL Searches
Periscope search state lives in the URL. Copying the URL is the saved search.
Common parameters:
type=requesttypes[]=request&types[]=logfrom=2026-07-13 09:00to=2026-07-13 11:00q=checkouttag=Auth:1method=POSTstatus=500path=/api/orderserrors=1per_page=100
Local browser-only filters, such as ignored entry patterns and selected all-entry subtypes, are stored in local storage.
Error Filtering
The errors=1 filter first applies the normal time/type/search filters, then scans matching Telescope entries for error signals. Requests are included when their Telescope batch contains an error-like entry.
To protect large datasets, the scan is capped by:
PERISCOPE_ERROR_SCAN_TIMEOUT_MSPERISCOPE_ERROR_SCAN_MAX_ENTRIES
This keeps the filter useful for everyday debugging without turning a broad date range into an unbounded database operation.
Keeping Telescope Clean
Periscope tries to avoid polluting Telescope automatically.
By default, the service provider adds the configured Periscope path to telescope.ignore_paths:
It also disables Laravel Debugbar on Periscope routes and adds both the Periscope and Telescope dashboard paths to Debugbar's ignored path list. Existing debugbar Telescope entries are hidden from Periscope lists and counts by default.
This behaviour can be disabled with:
Periscope adds its configured path to telescope.ignore_paths, rejects Telescope entries while the current request is for Periscope, and pauses/flushes Telescope recording around Periscope route handling. This prevents Periscope dashboard refreshes from recording request, query, view, model, cache, log, and similar Telescope entries. It only affects Periscope dashboard traffic; normal application traffic is still handled by your existing Telescope configuration.
Publishing
For open source distribution, the normal route is:
- Create a Git repository, for example
github.com/seanbarton/laravel-periscope. - Push this package code to that repository.
- Add a Git tag such as
v0.1.0. - Submit the repository to Packagist.
- In consuming projects, run
composer require seanbarton/laravel-periscope.
Packagist reads composer.json, so the package name, author, license, autoloading, and Laravel service provider discovery all come from this repository.
Private distribution is also possible using a private Git repository plus a Composer repository entry, Private Packagist, Satis, or a path repository for local/internal projects.
License
Laravel Periscope is open-sourced software licensed under the MIT license.
All versions of laravel-periscope with dependencies
illuminate/contracts Version ^10.0|^11.0|^12.0|^13.0
illuminate/database Version ^10.0|^11.0|^12.0|^13.0
illuminate/routing Version ^10.0|^11.0|^12.0|^13.0
illuminate/support Version ^10.0|^11.0|^12.0|^13.0
laravel/telescope Version ^4.0|^5.0