Search by

gecole / telescope

ecoleplus

A local request, query, exception and job inspector for the Gecole framework, stored in its own SQLite database.

Package info

gitlab.com/gecole/telescope

Issues

pkg:composer/gecole/telescope

Statistics

Installs: 3

Dependents: 0

Suggesters: 0

Stars: 0

dev-master 2026-11-08 15:11 UTC

This package is auto-updated.

Last update: 2026-11-08 15:11:30 UTC


README

A local inspector for requests, SQL queries, exceptions, queued jobs and scheduled tasks. It ships as an optional package so the framework core stays dependency-free.

composer require gecole/telescope

Add the provider:

// config/app.php
'providers' => [
    // …
    \Gecole\Telescope\TelescopeServiceProvider::class,
],

Open http://localhost:8000/telescope. The provider is enabled outside production by default; set TELESCOPE_ENABLED=false to turn it off everywhere.

Publish the editable configuration when you need to change it:

php bin/console vendor:publish --tag=config
# config/telescope.php now exists; use --force to replace an existing copy

Its own database

Telescope never uses the application connection. It opens storage/framework/telescope.sqlite directly, so recording a query cannot generate another inspected query. Point it somewhere else with TELESCOPE_DATABASE or the published config/telescope.php.

// config/telescope.php
return [
    'enabled' => (bool) env('TELESCOPE_ENABLED', true),
    'path' => 'telescope',
    'database' => storage_path('framework/telescope.sqlite'),
    'public' => false,   // loopback requests are allowed by default
    'limit' => 5000,     // newest entries kept
    'ignore' => ['telescope', 'health', 'favicon.ico'],
    'max_queries' => 100,
];

Only loopback requests reach the dashboard unless public is true. When the dashboard is exposed through a proxy or another auth layer, enable public and keep that layer in front of it.

What is recorded

TypeDetails
requestmethod, path, status, duration, IP, headers, response size, query count
querySQL, bindings, duration; redacts credentials in bindings
exceptionclass, message, file, line and a compact trace
jobprocessed, released and failed jobs with queue and attempts
schedulescheduled task runs and failures

Entry pages open with a structured overview: request metadata, highlighted SQL and bindings, an exception callout with its trace, or job details. The raw JSON payload stays available in a collapsible, syntax-highlighted panel.

Headers, tokens, cookies, passwords and API keys are redacted before they reach the store.

Commands

php bin/console telescope:clear
php bin/console telescope:prune --hours=24

Entries are also pruned automatically once the configured limit is exceeded.

Notes

  • The dashboard is read-only apart from Clear.
  • Route caching includes the package routes; clear the route cache after installing or removing the package.
  • Recording failures are logged once and never replace an application response.