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

Messenger Monitor Bundle Laravel Package

karo-io/messenger-monitor-bundle

A Symfony bundle for monitoring Symfony Messenger: inspect queued, processing, and failed messages, track throughput, and review errors from a built-in dashboard so you can spot bottlenecks and retry failures without digging through logs or database tables.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Bottom line: do not adopt. This is a Symfony FrameworkBundle extension, not a Laravel package, and it is archived with 14 stars and zero dependents. The nominal score (0.095) reflects a package that is effectively abandoned and unproven.

Architecture fit

  • Wrong framework abstraction. The package targets Symfony's Messenger component and registers as a bundle via config/bundles.php + a DependencyInjection/*Extension class. Laravel has no bundle registry; there is no supported way to load it into a Laravel application without hand-wiring its service definitions into a service provider.
  • Different queue model. Laravel's queue system (Redis/SQS/Database/Beanstalkd drivers, queue:work, Horizon, failed-jobs table) is not Symfony Messenger (transports, envelopes, middleware, stamps). Monitoring semantics do not map one-to-one, so even a successful port would produce metrics that don't correspond to Laravel's operational reality.
  • Overlapping capability already owned. Laravel covers this ground with queue:monitor, Horizon dashboards/metrics, Telescope, and mature community packages (e.g. laravel-queue-monitor). There is no capability gap this fills.

Integration feasibility

  • Low. A Laravel path would require either (a) installing symfony/messenger inside Laravel and running a parallel messaging stack alongside the native queue — a significant, permanent architectural tax — or (b) forking and rewriting the bundle's service wiring as a Laravel service provider, which means owning 100% of the code.
  • No published evidence of framework-version support. An archived Symfony bundle of this vintage is likely pinned to Symfony 4/5 and PHP 7.x, which will conflict with any current Laravel 10/11 application (PHP 8.1+).
  • MIT license means forking is legally clean, but the fork becomes an internal product with no upstream.

Technical risk

  • Abandoned upstream. Archived = no security patches, no CVE response, no compatibility fixes. Any dependency it pulls in becomes a liability in your SBOM.
  • Unvetted code. 14 stars and 0 dependents means essentially no production exposure. Symfony bundles commonly auto-register routes and controllers; installing one is an expansion of attack surface that nobody has audited here.
  • Credential exposure risk. Monitoring bundles typically read transport DSNs and render queue contents. If it exposes a web route, an unauthenticated endpoint could leak broker credentials or message payloads.
  • Unknown read cost. If the implementation polls brokers with non-passive calls or does COUNT(*) on large message tables, it can degrade production backends.

Key questions for the maintainer (or the fork owner)

  1. Which Symfony and PHP versions are supported, and when was the last compatibility commit?
  2. What surfaces does it expose — console commands, HTTP routes, or both — and are any of them authenticated?
  3. Which transports does it introspect, and are the calls passive/read-only?
  4. Are there write or delete operations against queues?
  5. What are its transitive dependencies, and do they have current advisories?
  6. Is the full git history available for a fork, or is this a squashed snapshot?

Recommendation: Reject for the Laravel estate. If the underlying need is Messenger queue visibility in a Symfony service, evaluate zenstruck/messenger-monitor-bundle instead — it is actively maintained, widely adopted, and covers the same job. This package is best treated as prior art, not a dependency.

Integration Approach

Stack fit

  • Laravel applications: no fit. Do not install. There is no supported integration path, and the monitoring need is already met by Horizon (redis driver), php artisan queue:monitor, Telescope, and the failed-jobs table for database/sqs drivers.
  • Symfony applications: partial fit, superseded. If your org runs Symfony services, the correct move is a maintained equivalent, not this bundle.
  • Mixed estate: treat this as evidence of a monitoring requirement, not as a component. Consolidate on one observability approach per stack rather than importing a framework-specific tool across the boundary.

