open-feature / otel-hook
OpenFeature 的 OpenTelemetry 插件
Requires
- php: ^8
- open-feature/sdk: ^2.0
- open-telemetry/api: ^0.0.17
Requires (Dev)
- ergebnis/composer-normalize: ^2.25
- friendsofphp/php-cs-fixer: ^3.13
- hamcrest/hamcrest-php: ^2.0
- mdwheele/zalgo: ^0.3.1
- mikey179/vfsstream: v1.6.11
- mockery/mockery: ^1.5
- phan/phan: ^5.4
- php-parallel-lint/php-console-highlighter: ^1.0
- php-parallel-lint/php-parallel-lint: ^1.3
- phpstan/extension-installer: ^1.1
- phpstan/phpstan: ~1.10.0
- phpstan/phpstan-mockery: ^1.0
- phpstan/phpstan-phpunit: ^1.1
- psalm/plugin-mockery: ^0.9.1
- psalm/plugin-phpunit: ^0.18.0
- ramsey/coding-standard: ^2.0.3
- ramsey/composer-repl: ^1.4
- ramsey/conventional-commits: ^1.3
- roave/security-advisories: dev-latest
- spatie/phpunit-snapshot-assertions: ^4.2
- vimeo/psalm: ~4.30.0
README
概览
OpenTelemetry 是一个用于分布式跟踪、指标和日志的开放规范。它定义了一个用于功能标志的语义约定,该约定在本插件中用于报告标志评估。
此包还基于各种 PSR (PHP 标准建议) 建立起来,例如日志接口 (PSR-3) 和基本和扩展编码标准 (PSR-1 和 PSR-12)。
自动加载
此包支持 Composer 自动加载。因此,只需安装此包,就可以立即开始使用 OpenTracing 进行 OpenFeature!还提供了展示简单设置的示例。更多信息请查看“用法”部分。
OpenTelemetry 包状态
PHP 的 OpenTelemetry 包仍然处于测试版,因此可能需要更改。然而,它公开了用于获取 span 的全局基本工具,这些工具不需要配置即可直接工作。
安装
composer require open-feature/otel-hook
用法
OpenTelemetryHook
应该注册到 OpenFeatureAPI 全局,以便在所有评估中使用。
它使用 open-telemetry/api
包的 Globals
工具来获取当前 span,因此没有依赖配置或追踪器的注入。
use OpenFeature\Hooks\OpenTelemetry\OpenTelemetryHook; OpenTelemetryHook::register();
有关 OpenTelemetry 的更多信息,请参阅他们的文档。
有关更多示例,请参阅示例。
开发
PHP 版本
此库针对 PHP 8.0 及更高版本。只要您的系统上有任何兼容版本的 PHP,就应该能够使用 OpenFeature SDK。
此包还包含一个 .tool-versions
文件,可用于与 asdf
等版本管理器一起使用。
安装和依赖
使用 composer install
安装依赖项。 composer install
将更新 composer.lock
,以便使用最新的兼容版本。
我们重视尽可能少地使用运行时依赖。添加任何依赖都需要仔细考虑和审查。
测试
使用 composer run test
运行测试。