Observability:适用于 PHP 的 OpenTelemetry:EDOT PHP 加入 OpenTelemetry 项目
作者:Elastic Pawel Filipczak

了解 Elastic 向 OpenTelemetry 社区捐赠其 EDOT PHP 的详情,并发现这如何让适用于 PHP 的 OpenTelemetry 变得更简单、更易用。
OpenTelemetry 社区已正式接受 Elastic 的提案,贡献其适用于 PHP 的 Elastic 版 OpenTelemetry(EDOT PHP)—— 这标志着为全球最广泛使用的网络语言之一带来一流可观测性的一个重要里程碑。
几十年来,PHP 支撑了从小型企业网站到大型 SaaS 平台的一切。然而,PHP 的可观测性通常需要手动设置、编译器、自定义扩展或修改应用代码 —— 这些挑战限制了其在生产环境中的采用。此次即将完成的捐赠旨在改变这一点,使适用于 PHP 的 OpenTelemetry 与其他运行时一样易于部署。
未来展望
一旦贡献过程完成,EDOT PHP 将成为 OpenTelemetry 项目的一部分 —— 提供一个完整的、可用于生产的发行版,优化了性能、简便性和可扩展性。
EDOT PHP 为 PHP 可观测性引入了新方法:
-
简单安装 —— 安装适用于 PHP 的 OpenTelemetry 将像安装标准系统包一样简单。从此,代理会自动检测并监控 PHP 应用 —— 无需修改代码,无需手动设置。
-
自动代理加载 —— 在云和容器环境中透明工作,无需修改应用部署。
-
零配置 —— 以单个自包含二进制文件发布;无需安装或编译任何外部扩展。
-
原生 C++ 性能 —— 内置 C++ 序列化器将遥测开销降低最多 5 倍。
-
自动监控 —— 开箱即用地监控流行框架和库。
-
推断跨度 —— 即使是未监控的代码路径,也能揭示行为,实现完整追踪覆盖。
-
自动根跨度 —— 即使在遗留或部分监控的应用中,也能确保完整追踪。
-
OpAMP 准备 —— 虽然 OpenTelemetry 社区仍在标准化配置模式和管理工作流,EDOT PHP 的实现已完全准备好支持这些即将到来的规范 —— 确保 OpAMP 生态成熟后无缝采用。
-
异步后端通信 —— 遥测数据异步导出到 OpenTelemetry Collector 或后端,不会阻塞被监控的应用。这确保了即使在高负载下,跨度和指标导出也不会增加用户请求延迟或影响响应时间。
综合来看,这些功能使 EDOT PHP 成为首个真正零工作量的 PHP 可观测性解决方案 —— 从本地测试到云规模生产系统都适用。
在现有基础上构建
EDOT PHP 并不替代现有的 OpenTelemetry PHP SDK —— 它是在其基础上进行扩展和增强。它将 SDK、自动监控和原生扩展打包为单个统一的代理包,与现有的 OpenTelemetry 规范和 API 无缝兼容。
通过贡献这项工作,Elastic 帮助 OpenTelemetry 社区加速 PHP 的采用,实现跨语言的一致实现,并让分布式追踪真正普及。
这不是一次交接 —— 而是一次合作。我们贡献了多年的开发成果,以帮助适用于 PHP 的 OpenTelemetry 更快发展、更高效运行,并覆盖每个环境中的更多用户。
Elastic Observability 团队
持续改进
在 EDOT PHP 集成到 OpenTelemetry 之前,Elastic 仍在持续投资推进其发展。团队目前重点关注降低资源使用和内存占用,尤其是在多工作进程服务器环境中,如 PHP-FPM 或 Apache prefork。这些优化旨在使代理在高负载下更加可预测和高效 —— 确保即使在大规模生产部署中,遥测仍保持轻量。
除此之外,我们正在探索进一步的改进,以提升性能和互操作性。研究的方向包括高并发场景下更智能的协调、更好地在工作进程间共享遥测资源,以及未来与额外 OpenTelemetry 信号(如指标和日志)的对齐。
这些努力将帮助 EDOT PHP 不仅更快,而且更具适应性,并能无缝集成到多样的运行时架构中。
重要性
这项贡献不仅关乎性能 —— 更在于消除障碍。通过使适用于 PHP 的 OpenTelemetry 可作为简单系统包安装,并自动加载到正在运行的应用中,该项目向每位 PHP 开发者、运维人员和平台提供者开放可观测性。
对于 OpenTelemetry 生态系统而言,它填补了最后一个主要语言空白,将可视化扩展到互联网上的绝大部分 —— 所有这些都在开放治理和社区协作下进行。
展望未来
在接下来的几个月里,Elastic 与 OpenTelemetry PHP SIG 将紧密合作,推进技术集成、文档和社区入门流程。一旦过渡完成,开发者将获得一个完全开源、社区驱动、可用于生产的 OpenTelemetry 代理 —— “开箱即用”,无需摩擦、配置或修改代码。
我们共同构建一个未来,使可观测性真正无障碍 —— 适用于每种语言、每个框架和每种环境。
更多信息:
- EDOT 文档
- 了解 OTLP Endpoint
原文:https://www.elastic.co/observability-labs/blog/opentelemetry-accepts-elastics-donation-of-edot
