eerzho/opentelemetry-auto-class-symfony
Trace what your Symfony methods received, returned, and threw — without writing a single span.
The Symfony integration for opentelemetry-auto-class — your classes are discovered and registered automatically.
This is a read-only sub-split. Please open issues and pull requests in the monorepo.
composer require eerzho/opentelemetry-auto-class-symfony
Register the bundle:
// config/bundles.php
return [
// ...
Eerzho\Instrumentation\Class\Symfony\AutoClassBundle::class => ['all' => true],
];
Requirements:
Add #[Trace] to any class registered as a service:
namespace App\Service;
use Eerzho\Instrumentation\Class\Attribute\Trace;
use Eerzho\Instrumentation\Class\Attribute\TraceMethod;
use Eerzho\Instrumentation\Class\Attribute\TraceProperties;
#[Trace] // mark the class for tracing
class OrderService
{
// span "App\Service\OrderService::pay"
#[TraceMethod(exclude: ['card'])] // hide "card" from the span
public function pay(int $orderId, string $card, Address $address): void {}
public function healthCheck(): bool {} // no #[TraceMethod] -> not traced
}
#[TraceProperties(exclude: ['zip'])] // expand every prop but zip
class Address
{
public function __construct(public string $city, public string $zip) {}
}
All three attributes and their options are fully documented in the core.
#[Trace] attributeext-opentelemetry hooks for matched methodsOnly classes registered as services are discovered — a
#[Trace]class that is never wired into the container is not instrumented.
OTEL_PHP_DISABLED_INSTRUMENTATIONS=class
How can I help you explore Laravel packages today?