- Is goksagun/elastic-apm-bundle compatible with Laravel?
- No. It is a Symfony bundle, not a Laravel package. Laravel has no bundle loader or config/bundles.php discovery, so there is no supported way to register and boot it in a Laravel application.
- Can I install goksagun/elastic-apm-bundle with Composer in a Laravel app?
- Composer may resolve and download it, but installation does not make it usable. The package depends on Symfony kernel conventions, Bundle, Extension, and Configuration classes, plus compiler passes. Laravel's Illuminate container and service-provider lifecycle do not provide those hooks, so the bundle will not instrument requests.
- Why can't Laravel use a Symfony bundle?
- Symfony bundles are discovered by the Symfony kernel and registered in config/bundles.php. They extend Symfony Bundle, Extension, and Configuration classes and often rely on compiler passes. Laravel uses service providers with a different boot lifecycle, so porting a bundle means rewriting its integration logic rather than consuming it.
- What does goksagun/elastic-apm-bundle actually do?
- It is a thin Symfony integration layer for Elastic APM, adding configuration defaults, subscribers, and service tagging around APM instrumentation. It is intended to capture transactions, spans, errors, and performance metrics for request tracing. In Laravel, the same outcome is better achieved with the native agent plus a small service provider.
- Does goksagun/elastic-apm-bundle require the elastic/apm-agent-php extension?
- That is not clear from the available materials; you would need to inspect its composer.json and README to see whether it wraps the native extension or a userland client. Elastic APM for PHP is primarily delivered through the elastic/apm-agent-php C extension, so any wrapper likely assumes that runtime dependency. If it does, your container image must compile or install the extension.
- What should Laravel developers use instead for Elastic APM?
- Install the elastic/apm-agent-php extension directly in the runtime image and configure it through environment variables. Then write a small internal Laravel package or service provider for framework-aware instrumentation such as queue jobs, console commands, custom spans, and user or tenant context. That gives you the same tracing outcome with a dependency you control.
- Does this package work with Laravel Octane or RoadRunner?
- The bundle is Symfony-oriented, so Laravel Octane and RoadRunner compatibility is not a supported scenario. Even with the native Elastic APM extension, long-lived workers need validation because persistent worker state and per-request transaction reset are known hazard areas. FPM is the safer baseline; test Octane or RoadRunner with latency and memory controls before adopting.
- Is goksagun/elastic-apm-bundle actively maintained and safe for production?
- The available assessment flags high risk: 1 star, zero dependents, a single apparent maintainer, and no community validation. For an observability dependency in the hot path of every request, that is an unacceptable bus factor. Check release history, last commit date, open issues, and test coverage before considering it even in Symfony.
- How hard is it to port goksagun/elastic-apm-bundle to Laravel?
- You would need to rewrite its extension and compiler-pass logic as a Laravel service provider, which is a fork rather than normal package use. The assessment suggests a roughly 200 to 400 line internal Laravel package can cover queue jobs, console commands, custom spans, and user context. That is usually cheaper and safer than porting an unmaintained Symfony bundle.
- What are the best alternatives to this bundle for Laravel APM?
- Use the elastic/apm-agent-php extension with a small in-house Laravel service provider for framework-aware spans and context. Also evaluate OpenTelemetry PHP as a vendor-neutral option, because choosing an APM backend is a multi-year commitment. Avoid depending on a Symfony-only bundle with no Laravel adapter or community traction.