This repository was archived by the owner on Dec 5, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 4 files changed +29
-4
lines changed Expand file tree Collapse file tree 4 files changed +29
-4
lines changed Original file line number Diff line number Diff line change 55namespace Overtrue \LaravelOpenTelemetry \Handlers ;
66
77use Laravel \Octane \Events \RequestTerminated ;
8- use Overtrue \LaravelOpenTelemetry \Facades \Measure ;
9- use Overtrue \LaravelOpenTelemetry \Facades \Metric ;
8+ use Overtrue \LaravelOpenTelemetry \Support \MeasureDataFlusher ;
109
1110class 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}
Original file line number Diff line number Diff line change 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+ public static function flush (): void
11+ {
12+ Measure::flush ();
13+ Metric::flush ();
14+ }
15+ }
Original file line number Diff line number Diff line change 1111use Illuminate \Queue \Events \JobQueued ;
1212use OpenTelemetry \SemConv \TraceAttributes ;
1313use 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}
Original file line number Diff line number Diff line change 1111use Mockery ;
1212use OpenTelemetry \SemConv \TraceAttributes ;
1313use Overtrue \LaravelOpenTelemetry \Facades \Measure ;
14+ use Overtrue \LaravelOpenTelemetry \Support \MeasureDataFlusher ;
1415use Overtrue \LaravelOpenTelemetry \Tests \TestCase ;
1516use Overtrue \LaravelOpenTelemetry \Watchers \QueueWatcher ;
1617
@@ -118,6 +119,9 @@ public function test_records_job_processed_event()
118119 'messaging.job.status ' => 'completed ' ,
119120 ]);
120121
122+ $ flusher = Mockery::mock ('alias: ' .MeasureDataFlusher::class);
123+ $ flusher ->shouldReceive ('flush ' )->once ();
124+
121125 $ this ->watcher ->recordJobProcessed ($ event );
122126 }
123127
@@ -138,6 +142,9 @@ public function test_records_job_failed_event()
138142 'messaging.job.status ' => 'failed ' ,
139143 ]);
140144
145+ $ flusher = Mockery::mock ('alias: ' .MeasureDataFlusher::class);
146+ $ flusher ->shouldReceive ('flush ' )->once ();
147+
141148 $ this ->watcher ->recordJobFailed ($ event );
142149 }
143150
You can’t perform that action at this time.
0 commit comments