@@ -361,15 +361,17 @@ public function toJson()
361361 return json_encode ($ this ->toArray (), \JSON_PARTIAL_OUTPUT_ON_ERROR );
362362 }
363363
364- // Add database query, takes query, bindings, duration and additional data - connection (connection name), file
365- // (caller file name), line (caller line number), trace (serialized trace), model (associated ORM model)
364+ // Add database query, takes query, bindings, duration (in ms) and additional data - connection (connection name),
365+ // time (when was the query executed), file (caller file name), line (caller line number), trace (serialized trace),
366+ // model (associated ORM model)
366367 public function addDatabaseQuery ($ query , $ bindings = [], $ duration = null , $ data = [])
367368 {
368369 $ this ->databaseQueries [] = [
369370 'query ' => $ query ,
370371 'bindings ' => (new Serializer )->normalize ($ bindings ),
371372 'duration ' => $ duration ,
372373 'connection ' => isset ($ data ['connection ' ]) ? $ data ['connection ' ] : null ,
374+ 'time ' => isset ($ data ['time ' ]) ? $ data ['time ' ] : microtime (true ) - $ duration / 1000 ,
373375 'file ' => isset ($ data ['file ' ]) ? $ data ['file ' ] : null ,
374376 'line ' => isset ($ data ['line ' ]) ? $ data ['line ' ] : null ,
375377 'trace ' => isset ($ data ['trace ' ]) ? $ data ['trace ' ] : null ,
@@ -380,8 +382,9 @@ public function addDatabaseQuery($query, $bindings = [], $duration = null, $data
380382 ];
381383 }
382384
383- // Add cache query, takes type, key, value and additional data - connection (connection name), file
384- // (caller file name), line (caller line number), trace (serialized trace), expiration
385+ // Add cache query, takes type, key, value, duration (in ms) and additional data - connection (connection name),
386+ // time (when was the query executed), file (caller file name), line (caller line number), trace (serialized trace),
387+ // expiration
385388 public function addCacheQuery ($ type , $ key , $ value = null , $ duration = null , $ data = [])
386389 {
387390 $ this ->cacheQueries [] = [
@@ -390,6 +393,7 @@ public function addCacheQuery($type, $key, $value = null, $duration = null, $dat
390393 'value ' => (new Serializer )->normalize ($ value ),
391394 'duration ' => $ duration ,
392395 'connection ' => isset ($ data ['connection ' ]) ? $ data ['connection ' ] : null ,
396+ 'time ' => isset ($ data ['time ' ]) ? $ data ['time ' ] : microtime (true ) - $ duration / 1000 ,
393397 'file ' => isset ($ data ['file ' ]) ? $ data ['file ' ] : null ,
394398 'line ' => isset ($ data ['line ' ]) ? $ data ['line ' ] : null ,
395399 'trace ' => isset ($ data ['trace ' ]) ? $ data ['trace ' ] : null ,
@@ -404,7 +408,7 @@ public function addEvent($event, $eventData = null, $time = null, $data = [])
404408 $ this ->events [] = [
405409 'event ' => $ event ,
406410 'data ' => (new Serializer )->normalize ($ eventData ),
407- 'time ' => $ time ,
411+ 'time ' => $ time ?: microtime ( true ) ,
408412 'listeners ' => isset ($ data ['listeners ' ]) ? $ data ['listeners ' ] : null ,
409413 'file ' => isset ($ data ['file ' ]) ? $ data ['file ' ] : null ,
410414 'line ' => isset ($ data ['line ' ]) ? $ data ['line ' ] : null ,
@@ -427,12 +431,16 @@ public function addRoute($method, $uri, $action, $data = [])
427431 ];
428432 }
429433
430- // Add route , takes method, uri, action and additional data - name, middleware, before (before filters), after
431- // (after filters )
432- public function addEmail ($ subject , $ to , $ from = null , $ headers = [])
434+ // Add sent email , takes subject, recipient address, sender address, array of headers, and additional data - time
435+ // (when was the email sent), duration (sending time in ms )
436+ public function addEmail ($ subject , $ to , $ from = null , $ headers = [], $ data = [] )
433437 {
434438 $ this ->emailsData [] = [
435- 'data ' => [
439+ 'start ' => isset ($ data ['time ' ]) ? $ data ['time ' ] : null ,
440+ 'end ' => isset ($ data ['time ' ], $ data ['duration ' ]) ? $ data ['time ' ] + $ data ['duration ' ] / 1000 : null ,
441+ 'duration ' => isset ($ data ['duration ' ]) ? $ data ['duration ' ] : null ,
442+ 'description ' => 'Sending an email message ' ,
443+ 'data ' => [
436444 'subject ' => $ subject ,
437445 'to ' => $ to ,
438446 'from ' => $ from ,
@@ -441,13 +449,18 @@ public function addEmail($subject, $to, $from = null, $headers = [])
441449 ];
442450 }
443451
444- // Add view, takes view name and data
445- public function addView ($ name , $ data = [])
452+ // Add view, takes view name, view data and additional data - time (when was the view rendered), duration (sending
453+ // time in ms)
454+ public function addView ($ name , $ viewData = [], $ data = [])
446455 {
447456 $ this ->viewsData [] = [
448- 'data ' => [
457+ 'start ' => isset ($ data ['time ' ]) ? $ data ['time ' ] : null ,
458+ 'end ' => isset ($ data ['time ' ], $ data ['duration ' ]) ? $ data ['time ' ] + $ data ['duration ' ] / 1000 : null ,
459+ 'duration ' => isset ($ data ['duration ' ]) ? $ data ['duration ' ] : null ,
460+ 'description ' => 'Rendering a view ' ,
461+ 'data ' => [
449462 'name ' => $ name ,
450- 'data ' => (new Serializer )->normalize ($ data )
463+ 'data ' => (new Serializer )->normalize ($ viewData )
451464 ]
452465 ];
453466 }
0 commit comments