Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Telescope Laravel Package

laravel/telescope

Laravel Telescope is an elegant debug assistant for Laravel, giving you insight into requests, exceptions, logs, database queries, queued jobs, mail, notifications, cache operations, scheduled tasks, and variable dumps. A perfect companion for local development.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. Telescope is a first-party Laravel package that attaches to the framework's event system as a passive listener layer. It registers watchers (request, exception, log, query, job, mail, notification, cache, schedule, dump, gate, model, HTTP client) and persists each root event plus its children as a batch into dedicated telescope_entries / telescope_entries_tags tables. From a TPM standpoint this is the ideal shape for adoption: no architectural change to the host application, no public API surface you must build against, and a clean removal path (drop tables, remove provider). It is also explicitly a debug assistant, not an APM or telemetry pipeline — the storage driver is the application database, and there is no pluggable backend.

Integration feasibility. Composer install, publish config + migrations, migrate, gate the UI, restrict by environment. Realistically a half-day for one engineer including redaction and pruning. The migrations are purely additive (new tables), so blast radius on an existing schema is minimal. The main feasibility caveat is that "install it" and "operate it safely" are different amounts of work — the second part is where TPM attention belongs.

Technical risk.

  • Write amplification and table growth. Every watched request/job/command writes one row plus N tag/child rows to the primary database. On high-throughput staging this dominates writes and inflates storage. Mitigations exist (separate storage.database.connection, watcher-level toggles, ignore_paths, Telescope::filter, Telescope::withoutRecording, scheduled telescope:prune), but they must be decided, not defaulted.
  • Sensitive data capture. Request payloads and headers, mail bodies, job payloads, exception traces, and model attributes are recorded. Without hideRequestParameters / hideRequestHeaders and explicit ignore filters this is a PII and secrets exposure vector. This is the single highest-severity risk in the package and is entirely a configuration/ownership problem.
  • Long-running process memory. The changelog history is instructive: fixes for memory leaks from MakeSearchable jobs, from hideRequestParameters/hideRequestHeaders, and for jobs stuck "pending" forever. These are resolved, but they signal that payload size and worker lifetime are genuine operational sharp edges.
  • Boot-path coupling. Fixes such as "handle redis connection exception on DumpWatcher register" and "move cache read inside handler" show that watchers can interact with cache/Redis during boot. Any watcher that assumes a healthy cache becomes a new failure dependency.
  • Fast patch cadence, no ecosystem pressure. Dependents: 0 is expected — this is a product package, not a library others build on — which means no third-party compatibility pressure, but also no external contracts constraining change. Recent releases add migrations (e.g., primary keys on Telescope tables), so upgrades can require attention on large tables.
  • Capability overlap. Telescope vs. Laravel Pulse vs. Sentry/Bugsnag is a positioning question, not a technical one, and it drives cost. Telescope answers "what exactly happened in this request?"; Pulse answers "how is the system trending?"; Sentry answers "what is breaking in production?". Buying Telescope does not remove any of those.

Key questions for the adopting team. Which environments will run it, and is production in scope at all? What is the retention window and is storage costed? Who owns the Telescope::auth gate and the redaction list, and is that reviewed like code? Will it use the primary DB or a dedicated connection? What is the overlap decision versus Pulse and the existing error tracker? Does the app run Octane, Horizon, or Vapor, and are any workers long-lived?

Integration Approach

Stack fit. Native fit for any Laravel application on PHP 8+ (PHP 8 support landed in 4.3.0, Laravel 10 in 4.12.0, Octane preparation in 4.4.7, Vapor-specific fix in 4.15.2). Because it is first-party, it carries no third-party maintainer risk and no transitive dependency surface. It composes rather than competes with Horizon (queue ops), Pulse (production metrics), and external error trackers — the package already filters its own and Pulse traffic (4.17.3).

