tweedegolf/prometheus-client

该软件包已被废弃,不再维护。没有建议的替代软件包。

PHP Prometheus客户端库

v0.4.0 2022-01-10 21:21 UTC

This package is auto-updated.

Last update: 2023-06-29 10:25:58 UTC


README

由于Tweede Golf已经不再使用/维护此库(已有数年之久)- 此存储库已被归档。如果您愿意维护此库,请通过support@tweedegolf.com联系我们

Tweede Golf Prometheus PHP客户端

一个提供多个存储后端的Prometheus客户端,主要遵循Prometheus文档中指定的指南。

此库目前尚未实现Summary度量类型。对于使用Symfony的用户,有Prometheus客户端扩展包可用。

安装

此库使用Composer。只需运行以下命令即可将其添加为项目依赖项

composer require tweedegolf/prometheus-client

使用方法

首先,您必须创建一个CollectorRegistry。您可以在此注册任意数量的度量收集器。要创建收集器注册表,您必须指定一个存储适配器。为了简化设置,您可能想尝试APC或APCU存储适配器。以下是一个示例

use TweedeGolf\PrometheusClient\CollectorRegistry;
use TweedeGolf\PrometheusClient\Storage\ApcuAdapter;

$registry = new CollectorRegistry(new ApcuAdapter());
$registry->createCounter('requests', [], null, true);
$registry->createGauge('traffic', ['endpoint'], 'Active traffic per endpoint', true);

接下来,在某个事件(例如请求进入您的应用程序)时,您可以修改现有的度量。以下是一个示例

$registry->getCounter('requests')->inc();
$registry->getGauge('traffic')->set(10, ['/home']);

最后,您的应用程序应公开一些端点,Prometheus可以从中抓取度量

use TweedeGolf\PrometheusClient\Format\TextFormatter;

$formatter = new TextFormatter();
header('Content-Type', $formatter->getMimeType());
echo $formatter->format($registry->collect());