AXIS EventView
High Precision Software Event Analyzer.
- Demystify application efficiency, determinism, and real-time performance.
- Find causality bugs.
Results in minutes
Traditional methods
METHOD | DETAILS | CONS |
---|---|---|
Guessing | Developers usually have a instinct of where the performance bottlenecks are, and focus on those, without proving via characterization. | Easily mislead by pre-conceptions, and may not take into account context switches, cache misses, more threads than cores, etc. |
printf() | Print elapsed times, or key execution points. | Obtrusive to real-time due to system context switches. Difficult to track thousands or millions of events. |
Function Profilers | Provides average times for running functions. For example: GNU's gprof. | Does not per-event details making it very difficult to verify determinism or see little details in a pool of large functional averages. |
OS Analyzers | A lot like EventView but mostly shows OS details: process/thread context switches, mutex/semaphore grabs, file IO, interrupts, etc. | Overwhelming with events that may be difficult to relate to the application. |
Developer knows best
Developer defines session properties
Developer defines event properties
Developer decides when to flush stored events to a disk file
ev_save(session);
B.Y.O.C.
(Bring Your Own Clock)
Use the default OS clock, or provide your own by passing initClock(), finalizeClock(), and getClock() functions when defining a session.
Overhead
When events are recorded, only a minimal number of values are stored to a contiguous memory buffer keeping overhead very low. The only time consuming call is to get the current time – the developer has control over what clock is used, so can choose one with minimal performance impact.
The only time a significant performance hit is incurred is when the existing events in the event buffer are flushed to disk – the developer has control over when this will occur for minimal application impact.
Sessions, threads & interrupt handlers
The developer creates a session in which events are recorded
Recording events within threads
A single event session can be used across multiple threads.
Recording events in interrupt handlers
Interrupt handlers, dedicate a session to just the handler.
Visualizing
Key features:
• View sessions from multipleprocessors simultaneously.
• Align multiple sessions from multi-processor apps, or just comparing two different sessions from one app.
• Sort events by name, thread, or ID.
• Group events by file, thread, oruser defined folders.
• Dive down to the nano-secondlevel.
• See implicit events such as context switches or cache misses.
• Filter out events as needed.
Place the mouse over any event to see great detail.
Use histograms to visualize and characterize determinism.
Downloads
Manuals
White Papers
Brochures
Request A Quote
AXIS EventView

Contact An Expert
Looking for help with AXIS EventView

Get Support
Looking for help with AXIS EventView


AXISSoftware.gif

AXISEventview.gif

InnovatorAward.gif