Migration path. Additive and reversible. composer require laravel/telescope --dev for the common case, publish config and migrations, migrate, then configure environment gating. Uninstall is symmetric: remove the provider, drop the tables. No existing tables are altered, so there is no data-migration project here — this is a tooling ticket, not a platform initiative.

Compatibility. Requires a working SQL database connection; MySQL/Postgres/SQLite all work through Eloquent. Front-end assets ship precompiled, so the Mix→Vite churn (4.17.0–4.17.2, ultimately reverted) is not a consumer concern. The real compatibility constraint is Laravel major version: pin Telescope to a minor and pair it with the app's framework upgrade cycle.

Sequencing.

  1. Install in local/dev only; publish config and migrations.
  2. Lock down access before enabling: environment allowlist plus the viewTelescope gate — treat this as a security control, reviewed like auth code.
  3. Enable watchers selectively. Start with request, exception, query, job, schedule; defer mail, notification, and dump until redaction is proven.
  4. Add redaction (hideRequestParameters, hideRequestHeaders, ignore filters, ignore_paths for queries).
  5. Move storage to a dedicated connection if staging is shared or busy.
  6. Schedule telescope:prune and monitor the job, not just configure it.
  7. Pilot with 3–5 engineers, then codify the batch mental model and the terminal-first workflow (the shipped agent skill's two artisan commands) into onboarding and the debugging runbook.
  8. Only then evaluate any non-production-limited or sampled production use, with a documented exit plan.

Operational Impact

Maintenance. Low code-maintenance, non-zero operational-maintenance. Composer updates are routine, but pruning must be scheduled and alerted on; table growth should have a threshold; upgrades occasionally add migrations. Treat it as a pinned dependency updated on a monthly cadence rather than a set-and-forget dev tool. Assign one named owner.

Support. MIT licensed, no SLA, no vendor contract — support flows through the Laravel organisation's release process and community PRs. The practical implication for a TPM: keep Telescope out of any critical production path where an SLA would be required, and rely on internal Laravel expertise for triage. Because it is first-party, the bus factor is effectively the framework's, which is acceptable.

Scaling. Scales down well and up poorly. Per-request write cost grows linearly with traffic and with watcher breadth; the UI reads from the same database, so debugging sessions on a loaded staging DB compete with the app. Pruning deletes in chunks (4.17.3) which keeps deletes bounded, but they are still load. Recommendation: unrestricted in local, filtered with a dedicated connection and short retention in shared staging, and off — or tightly sampled — in production unless a specific incident workflow justifies it.

Failure modes to plan for. Unbounded growth filling the disk in dev/staging; sensitive values captured and retained; queue worker memory growth on large payloads; watcher boot-time exceptions when cache/Redis is unhealthy; misleading data (jobs stuck "pending", duplicate queries across connections) sending engineers down the wrong path; and gate misconfiguration exposing request bodies and headers to anyone who can reach /telescope.

Ramp-up. Near zero for application engineers — the UI is self-explanatory and the official documentation is complete. The one concept worth deliberate teaching is the batch model (a root entry carrying every query, cache op, log, event, exception, and view it produced), because that is what turns Telescope from "a log viewer" into a reproduction tool. Budget one onboarding session per engineer plus a short runbook; the bundled agent skill meaningfully lowers the cost of AI-assisted debugging by moving the workflow to the terminal. Highest ROI is on new-hire onboarding and bug reproduction, which is where the TPM should frame the business case — not as observability investment, but as a standard developer-experience baseline with a small, well-understood operational tail.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo
bernskioldmedia/laravel-harvest
bernskiold/laravel-data-scrubber
bernskiold/laravel-currency-converter
bernskiold/laravel-campaign-monitor
bernskioldmedia/laravel-autotranslate
siberfx/telegram-bot
roy-sandip/laravel-view-extended
gregsphotography/site-builder-core
roy-sandip/laravel-view
anodyne/blade-fluentui-icons
webx-ui/module-catalog-collections