leocavalcante/newrelic-telemetry-sdk

向 New Relic 发送遥测数据的非官方 PHP 库

v0.1.1 2021-02-18 12:54 UTC

This package is auto-updated.

Last update: 2024-09-18 20:59:41 UTC


README

非官方 的 PHP 库,用于向 New Relic 发送遥测数据。

  • ⚠️ 正在积极开发中,但开源寻求贡献。
  • 不是 代理包装器,它调用 New Relic 的 Ingest APIs

用法

示例

发送一个 Gauge 指标。

use NewRelic\Adapter;
use NewRelic\Metric;

$metric_api = new Metric\API(new Adapter\Curl(getenv('NR_API_KEY')));
$metric_api->setCommonAttrs(['service.name' => 'PHP-SDK']);
$metric_api->send(new Metric\Gauge('memory.heap', 2.3));

$response = $metric_api->commit();

if ($response->isOk()) {
    echo sprintf("Request ID: %s\n", $response->getId());
} else {
    echo sprintf("Metric send error: %s\n", $response->getMessage());
}

相关资源

提示

原因

主要原因包括

  • 与常规代理相比,有太多的 segfaults
  • 即使是简单的用例,常规代理也与 Swoole 不兼容。这段小代码就足以抛出 segfault
    Co\run(static function () {
      go(static function () {
        (new Co\Http\Client('swoole.co.uk'))->get('/');
      });
    });
  • 其他语言的 SDK,这是一个非官方的 PHP 版本。
  • 可用于为即将推出的 OpenTelemetry PHP 库 构建一个 New Relic 导出器。