Laravel Background Processes Analytics with Inspector
@valerio-barbera Software engineer from Italy, creator of Inspector.dev, passionate bassist. Hi, I’m Valerio, software engineer from Italy and CTO at Inspector.dev In this article I would show you how to turn on analytics in the dark side of your application: “background Jobs and scheduled Artisan commands execution”. Laravel provide a great architecture for queued Jobs and scheduled cron tasks. I myself use them a lot. They allow us to execute some piece of code asynchronously in the background out of a classic HTTP request cycle. Often they are a cause of concern for developers because their execution is not related to direct user interaction. They can go wrong for days and there would be no way of knowing it until we manually check their results typically inside logs. If something goes wrong during an HTTP request it will appear red bubbles or messages that inform user immediately of the problem. It’s quite easy to discover relevant errors before release the software in production by automated tests, or using the application yourself. If a queued Jobs or a scheduled Artisan command fails it will do it silently, without anyone noticing. Inspector is a composer package to add real-time monitoring in Laravel applications. It’s very easy to install and use, and it takes less than one minute to get started. Let me show you how it works. Installing Inspector Install our composer package via composer: composer require inspector-apm/inspector-laravel Configure the API key Get a fresh API key by signing up for Inspector (https://app.inspector.dev/register) and creating a new application, it takes just a few seconds. Select and copy the API key: Put the API key in your environment file: INSPECTOR_API_KEY=13c371c434XXXXXXXXXXXX1f By default Inspector will monitor all background tasks: Queued JobsScheduled Artisan commandsNotificationsEmailsUnhandled Exceptions Instantly you will see transaction streams in your project’s dashboard: and for each transaction you can monitor what your application is executing in real-time: Add custom segments Thanks to Inspector you are able to put everything you want in your timeline getting a real-time feedback about the execution of a code block inside your Job or in an Artisan command: Http calls to external services (Data sync, Payment, etc) Function that deals with files (pdf, excel, images) Algorithms Thanks to the package you can add custom segments in your timeline in addition to those detected by default, to measure the impact that an hidden code block has on a transaction’s performance. Suppose to run an external http request in your code that by default is not present in the timeline. Use Inspector facade: » Read More
Like to keep reading?
This article first appeared on hackernoon.com. If you'd like to keep reading, follow the white rabbit.