One of the advantages of Bleum’s long-term relationship with JDA (and before that RedPrairie) is the frameworks and tools we have developed to speed up implementations, support and customization work.
One of the proprietary tools we use the most across Bleum is the JDA WMS Trace Digger – a tool developed by one of Bleum’s JDA Solution Architects, Sam Ni, to analyze Moca and MTF traces.
I sat down with Sam and asked him to explain more about the tool.
Why did you develop this tool, Sam? And what does it do?
Sam: I developed this tool the first time I traveled to the US to provide onsite support for a client, around 2010. At that time I had to read and analyze a lot of WMS traces every day in order to identify the root cause of problems – it was so painful to analyze these traces without a tool with good features.
For example, for performance issues, how could I easily locate which command used the most time in a big Moca trace? I thought to myself ‘I just want to click a button to sort all commands by their performance, or search for a specific piece of information quickly’. These type of questions lead me to develop Trace Digger.
Fig. 1 – A Moca trace loaded into the tool.
Are there not existing trace tools you could have used? What are the benefits of the tool you produced?
Sam: Yes, there’s a commercial tool that’s very popular – LextEdit. I used to use this tool for traces myself, but it lacks a number of critical features. Some of the gaps with LextEdit are:
- Search is not very easy, with Trace Digger simply pressing the space bar loads a search box, and you can search only within the focus of the highlighted command if you want
- You can’t open multiple Moca traces simultaneously (for each Moca version, there is a corresponding version for LextEdit)
- Can’t open MTF trace, which means it’s hard to understand what’s happening on an RF device – with Trace Digger you can easily see the flow of RF device forms and the performance of each form
- Can’t handle tree nodes flexibly, e.g. to sort by performance
- Can’t handle big trace files (>500MB)
- Can’t split Moca trace by thread, which makes it impossible to fully analyze execution flow when a file is produced from multiple threads in a random order
- Can’t split Moca trace by size, which makes it difficult to work with large files, for example gigabytes in size
- Can’t bookmark an interesting node – with Trace Digger you can bookmark nodes and navigate them with simple keyboard shortcuts
Fig. 2 – A Moca trace sorted by performance. One command is taking nearly ten seconds to run and may need to be investigated.
How often do you use this tool? And in what contexts?
Sam: I use this tool pretty much every day in my work. It can be used by developers, support engineers, consultants – really anybody who needs to read and investigate Moca/MTF traces.
We’ve rolled this tool out across Bleum now – it’s used all the time across our teams.
Fig. 3 – A filter to show only SQL statements (select, update, insert, delete)
Are there any customization options?
Sam: Yes, there are. Mainly around setting Moca and MTF options, but also there’s customized highlighting options. This can make it so much easier and quicker to read through the files.
Fig. 4 – Color highlighting customization options
And what about the future for the Trace Digger?
Sam: Well, there’s still some opportunities to improve the GUI and add more useful features, so that’s something I’ll be working on soon. There’s always room for improvement!
Fig. 5 – An MTF trace loaded into the tool.
At Bleum we have worked closely with JDA and RedPrairie since 2003, working to support hundreds of customers with their implementation and support needs. Our standardized approach and toolkit, combined with our experienced consultants and developers that helped write the core JDA and RedPrairie code, makes us the perfect partner for your JDA projects.
For more information, reach out to us here.