auxmoney/opentracing-bundle-amqplib-rabbitmq

Symfony Opentracing bundle extension for amqplib/RabbitMq


README

test GitHub release (latest SemVer) Codacy Badge Code Climate maintainability Scrutinizer code quality (GitHub/Bitbucket) GitHub

This bundle adds automatic tracing header propagation and spanning for RabbitMq producers and consumers to the OpentracingBundle.

Installation

Prerequisites

This bundle is only an additional plugin and should not be installed independently. See its documentation for more information on installing the OpentracingBundle first.

Require dependencies

After you have installed the OpentracingBundle:

  • require the dependencies:
    composer req auxmoney/opentracing-bundle-amqplib-rabbitmq

Enable the bundle

If you are using Symfony Flex, you are all set!

If you are not using it, you need to manually enable the bundle:

  • add bundle to your application:
    # Symfony 3: AppKernel.php
    $bundles[] = new Auxmoney\OpentracingAmqplibRabbitMqBundle\OpentracingAmqplibRabbitMqBundle();
    # Symfony 4+: bundles.php
    Auxmoney\OpentracingAmqplibRabbitMqBundle\OpentracingAmqplibRabbitMqBundle::class => ['all' => true],

Configuration

No configuration is necessary, the bundle extension will automatically decorate configured consumers and producers.

Usage

Whenever a message is produced or consumed, a span is automatically added to the existing trace. The tracing headers are automatically propagated to the consumer with message headers.

Development

Be sure to run

    composer run-script quality

every time before you push code changes. The tools run by this script are also run in the CI pipeline.