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

Newrelic Bundle Laravel Package

tiime/newrelic-bundle

Symfony bundle that integrates New Relic monitoring into your app, handling transaction naming, custom metrics, and exception tracking with minimal boilerplate. Simplifies APM setup so developers get clearer visibility into performance and errors.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit — poor for Laravel, plausible for Symfony The package is a Symfony bundle, not a Laravel package. It registers through the Symfony Kernel (Bundle class, DI extension, compiler passes) and hooks the Symfony event dispatcher. Laravel has no bundle registration mechanism — it uses service providers and its own container — so this code cannot be composer required into a Laravel app and expected to function. For our Laravel estate, architecture fit is effectively zero without a rewrite of the registration layer. For any Symfony services in the portfolio, fit is reasonable: the package is a thin adapter over the New Relic PHP agent's newrelic_* functions, which is the correct layer to own.

Integration feasibility — feasible, unproven MIT license removes legal friction. Integration would be a standard Composer dependency plus agent installation in the runtime image; no SaaS contract, no data-plane changes. The blocking issue is evidence: 2 stars, 0 dependents, and a single-source vendor (Tiime-Software appears to be a company publishing from its internal stack). There is no signal of third-party production use, meaning we would be the first external adopter and would absorb all discovery cost.

Technical risk — high

  • Bus factor of one. No indication of a maintainer team, contribution guidelines, or release cadence beyond tagged versions.
  • Unverifiable provenance. The metadata shows a last release dated 2026-08-18, which is inconsistent with a normal release timeline. Treat this as a data anomaly and confirm the actual tag history, branch state, and whether the release is a real semver artifact before any evaluation proceeds.
  • Hidden hard dependency risk. Bundles of this type frequently assume ext-newrelic is loaded. If it is not, behaviour ranges from a silent no-op to a fatal error at container compile time — both are unacceptable in CI and in ephemeral containers.
  • Low score (16.07) against a moderate opportunity score (56.96) reads as "real gap in the market, poor existing solution." That combination argues for building a small internal shim rather than adopting.
  • Double instrumentation. The New Relic PHP agent already auto-instruments Symfony via its own framework hooks. Layering a bundle on top can produce duplicate or conflicting transaction naming, which silently corrupts dashboards and alert thresholds.

Key questions for the maintainer / spike

  1. Does the bundle hard-require the newrelic extension, or degrade gracefully to a no-op when absent?
  2. What are the tested PHP, Symfony, and New Relic agent version ranges? Is Symfony 6.4/7.x LTS covered?
  3. How does it interact with the agent's built-in Symfony instrumentation — does it disable or override it?
  4. Is there CI, a test suite, and static analysis? What is the actual LOC and public surface area?
  5. Who maintains it, what is the support commitment, and is there a security disclosure path?
  6. Which transaction-naming conventions does it impose, and are they configurable?
  7. Is it compatible with ARM64 images and long-running workers (Messenger, RoadRunner, Swoole)?

Integration Approach

Stack fit Segment the portfolio. For Laravel services, reject the package and instead use the New Relic PHP agent's native Laravel support plus a small internal middleware for custom attributes. For Symfony services, this bundle is a legitimate candidate, but only after the spike below. Do not attempt to bridge the two with a shared abstraction — the registration models are incompatible and the abstraction would cost more than either implementation.

Migration path Adopt additively, never as a replacement for the agent baseline:

  1. Keep the agent's automatic instrumentation as the source of truth for transactions and errors.
  2. Introduce the bundle behind a feature flag (newrelic_bundle.enabled: false by default) so it can be disabled per environment via config, not a code deploy.
  3. Move one instrumentation concern at a time — start with custom attributes (tenant ID, queue name, feature flag state), then transaction naming for background workers, and only then consider error/exception enrichment.
  4. Keep the pre-existing manual newrelic_* calls in place until parity is demonstrated in staging for two release cycles, then remove them in a separate change.

