Skip to content
This repository was archived by the owner on Dec 5, 2025. It is now read-only.

Commit 163715a

Browse files
author
billpyang
committed
fix:队列任务执行结束导出监控信息
1 parent 268ecc4 commit 163715a

File tree

3 files changed

+23
-4
lines changed

3 files changed

+23
-4
lines changed

src/Handlers/RequestTerminatedHandler.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@
55
namespace Overtrue\LaravelOpenTelemetry\Handlers;
66

77
use Laravel\Octane\Events\RequestTerminated;
8-
use Overtrue\LaravelOpenTelemetry\Facades\Measure;
9-
use Overtrue\LaravelOpenTelemetry\Facades\Metric;
8+
use Overtrue\LaravelOpenTelemetry\Support\MeasureDataFlusher;
109

1110
class RequestTerminatedHandler
1211
{
@@ -16,7 +15,6 @@ class RequestTerminatedHandler
1615
public function handle(RequestTerminated $event): void
1716
{
1817
// In Octane mode, we need to force flush the tracer provider.
19-
Measure::flush();
20-
Metric::flush();
18+
MeasureDataFlusher::flush();
2119
}
2220
}

src/Support/MeasureDataFlusher.php

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?php
2+
3+
namespace Overtrue\LaravelOpenTelemetry\Support;
4+
5+
use Overtrue\LaravelOpenTelemetry\Facades\Measure;
6+
use Overtrue\LaravelOpenTelemetry\Facades\Metric;
7+
8+
class MeasureDataFlusher
9+
{
10+
11+
public static function flush(): void
12+
{
13+
Measure::flush();
14+
Metric::flush();
15+
}
16+
}

src/Watchers/QueueWatcher.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
use Illuminate\Queue\Events\JobQueued;
1212
use OpenTelemetry\SemConv\TraceAttributes;
1313
use Overtrue\LaravelOpenTelemetry\Facades\Measure;
14+
use Overtrue\LaravelOpenTelemetry\Support\MeasureDataFlusher;
1415

1516
/**
1617
* Queue Watcher
@@ -76,6 +77,8 @@ public function recordJobProcessed(JobProcessed $event): void
7677
'messaging.job.class' => $jobClass,
7778
'messaging.job.status' => 'completed',
7879
]);
80+
81+
MeasureDataFlusher::flush();
7982
}
8083

8184
public function recordJobFailed(JobFailed $event): void
@@ -87,5 +90,7 @@ public function recordJobFailed(JobFailed $event): void
8790
'messaging.job.class' => $jobClass,
8891
'messaging.job.status' => 'failed',
8992
]);
93+
94+
MeasureDataFlusher::flush();
9095
}
9196
}

0 commit comments

Comments
 (0)