bedita/instrumentation 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

bedita/instrumentation

最新稳定版本:v2.0.0

Composer 安装命令:

composer require bedita/instrumentation

包简介

OpenTelemetry instrumentation plugin for BEdita

README 文档

README

Github Actions image

This library provides auto-instrumentation for BEdita applications, according to OpenTelemetry specifications.

Requirements

This library requires PHP 8.1+ and the OpenTelemetry PHP extension.

Other optional requirements:

  • ext-grpc required to use gRPC as transport for the OTLP exporter
  • ext-protobuf significant performance improvement for otlp+protobuf exporting
  • ext-zlib if you want to compress exported data
  • open-telemetry/opentelemetry-auto-psr15 auto-instrumentation for CakePHP middlewares (PSR-15)

Installation

composer require bedita/instrumentation

Note that installing this library by itself does not generate traces. You need to install and configure the OpenTelemetry SDK and at least an exporter:

composer require open-telemetry/sdk open-telemetry/exporter-otlp

Configuration

OpenTelemetry's auto-instrumentation is completely configurable through environment variables. See the SDK configuration documentation and the PHP-specific documentation.

This library provides the following instrumentations, which can be enabled or disabled individually using their respective names:

  • bedita main instrumentation (currently does nothing by itself)
  • bedita.client CakePHP HTTP client (requires bedita)
  • cakephp CakePHP HTTP server, controllers and commands (project)
  • pdo PHP PDO (project)
  • psr3 loggers compliant with PSR-3 standard (project)
  • psr16 cache engines compliant with PSR-16 standard (project)

Example configuration

This configuration enables auto-instrumentation and the export of traces and logs using the otlp+protobuf protocol to a local backend:

# PHP injection
export OTEL_PHP_AUTOLOAD_ENABLED=true

# Export
export OTEL_LOG_LEVEL="info"
export OTEL_EXPORTER_OTLP_PROTOCOL="http/protobuf"
export OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:4318/"

# Tracing
# export OTEL_TRACES_SAMPLER="parentbased_traceidratio"
# export OTEL_TRACES_SAMPLER_ARG="0.1"
export OTEL_PHP_DETECTORS="env,host,os,sdk"
export OTEL_RESOURCE_ATTRIBUTES="service.namespace=my-namespace"
export OTEL_SERVICE_NAME="my-service"

# Propagation
export OTEL_PROPAGATORS="tracecontext,baggage"

# Instrumentation
export OTEL_PHP_EXCLUDED_URLS="/status"
# export OTEL_PHP_DISABLED_INSTRUMENTATIONS="pdo"

# Log
# see: https://github.com/open-telemetry/opentelemetry-php-contrib/tree/main/src/Instrumentation/Psr3#mode
export OTEL_PHP_PSR3_MODE="export"

统计信息

  • 总下载量: 844
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 4
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: LGPL-3.0-or-later
  • 更新时间: 2024-10-21