<?xml version="1.0" ?>

<container xmlns="http://symfony.com/schema/dic/services"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">

    <parameters>
        <parameter key="profiler.class">Symfony\Component\HttpKernel\Profiler\Profiler</parameter>
        <parameter key="profiler_listener.class">Symfony\Component\HttpKernel\EventListener\ProfilerListener</parameter>
    </parameters>

    <services>
        <service id="profiler" class="%profiler.class%">
            <tag name="monolog.logger" channel="profiler" />
            <argument type="service" id="profiler.storage" />
            <argument type="service" id="logger" on-invalid="null" />
        </service>

        <service id="profiler.storage" class="" public="false">
            <argument>%profiler.storage.dsn%</argument>
            <argument>%profiler.storage.username%</argument>
            <argument>%profiler.storage.password%</argument>
            <argument>%profiler.storage.lifetime%</argument>
        </service>

        <service id="profiler_listener" class="%profiler_listener.class%">
            <tag name="kernel.event_listener" event="kernel.response" method="onKernelResponse" priority="-100" />
            <tag name="kernel.event_listener" event="kernel.exception" method="onKernelException" />
            <tag name="kernel.event_listener" event="kernel.request" method="onKernelRequest" priority="1024" />
            <argument type="service" id="profiler" />
            <argument type="service" id="profiler.request_matcher" on-invalid="null" />
            <argument>%profiler_listener.only_exceptions%</argument>
            <argument>%profiler_listener.only_master_requests%</argument>
        </service>
    </services>
</container>
