kafliansky / push-prometheus
通过amphp将指标推送到Prometheus。
v0.1.1
2022-04-12 15:31 UTC
Requires
- php: ^8.1
- amphp/http-client: ^4.6
Requires (Dev)
- phpunit/phpunit: ^9.5
- vimeo/psalm: ^4.22
This package is auto-updated.
Last update: 2024-09-12 20:24:19 UTC
README
内容
安装
composer require kafkiansky/push-prometheus
用法
使用默认HTTP客户端的简单示例
use Amp\Http\Client\Request; use Kafkiansky\PushPrometheus\Context; use Kafkiansky\PushPrometheus\Metrics\Counter; use Kafkiansky\PushPrometheus\Metrics\Name; use Kafkiansky\PushPrometheus\Metrics\Number; use Kafkiansky\PushPrometheus\Pusher; require_once __DIR__.'/vendor/autoload.php'; Amp\Loop::run(function (): \Generator { $pusher = new Pusher(new Context(host: 'https://pushgateway.test.net/', groups: [ 'job' => 'gateway', 'instance' => 'localhost', ])); yield $pusher->push(new Counter(new Name('test', 'namespace', 'subsystem'), new Number(2))); });
使用自定义HTTP客户端
use Amp\Http\Client\Request; use Kafkiansky\PushPrometheus\Context; use Kafkiansky\PushPrometheus\Metrics\Gauge; use Kafkiansky\PushPrometheus\Metrics\Name; use Kafkiansky\PushPrometheus\Metrics\Number; use Kafkiansky\PushPrometheus\Pusher; use Amp\Http\Client\HttpClient; use Amp\Http\Client\HttpClientBuilder; require_once __DIR__.'/vendor/autoload.php'; Amp\Loop::run(function (): \Generator { $pusher = new Pusher(new Context(host: 'https://pushgateway.test.net/', groups: [ 'job' => 'gateway', 'instance' => 'localhost', ]), function (): HttpClient { return HttpClientBuilder::buildDefault(); }); yield $pusher->push(new Gauge(new Name('test', 'namespace', 'subsystem'), new Number(2))); });
测试
$ composer test
许可协议
MIT许可协议(MIT)。更多信息请参阅许可文件。