Laravel debugging assistant

Introducing Laravel Debugging Assistant – Telescope

Spread the love

Laravel Telescope is an open source debugging assistant by Laravel, written by Taylor Otwell and Mohamed Said. It is open source, free and available on Github as well as it is documented on Laravel site. You can pull Telescope as a dependency from composer and it is accessible at /telescope.

How does telescope works?

Telescope comprises of multiple watchers, that watches for incoming requests on your applications: HTTP request, command line, scheduler, or a queue.

These watchers catch all types of information about these requests: database queries, query execution time, cache hits and misses, events fired and much more.

Telescope contains multiple tabs at it’s UI; each of the tab represents a watcher:

  1. Requests
  2. Commands
  3. Schedule
  4. Jobs
  5. Exceptions
  6. Logs
  7. Dumps
  8. Queries
  9. Models
  10. Events
  11. Mail
  12. Notifications
  13. Cache
  14. Redis

Requests

This tab contains information about all the incoming HTTP requests on your application as well as shows related data from other watchers.

Commands

The command tab shows all the executed commands as well as their exit code. On diving deeper, you can as well see arguments, options and related items for those commands.

Schedule

Lists the scheduled tasks that have been run as well as shows their scheduling information like cron schedule (eg: * * * * *).

Jobs

The jobs tab shows all the running and completed jobs, and it works for all queue drivers.

Exceptions

Logs all exceptions and allows you to inspect each. This will show you similar data to the other tabs, like host name, type, request, tags, authenticated user.

Logs

The logs tab shows you the basic log message, level, and when it happened for all log items.

Dump Screen

If you use the dump() method in your code, and you have it this dump screen open in Telescope, you’ll see the dumps in Telescope but not your actual application. This gives you dd() style output of your data without it messing up your normal page load. Each dump also links to the request which generated it.

Queries

List of all your DB queries–like the debug bar. How long they took, jump in and view the full query, which request triggered it, etc. Nice formatted view.

Models

You can see create, update, delete events; shows the changes that were made, etc.

Events

Shows a list of all your events. You can see which events were broadcast with a tag; see a list of all listeners and dig into which called.

Mail

Shows a list of all emails that were sent; who the recipients are; when it happened; whether it’s queued and then when the queue kicks it out. Can see the email subject, and when you dig into it you also see a preview of the email like MailTrap.

Notifications

Shows all notifications, what type they were, etc. No previews since some notifications aren’t preview-able, but if it’s a mail notification you’ll also see it there.

If notification was queued, you can also see it under the Jobs section on the request. Lots of angles to get much of this data.

Cache

Shows cache hits and misses about updates etc. Shows the key, the data, when it expires, can see the request that triggered it and on the request page you can see all the cache hits/misses for that request.

Redis

Like cache How long they took, when it happened, which request initiated, etc.