Skip to content

Commit

Permalink
Usage examples
Browse files Browse the repository at this point in the history
  • Loading branch information
zoilomora committed May 28, 2020
1 parent 6fd438c commit 7166c49
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 6 deletions.
44 changes: 40 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,51 @@ This library supports Span traces of [Symfony Messenger](https://github.com/symf

In all cases, an already created instance of [ElasticApmTracer](https://github.com/zoilomora/elastic-apm-agent-php) is assumed.

### Native PHP

```php
<?php
declare(strict_types=1);
class TextNameExtractor implements PcComponentes\ElasticAPM\Symfony\Component\Messenger\NameExtractor
{
public function execute($message): string
{
if (false === is_string($message)) {
throw new InvalidArgumentException('The parameter must be of type string');
}
return $message;
}
}
$apmMiddleware = new PcComponentes\ElasticAPM\Symfony\Component\Messenger\ApmMiddleware(
$apmTracer, /** \ZoiloMora\ElasticAPM\ElasticApmTracer instance. */
new TextNameExtractor(),
);
$bus = new Symfony\Component\Messenger\MessageBus([
$apmMiddleware
]);
```
### Service Container (Symfony)
```yaml
PcComponentes\ElasticAPM\Symfony\Component\HttpKernel\EventSubscriber:
class: PcComponentes\ElasticAPM\Symfony\Component\HttpKernel\EventSubscriber
autoconfigure: true
app.bus:
class: Symfony\Component\Messenger\MessageBus
arguments:
$middlewareHandlers:
- '@app.bus.middleware.apm'
app.bus.middleware.apm:
class: PcComponentes\ElasticAPM\Symfony\Component\Messenger\ApmMiddleware
arguments:
$router: '@router'
$elasticApmTracer: '@apm.tracer' # \ZoiloMora\ElasticAPM\ElasticApmTracer instance.
$nameExtractor: '@app.bus.middleware.apm.name_extractor'
app.bus.middleware.apm.name_extractor:
class: ExampleTextNameExtractor
```
## License
Expand Down
2 changes: 1 addition & 1 deletion src/Symfony/Component/Messenger/ApmMiddleware.php
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?php
declare(strict_types=1);

namespace Pcc\ApiLegacyBridge\Util\ElasticAPM\Messenger;
namespace PcComponentes\ElasticAPM\Symfony\Component\Messenger;

use Symfony\Component\Messenger\Envelope;
use Symfony\Component\Messenger\Middleware\MiddlewareInterface;
Expand Down
2 changes: 1 addition & 1 deletion src/Symfony/Component/Messenger/NameExtractor.php
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?php
declare(strict_types=1);

namespace Pcc\ApiLegacyBridge\Util\ElasticAPM\Messenger;
namespace PcComponentes\ElasticAPM\Symfony\Component\Messenger;

interface NameExtractor
{
Expand Down

0 comments on commit 7166c49

Please sign in to comment.