Newer
Older
parameters:
webprofiler.only_exceptions: false
webprofiler.only_master_requests: false
services:
# profiler services
logger.channel.webprofiler:
class: Drupal\Core\Logger\LoggerChannel
factory: logger.factory:get
arguments: ['webprofiler']
profiler.file_storage:
class: Drupal\webprofiler\Profiler\FileProfilerStorage
arguments: ['%data_collector.storage%']
tags:
- { name: webprofiler_storage, title: 'File storage' }
profiler.database_storage:
class: Drupal\webprofiler\Profiler\DatabaseProfilerStorage
arguments: ['@database']
tags:
- { name: webprofiler_storage, title: 'Database storage' }
profiler.storage_manager:
class: Drupal\webprofiler\Profiler\ProfilerStorageManager
profiler.storage:
class: Symfony\Component\HttpKernel\Profiler\ProfilerStorageInterface
factory: Drupal\webprofiler\Profiler\ProfilerStorageFactory::getProfilerStorage
arguments: ['@config.factory', '@service_container']
profiler:
class: Drupal\webprofiler\Profiler\Profiler
arguments: ['@profiler.storage', '@logger.channel.webprofiler', '@config.factory']
# template manager
template_manager:
class: Drupal\webprofiler\Profiler\TemplateManager
arguments: ['@profiler', '@twig', '@twig.loader', '%data_collector.templates%']
# request matcher
webprofiler.matcher:
class: Drupal\webprofiler\RequestMatcher\WebprofilerRequestMatcher
arguments: ['@config.factory', '@path.matcher']
# event subscribers
webprofiler.profiler_listener:
class: Symfony\Component\HttpKernel\EventListener\ProfilerListener
Luca Lusso
committed
arguments: ['@profiler', '@request_stack', '@?webprofiler.matcher', '%webprofiler.only_exceptions%', '%webprofiler.only_master_requests%']
tags:
- { name: event_subscriber }
webprofiler.webprofiler_event_subscriber:
class: Drupal\webprofiler\EventSubscriber\WebprofilerEventSubscriber
arguments: ['@current_user', '@url_generator', '@renderer']
tags:
- { name: event_subscriber }
# twig profiler
twig.profile:
class: Twig_Profiler_Profile
twig.extension.profiler:
class: Drupal\webprofiler\Twig\Extension\ProfilerExtension
arguments: ['@twig.profile', '@stopwatch', '@webprofiler.ide_link_generator', '@webprofiler.class_shortener']
tags:
- { name: twig.extension, priority: 100 }
# datacollector services
webprofiler.drupal:
class: Drupal\webprofiler\DataCollector\DrupalDataCollector
arguments: ['@redirect.destination', '@url_generator']
tags:
- { name: data_collector, template: '@webprofiler/Collector/drupal.html.twig', id: 'drupal', title: 'Drupal', priority: 10 }
Luca Lusso
committed
webprofiler.devel:
class: Drupal\webprofiler\DataCollector\DevelDataCollector
arguments: ['@menu.link_tree']
tags:
- { name: data_collector, template: '@webprofiler/Collector/devel.html.twig', id: 'devel', title: 'Devel', priority: 15 }
webprofiler.php_config:
class: Drupal\webprofiler\DataCollector\PhpConfigDataCollector
tags:
- { name: data_collector, template: '@webprofiler/Collector/php_config.html.twig', id: 'php_config', title: 'PHP Config', priority: 20 }
webprofiler.request:
class: Drupal\webprofiler\DataCollector\RequestDataCollector
arguments: ['@controller_resolver']
tags:
- { name: data_collector, template: '@webprofiler/Collector/request.html.twig', id: 'request', title: 'Request', priority: 30 }
- { name: event_subscriber }
webprofiler.time:
class: Drupal\webprofiler\DataCollector\TimeDataCollector
arguments: [NULL, '@stopwatch']
tags:
- { name: data_collector, template: '@webprofiler/Collector/time.html.twig', id: 'time', title: 'Timeline', priority: 40 }
webprofiler.performance_timing:
class: Drupal\webprofiler\DataCollector\PerformanceTimingDataCollector
tags:
- { name: data_collector, template: '@webprofiler/Collector/performance_timing.html.twig', id: 'performance_timing', title: 'Performance Timing', priority: 50 }
webprofiler.database:
class: Drupal\webprofiler\DataCollector\DatabaseDataCollector
arguments: ['@database', '@config.factory']
tags:
- { name: data_collector, template: '@webprofiler/Collector/database.html.twig', id: 'database', title: 'Database', priority: 60 }
webprofiler.user:
class: Drupal\webprofiler\DataCollector\UserDataCollector
arguments: ['@current_user', '@entity.manager', '@config.factory', '@authentication_collector']
tags:
- { name: data_collector, template: '@webprofiler/Collector/user.html.twig', id: 'user', title: 'User', priority: 70 }
webprofiler.forms:
class: Drupal\webprofiler\DataCollector\FormsDataCollector
arguments: ['@form_builder']
tags:
- { name: data_collector, template: '@webprofiler/Collector/forms.html.twig', id: 'forms', title: 'Forms', priority: 80 }
webprofiler.drupal_extensions:
class: Drupal\webprofiler\DataCollector\ExtensionDataCollector
arguments: ['@module_handler', '@theme_handler', '@app.root']
tags:
- { name: data_collector, template: '@webprofiler/Collector/extensions.html.twig', id: 'drupal_extension', title: 'Extensions', priority: 90 }
webprofiler.routing:
class: Drupal\webprofiler\DataCollector\RoutingDataCollector
arguments: ['@router.route_provider']
tags:
- { name: data_collector, template: '@webprofiler/Collector/routing.html.twig', id: 'routing', title: 'Routing', priority: 100 }
webprofiler.cache:
class: Drupal\webprofiler\DataCollector\CacheDataCollector
tags:
- { name: data_collector, template: '@webprofiler/Collector/cache.html.twig', id: 'cache', title: 'Cache', priority: 110 }
webprofiler.assets:
class: Drupal\webprofiler\DataCollector\AssetsDataCollector
arguments: ['@app.root']
tags:
- { name: data_collector, template: '@webprofiler/Collector/assets.html.twig', id: 'assets', title: 'Assets', priority: 120}
webprofiler.config:
class: Drupal\webprofiler\DataCollector\ConfigDataCollector
tags:
- { name: data_collector, template: '@webprofiler/Collector/config.html.twig', id: 'config', title: 'Config', priority: 130 }
webprofiler.state:
class: Drupal\webprofiler\DataCollector\StateDataCollector
tags:
- { name: data_collector, template: '@webprofiler/Collector/state.html.twig', id: 'state', title: 'State', priority: 140 }
webprofiler.events:
class: Drupal\webprofiler\DataCollector\EventsDataCollector
arguments: ['@event_dispatcher']
tags:
- { name: data_collector, template: '@webprofiler/Collector/events.html.twig', id: 'events', title: 'Events', priority: 150 }
webprofiler.services:
class: Drupal\webprofiler\DataCollector\ServicesDataCollector
arguments: ['@service_container']
tags:
- { name: data_collector, template: '@webprofiler/Collector/services.html.twig', id: 'services', title: 'Services', priority: 160 }
webprofiler.http:
class: Drupal\webprofiler\DataCollector\HttpDataCollector
arguments: ['@http_client_middleware.webprofiler']
tags:
- { name: data_collector, template: '@webprofiler/Collector/http.html.twig', id: 'http', title: 'Http', priority: 170 }
webprofiler.theme:
class: Drupal\webprofiler\DataCollector\ThemeDataCollector
arguments: ['@theme.manager', '@theme.negotiator', '@twig.profile']
tags:
- { name: data_collector, template: '@webprofiler/Collector/theme.html.twig', id: 'theme', title: 'Theme', priority: 180 }
webprofiler.mail:
class: Drupal\webprofiler\DataCollector\MailDataCollector
tags:
- { name: data_collector, template: '@webprofiler/Collector/mail.html.twig', id: 'mail', title: 'Mail', priority: 190 }
# debug services
stopwatch:
class: Drupal\webprofiler\Stopwatch
webprofiler.debug.plugin.manager.mail.default:
class: Drupal\Core\Mail\MailManager
arguments: ['@container.namespaces', '@cache.discovery', '@module_handler', '@config.factory', '@logger.factory', '@string_translation', '@renderer']
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
webprofiler.debug.controller_resolver:
class: Symfony\Component\HttpKernel\Controller\TraceableControllerResolver
arguments: ['@controller_resolver', '@stopwatch']
webprofiler.debug.cache_factory:
class: Drupal\webprofiler\Cache\CacheFactoryWrapper
public: false
decorates: cache_factory
arguments: ['@webprofiler.debug.cache_factory.inner', '@webprofiler.cache']
properties:
_serviceId: 'cache_factory'
webprofiler.debug.asset.css.collection_renderer:
class: Drupal\webprofiler\Asset\CssCollectionRendererWrapper
public: false
decorates: asset.css.collection_renderer
arguments: ['@webprofiler.debug.asset.css.collection_renderer.inner', '@webprofiler.assets']
properties:
_serviceId: 'asset.css.collection_renderer'
webprofiler.debug.asset.js.collection_renderer:
class: Drupal\webprofiler\Asset\JsCollectionRendererWrapper
public: false
decorates: asset.js.collection_renderer
arguments: ['@webprofiler.debug.asset.js.collection_renderer.inner', '@webprofiler.assets']
properties:
_serviceId: 'asset.js.collection_renderer'
Luca Lusso
committed
webprofiler.debug.entity_type.manager:
class: Drupal\webprofiler\Entity\EntityManagerWrapper
public: false
Luca Lusso
committed
decorates: entity_type.manager
arguments: ['@webprofiler.debug.entity_type.manager.inner']
Luca Lusso
committed
_serviceId: 'entity_type.manager'
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
webprofiler.debug.state:
class: Drupal\webprofiler\State\StateWrapper
public: false
decorates: state
arguments: ['@webprofiler.debug.state.inner', '@webprofiler.state']
properties:
_serviceId: 'state'
# middleware
http_middleware.webprofiler:
class: Drupal\webprofiler\StackMiddleware\WebprofilerMiddleware
tags:
- { name: http_middleware, priority: 350 }
http_client_middleware.webprofiler:
class: Drupal\webprofiler\Http\HttpClientMiddleware
tags:
- { name: http_client_middleware }
# parameter converter service for profile token
webprofiler.token_converter:
class: Drupal\webprofiler\Routing\TokenConverter
tags:
- { name: paramconverter }
# IDE link generator service
webprofiler.ide_link_generator:
class: Drupal\webprofiler\Helper\IdeLinkGenerator
arguments: ['@config.factory']
# class shortener service
webprofiler.class_shortener:
class: Drupal\webprofiler\Helper\ClassShortener