Compatibility Pin an explicit matrix before merging: PHP minor, Symfony LTS, New Relic PHP agent major, and the base image. The agent must be baked into every image (dev, CI, staging, prod) or the bundle's behaviour diverges across environments — the most common cause of "works in staging" New Relic incidents. Confirm newrelic.ini application naming is owned by deployment config, not by the bundle, so we do not end up with split app names in the New Relic account.

Sequencing

  1. Day 1–2: source audit. Read the full repository, count LOC, map every newrelic_* call, confirm extension dependency and no-op behaviour. If the surface is under a few hundred lines, escalate the build-vs-adopt decision immediately.
  2. Day 3–5: isolated spike. Add to one low-traffic Symfony service in staging. Compare transaction counts, naming, and error rates against the agent-only baseline for one week.
  3. Week 2: decision gate. Adopt, fork-and-vendor, or build an internal ~100–150 LOC shim. Given 0 dependents and single-vendor maintenance, the default recommendation is fork under our org at the audited commit, consuming upstream only via reviewed cherry-picks.
  4. Week 3+: rollout to remaining Symfony services behind the flag, one service per sprint, with a dashboard diff as the acceptance criterion.

Operational Impact

Maintenance Assume we own this code. Budget roughly one to two engineer-days per quarter for agent-version compatibility and Symfony upgrades, plus ad-hoc time when the New Relic agent changes its hook behaviour. If the upstream repository goes dormant — a realistic outcome for a company-published bundle with 2 stars — the internal fork becomes the only copy, so it must live in our org with our CI, our PHPStan baseline, and a documented upgrade procedure. Do not let it remain a transitive dependency pulled from Packagist in production.

Support No vendor SLA, no paid support, MIT with no warranty. Support is internal platform engineering. There is no visible security disclosure process, so vulnerability response defaults to our own dependency scanning and patch cycle. Communicate this explicitly to stakeholders: this is not a supported product, it is a code contribution we are choosing to maintain.

Scaling Runtime cost is negligible — the bundle issues function calls into the agent, which buffers in-process and transmits out-of-band via the daemon. The real scaling concern is observability data volume: custom attributes attach to every transaction, so high-cardinality values (user IDs, request IDs, raw URLs) inflate ingest cost and can hit New Relic attribute limits. Enforce a review rule that only low-cardinality attributes ship. On high-throughput workers, verify the bundle does not force full transaction traces, which would multiply agent overhead.

Failure modes

  • Extension absent in image → silent no-op (acceptable but dangerous) or fatal boot error (outage). Verify which, and add a container startup assertion that the agent loads.
  • Agent daemon unavailable → the correct behaviour is that the application continues and telemetry is dropped. Confirm the bundle does not introduce blocking calls or exception propagation; this is a required test case, not an assumption.
  • Silent misconfiguration → the worst outcome. Wrong app name, wrong account, or a disabled flag means we believe we have observability and do not. Mitigate with a synthetic health check that asserts a known transaction appears in New Relic on a schedule, and page on its absence.
  • Double instrumentation → duplicate transactions inflate throughput metrics and break error-rate alerts. Detect during the spike by diffing transaction counts against the baseline.
  • Transaction naming collisions → alert rules keyed to transaction names stop firing. Treat naming as a reviewed, versioned configuration surface.

Ramp-up A mid-level PHP engineer familiar with Symfony DI needs about half a day to understand and safely modify the bundle. The larger cost is on the consuming side: the team must be fluent in NRQL, dashboard authoring, and alert policy design to realize any value from the added instrumentation. Plan for one engineer to take a New Relic observability track alongside the integration, otherwise the bundle adds payload without adding signal.

Recommendation: Do not adopt as a dependency in Laravel services — it is architecturally incompatible. For Symfony services, run the two-day source audit and one-week staging spike, and default to forking at the audited commit rather than consuming upstream directly. If the audit shows a thin wrapper, build the internal shim instead; the maintenance burden will be lower than carrying an unmaintained third-party bundle.

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.
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib