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

Elastic Apm Symfony Bundle Laravel Package

myschoolmanagement/elastic-apm-symfony-bundle

A Symfony bundle that integrates Elastic APM with your application, providing distributed tracing, transaction and error monitoring, and performance insights. Track requests, identify bottlenecks, and diagnose failures with minimal setup and configuration.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Observability build-vs-buy: decides between (a) an in-app PHP bundle writing to Elastic APM Server, (b) the official elastic/apm-agent-php extension, or (c) OpenTelemetry PHP + Collector. 1.0.6 (listeners moved to the kernel.finish_request event) is a reliability fix that materially reduces the "traces arrive incomplete / spans missing at request end" failure mode — which is exactly the class of defect that makes an APM rollout look broken to stakeholders.
  • Roadmap justification: funds SLO/error-budget work and latency regression detection by making per-route transaction and span data available without a platform-wide agent rollout.
  • Incident-triage capability: gives on-call request-level traces correlated to errors in Kibana/APM, shortening MTTR for the services that adopt it.
  • Adoption risk re-scoring: a 1.0.6 patch on a small, single-maintainer package is a positive maintenance signal but not a stability guarantee — treat it as "actively maintained, pre-2.0," suitable for incremental rollout behind a feature flag, not as a platform-wide standard.
  • Instrumentation scope decision: because listeners now fire on finish_request (an HTTP-kernel event), this is scoped to web request lifecycles. If your roadmap includes Messenger consumers, queued jobs, or long-running workers (Octane, RoadRunner, Swoole), you must separately decide how those get traced — this package does not cover them by default.

When to Consider This Package

Adopt when:

  • You are on Symfony (or a Laravel app comfortable pulling Symfony HttpKernel-based bundles) and already run, or have committed to, an Elastic APM Server (Elastic Cloud or self-hosted).
  • You want code-level transactions/spans — per-route naming, custom spans, exception capture — without installing and operating a PHP extension across every host/container.
  • You can accept a ~1.0.x package with a small maintainer base, and you pin the version and review config (sampling rate, capture_body, SQL bindings, header redaction) before production.
  • APM is complementary: your product still functions correctly if telemetry drops.

Look elsewhere when:

  • Your stack is Laravel-first: prefer the official elastic/apm-agent-php (zero-code auto-instrumentation, broader framework coverage) or OpenTelemetry PHP if you want vendor-neutral traces across non-PHP services.
  • You need the same tracing standard across polyglot services, or you require vendor support/SLA and 24/7 maintainer responsiveness — neither is offered here.
  • Most of your traffic is asynchronous (queues, workers). finish_request semantics won't help; validate coverage explicitly or pick an agent-based/OTel approach.
  • You have strict data-governance constraints on what leaves the process — an extension-based agent often gives tighter, more auditable control than an in-app bundle.
  • You need distributed tracing guarantees (context propagation across boundaries) as a hard requirement rather than a nice-to-have.

Note for this release: 1.0.6 is a behavioral fix, not a breaking change — listeners that previously ran earlier in the kernel lifecycle now run at finish_request. Verify any custom listener ordering or code that expected spans to be finalized before the response is sent; re-baseline dashboards after upgrade since trace completeness may visibly improve.

How to Pitch It (Stakeholders)

For executives: This is a low-cost, low-lock-in way to get real visibility into request latency and error rates, which is the prerequisite for setting SLOs and cutting mean time to recovery. The 1.0.6 release fixes a timing bug that caused traces to be incomplete at the end of a request — the exact symptom that makes an observability investment look like it isn't working. Recommendation: pilot on one or two high-value services, measure MTTR and latency-regression detection, then decide on broader rollout versus standardizing on the official Elastic agent or OpenTelemetry.

For engineering: A Composer-installable Symfony bundle that instruments transactions and spans and ships them to Elastic APM Server, no PHP extension to operate. 1.0.6 moves listener registration to kernel.finish_request so telemetry reliably flushes at request end — fewer dropped or partial traces. Before production: pin to an exact version, set the sampling rate deliberately, redact request bodies/headers/SQL bindings, and confirm whether finish_request-based capture is sufficient for your queue and long-running-worker workloads (it likely is not — plan a separate path for those).

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.
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource