入门
快速上手 OpenTelemetry for PHP。
这是 OpenTelemetry PHP 的文档。OpenTelemetry 是一个可观察性框架——它包含 API、SDK 和工具,旨在帮助生成和收集应用程序遥测数据,如指标、日志和跟踪。本文档旨在帮助您了解如何开始使用 OpenTelemetry PHP。
OpenTelemetry PHP 主要功能组件的当前状态如下:
| 追踪 | 指标 | 日志 |
|---|---|---|
| 稳定 | 稳定 | 稳定 |
OpenTelemetry for PHP SDK 旨在支持所有官方支持的 PHP 版本(根据 www.php.net/supported-versions),并且将在 PHP 版本生命周期结束后的 12 个月内停止支持该版本。
自动仪器化需要 PHP 版本 8.0+。
一些 `SDK` 和 `Contrib` 包依赖于 HTTP Factories (PSR-17) 和 `php-http/async-client` 实现。您可以在 packagist.org 上找到实现这些标准的 composer 包。
请参阅 http-factory-implementations 以查找 `PSR-17 (HTTP factories)` 实现,并参阅 async-client-implementations 以查找 `php-http/async-client` 实现。
| 扩展 | 用途 |
|---|---|
| ext-grpc | 使用 gRPC 作为 OTLP 导出器的传输所需的 |
| ext-mbstring | 比回退方案 `symfony/polyfill-mbstring` 性能更高 |
| ext-zlib | 如果您想压缩导出的数据 |
| ext-ffi | 基于 Fiber 的上下文存储 |
| ext-protobuf | 显著提高 otlp+protobuf 导出的性能 |
可以通过将 `OTEL_PHP_FIBERS_ENABLED` 环境变量设置为 `true` 来启用 Fiber 支持。在非 `CLI` SAPIs 中使用 Fiber 可能需要预加载绑定。一种实现此目的的方法是将 `ffi.preload` 设置为 `src/Context/fiber/zend_observer_fiber.h`,并将 `opcache.preload` 设置为 `vendor/autoload.php`。
原生的 protobuf 库(native protobuf library)比扩展慢得多。我们强烈建议使用该扩展。
OpenTelemetry for PHP 通过 packagist 分发,包含多个包。我们建议您只安装您需要的包,通常最少需要 `API`、`Context`、`SDK` 和一个导出器。
我们强烈建议您的代码只依赖 `API` 包中的类和接口。
快速上手 OpenTelemetry for PHP。
OpenTelemetry PHP 的手动仪器化
了解上下文 API 在仪器化应用程序中的工作原理。
PHP API 的上下文传播
OpenTelemetry PHP 的仪器化库、导出器和其他有用组件