From 69cb889801efe1198da9668e182b2dceebb44783 Mon Sep 17 00:00:00 2001 From: Tobias Nyholm Date: Sun, 24 Jul 2016 13:20:17 +0200 Subject: [PATCH 1/2] Added stopwatch plugin --- DependencyInjection/HttplugExtension.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/DependencyInjection/HttplugExtension.php b/DependencyInjection/HttplugExtension.php index f1b78988..d8be70e1 100644 --- a/DependencyInjection/HttplugExtension.php +++ b/DependencyInjection/HttplugExtension.php @@ -218,6 +218,9 @@ private function configureClient(ContainerBuilder $container, $name, array $argu $pluginClientOptions = []; if ($profiling) { + // Add the stopwatch plugin + array_unshift($arguments['plugins'], 'httplug.plugin.stopwatch'); + // Tell the plugin journal what plugins we used $container ->getDefinition('httplug.collector.plugin_journal') @@ -340,6 +343,12 @@ private function registerAutoDiscoverableClient(ContainerBuilder $container, $na $pluginClientOptions = []; if ($profiling) { + // Tell the plugin journal what plugins we used + $container + ->getDefinition('httplug.collector.plugin_journal') + ->addMethodCall('setPlugins', [$name, ['httplug.plugin.stopwatch']]) + ; + $debugPluginServiceId = $this->registerDebugPlugin($container, $serviceId); $pluginClientOptions['debug_plugins'] = [new Reference($debugPluginServiceId)]; @@ -348,7 +357,7 @@ private function registerAutoDiscoverableClient(ContainerBuilder $container, $na $container ->register($serviceId, DummyClient::class) ->setFactory([PluginClientFactory::class, 'createPluginClient']) - ->setArguments([[], $factory, [], $pluginClientOptions]) + ->setArguments([[new Reference('httplug.plugin.stopwatch')], $factory, [], $pluginClientOptions]) ; return $serviceId; From 1b72360a1c729af390ff4928fb80d65c34c8065a Mon Sep 17 00:00:00 2001 From: Tobias Nyholm Date: Tue, 26 Jul 2016 01:07:59 +0200 Subject: [PATCH 2/2] Do not add stopwatch if already added --- CHANGELOG.md | 1 + DependencyInjection/HttplugExtension.php | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 94a2851f..2fe664ca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ ### Added - Support for BatchClient +- The stopwatch plugin in included by default when using profiling. ### Changed diff --git a/DependencyInjection/HttplugExtension.php b/DependencyInjection/HttplugExtension.php index d8be70e1..514c522f 100644 --- a/DependencyInjection/HttplugExtension.php +++ b/DependencyInjection/HttplugExtension.php @@ -218,8 +218,10 @@ private function configureClient(ContainerBuilder $container, $name, array $argu $pluginClientOptions = []; if ($profiling) { - // Add the stopwatch plugin - array_unshift($arguments['plugins'], 'httplug.plugin.stopwatch'); + if (!in_array('httplug.plugin.stopwatch', $arguments['plugins'])) { + // Add the stopwatch plugin + array_unshift($arguments['plugins'], 'httplug.plugin.stopwatch'); + } // Tell the plugin journal what plugins we used $container