@@ -70,8 +70,7 @@ public function onBoot(Dispatcher $events): void
7070 ->setData ([
7171 'messaging.system ' => 'laravel ' ,
7272 'messaging.message.id ' => $ payload ['uuid ' ] ?? null ,
73- // Jobs pushed onto the Redis driver are formatted as queues:<queue>
74- 'messaging.destination.name ' => Str::after ($ queue ?? '' , 'queues: ' ),
73+ 'messaging.destination.name ' => $ this ->normalizeQueueName ($ queue ),
7574 'messaging.destination.connection ' => $ connection ,
7675 ])
7776 ->setDescription ($ queue );
@@ -190,7 +189,7 @@ public function handleJobProcessingQueueEvent(JobProcessing $event): void
190189 $ job = [
191190 'messaging.system ' => 'laravel ' ,
192191
193- 'messaging.destination.name ' => $ event ->job ->getQueue (),
192+ 'messaging.destination.name ' => $ this -> normalizeQueueName ( $ event ->job ->getQueue () ),
194193 'messaging.destination.connection ' => $ event ->connectionName ,
195194
196195 'messaging.message.id ' => $ jobPayload ['uuid ' ] ?? null ,
@@ -241,6 +240,21 @@ private function finishJobWithStatus(SpanStatus $status): void
241240 }
242241 }
243242
243+ private function normalizeQueueName (?string $ queue ): string
244+ {
245+ if ($ queue === null ) {
246+ return '' ;
247+ }
248+
249+ // SQS queues are sometimes formatted like: https://sqs.<region>.amazonaws.com/<id>/<queue_name>
250+ if (filter_var ($ queue , FILTER_VALIDATE_URL ) !== false ) {
251+ return Str::afterLast ($ queue , '/ ' );
252+ }
253+
254+ // Jobs pushed onto the Redis driver are formatted as queues:<queue>
255+ return Str::after ($ queue , 'queues: ' );
256+ }
257+
244258 protected function pushScope (): void
245259 {
246260 $ this ->pushScopeTrait ();
0 commit comments