tutu-ru / lib-metrics-middleware
Middlewares and utils for metric measurement with lib-metrics
Installs: 12 468
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 10
Forks: 0
Open Issues: 0
Requires
- php: ^7.1
- psr/http-message: ^1.0
- psr/http-server-middleware: ^1.0
- tutu-ru/lib-metrics: ^3.0
Requires (Dev)
- guzzlehttp/psr7: ^1.5
- middlewares/utils: ^2.1
- phpunit/phpunit: ^7.4
- squizlabs/php_codesniffer: ^3.3
This package is auto-updated.
Last update: 2025-03-07 01:30:09 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