worldia/instrumentation-bundle

安装数: 50,139

依赖项: 0

推荐者: 0

安全: 0

星星: 22

关注者: 6

分支: 9

开放问题: 5

类型:symfony-bundle


README

特性

追踪

  • 使用官方的 OpenTelemetry SDK
  • 对请求、控制台命令、消费者和doctrine的最小自动追踪
  • 从进入的请求到消费者、出站http调用和数据库(使用sqlcommenter)的追踪上下文传播
  • 可以通过路径来配置黑名单请求以避免无用的追踪,例如 /metrics/_healthz
  • 自动包含日志,可配置日志级别和通道

度量

  • 使用 Prometheus 客户端
  • 对常见请求、消费者和消息度量(请参阅提供的默认度量)的最小自动追踪
  • 自动可配置的度量提供者,请见下文。

日志

  • 将追踪上下文添加到日志中以便关联,可自定义键。

行李

  • 使用官方的 OpenTelemetry SDK
  • 从进入的请求到消费者和出站http调用的行李传播

健康

  • 简单的端点以暴露应用程序健康(默认:/_healthz
  • 自动可配置的健康检查接口,以添加对全局应用程序健康进行健康检查

安装和配置

composer require worldia/instrumentation-bundle <your-exporter>

您还需要安装一个 导出实现,并且Prometheus导出器需要APCu


Add to ```bundles.php```:
```php
return [
    // Other bundles
    Instrumentation\InstrumentationBundle::class => ['all' => true],
];

最小配置
请参阅完整的 配置参考,或者运行 bin/console config:dump-reference instrumentation

// docker-compose.yaml

services:
  php:
    image: php:8.1
    environment:
      - OTEL_PHP_TRACES_PROCESSOR=batch
      - OTEL_TRACES_SAMPLER=parentbased_always_on
      - OTEL_TRACES_EXPORTER=otlp
      - OTEL_EXPORTER_OTLP_PROTOCOL=grpc
      - OTEL_EXPORTER_OTLP_ENDPOINT=http://jaeger:4317
  jaeger:
    image: jaegertracing/all-in-one:latest
    environment:
      COLLECTOR_OTLP_ENABLED: "true"
// instrumentation.yaml

instrumentation: ~

使用方法