tbachert / otel-instrumentation-amphp-http-server
OpenTelemetry amphp/http-server instrumentation
Package info
github.com/Nevay/otel-instrumentation-amphp-http-server
pkg:composer/tbachert/otel-instrumentation-amphp-http-server
dev-main / 0.1.x-dev
2026-03-30 18:04 UTC
Requires
- php: ^8.2
- composer-runtime-api: ^2.0
- amphp/http-server: ^3.0
- league/uri: ^7.0
- open-telemetry/api: ^1.8
- open-telemetry/context: ^1.1
- open-telemetry/opentelemetry-config-http: ^0.1
Requires (Dev)
This package is auto-updated.
Last update: 2026-04-01 18:20:11 UTC
README
Installation
composer require tbachert/otel-instrumentation-amphp-http-server
Usage
Automatic instrumentation
This instrumentation is enabled by default.
Disable via file-based configuration
instrumentations/development: php: amphp_http_server: false
Disable via env-based configuration
OTEL_PHP_DISABLED_INSTRUMENTATIONS=amphp-http-server
Manual instrumentation
use Amp\Http\Server\Driver\DefaultHttpDriverFactory; use Amp\Http\Server\SocketHttpServer; use Nevay\OTelInstrumentation\AmphpHttpServer\TelemetryDriverFactory; use Nevay\OTelInstrumentation\AmphpHttpServer\TelemetryHandler\Logs; use Nevay\OTelInstrumentation\AmphpHttpServer\TelemetryHandler\Metrics; use Nevay\OTelInstrumentation\AmphpHttpServer\TelemetryHandler\RequestPropagator; use Nevay\OTelInstrumentation\AmphpHttpServer\TelemetryHandler\ResponsePropagator; use Nevay\OTelInstrumentation\AmphpHttpServer\TelemetryHandler\Tracing; $httpServer = new SocketHttpServer( ..., httpDriverFactory: new TelemetryDriverFactory( new DefaultHttpDriverFactory($logger), [ new RequestPropagator($propagator), new ResponsePropagator($responsePropagator), new Tracing($tracerProvider), new Metrics($meterProvider), new Logs($loggerProvider), ], ), );