Skip to content

Commit 62a223a

Browse files
committed
wip
1 parent 024c375 commit 62a223a

File tree

1 file changed

+16
-22
lines changed

1 file changed

+16
-22
lines changed

src/OpenTelemetryServiceProvider.php

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,20 @@
44

55
namespace Overtrue\LaravelOpenTelemetry;
66

7+
use Illuminate\Contracts\Http\Kernel;
78
use Illuminate\Support\Facades\Event;
89
use Illuminate\Support\Facades\Log;
910
use Illuminate\Support\ServiceProvider;
1011
use Laravel\Octane\Events;
1112
use OpenTelemetry\API\Globals;
12-
use OpenTelemetry\API\Trace\TracerInterface as Tracer;
13-
use OpenTelemetry\Context\Context;
13+
use OpenTelemetry\API\Trace\TracerInterface;
14+
use Overtrue\LaravelOpenTelemetry\Console\Commands\TestCommand;
1415
use Overtrue\LaravelOpenTelemetry\Facades\Measure;
16+
use Overtrue\LaravelOpenTelemetry\Http\Middleware\AddTraceId;
17+
use Overtrue\LaravelOpenTelemetry\Http\Middleware\TraceRequest;
1518

1619
class OpenTelemetryServiceProvider extends ServiceProvider
1720
{
18-
/**
19-
* @throws \Illuminate\Contracts\Container\BindingResolutionException
20-
*/
2121
public function boot(): void
2222
{
2323
$this->publishes([
@@ -47,18 +47,18 @@ public function register(): void
4747
__DIR__.'/../config/otel.php', 'otel',
4848
);
4949

50-
$this->app->singleton(\Overtrue\LaravelOpenTelemetry\Support\Measure::class, function ($app) {
51-
return new \Overtrue\LaravelOpenTelemetry\Support\Measure($app);
50+
$this->app->singleton(Support\Measure::class, function ($app) {
51+
return new Support\Measure($app);
5252
});
5353

54-
$this->app->alias(\Overtrue\LaravelOpenTelemetry\Support\Measure::class, 'opentelemetry.measure');
54+
$this->app->alias(Support\Measure::class, 'opentelemetry.measure');
5555

56-
$this->app->singleton(Tracer::class, function () {
56+
$this->app->singleton(TracerInterface::class, function () {
5757
return Globals::tracerProvider()
5858
->getTracer(config('otel.tracer_name', 'overtrue.laravel-open-telemetry'));
5959
});
6060

61-
$this->app->alias(Tracer::class, 'opentelemetry.tracer');
61+
$this->app->alias(TracerInterface::class, 'opentelemetry.tracer');
6262

6363
Log::debug('OpenTelemetry: Service provider registered successfully');
6464
}
@@ -77,12 +77,6 @@ protected function registerLifecycleHandlers(): void
7777
Event::listen(Events\WorkerErrorOccurred::class, Handlers\WorkerErrorOccurredHandler::class);
7878
Event::listen(Events\TaskReceived::class, Handlers\TaskReceivedHandler::class);
7979
Event::listen(Events\TickReceived::class, Handlers\TickReceivedHandler::class);
80-
} elseif (! $this->app->runningInConsole() && ! $this->app->environment('testing')) {
81-
// FPM mode: Only start in non-console and non-testing environments
82-
// Initialize context at the beginning of the request
83-
if (! Context::getCurrent()) {
84-
Context::attach(Context::getRoot());
85-
}
8680
}
8781
}
8882

@@ -106,7 +100,7 @@ protected function registerCommands(): void
106100
{
107101
if ($this->app->runningInConsole()) {
108102
$this->commands([
109-
\Overtrue\LaravelOpenTelemetry\Console\Commands\TestCommand::class,
103+
TestCommand::class,
110104
]);
111105
}
112106
}
@@ -117,21 +111,21 @@ protected function registerCommands(): void
117111
protected function registerMiddlewares(): void
118112
{
119113
$router = $this->app->make('router');
120-
$kernel = $this->app->make(\Illuminate\Contracts\Http\Kernel::class);
114+
$kernel = $this->app->make(Kernel::class);
121115

122116
// Register OpenTelemetry root span middleware
123-
$router->aliasMiddleware('otel', \Overtrue\LaravelOpenTelemetry\Http\Middleware\TraceRequest::class);
117+
$router->aliasMiddleware('otel', TraceRequest::class);
124118

125-
$kernel->prependMiddleware(\Overtrue\LaravelOpenTelemetry\Http\Middleware\TraceRequest::class);
119+
$kernel->prependMiddleware(TraceRequest::class);
126120

127121
// Register Trace ID middleware
128122
if (config('otel.middleware.trace_id.enabled', true)) {
129123
// Register middleware alias
130-
$router->aliasMiddleware('otel.trace_id', \Overtrue\LaravelOpenTelemetry\Http\Middleware\AddTraceId::class);
124+
$router->aliasMiddleware('otel.trace_id', AddTraceId::class);
131125

132126
// Enable TraceId middleware globally by default
133127
if (config('otel.middleware.trace_id.global', true)) {
134-
$kernel->pushMiddleware(\Overtrue\LaravelOpenTelemetry\Http\Middleware\AddTraceId::class);
128+
$kernel->pushMiddleware(AddTraceId::class);
135129
Log::debug('OpenTelemetry: Middleware registered globally for automatic tracing');
136130
}
137131
}

0 commit comments

Comments
 (0)