Register the messenger data collector only when the profiler is enabled
This commit is contained in:
parent
92a22b02d3
commit
bd3a66bc59
@ -52,5 +52,9 @@
|
|||||||
<tag name="kernel.event_listener" event="kernel.controller" method="onKernelController"/>
|
<tag name="kernel.event_listener" event="kernel.controller" method="onKernelController"/>
|
||||||
<tag name="data_collector" template="@WebProfiler/Collector/router.html.twig" id="router" priority="285" />
|
<tag name="data_collector" template="@WebProfiler/Collector/router.html.twig" id="router" priority="285" />
|
||||||
</service>
|
</service>
|
||||||
|
|
||||||
|
<service id="data_collector.messenger" class="Symfony\Component\Messenger\DataCollector\MessengerDataCollector">
|
||||||
|
<tag name="data_collector" template="@WebProfiler/Collector/messenger.html.twig" id="messenger" priority="100" />
|
||||||
|
</service>
|
||||||
</services>
|
</services>
|
||||||
</container>
|
</container>
|
||||||
|
@ -34,17 +34,13 @@
|
|||||||
<argument type="service" id="validator" />
|
<argument type="service" id="validator" />
|
||||||
</service>
|
</service>
|
||||||
|
|
||||||
<!-- Logging & Debug -->
|
<!-- Logging -->
|
||||||
<service id="messenger.middleware.logging" class="Symfony\Component\Messenger\Middleware\LoggingMiddleware" abstract="true">
|
<service id="messenger.middleware.logging" class="Symfony\Component\Messenger\Middleware\LoggingMiddleware" abstract="true">
|
||||||
<argument type="service" id="logger" />
|
<argument type="service" id="logger" />
|
||||||
|
|
||||||
<tag name="monolog.logger" channel="messenger" />
|
<tag name="monolog.logger" channel="messenger" />
|
||||||
</service>
|
</service>
|
||||||
|
|
||||||
<service id="messenger.data_collector" class="Symfony\Component\Messenger\DataCollector\MessengerDataCollector">
|
|
||||||
<tag name="data_collector" template="@WebProfiler/Collector/messenger.html.twig" id="messenger" priority="100" />
|
|
||||||
</service>
|
|
||||||
|
|
||||||
<!-- Discovery -->
|
<!-- Discovery -->
|
||||||
<service id="messenger.receiver_locator">
|
<service id="messenger.receiver_locator">
|
||||||
<tag name="container.service_locator" />
|
<tag name="container.service_locator" />
|
||||||
|
@ -64,7 +64,7 @@ class MessengerPass implements CompilerPassInterface
|
|||||||
$container->getParameterBag()->remove($busMiddlewareParameter);
|
$container->getParameterBag()->remove($busMiddlewareParameter);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($container->hasDefinition('messenger.data_collector')) {
|
if ($container->hasDefinition('data_collector.messenger')) {
|
||||||
$this->registerBusToCollector($container, $busId);
|
$this->registerBusToCollector($container, $busId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -276,7 +276,7 @@ class MessengerPass implements CompilerPassInterface
|
|||||||
(new Definition(TraceableMessageBus::class, array(new Reference($tracedBusId.'.inner'))))->setDecoratedService($busId)
|
(new Definition(TraceableMessageBus::class, array(new Reference($tracedBusId.'.inner'))))->setDecoratedService($busId)
|
||||||
);
|
);
|
||||||
|
|
||||||
$container->getDefinition('messenger.data_collector')->addMethodCall('registerBus', array($busId, new Reference($tracedBusId)));
|
$container->getDefinition('data_collector.messenger')->addMethodCall('registerBus', array($busId, new Reference($tracedBusId)));
|
||||||
}
|
}
|
||||||
|
|
||||||
private function registerBusMiddleware(ContainerBuilder $container, string $busId, array $middlewareCollection)
|
private function registerBusMiddleware(ContainerBuilder $container, string $busId, array $middlewareCollection)
|
||||||
|
@ -435,14 +435,14 @@ class MessengerPassTest extends TestCase
|
|||||||
$dataCollector = $this->getMockBuilder(MessengerDataCollector::class)->getMock();
|
$dataCollector = $this->getMockBuilder(MessengerDataCollector::class)->getMock();
|
||||||
|
|
||||||
$container = $this->getContainerBuilder($fooBusId = 'messenger.bus.foo');
|
$container = $this->getContainerBuilder($fooBusId = 'messenger.bus.foo');
|
||||||
$container->register('messenger.data_collector', $dataCollector);
|
$container->register('data_collector.messenger', $dataCollector);
|
||||||
$container->setParameter('kernel.debug', true);
|
$container->setParameter('kernel.debug', true);
|
||||||
|
|
||||||
(new MessengerPass())->process($container);
|
(new MessengerPass())->process($container);
|
||||||
|
|
||||||
$this->assertTrue($container->hasDefinition($debuggedFooBusId = 'debug.traced.'.$fooBusId));
|
$this->assertTrue($container->hasDefinition($debuggedFooBusId = 'debug.traced.'.$fooBusId));
|
||||||
$this->assertSame(array($fooBusId, null, 0), $container->getDefinition($debuggedFooBusId)->getDecoratedService());
|
$this->assertSame(array($fooBusId, null, 0), $container->getDefinition($debuggedFooBusId)->getDecoratedService());
|
||||||
$this->assertEquals(array(array('registerBus', array($fooBusId, new Reference($debuggedFooBusId)))), $container->getDefinition('messenger.data_collector')->getMethodCalls());
|
$this->assertEquals(array(array('registerBus', array($fooBusId, new Reference($debuggedFooBusId)))), $container->getDefinition('data_collector.messenger')->getMethodCalls());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testRegistersMiddlewareFromServices()
|
public function testRegistersMiddlewareFromServices()
|
||||||
|
Reference in New Issue
Block a user