In our new Behind the Square series, we take a look behind the scenes to discover what SquareWorks Consulting’s NetSuite Technical Services team is developing to help our customers succeed. Along the way you will learn a few NetSuite tips and tricks, as well as understand how SquareWorks delivers best in class services.
A critical area of NetSuite development that often goes ignored is SuiteScript performance.
What is SuiteScript?
SuiteScript provides a powerful and flexible way to customize your NetSuite account to better fit your needs. However, poorly written scripts can quickly become performance bottle necks, impacting employee experience in NetSuite and decreasing productivity.
Let’s take a look at some ways you can monitor and manage your NetSuite performance.
High Level Performance Monitoring
If you’re looking for high level visibility into your account’s performance, Application Performance Management (APM) is the best place to start. This is a SuiteApp that NetSuite provides for free to all customers. Most accounts already have this installed and can be found under the Customization > Performance menu.
Behind the scenes, NetSuite is collecting performance metrics from NetSuite accounts, including how often and how quickly SuiteScripts are executing. This SuiteApp provides visibility into those performance metrics and many others.
Low Level Performance Monitoring
If you have identified a SuiteScript that is having performance problems (or is running into NetSuite governance limits), how do you go about analyzing the problem? Assuming you have experience working with SuiteScripts, the following questions might be running through your head:
- Should I start reading through the code in hopes that I notice the cause?
- Should I add in logging statements to identify the bottle necks?
- Should I start modifying the code by trial and error?
Since none of these options are ideal or effective, we decided to create our own solution to quickly find the cause of performance issues.
At SquareWorks Consulting we have built a powerful SuiteScript Profiler, which can be directly installed into a NetSuite account and can profile new or existing SuiteScripts – even directly in production. Let’s take a deeper dive into this solution.
SquareWorks SuiteScript Profiler
With our profiler installed and enabled, we can:
- Analyze any User Event or Suitelet SuiteScripts (2.0 or 2.1) for clients or for our internal use.
- Easily identify the functions / modules that are consuming the most amount of time in a script by analyzing the pie chart.
- Analyze the Profile Tree to drill into each module function’s execution time (ms), governance usage (u) and execution count (x). In addition, if a script reported an exception, but it’s not clear where the error occurred, the Profile Tree can quickly lead our team to the area of concern.
Conclusion
SquareWorks SuiteScript Profiler provides visibility into every function that was executed, including by other modules. This includes private functions that are locally scoped and NetSuite standard modules. With this visibility, the SquareWorks Consulting Technical Services team can provide unmatched technical expertise to our clients and our NetSuite solutions.
If you’re interested in learning more about our SuiteScript Profiler or would like to use this in your own account, please reach out to info@squareworks.com.