Skip to content

Contact us

    Talk to our Experts


    +1 920 303 0470
    info@smart-is.com 1302 S Main ST , Oshkosh , WI 54902-6518

    Huge Trace Files — Not a problem!

    Overview

    JDA/BY has a very useful feature that allows for detailed tracing of a server component. It provides information about every single server component, parameter and also all SQLs that are executed. But that also ends up being an issue as the traces would often reach several gigabytes. Analyzing them becomes a problem.

    Our Solution

    Smart IS has created a client software that allows for executing MOCA commands. It can be downloaded from Here . We have incorporated an advanced Trace Viewer into this application that allows for analyzing such trace files. The concepts are based on some of the concepts described in my earlier blog.

    Database Trace Option

    When you have our MOCA Client, you can access the “MOCA Log” pull-down menu:

    As described in the earlier blog post, we will be pushing the trace to a set of tables in the database. So in the screen, you can press the button to create the tables on the instance. This needs to be done only once.

    Now you can choose the trace file you want to load from the instance by pressing the insert button. There is no upper limit on the size of trace file. You will be able to process several Gigabyte trace file and the client will give you progress update. Once the trace file has been parsed the parsed view is stored in a set of database tables so re-analyzing it does not require re-parsing.

    The parser views the trace file as having three high-level perspectives:

    1. Activity. This is from the point of view of a client that accessed a service provided by MOCA
    2. Commands. These are the various MOCA commands
    3. SQLs. These are the SQL statements that are executed

    Activity View

    As you select a trace file from the top grid, the various Activities will be displayed in the order of execution along with the time spent on each:

    You may sort the grid as you see fit. Each row here implies an interaction from the client (e.g. RF or GUI user) with the MOCA server. Being able to view this is a huge benefit when trying to make sense of huge trace files as our interesting area may be one of several activities. As you can notice that the client makes several calls to the MOCA server for house-keeping activities which create a lot of noise to filter through. You can right click on any row here and export just that part of the trace file:

    The exported trace file can be processed in any way you like, i.e. in a trace viewer of your choice.

    Here you have two tabs “SQL” or “Commands” to do further analysis:

    You can choose a tab and then press “Analysis” button.

    SQL Analysis View

    You can perform the analysis of the whole trace file or of a certain activity. You decide that based on the filter section:

    This shows a grid that has all SQLs within the context. The SQLs here are the ones with bind variables. This implies that we group like SQL statements. This is extremely helpful when we are looking at a trace from the point of view of performance tuning:

    You can sort the data as you see fit. For example, while looking for performance improvements, sorting by tot_elapsed can be quite helpful. There is also a summary section to separate the tracing overhead from the execution overhead. The above example highlights that there is a single SQL statement that took 8 seconds. Also, the second one is executed very frequently and even though each execution was sub-second (0 ms to 101 ms) adding them together comes to 1.5 seconds which can be significant when looking at a transaction like inventory movement.

    You can right click on any row here to see further options:

    • Show all executions will show each execution. As you can see below it provides a summary view and also the time for each execution. It also provides contextual information about the command that executed it and also the line number in the trace file.

    • Explain query will show an execution plan. This is very useful as the explain plan is really dependent on the query with bind variables. A common mistake is to analyze queries with bind variables replaced. This provides a simple mechanism to get the trace

    Command Analysis View

    Like SQL Analysis, you can do command level analysis as well. You can analyze the whole trace or focus on an activity. Once you analyze you see similar output but from the point of view of MOCA commands:

    You can see summary view and also similar statistics for the various commands within the analysis context. You can for example focus in on a command that may be executed too often causing overall performance degradation.

    Trace View Option

    You also have the traditional option of viewing the trace file as a tree view or detailed view. Here too we have several advantages over the competing options:

    • We can look at part of huge trace

    As mentioned above when we right click on an activity we can create a trace for just that portion. That sub-trace is opened into the trace viewer:

    • Ability to filter out noise

    When we open a trace file, we get an option to filter out some typical parts of the trace to make it easier to view.

    This will reduce the resulting view significantly as the common housekeeping commands in MCS and MOCA will be ignored. You can also put additional commands to ignore. This also reduces the size by getting rid of some other parts of the trace.

    • Tree View and Detailed View in side by side panes

    Above enhancements allows us to view very large trace files in this view as well. Then we can see the contents in two panes where right side shows it as a tree and left side as text:

    • View Arguments in a tab

    We can highlight a command in the tree view to see the arguments that are available to it in the Arguments tab:

    • Easily see FLOW messages

    MOCA code may put explicit trace messages as FLOW type. These provide explicit trace hints that can be valuable in making sense of a complex command. The “Flow Messages” tab shows such messages based on the selected node of the tree:

    Conclusion

    JDA/BY server tracing option is very valuable and provides a tool to perform in depth analysis and troubleshooting. Complex use cases become difficult due to the size of the trace file. Our approach provides us a solution to focus on the problems and eliminating noise. Our consultants are also users of our tools so this allows us to improve these by utilizing their feedback. If you have any questions or comments please contact us.


    Originally published on saadwmsblog.blogspot.com

    Leave a Reply

    Your email address will not be published. Required fields are marked *

    Recent Stories

    View All
    Blog Feature Image
    ForgeViu: Visual Experiences for an Intent-Centric Enterprise
    Jun 12, 2026

    Technology has a habit of making us believe that every new breakthrough renders everything that came before it obsolete. When television became mainstream, many predicted the end of radio. When e-commerce emerged, some predicted the end of physical retail. When smartphones arrived, there were predictions that desktop computing would become irrelevant. Reality is usually more

    Read More
    Beyond the Crawl: A Coding Agent for Proprietary Programming Languages
    May 17, 2026

    General-purpose coding models perform well on languages that are well-represented on the public internet. They fail predictably on proprietary or domain-specific languages: hallucinated identifiers, wrong call shapes, and confident reproduction of deprecated patterns. MOCA, the scripting language inside Blue Yonder’s Warehouse Management System, is one of those failure cases, the entire ecosystem (grammar, command catalog,

    Read More
    The Generalist Manifesto: Why “Broad Intelligence + Skill” Is the Future of AI
    May 08, 2026

    For the past couple of years, we’ve seen a massive push toward Specialized LLMs. The argument seems intuitive: if you need legal expertise, use a legal model. If you need medical expertise, use a medical model. Why rely on a “general” model when you can have one trained specifically for the task at hand? In

    Read More
    Safety by Ignorance vs Safety by Understanding: What the Claude–DoD Debate Is Really About
    Apr 03, 2026

    There is a growing debate in AI governance that is often framed as a dispute over “safeguards,” “alignment,” or “responsible AI.” A recent flashpoint involves models developed by Anthropic (notably Claude) and the U.S. Department of Defense, but the disagreement is deeper than any single vendor or contract. At its core, the debate is not

    Read More
    From Chat to Capability: Operationalizing Enterprise AI Intents
    Apr 02, 2026

    In earlier posts, I argued two related ideas: This post builds directly on those ideas and takes the next logical step. If intent is the real abstraction — and if enterprises need repeatable, governed intelligence — then the obvious question is: Where does intent actually live, and how does it execute? The Missing Layer: Intent

    Read More
    Enterprise Cognitive Intelligence, Without the Complexity
    Feb 17, 2026

      In our previous post, we showed how our MCP framework removes the friction from exposing system capabilities to AI. MCP solves access. Cognition requires meaning. Because enterprises don’t think in systems.They think in business concepts. The Limits of System-Level Intelligence Most MCP servers today expose a single system — ERP, WMS, OMS, planning engines —

    Read More
    From APIs to Intelligence: How Our MCP Framework Makes Any System AI-Ready
    Feb 17, 2026

    Everyone wants to “add AI” to their systems — but few succeed. Not because AI models aren’t powerful — they are. But because exposing enterprise systems to AI is still too hard. So for most teams, the friction is simply too high. A Useful Analogy: AI as a Researcher Think of AI as a researcher. At

    Read More
    F
    From System Silos to System Intelligence: The AI Shift Enterprises Cannot Afford to Ignore
    Dec 10, 2025

    Enterprises today operate in an environment where systems multiply, data sits fragmented, and real-time decisions depend on information scattered across platforms. The divide between organizations’ need for instant, secure, conversational access to enterprise intelligence and their reliance on siloed screens, complicated integrations, and manual reporting processes is increasing each year.   According to a survey report

    Read More
    Why Traditional Deployment Playbooks No Longer Keep Up with Modern Warehouses
    Oct 30, 2025

    Modern warehouses are evolving faster than the deployment practices that support them. What was once a predictable, linear, and manual deployment cycle has turned into a complex, high-stakes process that no longer fits the pace of operations. Traditional deployment playbooks were designed for slower systems with fewer moving parts. Today’s warehouses operate across multiple sites,

    Read More
    The Hidden Cost of Screen Development in Warehouse Reporting and the Solution
    The Hidden Cost of Screen Development in Warehouse Reporting and the Solution
    Oct 16, 2025

    Reporting sits at the core of every warehouse operation. It is the lens through which leaders make decisions, monitor performance, and anticipate challenges. Yet, behind the charts and dashboards lies a process that is often far more complex and costly than it should be. Screen development in warehouse reporting has become a silent drain on

    Read More