项目作者: PcComponentes

项目描述 :
Elastic APM for Symfony Messenger
高级语言: PHP
项目地址: git://github.com/PcComponentes/apm-symfony-messenger.git
创建时间: 2020-05-28T06:44:56Z
项目社区:https://github.com/PcComponentes/apm-symfony-messenger

开源协议:MIT License

下载


Elastic APM for Symfony Messenger

This library supports Span traces of Symfony Messenger messages.

Installation

1) Install via composer

  1. ```shell script
  2. composer require pccomponentes/apm-symfony-messenger
  3. ```

Usage

In all cases, an already created instance of ElasticApmTracer is assumed.

Native PHP

  1. <?php
  2. declare(strict_types=1);
  3. class TextNameExtractor implements PcComponentes\ElasticAPM\Symfony\Component\Messenger\NameExtractor
  4. {
  5. public function execute($message): string
  6. {
  7. if (false === is_string($message)) {
  8. throw new InvalidArgumentException('The parameter must be of type string');
  9. }
  10. return $message;
  11. }
  12. }
  13. $apmMiddleware = new PcComponentes\ElasticAPM\Symfony\Component\Messenger\ApmMiddleware(
  14. $apmTracer, /** \ZoiloMora\ElasticAPM\ElasticApmTracer instance. */
  15. new TextNameExtractor(),
  16. );
  17. $bus = new Symfony\Component\Messenger\MessageBus([
  18. $apmMiddleware
  19. ]);

Service Container (Symfony)

  1. app.bus:
  2. class: Symfony\Component\Messenger\MessageBus
  3. arguments:
  4. $middlewareHandlers:
  5. - '@app.bus.middleware.apm'
  6. app.bus.middleware.apm:
  7. class: PcComponentes\ElasticAPM\Symfony\Component\Messenger\ApmMiddleware
  8. arguments:
  9. $elasticApmTracer: '@apm.tracer' # \ZoiloMora\ElasticAPM\ElasticApmTracer instance.
  10. $nameExtractor: '@app.bus.middleware.apm.name_extractor'
  11. app.bus.middleware.apm.name_extractor:
  12. class: ExampleTextNameExtractor

License

Licensed under the MIT license

Read LICENSE for more information