I have integrated many different tools for error tracking, performance monitoring, and debugging capabilities, like
- Sentry: I have integrated Sentry, which is focused on Error tracking, bug reporting and monitoring.
- New Relic: In the microservice architecture, where the Sentry was not able to return the distributed tracing of every microservice, I used New Relic, which specializes in calculating the application performance like response time, throughput, etc.
- Observe Inc: I have also integrated “Observe Inc” in one of the Legacy applications, that helps to analyse the code behaviour in the live environment and debug those live issues, which are not producible locally.
Additionally, modern frameworks also have inbuilt capabilities for logging and debugging applications like:
About Laravel:
- Laravel package Debugbar is used to debug the applications during development.
- An environment variable app_debug can be set to true or false to manage error reporting.
- Laravel has inbuilt capability for logging the data to their dedicated log files.
- Laravel has built-in exception handling classes where the exceptions can be further reported to the Sentry, Slack, Email Notification, etc.
- Eloquent (Laravel Built-In ORM) has the ability to print the raw sql queries, calculating the execution time, etc. This helps to calculate the application performance.
About Symfony:
- Symfony Debug Toolbar is displayed in the browser while in development mode.
- An environment variable APP_ENV=dev can be set to manage the error reporting.
- Symfony uses the Monolog library for logging the data.
- The exceptions handled can be synced to the Sentry, Slack, Email, etc.
- Symfony has a set of commands for debug purpose like
- bin/console debug:config to display configuration
- bin/console debug:router to list routes
- Etc.
- Symfony integrates with Doctrine ORM, which allows query logging and performance analysis.