spiral/roadrunner-metrics
Composer 安装命令:
composer require spiral/roadrunner-metrics
包简介
RoadRunner: Prometheus metrics RPC
README 文档
README
RoadRunner Metrics Plugin
This repository contains the codebase PHP bridge using RoadRunner Metrics plugin.
Installation:
To install RoadRunner extension:
composer require spiral/roadrunner-metrics
You can use the convenient installer to download the latest available compatible version of RoadRunner assembly:
composer require spiral/roadrunner-cli --dev vendor/bin/rr get
Configuration
Enable metrics service in your .rr.yaml file:
rpc: listen: tcp://127.0.0.1:6001 server: command: "php worker.php" http: address: "0.0.0.0:8080" metrics: address: "0.0.0.0:2112"
Usage
To publish metrics from your application worker:
<?php declare(strict_types=1); use Nyholm\Psr7\Factory;use Spiral\Goridge;use Spiral\RoadRunner; include "vendor/autoload.php"; $worker = new RoadRunner\Http\PSR7Worker( RoadRunner\Worker::create(), new Factory\Psr17Factory(), new Factory\Psr17Factory(), new Factory\Psr17Factory() ); # Create metrics client $metrics = new RoadRunner\Metrics\Metrics( Goridge\RPC\RPC::create(RoadRunner\Environment::fromGlobals()->getRPCAddress()) ); # Declare counter $metrics->declare( 'http_requests', RoadRunner\Metrics\Collector::counter() ->withHelp('Collected HTTP requests.') ->withLabels('status', 'method'), ); while ($req = $worker->waitRequest()) { try { $response = new \Nyholm\Psr7\Response(); $response->getBody()->write("hello world"); # Publish metrics for each request with labels (status, method) $metrics->add('http_requests', 1, [ $response->getStatusCode(), $req->getMethod(), ]); $worker->respond($rsp); } catch (\Throwable $e) { $worker->getWorker()->error((string)$e); $metrics->add('http_requests', 1, [503,$req->getMethod(),]); } }
License:
The MIT License (MIT). Please see LICENSE for more information. Maintained
by Spiral Scout.
spiral/roadrunner-metrics 适用场景与选型建议
spiral/roadrunner-metrics 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 2.8M 次下载、GitHub Stars 达 8, 最近一次更新时间为 2021 年 02 月 18 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 spiral/roadrunner-metrics 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 spiral/roadrunner-metrics 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 2.8M
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 8
- 点击次数: 29
- 依赖项目数: 3
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-02-18