open-telemetry/opentelemetry-auto-psr3

PSR-3 (日志接口) 的 OpenTelemetry 自动检测。

0.0.7 2024-06-25 01:39 UTC

This package is auto-updated.

Last update: 2024-09-18 04:08:20 UTC


README

Releases Issues Source Mirror Latest Version Stable

这是 https://github.com/open-telemetry/opentelemetry-php-contrib 的只读子树分支。

OpenTelemetry PSR-3 自动检测

请阅读https://opentelemetry.io/docs/instrumentation/php/automatic/ 了解如何安装和配置扩展和 SDK。

概述

自动检测钩子通过 composer 注册,并根据模式,将

  • 自动将跟踪 ID 和跨度 ID 注入到任何 psr3 日志器的日志消息上下文中;或者
  • 将消息转换为 OpenTelemetry LogRecord 格式,以便导出到兼容 OpenTelemetry 日志的后端

模式

该软件包可以在两种模式下运行,由环境变量 OTEL_PHP_PSR3_MODE 控制

注入

将活动跟踪跨度中的 traceIdspanId 注入到每个记录消息的上下文中。根据 PSR-3 实现不同,这些值可能被写入日志输出,也可能可用于在日志消息中进行插值。

例如

putenv('OTEL_PHP_PSR3_MODE=inject');
require 'vendor/autoload.php';

$logger = /* create logger */
$logger->info('traceId={traceId} spanId={spanId}');

导出

记录的输出将像平常一样由日志器处理和发布,但输出也将使用 OpenTelemetry 日志模型 编码,并可以导出到兼容 OpenTelemetry 的后端。

putenv('OTEL_PHP_PSR3_MODE=export');
putenv('OTEL_PHP_AUTOLOAD_ENABLED=true');
putenv('OTEL_LOGS_EXPORTER=console');
require 'vendor/autoload.php';

$logger = /* create logger */
$logger->info('Hello, OTEL');

配置

可以通过 运行时配置 禁用此扩展。

OTEL_PHP_DISABLED_INSTRUMENTATIONS=psr3