2 webprofiler.only_exceptions: false
3 webprofiler.only_master_requests: false
8 logger.channel.webprofiler:
9 class: Drupal\Core\Logger\LoggerChannel
10 factory: logger.factory:get
11 arguments: ['webprofiler']
13 profiler.file_storage:
14 class: Drupal\webprofiler\Profiler\FileProfilerStorage
15 arguments: ['%data_collector.storage%']
17 - { name: webprofiler_storage, title: 'File storage' }
19 profiler.database_storage:
20 class: Drupal\webprofiler\Profiler\DatabaseProfilerStorage
21 arguments: ['@database']
23 - { name: webprofiler_storage, title: 'Database storage' }
25 profiler.storage_manager:
26 class: Drupal\webprofiler\Profiler\ProfilerStorageManager
29 class: Symfony\Component\HttpKernel\Profiler\ProfilerStorageInterface
30 factory: Drupal\webprofiler\Profiler\ProfilerStorageFactory::getProfilerStorage
31 arguments: ['@config.factory', '@service_container']
34 class: Drupal\webprofiler\Profiler\Profiler
35 arguments: ['@profiler.storage', '@logger.channel.webprofiler', '@config.factory']
39 class: Drupal\webprofiler\Profiler\TemplateManager
40 arguments: ['@profiler', '@twig', '@twig.loader', '%data_collector.templates%']
44 class: Drupal\webprofiler\RequestMatcher\WebprofilerRequestMatcher
45 arguments: ['@config.factory', '@path.matcher']
48 webprofiler.profiler_listener:
49 class: Symfony\Component\HttpKernel\EventListener\ProfilerListener
50 arguments: ['@profiler', '@?webprofiler.matcher', '%webprofiler.only_exceptions%', '%webprofiler.only_master_requests%', '@request_stack']
52 - { name: event_subscriber }
54 webprofiler.webprofiler_event_subscriber:
55 class: Drupal\webprofiler\EventSubscriber\WebprofilerEventSubscriber
56 arguments: ['@current_user', '@url_generator', '@renderer']
58 - { name: event_subscriber }
62 class: Twig_Profiler_Profile
64 twig.extension.profiler:
65 class: Drupal\webprofiler\Twig\Extension\ProfilerExtension
66 arguments: ['@twig.profile', '@stopwatch', '@webprofiler.ide_link_generator', '@webprofiler.class_shortener']
68 - { name: twig.extension, priority: 100 }
70 # datacollector services
72 class: Drupal\webprofiler\DataCollector\DrupalDataCollector
73 arguments: ['@redirect.destination', '@url_generator']
75 - { name: data_collector, template: '@webprofiler/Collector/drupal.html.twig', id: 'drupal', title: 'Drupal', priority: 10 }
78 class: Drupal\webprofiler\DataCollector\DevelDataCollector
79 arguments: ['@menu.link_tree']
81 - { name: data_collector, template: '@webprofiler/Collector/devel.html.twig', id: 'devel', title: 'Devel', priority: 15 }
83 webprofiler.php_config:
84 class: Drupal\webprofiler\DataCollector\PhpConfigDataCollector
86 - { name: data_collector, template: '@webprofiler/Collector/php_config.html.twig', id: 'php_config', title: 'PHP Config', priority: 20 }
89 class: Drupal\webprofiler\DataCollector\RequestDataCollector
90 arguments: ['@controller_resolver']
92 - { name: data_collector, template: '@webprofiler/Collector/request.html.twig', id: 'request', title: 'Request', priority: 30 }
93 - { name: event_subscriber }
96 class: Drupal\webprofiler\DataCollector\TimeDataCollector
97 arguments: [NULL, '@stopwatch']
99 - { name: data_collector, template: '@webprofiler/Collector/time.html.twig', id: 'time', title: 'Timeline', priority: 40 }
101 webprofiler.performance_timing:
102 class: Drupal\webprofiler\DataCollector\PerformanceTimingDataCollector
104 - { name: data_collector, template: '@webprofiler/Collector/performance_timing.html.twig', id: 'performance_timing', title: 'Performance Timing', priority: 50 }
106 webprofiler.database:
107 class: Drupal\webprofiler\DataCollector\DatabaseDataCollector
108 arguments: ['@database', '@config.factory']
110 - { name: data_collector, template: '@webprofiler/Collector/database.html.twig', id: 'database', title: 'Database', priority: 60 }
113 class: Drupal\webprofiler\DataCollector\UserDataCollector
114 arguments: ['@current_user', '@entity.manager', '@config.factory', '@authentication_collector']
116 - { name: data_collector, template: '@webprofiler/Collector/user.html.twig', id: 'user', title: 'User', priority: 70 }
119 class: Drupal\webprofiler\DataCollector\FormsDataCollector
120 arguments: ['@form_builder']
122 - { name: data_collector, template: '@webprofiler/Collector/forms.html.twig', id: 'forms', title: 'Forms', priority: 80 }
124 webprofiler.drupal_extensions:
125 class: Drupal\webprofiler\DataCollector\ExtensionDataCollector
126 arguments: ['@module_handler', '@theme_handler', '@app.root']
128 - { name: data_collector, template: '@webprofiler/Collector/extensions.html.twig', id: 'drupal_extension', title: 'Extensions', priority: 90 }
131 class: Drupal\webprofiler\DataCollector\RoutingDataCollector
132 arguments: ['@router.route_provider']
134 - { name: data_collector, template: '@webprofiler/Collector/routing.html.twig', id: 'routing', title: 'Routing', priority: 100 }
137 class: Drupal\webprofiler\DataCollector\CacheDataCollector
139 - { name: data_collector, template: '@webprofiler/Collector/cache.html.twig', id: 'cache', title: 'Cache', priority: 110 }
142 class: Drupal\webprofiler\DataCollector\AssetsDataCollector
143 arguments: ['@app.root']
145 - { name: data_collector, template: '@webprofiler/Collector/assets.html.twig', id: 'assets', title: 'Assets', priority: 120}
148 class: Drupal\webprofiler\DataCollector\ConfigDataCollector
150 - { name: data_collector, template: '@webprofiler/Collector/config.html.twig', id: 'config', title: 'Config', priority: 130 }
153 class: Drupal\webprofiler\DataCollector\StateDataCollector
155 - { name: data_collector, template: '@webprofiler/Collector/state.html.twig', id: 'state', title: 'State', priority: 140 }
158 class: Drupal\webprofiler\DataCollector\EventsDataCollector
159 arguments: ['@event_dispatcher']
161 - { name: data_collector, template: '@webprofiler/Collector/events.html.twig', id: 'events', title: 'Events', priority: 150 }
163 webprofiler.services:
164 class: Drupal\webprofiler\DataCollector\ServicesDataCollector
165 arguments: ['@service_container']
167 - { name: data_collector, template: '@webprofiler/Collector/services.html.twig', id: 'services', title: 'Services', priority: 160 }
170 class: Drupal\webprofiler\DataCollector\HttpDataCollector
171 arguments: ['@http_client_middleware.webprofiler']
173 - { name: data_collector, template: '@webprofiler/Collector/http.html.twig', id: 'http', title: 'Http', priority: 170 }
176 class: Drupal\webprofiler\DataCollector\ThemeDataCollector
177 arguments: ['@theme.manager', '@theme.negotiator', '@twig.profile']
179 - { name: data_collector, template: '@webprofiler/Collector/theme.html.twig', id: 'theme', title: 'Theme', priority: 180 }
182 class: Drupal\webprofiler\DataCollector\MailDataCollector
184 - { name: data_collector, template: '@webprofiler/Collector/mail.html.twig', id: 'mail', title: 'Mail', priority: 190 }
188 class: Drupal\webprofiler\Stopwatch
190 webprofiler.debug.event_dispatcher.default:
191 class: Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher
192 arguments: ['@service_container']
194 webprofiler.debug.plugin.manager.mail.default:
195 class: Drupal\Core\Mail\MailManager
196 arguments: ['@container.namespaces', '@cache.discovery', '@module_handler', '@config.factory', '@logger.factory', '@string_translation', '@renderer']
198 webprofiler.debug.controller_resolver:
199 class: Symfony\Component\HttpKernel\Controller\TraceableControllerResolver
200 arguments: ['@controller_resolver', '@stopwatch']
202 webprofiler.debug.cache_factory:
203 class: Drupal\webprofiler\Cache\CacheFactoryWrapper
205 decorates: cache_factory
206 arguments: ['@webprofiler.debug.cache_factory.inner', '@webprofiler.cache']
208 _serviceId: 'cache_factory'
210 webprofiler.debug.asset.css.collection_renderer:
211 class: Drupal\webprofiler\Asset\CssCollectionRendererWrapper
213 decorates: asset.css.collection_renderer
214 arguments: ['@webprofiler.debug.asset.css.collection_renderer.inner', '@webprofiler.assets']
216 _serviceId: 'asset.css.collection_renderer'
218 webprofiler.debug.asset.js.collection_renderer:
219 class: Drupal\webprofiler\Asset\JsCollectionRendererWrapper
221 decorates: asset.js.collection_renderer
222 arguments: ['@webprofiler.debug.asset.js.collection_renderer.inner', '@webprofiler.assets']
224 _serviceId: 'asset.js.collection_renderer'
226 webprofiler.debug.entity_type.manager:
227 class: Drupal\webprofiler\Entity\EntityManagerWrapper
229 decorates: entity_type.manager
230 arguments: ['@webprofiler.debug.entity_type.manager.inner']
232 _serviceId: 'entity_type.manager'
234 webprofiler.debug.state:
235 class: Drupal\webprofiler\State\StateWrapper
238 arguments: ['@webprofiler.debug.state.inner', '@webprofiler.state']
243 http_middleware.webprofiler:
244 class: Drupal\webprofiler\StackMiddleware\WebprofilerMiddleware
246 - { name: http_middleware, priority: 350 }
248 http_client_middleware.webprofiler:
249 class: Drupal\webprofiler\Http\HttpClientMiddleware
251 - { name: http_client_middleware }
253 # parameter converter service for profile token
254 webprofiler.token_converter:
255 class: Drupal\webprofiler\Routing\TokenConverter
257 - { name: paramconverter }
259 # IDE link generator service
260 webprofiler.ide_link_generator:
261 class: Drupal\webprofiler\Helper\IdeLinkGenerator
262 arguments: ['@config.factory']
264 # class shortener service
265 webprofiler.class_shortener:
266 class: Drupal\webprofiler\Helper\ClassShortener