AXIS EventView

High Precision Software Event Analyzer.

- Demystify application efficiency, determinism, and real-time performance.

- Find causality bugs.

DATASHEET    USER GUIDE    reference guide    VIDEO

 

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.

Request a Quote

Your information will be used in accordance with our privacy policy.

Contact an Expert

Please enter your location

Get Support

For technical support please visit our support site.

For information on careers at GE please visit our careers page.

Your information will be used in accordance with our privacy policy.

AXIS Software

AXIS Software

AXISEventview

AXISEventview

InnovatorAward

InnovatorAward