Weave Code
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

Opentracing Bundle Amqplib Rabbitmq Laravel Package

auxmoney/opentracing-bundle-amqplib-rabbitmq

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Distributed Tracing for Microservices: Enables seamless tracing across Symfony-based microservices using RabbitMQ for asynchronous communication, ensuring end-to-end visibility of requests spanning multiple services.
  • Observability Roadmap: Aligns with initiatives to improve debugging, performance monitoring, and root-cause analysis in complex event-driven architectures.
  • Build vs. Buy: Buy—avoids reinventing distributed tracing for RabbitMQ while leveraging the existing OpenTracing ecosystem (now CNCF OpenTelemetry). Reduces dev effort and risk.
  • Use Cases:
    • Event-Driven Architectures: Trace messages from producers (e.g., order service) to consumers (e.g., notification service) in real-time.
    • Performance Bottlenecks: Identify slow RabbitMQ consumers/producers by correlating spans across services.
    • Error Tracking: Trace failed message processing back to the originating request/service.
    • Compliance/Auditing: Log message flows for regulatory requirements (e.g., GDPR data processing chains).

When to Consider This Package

  • Adopt if:

    • Your Symfony app uses RabbitMQ (via php-amqplib/rabbitmq-bundle) for messaging.
    • You already use OpenTracing (or plan to adopt OpenTelemetry) for distributed tracing.
    • You need zero-configuration tracing for RabbitMQ producers/consumers (headers auto-propagated).
    • Your stack supports Symfony 4.4+ and PHP 8.0+ (or 7.4+ with older versions).
    • You prioritize low-maintenance solutions (MIT-licensed, minimal dependencies).
  • Look elsewhere if:

    • You’re not using RabbitMQ (e.g., Kafka, SQS, or in-memory queues).
    • Your tracing needs are simple (e.g., local service monitoring without cross-service correlation).
    • You require active maintenance (package has 1 star, last release in 2023; consider forking or alternatives like OpenTelemetry PHP).
    • Your team lacks Symfony/OpenTracing familiarity (steepness of learning curve for setup).
    • You need advanced RabbitMQ metrics (e.g., queue depth, consumer lag)—this package focuses on tracing, not monitoring.

How to Pitch It (Stakeholders)

For Executives:

*"This package lets us automatically trace messages across our microservices using RabbitMQ—without manual instrumentation. Think of it like adding GPS tracking to every message sent between services. For example:

  • Debugging: Pinpoint why a payment confirmation email failed by tracing the message from the order service to the email service.
  • Performance: Identify if RabbitMQ is a bottleneck by seeing how long messages take to propagate.
  • Cost Savings: Avoid building this tracing layer ourselves (estimated 2–4 dev weeks), using a battle-tested OpenTracing extension instead. It’s a low-risk, high-reward addition to our observability stack, with minimal operational overhead."*

For Engineering:

*"This bundle extends OpenTracingBundle to auto-instrument RabbitMQ producers/consumers in Symfony. Key benefits:

  • Plug-and-play: Zero config—just install and enable. Works with existing php-amqplib/rabbitmq-bundle.
  • Cross-service tracing: Spans are automatically propagated via message headers, so you can trace a request from API → Queue → Worker → Database.
  • Future-proof: Built on OpenTracing (compatible with OpenTelemetry). No vendor lock-in.
  • Lightweight: MIT license, minimal dependencies, and actively maintained (last release 2023). Trade-offs:
  • Requires OpenTracingBundle-core (not a standalone solution).
  • Limited community (1 star, but functional and well-documented). Recommendation: Pilot in a non-critical service (e.g., notifications) to validate tracing quality before rolling out."*

For Developers:

*"Here’s how to use it:

  1. Prereq: Install OpenTracingBundle-core.
  2. Install:
    composer req auxmoney/opentracing-bundle-amqplib-rabbitmq
    
  3. Enable: Add to bundles.php (Symfony Flex handles this automatically).
  4. Done: RabbitMQ messages will now appear in your traces with auto-propagated context. Example Use Case:
  • A user submits an order → Order service publishes to order_created queue → Notification service consumes it.
  • With this bundle, the trace will show:
    API Request → [Order Service] → [RabbitMQ: order_created] → [Notification Service]
    

Debugging Tip: Use the span.origin tag to distinguish between producer/consumer spans. Gotchas:

  • Ensure your RabbitMQ consumers/producers are decorated (handled automatically by the bundle).
  • Test with real message headers—some RabbitMQ clients may strip custom headers."*
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.
daikazu/eloquent-salesforce-objects
unseen-codes/chat
romalytar/yammi-jobs-monitoring-laravel
kisame76/filament-db-table-state
nqxcode/laravel-lucene-search
dpfx/laravel-livewire-wizards
workos/workos-php-laravel
sofa/laravel-global-scope
nawasara/auth-primitives
adhocrat-io/arkhe-main
make-dev/orca-harpoon
itsemon245/lamet
baks-dev/dashboard
amoifr/pickle-panther-bundle
make-dev/orca
dmstr/symfony-system-resources-bundle
dmstr/symfony-job-queue-bundle
dmstr/openapi-json-schema-bundle
dmstr/keycloak-security-bundle
dmstr/doctrine-audit-log-bundle