yii-debug-panel + cache panel

Написал дополнение для yii-debug-panel — достаточно популярного расширения для приложений на базе фреймворка Yii (PHP). Это расширение является портированной версией Django Debug Toolbar для Python. Расширение yii-debug-panel помогает выполнять отладку веб-приложения. Ключевые сведения о процессе обработки запросов выводятся в удобной панели. Среди отслеживаемых параметров: настройки приложения, компоненты, параметры запроса, протоколы и замеры времени при работе с базой данных. Моё дополнение позволяет увидеть работу с кэшем: настройки, статистику и конкретные ключи, которые читали, добавляли, удаляли. Вот какая информация выводится в панели отладки кэша:

Панель статистики использования кэша для yii-debug-panel

Панель статистики использования кэша для yii-debug-panel

Панель стэка вызовов кэша для yii-debug-panel

Панель стэка вызовов кэша для yii-debug-panel

Также переведено на английский: yii-debug-panel cache summary yii-debug-panel cache callstack Базовые классы для работы с кэшем в целях повышения производительности не содержит команд для профилирования. Дополнительный прокси-класс добавляет вызовы стандартных функций Yii для замера времени операций. Чтобы задействовать профилирование, нужно изменить файл конфигурации приложения:

<?php
//...
    'cache'=>array(
        'class' => 'ext.yii-debug-toolbar.YiiDebugCacheProxy',
        'enableProfiling' => true,
        'cache' => array(
            'class' => 'system.caching.CFileCache', // or other cache class
            //... any other valid settings for cache
        ),
    ),

Параметр ‘enableProfiling’ => true включает замеры времени с помощью Yii::beginProfile() … Yii::endProfile(). По умолчанию этот параметр установлен в false. Значение true допускается только в режиме разработки с целью выяснения, эффективно ли используется подсистема кэширования. В промышленной эксплуатации такой режим приведёт к значительному снижению производительности. Пользуйтесь на здоровье: github.com/pvolyntsev/yii-debug-toolbar. P.S. Я подал pull request, но не уверен, что будет он быстро принят. Полезные ссылки:

Павел Волынцев

Уже более 15 лет занимаюсь разработкой веб-проектов. Fullstack Senior Developer. IT евангелист — доношу свет знаний об информационных технологиях. Профессиональные цели: Дать людям возможность дать людям больше.

Читайте также:

  • roman

    Как раз то что нужно, лень было самому искать 🙂

    • roman

      В смысле лень было самому писать 🙂 А пришлось бы, если бы не нашел ваше решение.

  • Pingback: Кэширование схем в Yii - Пишу что вижу()

  • В пром эксплуатации надо выключить профилирование

    array(
    ‘class’ => ‘ext.yii-debug-toolbar.YiiDebugCacheProxy’,
    ‘enableProfiling’ => YII_DEBUG, // array(
    ‘class’ => ‘system.caching.CFileCache’, // or other cache class
    //… any other valid settings for cache
    ),
    ),

    Read more: http://copist.ru/blog/2014/03/22/yii-debug-panel-cache-panel/#ixzz3Edv70iAJ