• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

FriendsOfOpenTelemetry / opentelemetry-bundle / 12750969892

13 Jan 2025 03:51PM UTC coverage: 88.441% (-0.4%) from 88.791%
12750969892

push

github

web-flow
refactor(DependencyInjection): move configurate in compiler passes (#107)

* refactor(DependencyInjection): move tag configuration in compiler passes

* feat(DependencyInjection): do not instrument services if packages are missing

75 of 98 new or added lines in 11 files covered. (76.53%)

2020 of 2284 relevant lines covered (88.44%)

6.88 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

92.86
/src/DependencyInjection/Compiler/MessengerInstrumentationPass.php
1
<?php
2

3
namespace FriendsOfOpenTelemetry\OpenTelemetryBundle\DependencyInjection\Compiler;
4

5
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
6
use Symfony\Component\DependencyInjection\ContainerBuilder;
7
use Symfony\Component\Messenger\Middleware\MiddlewareInterface;
8
use Symfony\Component\Messenger\Transport\TransportFactoryInterface;
9

10
class MessengerInstrumentationPass implements CompilerPassInterface
11
{
12
    public function process(ContainerBuilder $container): void
13
    {
14
        if (false === $container->hasParameter('open_telemetry.instrumentation.messenger.tracing.enabled')
7✔
15
            || false === $container->getParameter('open_telemetry.instrumentation.messenger.tracing.enabled')) {
7✔
16
            return;
6✔
17
        }
18

19
        if (!interface_exists(MiddlewareInterface::class) || !interface_exists(TransportFactoryInterface::class)) {
1✔
NEW
20
            throw new \LogicException('Messenger instrumentation cannot be enabled because the symfony/messenger package is not installed.');
×
21
        }
22

23
        $container
1✔
24
            ->setAlias('messenger.transport.open_telemetry_tracer.factory', 'open_telemetry.instrumentation.messenger.trace.transport_factory');
1✔
25
        $container
1✔
26
            ->setAlias('messenger.middleware.open_telemetry_tracer', 'open_telemetry.instrumentation.messenger.trace.middleware');
1✔
27

28
        $container->getDefinition('open_telemetry.instrumentation.messenger.trace.transport_factory')
1✔
29
            ->addTag('messenger.transport_factory')
1✔
30
            ->addTag('kernel.reset', ['method' => 'reset']);
1✔
31
        $container->getDefinition('open_telemetry.instrumentation.messenger.trace.middleware')
1✔
32
            ->addTag('messenger.middleware');
1✔
33
    }
34
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc