@@ -89,6 +89,7 @@ public static function collect(Query $query)
8989 'query ' => $ query ,
9090 'string ' => $ queryString ,
9191 'duplicate ' => in_array ($ queryString , array_column (static ::$ queries , 'string ' , null ), true ),
92+ 'trace ' => debug_backtrace (),
9293 ];
9394 }
9495 }
@@ -133,11 +134,31 @@ public function display(): array
133134 $ data ['queries ' ] = array_map (static function (array $ query ) {
134135 $ isDuplicate = $ query ['duplicate ' ] === true ;
135136
137+ // Find the first line that doesn't include `system` in the backtrace
138+ $ line = [];
139+
140+ foreach ($ query ['trace ' ] as &$ traceLine ) {
141+ // Clean up the file paths
142+ $ traceLine ['file ' ] = str_ireplace (APPPATH , 'APPPATH/ ' , $ traceLine ['file ' ]);
143+ $ traceLine ['file ' ] = str_ireplace (SYSTEMPATH , 'SYSTEMPATH/ ' , $ traceLine ['file ' ]);
144+ $ traceLine ['file ' ] = str_ireplace (VENDORPATH , 'VENDORPATH/ ' , $ traceLine ['file ' ]);
145+ $ traceLine ['file ' ] = str_ireplace (ROOTPATH , 'ROOTPATH/ ' , $ traceLine ['file ' ]);
146+
147+ if (strpos ($ traceLine ['file ' ], 'SYSTEMPATH ' ) !== false ) {
148+ continue ;
149+ }
150+ $ line = empty ($ line ) ? $ traceLine : $ line ;
151+ }
152+
136153 return [
137- 'hover ' => $ isDuplicate ? 'This query was called more than once. ' : '' ,
138- 'class ' => $ isDuplicate ? 'duplicate ' : '' ,
139- 'duration ' => ((float ) $ query ['query ' ]->getDuration (5 ) * 1000 ) . ' ms ' ,
140- 'sql ' => $ query ['query ' ]->debugToolbarDisplay (),
154+ 'hover ' => $ isDuplicate ? 'This query was called more than once. ' : '' ,
155+ 'class ' => $ isDuplicate ? 'duplicate ' : '' ,
156+ 'duration ' => ((float ) $ query ['query ' ]->getDuration (5 ) * 1000 ) . ' ms ' ,
157+ 'sql ' => $ query ['query ' ]->debugToolbarDisplay (),
158+ 'trace ' => $ query ['trace ' ],
159+ 'trace-file ' => str_replace (ROOTPATH , '/ ' , $ line ['file ' ] ?? '' ),
160+ 'trace-line ' => $ line ['line ' ] ?? '' ,
161+ 'qid ' => md5 ($ query ['query ' ] . microtime ()),
141162 ];
142163 }, static ::$ queries );
143164
0 commit comments