PHP

PHP 用于PHP的OpenTelemetry语言特定实现。

This is the OpenTelemetry PHP documentation. OpenTelemetry is an observability framework – an API, SDK, and tools that are designed to aid in the generation and collection of application telemetry data such as metrics, logs, and traces. This documentation is designed to help you understand how to get started using OpenTelemetry PHP.

Status and Releases

The current status of the major functional components for OpenTelemetry PHP is as follows:

Traces Metrics Logs
Stable Stable Stable

For releases, including the latest release, see Releases.

进一步阅读

要求

OpenTelemetry for PHP 要求最低的PHP版本是 7.4,并且自动仪表化需要版本 8.0+。

依赖

一些 SDKContrib 包依赖于 HTTP工厂 (PSR-17)php-http/async-client 的实现。您可以在 packagist.org 上找到适当实现给定标准的Composer包。

请参阅 http-factory-implementations 以查找 PSR-17 (HTTP factories) 的实现,并参阅 async-client-implementations 以找到 php-http/async-client 的实现。

可选的PHP扩展

扩展 目的
ext-grpc 用于将gRPC作为OTLP输出器的传输方式
ext-mbstring 比回退选择symfony/polyfill-mbstring更高效
ext-zlib 如果您想要压缩导出的数据
ext-ffi 基于Fiber的上下文存储
ext-protobuf OTLP+protobuf输出的_显著_性能改进

ext-ffi

可以通过将环境变量 OTEL_PHP_FIBERS_ENABLED 设置为 true 来启用Fibers支持。在非CLI SAPI中使用Fibers可能需要预加载绑定。实现这一目标的一种方法是将 ffi.preload 设置为 src/Context/fiber/zend_observer_fiber.h 并将 opcache.preload 设置为 vendor/autoload.php

ext-protobuf

原生protobuf库 的速度比扩展要慢得多。我们强烈建议使用扩展。

设置

OpenTelemetry for PHP 通过 packagist 分发,有多个包可供选择。我们建议您仅安装所需的包,通常最低要求是 APIContextSDK 和一个输出器。

我们强烈建议您的代码仅依赖于 API 包中的类和接口。


入门指南

使用OpenTelemetry for PHP进行开发和运行。

自动仪表化

手动仪表化

OpenTelemetry PHP 的手动仪表化

Exporters

传播

PHP API 的上下文传播

资源

SDK(软件开发工具包)

最后修改 December 13, 2023: improve glossary translation (46f8201b)