基础公司/opentelemetry

此包已被弃用且不再维护。作者建议使用 basis-company/telemetry 包。

0.0.6 2020-12-14 09:28 UTC

This package is auto-updated.

Last update: 2021-08-17 19:08:26 UTC


README

使用 basis-company/telemetry 代替!

OpenTelemetry php 库

No Maintenance Intended License Build Status Scrutinizer Code Quality Code Coverage Latest Version Total Downloads

安装

推荐通过 Composer 安装库。

$ composer require basis-company/opentelemetry

跟踪

库正在积极开发中,但简单示例应包含在说明书中。
此外,还可以查看跟踪测试以获取功能更完整的示例。

<?php

use OpenTelemetry\Tracing\Builder;
use OpenTelemetry\Tracing\SpanContext;

$spanContext = SpanContext::generate(); // or extract from headers

$tracer = Builder::create()->setSpanContext($spanContext)->getTracer();

// start a span, register some events
$span = $tracer->createSpan('session.generate');

// set attributes as array
$span->setAttributes([ 'remote_ip' => '5.23.99.245' ]);
// set attribute one by one
$span->setAttribute('country', 'Russia');

$span->addEvent('found_login', [
  'id' => 67235,
  'username' => 'nekufa',
]);
$span->addEvent('generated_session', [
  'id' => md5(microtime(true))
]);

$span->end(); // pass status as an optional argument

测试

要确保此仓库中的测试按预期工作,您可以使用包含的 Docker 测试包装器。

1.) 确保您已安装 Docker
2.) 从您的 bash 兼容 shell 中执行 ./resources/test-using-docker