tutu-ru/lib-metrics-middleware

Middlewares and utils for metric measurement with lib-metrics

1.3.0 2019-08-06 13:13 UTC

README

PSR-15 middleware для измерения времени обработки запроса и отправки метрик.

Подключение

composer require tutu-ru/lib-metrics-middleware

RequestTimingMiddleware

Измеряет время обработки запроса. Для максимальной точности измерения данный middleware должен выполняться одинм из первых.

use TutuRu\Metrics\StatsdExporterClientFactory;
use TutuRu\MetricsMiddleware\RequestTimingMiddleware;

$statsExporterClient = StatsdExporterClientFactory::create($config);
$middleware = new RequestMetadataMiddleware($statsExporterClient);
// add to application

Так как до инициализации middleware в приложении могут происходить дополнительные действия предусмотрена передача произвольного времени старта:

use TutuRu\Metrics\StatsdExporterClientFactory;
use TutuRu\MetricsMiddleware\RequestTimingMiddleware;

$startTime = microtime(true);

// some useful thing

$statsExporterClient = StatsdExporterClientFactory::create($config);
$middleware = new RequestMetadataMiddleware($statsExporterClient, $startTime);
// add to application

StatsdExporterSaveMiddleware

Отправляет все накопленные метрики.

Должен срабатывать в самом конце обработки, после всех middleware, которые могли собирать метрики.

use TutuRu\Metrics\StatsdExporterClientFactory;
use TutuRu\MetricsMiddleware\StatsdExporterSaveMiddleware;

$statsExporterClient = StatsdExporterClientFactory::create($config);
$middleware = new StatsdExporterSaveMiddleware($statsExporterClient);
// add to application