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

Inspector Symfony Laravel Package

inspector-apm/inspector-symfony

Symfony bundle for Inspector APM that adds real-time error tracking and performance monitoring to your application. Capture exceptions, slow requests, SQL queries, and background jobs, then inspect and debug issues from a single dashboard.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit — framework mismatch is the headline finding. The package under review is inspector-apm/inspector-symfony, a Symfony bundle. Our stated target is Laravel. It will not install meaningfully into a Laravel application: it registers a Symfony Bundle class, hooks kernel.request / kernel.exception / kernel.terminate events, and wires Doctrine middleware through the Symfony DI container. Laravel exposes none of those extension points. This is not a "wrap it in a service provider" situation — the bundle's entire value is Symfony-specific auto-instrumentation.

The genuinely reusable asset here is the transitive dependency inspector-apm/inspector-php, which is framework-agnostic: it owns the transaction/segment model, the buffered transport, and the ingestion protocol. The Symfony bundle is best read as reference architecture for how to instrument a framework — which listener maps to which segment type, where Doctrine query timing is captured, how the terminate hook flushes the buffer. If we pursue Inspector at all in a Laravel context, we should be evaluating inspector-apm/inspector-laravel (the vendor's first-party equivalent) or building directly on inspector-php, not this bundle.

Integration feasibility — low as specified, moderate as a pattern source. For a Laravel service, install effort is effectively "replace the package." For a mixed estate running both Symfony and Laravel (plausible if this repo surfaced in our dependency review), the bundle is a legitimate fit for the Symfony half and gives us a consistent vendor, dashboard, and data model across both — that cross-framework consistency is the one real argument for standardizing on Inspector.

Technical risk.

  • Adoption signal is weak. 28 stars, 0 dependents, composite score ~12.4, opportunity ~34.4. Zero dependents on Packagist means essentially no third-party production validation. We would be an early adopter, not a follower.
  • Single-vendor dependency on a commercial SaaS. MIT covers the client; the server side is Inspector's hosted platform. The code is forkable, the backend is not. Outbound data egress to a third party is a procurement and data-residency question, not a code question.
  • Metadata anomaly. The listed last release (2026-05-27) warrants verification against Packagist before we plan around the vendor's cadence; I would not treat that date as reliable until confirmed.
  • Compatibility matrix unverified. Symfony major/minor support, PHP version floor, Doctrine DBAL version, and long-running-worker behaviour (Octane-equivalent, Messenger consumers) all need explicit confirmation. Auto-instrumentation packages are unusually sensitive to runtime model — a bundle that assumes request/response lifecycle semantics will misreport or leak memory in a resident worker.
  • Overhead and PII. APM agents sit on the hot path. Unsampled full-transaction capture with request payload collection can both degrade latency and ship customer data to a third party. Sampling defaults and payload-capture defaults must be reviewed before any production rollout.

Key questions for the vendor or POC.

  1. For a Laravel service, is inspector-laravel the supported path, and does it inherit the same transport and data model as this bundle?
  2. What are the supported PHP and Symfony version ranges, and is there a stated deprecation policy?
  3. Does the transport block the request, and what is the flush behaviour at kernel.terminate and under fatal errors?
  4. What is captured by default — request bodies, headers, SQL bindings? What redaction controls exist?
  5. How does it behave in long-running workers (memory growth, buffer flush interval, per-job transaction boundaries)?
  6. What is the failure mode when the Inspector ingestion endpoint is unreachable — silent drop, disk buffer, or degraded application latency?
  7. Support model: community issues only, or contractual support on a paid tier?

Integration Approach

Stack fit. Do not attempt to install this bundle into Laravel. The correct target for our stack is inspector-apm/inspector-laravel, and the correct decision is made at the vendor level, not the package level — Inspector, Sentry, New Relic, Datadog, and OpenTelemetry-backed options all compete for the same slot. Because OpenTelemetry is the vendor-neutral escape hatch, I would frame this as "Inspector vs. OTel-native," and treat any Inspector adoption as an explicit bet that we will not need to switch backends within ~18 months.

Migration path. There is no migration from this package to a Laravel deployment; there is only a greenfield evaluation of the vendor. If we already run Symfony services, the sequencing is: adopt the bundle there first (lowest-friction surface, first-party fit), validate the vendor's operational behaviour and cost model on a real workload, and only then decide whether to extend Inspector to Laravel via inspector-laravel. If we have no Symfony estate, this package is out of scope entirely and the vendor evaluation proceeds independently.

Compatibility. Pin to an exact version. Confirm the PHP floor against our runtime images, confirm the Symfony LTS versions we actually run, and confirm Doctrine DBAL compatibility if we use Doctrine. Check the bundle's composer.json constraints directly rather than trusting the README, and add a CI job that resolves the dependency against our matrix — for a package with zero dependents, we cannot rely on someone else having found the constraint conflicts.

Sequencing.

  1. Gate 1 — Confirm whether any team in the estate runs Symfony. If no, close this evaluation and redirect to the vendor-level comparison.
  2. Gate 2 — Vendor decision (Inspector vs. alternatives), including procurement, DPA, and data-residency sign-off.
  3. POC in a single non-production Symfony service: install, instrument, measure p50/p99 delta and memory delta under representative load, verify error and query capture fidelity.
  4. Shadow-mode in production behind sampling, with alert routing to a non-critical channel.
  5. Ratify default configuration centrally — sampling rate, redaction list, payload capture off — and publish it as an internal standard so teams do not each configure PII capture differently.
  6. Only then consider extending to Laravel, reusing the ratified configuration.

Operational Impact

Maintenance. Expect a low-but-nonzero maintenance surface. The bundle is thin relative to the underlying PHP SDK, and most churn will arrive transitively through inspector-php and through Symfony major-version bumps. The real cost is configuration drift: without a centrally published config standard, each team will set its own sampling and redaction, and we will discover the inconsistency during an incident or a privacy review. Budget for an owner — this package has no maintainer inside our org by default.

Support. Community-only by default. 28 stars and zero dependents means the issue tracker is quiet, which reads as either "stable" or "nobody is using it" — we should not assume the former. If we standardize on Inspector, negotiate a support tier or accept that our escalation path is a commercial relationship, not an open-source community. A hard fork of the bundle is technically available under MIT but practically means we own a Symfony instrumentation layer, which is not a good use of engineering time.

Scaling. The client is agentless and outbound-HTTPS only, which is operationally simple — no sidecar, no daemon, no host-level install, and it fits containerized deployments cleanly. Scaling concerns are threefold: (a) per-request CPU and memory overhead multiplied across the fleet, (b) egress volume and the resulting SaaS cost curve, which grows with traffic and sampling rate and is therefore a product cost line, not just an infra one, and (c) buffer behaviour under sustained high throughput, where an undersized buffer or an unreachable endpoint becomes a memory question. Sampled tracing should be the default; full capture should require a documented justification.

Failure modes. The critical requirement is that instrumentation never becomes a source of user-facing failure. Verify explicitly that: an unreachable Inspector endpoint degrades to dropped telemetry rather than added latency or exceptions; a full buffer drops data rather than growing unbounded; exceptions inside listeners are swallowed and logged rather than propagated; and fatal-error paths still flush. The insidious failure mode is not an outage — it is silent data loss, where telemetry quietly stops flowing and we believe we have observability we do not. That needs a heartbeat or self-monitoring alert on "no transactions received in N minutes," owned by whoever owns the dashboard.

Ramp-up. Low for an individual developer — install, set an ingestion key, done, which is exactly the problem: the easy path is the unconfigured path. Expect roughly a day of engineering for the POC, and materially more for the surrounding work: dashboard and alert design, sampling policy, redaction rules, on-call runbooks for "APM says the app is slow," and training engineers to read transaction traces rather than only grep logs. The dashboard is the product; the bundle is the easy part. Plan the adoption around the dashboard and alert-tuning effort, not the install.

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.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource