Illuminated Cloud Log Analyzer vs Apex Log Analyzer
Debugging is one of the most essential and fundamental tools of any programmatic development, if not the most. In Salesforce, in order to deploy any new Apex-developed features, at least 75% of code coverage has to be met – this can be achieved by building tests, and if they do not reach the minimum coverage percentage required, debugging tools can come in really handy to solve any possible hitches.
Today, we will be discussing and comparing the main features of Illuminated Cloud’s Log Analyzer and Apex Log Analyzer, two of many Salesforce debugging tools.
Debugging Tools – Their Relevance in Programmatic Environments
Most of us have had that frustrating programming experience – code does not compile, an error keeps popping up, or there’s this single line of code that if you change it, the whole code breaks. Gladly, the Salesforce environment is well provided for these cases, with tools like Illuminated Cloud’s Log Analyzer (for IntelliJ IDEA, among others) and Apex Log Analyzer (for VSCode). Both serve a similar purpose – to make the debugging process a lot easier.
This type of tools not only provide debugging, but many other features, such as code completion, refactoring, graphs that display which parts of your code take up most of the execution time, and many more. This is why they are without question a must-have for us developers and have proven useful in countless stressful situations.
VSCode’s Apex Log Analyzer
FinancialForce released this helpful VSCode plugin to make performance analysis simpler and brisk. Additionally, it makes your code execution clearer and faster than if you were conducting a code review without the extension. Using the tool, you can rapidly determine which parts of the code are taking the longest to execute and spot any issues. To install it, you would need to navigate to the Extension tab on VSCode and download it from there – pretty simple.
The good thing about this plugin is that it allows you to begin the analysis from already downloaded logs or logs that are in your org. To download the logs, use “Log: Load Apex Log For Analysis”, and to open an already existing log, right-click on the log and select “Log: Show Log Analysis”.
Getting to Know Apex Log Analyzer
We used a Google Calendar Integration with Salesforce in order to showcase this plugin. After creating the Calendar Event in Salesforce, a debug log was generated, which was used to display how to enter Apex Log Analyzer. We need to select “Log: Show Apex Log Analysis in order to launch the application.
After selecting “Show Apex Log Analysis”, we were sent to a site that displayed a screen called “Timeline”. Here, we can examine the call tree as a timeline, learn about nested calls, and quickly determine which parts of the code are taking the longest to execute. In essence, you get visual cues to focus on possible problem areas, which can save you time while trying to solve a problem.
Call Tree Tab
The Call Tree view, the next tab, provides you with an expanded tree of all the log details. If you have that source locally, you may click on any method to go directly to the source of the code in your project.
You can see a summary of method performance on the Analysis tab, which includes information on things like overall duration, net duration, and the number of times each technique is used. Here, you can search for potential code optimizations and sort the results list according to any field of your choice.
Database, the final pertinent tab we can see, provides a breakdown of the DML and SOQL queries found in the log. You may view the number of rows and the number of times a statement has been performed for each of them. This is a fantastic solution to address any potential governor limit issues.
Illuminated Cloud’s Log Analyzer
Illuminated Cloud’s Log Analyzer is an extension for IntelliJ IDEA compatible with PhpStorm, PyCharm, RubyMine, and WebStorm that brings together the powerful and well-known IDE and Salesforce Development, saving you coding time and helping you write the best code thanks to its multiple features. We are going to highlight four of them.
Logs for executed processes
Illuminated Cloud’s Log Analyzer not only enables you to examine debug logs for processes that have been performed in raw and hierarchical execution formats but also organizes the data from those logs for an in-depth examination of the logic that was used, along with the resources that were used as well. You can filter the metrics that are shown on screen, leaving the more advanced behind – therefore having a more comprehensible analysis.
Governor limits and resource consumption
To better understand how, where, and why governor-limited resources are used by a process, Illuminated Cloud’s Log Analyzer contains pre-defined, pre-aggregated hierarchical views of the execution of that process.
Analyze Resource Consumption Hotspots
Log Analyzer offers tools for the understanding of caller and callee patterns for the hotspot once it has assisted in identifying a governor-limited resource consumption hotspot. These tools can help provide insights into and help find alternatives for resource consumption improvements.
Set Debug Levels and Trace Flags
Debug levels and trace flags setting for connected organizations is made simpler by Log Analyzer. Depending on the situation, expired trace flags might either be renewed or erased all at once.
While Illuminated Cloud’s Log Analyzer offers you a different number of views for the debug log (Standard Log, Debug Only, CPU Time and Memory Profiling, CPU Time Profiling, Memory Profiling, Database Profiling and Cumulative Usage Limits and Profiling), Apex Log Analyzer is condensed into four different views of the analyzed log: Timeline, Call Tree, Analysis and Database.
Apex Log Analyzer comes as an extension, while the other debug tool comes as part of a plugin with many other functionalities: refactoring, code completion, code inspections, intelligent source code generation, etc.
In order to obtain Illuminated Cloud’s Log Analyzer and keep using its features, you have to purchase an annual membership (you get a 30-day free trial first, though), ranging from $125 USD to $100 USD. The extension created by FinancialForce for VSCode is free.
One of the most interesting features of the IntelliJ plugin is that it allows you to add trace flags and debug levels, something that in Apex Log Analyzer is only possible with Apex Replay Debugger – another VSCode extension. Again, keep in mind that Illuminated Cloud’s Log Analyzer comes within a package with many other interesting and useful features, unlike Apex Log Analyzer.
Both allow you to retrieve logs from your organization, open them and analyze them. Moreover, the two tools show what the log settings were when it was configured.
If you like to customize your IDE, Apex Log Analyzer offers the possibility to change the colors of the timeline graph, making it this way more adjustable to your preferences.
We can see many similar features among them, like SOQL and governor limit analyses, different views of the debug logs, resource consumption, execution times… Everything is well put in a user-friendly way. The thing that stood out to me, though, was the Timeline graph in Apex Log Analyzer. This tab gives you quick visual clues to observe potential trouble areas, as said before, and it’s a great gizmo when you do not have much time and want to quickly spot possible issues in your code.
Considerations – Apex Log Analyzer
Apex Log Analyzer is a great tool if you’re already familiar with working with VSCode; it’s complete, and it does its job fairly well – it can save you from many debugging struggles. Its installation is quick and easy. The timeline tab is a great tool, and for those who would rather see data in a graph, it’s quite practical. Again, it is a great tool for debugging, and if you usually deal with large quantities of code (especially if it isn’t yours), I would definitely recommend giving it a try.
Considerations – Illuminate Cloud’s Log Analyzer
This amazing and interesting tool is available in IntelliJ IDEA. If you’re already using this IDE for coding, I’d say that this one is a must-have. Not only for its practicality but for the other many tools it has available. As a debug log analyzer, it has nearly the same functionalities as Apex Log Analyzer – after all, you can do this much with debug logs. The great thing is that it offers many other features that combine to make a great debugging tool, dramatically simplifying the development, deployment, and debugging of the coding languages used in Salesforce. The downside is that it is not free – and for a reason.
In summary, both additions are relatively similar and serve the same purpose, but while Apex Log Analyzer comes by itself, Illuminate Cloud’s Log Analyzer is bundled in with many other features. If you’d like to have them on VSCode, you’d have to install them separately. Now, regarding choosing one of the two – it depends on which IDE you use, and the debug log analysis depth you’d like to have. For a more insightful and exhaustive review, I’d recommend Illuminate Cloud’s Log Analyzer. However, if you’re looking for a quick, visual, and fruitful analysis, I’d definitely go for Apex Log Analyzer.