|
4 | 4 | Switching the Profiler Storage
|
5 | 5 | ==============================
|
6 | 6 |
|
7 |
| -By default the profile stores the collected data in files in the ``%kernel.cache_dir%/profiler/`` directory. |
8 |
| -You can control the storage being used through the ``dsn``, ``username``, |
9 |
| -``password`` and ``lifetime`` options. For example, the following configuration |
10 |
| -uses MySQL as the storage for the profiler with a lifetime of one hour: |
| 7 | +In Symfony versions previous to 3.0, profiles could be stored in files, databases, |
| 8 | +services like Redis and Memcache, etc. Starting from Symfony 3.0, the only storage |
| 9 | +mechanism with built-in support is the filesystem. |
11 | 10 |
|
12 |
| -.. configuration-block:: |
| 11 | +By default the profile stores the collected data in the ``%kernel.cache_dir%/profiler/`` |
| 12 | +directory. If you want to use another location to store the profiles, define the |
| 13 | +``dsn`` option of the ``framework.profiler``: |
13 | 14 |
|
14 |
| - .. code-block:: yaml |
| 15 | +.. code-block:: yaml |
15 | 16 |
|
16 |
| - # app/config/config.yml |
17 |
| - framework: |
18 |
| - profiler: |
19 |
| - dsn: 'mysql:host=localhost;dbname=%database_name%' |
20 |
| - username: '%database_user%' |
21 |
| - password: '%database_password%' |
22 |
| - lifetime: 3600 |
| 17 | + # app/config/config.yml |
| 18 | + framework: |
| 19 | + profiler: |
| 20 | + dsn: 'file:/tmp/symfony/profiler' |
23 | 21 |
|
24 |
| - .. code-block:: xml |
25 |
| -
|
26 |
| - <!-- app/config/config.xml --> |
27 |
| - <?xml version="1.0" encoding="UTF-8" ?> |
28 |
| - <container xmlns="http://symfony.com/schema/dic/services" |
29 |
| - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
30 |
| - xmlns:framework="http://symfony.com/schema/dic/symfony" |
31 |
| - xsi:schemaLocation="http://symfony.com/schema/dic/services |
32 |
| - http://symfony.com/schema/dic/services/services-1.0.xsd |
33 |
| - http://symfony.com/schema/dic/symfony |
34 |
| - http://symfony.com/schema/dic/symfony/symfony-1.0.xsd" |
35 |
| - > |
36 |
| - <framework:config> |
37 |
| - <framework:profiler |
38 |
| - dsn="mysql:host=localhost;dbname=%database_name%" |
39 |
| - username="%database_user%" |
40 |
| - password="%database_password%" |
41 |
| - lifetime="3600" |
42 |
| - /> |
43 |
| - </framework:config> |
44 |
| - </container> |
45 |
| -
|
46 |
| - .. code-block:: php |
47 |
| -
|
48 |
| - // app/config/config.php |
49 |
| -
|
50 |
| - // ... |
51 |
| - $container->loadFromExtension('framework', array( |
52 |
| - 'profiler' => array( |
53 |
| - 'dsn' => 'mysql:host=localhost;dbname=%database_name%', |
54 |
| - 'username' => '%database_user', |
55 |
| - 'password' => '%database_password%', |
56 |
| - 'lifetime' => 3600, |
57 |
| - ), |
58 |
| - )); |
59 |
| -
|
60 |
| -The :doc:`HttpKernel component </components/http_kernel/introduction>` currently |
61 |
| -supports the following profiler storage drivers: |
62 |
| - |
63 |
| -* file |
64 |
| -* sqlite |
65 |
| -* mysql |
66 |
| -* mongodb |
67 |
| -* memcache |
68 |
| -* memcached |
69 |
| -* redis |
| 22 | +You can also create your own profile storage service implementing the |
| 23 | +:class:``Symfony\Component\HttpKernel\Profiler\ProfilerStorageInterface`` and |
| 24 | +overriding the ``profiler.storage`` service. |
0 commit comments