Nuremberg, Germany —Express Logic, Inc. introduces ViewX, a real-time performance monitoring tool for IoT systems where optimization of highly networked activity is critical for the success of the system. ViewX can be used to optimize IoT systems using Express Logic ThreadX RTOS and NetX TCP/IP protocol stack on most 32-bit architectures with dynamic data capture easily defined by the user. With such analytical capabilities, ViewX gives developers system transparency into the complex workings of a highly networked IoT application.
ViewX, a host PC-based application, tracks target system events and provides visibility into those events in graphical or spreadsheet format. Users control the types of data collected and displayed, the format of display, and the frequency of data capture and collection. Data is collected by an agent thread that transfers snapshots of activities to the host via WiFi, Ethernet, USB, UART, or JTAG. The snapshot capture, upload, and display can be periodic, at user-specified intervals, on demand or can be archived on the host for subsequent analysis.
“It's hard, if not impossible, to optimize a system that can’t be seen,” commented William E. Lamie, President of Express Logic. “Prior to ViewX, device developers needed to manually instrument their application, a painstaking and time-consuming process that takes months to accomplish. ViewX provides complete system transparency into the inner operations of the system in a fraction of the time.”
ViewX captures three categories of data, giving the user many ways to optimize a system:
• CPU Utilization—With insight into CPU activity, ViewX shows developers which threads are using most of the CPU cycles and which threads might not be getting enough CPU time to complete their activities. For example, a ViewX user would be able to see a thread that was running too long or at too high a priority, resulting in the starvation of other threads. The developer can then optimize the priority of the most significant cycle consumers, rather than blindly try to optimize the entire system.
• Memory Utilization—ViewX shows each thread's stack usage, enabling optimization of memory use by thread stacks. Allocating too much memory for a thread’s stack wastes memory, while allocating too little can lead to stack overflow.
• Network Performance—ViewX captures metrics that show network throughput, packets sent/received/re-transmitted, or dropped, and packet pool use. If the packet pool is exhausted, network transfers can be impacted while waiting for memory to be returned to the pool. This is particularly helpful for IoT as many small IoT devices don't have the luxury of large memory and deep queues for re-transmission. When a packet is queued for re-transmission, that means one less packet is available for a new reception or transmission. Hence, inefficient packet use in small devices can lead to a few packets dropped/delayed, or collapse of the entire system. ViewX helps solve this problem by making resource utilization and throughput completely visible at all levels of communication/system load.
• Designed to be flexible, ViewX can analyze and show the behavior of systems running on over 20 architectures, including ARM architectures, MIPS, Tensilica, ARC, along with many more. As well, the agent thread retrieves only that data specified by the user through the ViewX interface, but its ANSI C code enables it to be easily customized to dynamically include or exclude information.
• ViewX also can capture trace buffers for analysis by Express Logic TraceX™ event viewer. It gathers kernel awareness data similar to that gathered by a debugger, but is capable of displaying findings in real-time. ViewX enables data browsing, searching, and display, either within a single snapshot, as an animated sequence, or within a set of snapshots saved over a period of time.
Price and Availability
ViewX will be available in Q2, 2015, and will be licensed at prices starting at $5,000 for three developer seats.