Migration path (only if an existing Symfony service already depends on it)

  1. Inventory: confirm which services have it installed and what they actually consume (a dashboard route? a CLI command? an alert feed?).
  2. Freeze: pin to the exact installed version and vendor-lock it; no floating constraints.
  3. Replace: stand up zenstruck/messenger-monitor-bundle in a staging Symfony service and diff the outputs against what the team relies on today.
  4. Cut over: swap, then remove this bundle entirely. Do not maintain a fork unless step 3 proves a hard gap — and document that gap before committing.

Compatibility

  • Verify PHP and Symfony constraints against your runtime before anything else; expect conflicts on modern versions.
  • Check transitive dependencies for known advisories (composer audit) even in a fork scenario.
  • Assume no forward compatibility. Any Symfony major upgrade will require you to patch it yourself.

Sequencing

  • Week 1: Discovery only — confirm ownership, actual usage, and whether a maintained alternative exists (it does).
  • Week 2: Prototype the replacement in a non-production environment; capture the metrics/dashboards the team actually uses.
  • Week 3: Cut over one service; remove this bundle from the dependency graph.
  • Laravel side: no sequencing required — close the ticket with the Horizon/queue:monitor mapping documented so the request doesn't resurface.

What to build instead (if the real ask is Laravel queue visibility)

  • Horizon for Redis with metrics and alerting on wait time and throughput.
  • queue:monitor + a scheduled check for backlog thresholds across drivers.
  • SQS/Database depth via CloudWatch or a lightweight scheduled probe, wired into your existing alerting, rather than a UI bundle.

Operational Impact

Maintenance

  • Upstream maintenance is zero (archived). Any adopted copy becomes fully internal: your team owns bug fixes, security patches, framework compatibility, and dependency updates indefinitely.
  • Forking carries a standing cost — CI, SBOM tracking, release process, and a named owner — that is disproportionate to a small internal monitoring view.

Support

  • No upstream issue triage, no security contact, no release cadence. Escalation path is "read the source and fix it."
  • If it is already running in a Symfony service, that service has an unpatched dependency and an undocumented institutional dependency on an abandoned project. Both need remediation, not extension.

Scaling

  • The bundle itself is a thin monitoring layer with negligible footprint; the cost is in what it queries. Passive broker introspects (SQS ApproximateNumberOfMessages, AMQP passive declare, Redis LLEN) are cheap at any scale. Table scans on a large Database transport are not.
  • The real scaling concern is portfolio-level: every abandoned dependency in the graph raises the cost of framework upgrades across all services. This is a one-way ratchet.

Failure modes

  • Hard failure: broker unreachable → monitoring endpoint or command hangs or throws, potentially blocking a health check or dashboard.
  • Silent failure: reports stale or incorrect queue depth, producing false confidence or alert fatigue.
  • Security failure: unauthenticated route exposes transport DSNs or message payloads; no upstream patch will ever arrive.
  • Upgrade failure: blocks a PHP or Symfony major upgrade, forcing an emergency fork at the worst possible moment.
  • Supply-chain failure: stale transitive dependency with an open advisory that you cannot route to a maintainer.

Ramp-up

  • Low technical ramp-up: the codebase is small and readable; a competent PHP engineer can fully understand it in a day or two.
  • Low organizational value: the monitoring surface is narrow and duplicated by better-maintained tooling in both ecosystems.
  • The effort is better spent wiring Laravel's native queue metrics into existing alerting, which delivers the same outcome with no new dependency and no fork obligation.

Verdict: Archive-tier for evaluation purposes. Document the decision and the maintained alternative so the same package isn't re-proposed, and if it is already in production anywhere, schedule its removal as dependency hygiene rather than treating it as a platform component.

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.
mehedimi/laravel-amp-mail
happones/laravel-vue-i18n-generator
jwerd/inertia-table
siberfx/flysystem-wasabi
hollyit/token-replace
ippanelcom/laravel-sdk
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