Skip to content

Коллектор кэша

Захватывает операции с кэшем (get, set, delete) с показателями попаданий/промахов, замерами времени и разбивкой по пулам.

Панель коллектора кэша

Собираемые данные

ПолеОписание
poolИмя пула кэша (например, default, sessions)
operationТип операции (get, set, delete, has, clear)
keyКлюч кэша
hitБыло ли попадание в кэш
durationВремя выполнения операции в секундах
valueКэшированное значение (для операций get/set)

Схема данных

json
{
    "operations": [
        {
            "pool": "default",
            "operation": "get",
            "key": "user:42",
            "hit": true,
            "duration": 0.0003,
            "value": {"name": "John"}
        }
    ],
    "hits": 8,
    "misses": 2,
    "totalOperations": 10
}

Сводка (отображается в списке отладочных записей):

json
{
    "cache": {
        "hits": 8,
        "misses": 2,
        "totalOperations": 10
    }
}

Контракт

php
use AppDevPanel\Kernel\Collector\CacheCollector;
use AppDevPanel\Kernel\Collector\CacheOperationRecord;

$collector->logCacheOperation(new CacheOperationRecord(
    pool: 'default',
    operation: 'get',
    key: 'user:42',
    hit: true,
    duration: 0.0003,
    value: ['name' => 'John'],
));

Как это работает

Адаптеры фреймворков перехватывают операции PSR-16 CacheInterfacePsr\SimpleCache\CacheInterfacePSR-16 Simple Cache Interface. Defines basic cache operations.PSR-16 · interface через декоратор CacheInterfaceProxy. Каждый вызов get(), set(), delete(), has() и clear() автоматически захватывается.

Панель отладки

  • Сводка по попаданиям — общее количество операций, попаданий, промахов с процентным соотношением
  • Разбивка по пулам — статистика по пулам кэша при использовании нескольких пулов
  • Список операций — фильтруемый список с типом операции, ключом, статусом попадания/промаха и временем
  • Цветовая кодировка — попадания (зелёный), промахи (оранжевый), удаления (жёлтый)
  • Предпросмотр значений — раскрываемые кэшированные значения для операций get/set

Выпущено под лицензией MIT.