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

Lara Bug Laravel Package

dennissmink/lara-bug

LaraBug adds lightweight, self-hosted error tracking to Laravel: it captures exceptions with stack traces and request/user context, stores them for review in a dashboard, and can alert you by email or Slack when something breaks.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. LaraBug is a thin, opinionated adapter into Laravel's exception-reporting pipeline: it plugs in at the ExceptionHandler::report() seam, captures the throwable plus request context, and ships a JSON payload to a LaraBug collector endpoint. Architecturally this is a low-coupling insert — one service provider, one config file, one publishable migration step. It does not sit on the request hot path in a blocking way (assuming queued dispatch, see questions), and it does not own the exception handler outright, so it can coexist with Telescope, Sentry, or Bugsnag. The main architectural decision is not "does it fit Laravel" (it does) but which topology: the hosted larabug.com service versus the self-hosted LaraBug server, which is itself a Laravel app with its own database, queue, and auth surface. Self-hosting converts a package dependency into an owned service.

Integration feasibility. Mechanically trivial: composer require, auto-discovery of the service provider, php artisan larabug:install / vendor:publish for config/larabug.php, then a project key and environment variables. A single-app PoC is a half-day; a fleet rollout with a self-hosted collector and SSO is closer to one to two weeks of engineering plus review. The real cost is parity work — matching the grouping, release tagging, and alert routing that an incumbent tool already provides.

Technical risk. The dominant risk is supply chain and bus factor, not code quality. 297 stars and zero dependents is a thin adoption signal for something wired into error handling; a single-maintainer project with this profile means upstream fixes may never land. The release date (2026-10-23) should be verified against the actual tag history — a forward-dated or sparse release cadence is a maintenance smell. Secondary risks: PII leakage (stack traces and request bodies frequently carry tokens, cookies, and user identifiers into a third-party or self-hosted store), recursion/self-reporting loops when the collector is unreachable, and Laravel-11-era exception handler changes plus Octane/long-lived-worker compatibility (singleton state, stale config). MIT license removes legal friction but offers no warranty or indemnity.

Key questions.

  1. Is the collector SaaS, self-hosted, or both — and if self-hosted, who owns patching and uptime?
  2. Is dispatch synchronous or queued, and what is the timeout/retry policy when the endpoint is down?
  3. Does it fail open (swallow errors) in all paths — including TLS failures, DNS failures, and 5xx responses?
  4. Which Laravel/PHP versions are explicitly supported and tested in CI, and is Octane covered?
  5. What data scrubbers exist for headers, cookies, request bodies, and query strings — and can they be configured per environment?
  6. Does the hosted tier offer a DPA, data residency, and retention controls?
  7. What is the maintainer's stated support model and historical issue-response time?

Integration Approach

Stack fit. Strong if and only if the estate is predominantly Laravel/PHP 8.1+. For a polyglot estate (Node services, Go workers, Python jobs), LaraBug covers only a slice, which either forces a two-vendor error-reporting strategy or leaves a visibility gap. Treat it as a Laravel-native tool, not an org-wide observability platform.

Migration path. Do not cut over. Run LaraBug in parallel with the incumbent for 4–6 weeks on one high-traffic production app, then diff capture rates by exception class. Migration is "complete" only when: grouping matches or beats the incumbent, alert routing (Slack/PagerDuty/email) reproduces existing thresholds, release/version tagging is wired into deploy, and on-call has signed off on the new UI. Retire the old tool only after a full incident cycle has been handled on LaraBug alone.

Compatibility. Validate a matrix of Laravel versions actually in the estate (e.g., 9/10/11) × PHP 8.1/8.2/8.3, plus Octane and queue-worker contexts. The Laravel 11 withExceptions() API changes how handlers are registered — confirm the package's install path still works or requires manual wiring. Check that config caching (php artisan config:cache) picks up credentials correctly, and that per-environment enable/disable works so local and CI runs don't spam the collector.

Sequencing.

  1. Week 0 — spike: one dev environment, one app, verify payload contents and confirm no PII egress.
  2. Week 1 — topology decision: SaaS vs. self-hosted, with cost model (hosting, DB growth, on-call) attached.
  3. Weeks 2–3 — staging hardening: failure-mode tests — collector offline, slow response, bad key, queue backlog.
  4. Weeks 4–7 — parallel run on one production app; capture-parity report.
  5. Week 8 — fleet rollout via config template; keep a per-app kill switch.
  6. Week 10 — decommission incumbent for covered apps, or retain it for non-Laravel services.

Operational Impact

Maintenance. Package upgrades are cheap; the collector is not. Self-hosting means owning a Laravel app, a database whose primary workload is append-and-grow, queue workers, TLS certs, and upgrades — realistically 0.1–0.2 FTE ongoing. With a single-maintainer upstream, budget for the possibility of forking and maintaining the client package internally; that is a real cost that should be priced before adoption, not after.

Support. Community-only: GitHub issues, no SLA, no vendor escalation. Compare against an incumbent with a support contract. For a tier-1 production dependency this is the weakest dimension; mitigate by keeping the integration thin enough to swap (isolate it behind your own reporting abstraction so the vendor call is one class deep).

Scaling. Cost scales with error volume, not request volume, and error volume spikes exactly when you can least afford it — during incidents, when the collector is also most likely to be degraded. Required controls: client-side sampling and rate limiting, deduplication/grouping before egress, queue-based dispatch with a bounded queue, and a hard circuit breaker so a saturated queue never backpressures the app. Storage growth on self-hosted needs a retention policy (e.g., 30/90-day rolloff) defined on day one, plus index and partition planning.

Failure modes.

  • Collector unreachable → must degrade silently; verify no exception propagates to the user response.
  • Synchronous HTTP in the request path → adds tail latency on every 500; an order-of-magnitude concern under incident load.
  • Recursive reporting → an error inside the reporter generating another report; confirm loop guards.
  • Credential/endpoint misconfiguration → silent total blindness; needs a synthetic canary error on a schedule with an alert if it doesn't land.
  • PII egress → compliance incident; scrubbing must be default-deny, not opt-in.
  • Duplicate reporting during parallel run → alert fatigue and double-paging; route one tool to primary, the other to a muted channel.

Ramp-up. Developer-facing learning curve is minimal — roughly half a day to read the config, understand grouping, and set alert rules; the UI is simpler than Sentry's, which cuts both ways (faster onboarding, fewer triage affordances). The non-trivial ramp is operational: on-call needs a runbook covering collector health, queue depth, retention jobs, key rotation, and the fallback path if the tool is down. Add one tabletop exercise before fleet rollout.

TPM recommendation. Approve for a time-boxed pilot on non-tier-1 Laravel apps, gated on the failure-mode tests and PII review passing. Do not standardize org-wide until upstream release cadence, maintainer responsiveness, and Octane/version coverage are confirmed — and keep the abstraction seam so the decision is reversible.

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.
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
adachsoft/php-code-style