Make sure that your server is configured with following PHP version and extensions:
- PHP 8.1+
- Spiral framework 3.2+
You can install the package via composer:
composer require spiral/otel-bridge
After package install you need to register bootloader from the package.
protected const LOAD = [
// ...
\Spiral\OpenTelemetry\Bootloader\OpenTelemetryBootloader::class,
];
Note: if you are using
spiral-packages/discoverer
, you don't need to register bootloader by yourself.
# Telemetry driver [log, null, otel]
TELEMETRY_DRIVER=otel
# OpenTelemetry
OTEL_SERVICE_NAME=php
OTEL_TRACES_EXPORTER=otlp
OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf
OTEL_EXPORTER_OTLP_ENDPOINT=http://127.0.0.1:4318
OTEL_PHP_TRACES_PROCESSOR=simple
You can run OpenTelemetry collector server and Zipkin tracing system via docker by using the example below:
version: "3.6"
services:
collector:
image: otel/opentelemetry-collector-contrib
command: ["--config=/etc/otel-collector-config.yml"]
volumes:
- ./otel-collector-config.yml:/etc/otel-collector-config.yml
ports:
- "4318:4318"
zipkin:
image: openzipkin/zipkin-slim
ports:
- "9411:9411"
and otel-collector-config.yml
config file
receivers:
otlp:
protocols:
grpc:
http:
processors:
batch:
timeout: 1s
exporters:
logging:
loglevel: debug
zipkin:
endpoint: "http://zipkin:9411/api/v2/spans"
service:
pipelines:
traces:
receivers: [ otlp ]
processors: [ batch ]
exporters: [ zipkin ]
composer test
The MIT License (MIT). Please see License File for more information.