NonIntrusive RealTime Instrumentation for Distributed Systems and Enterprise Applications Prepared f - PowerPoint PPT Presentation

1 / 31
About This Presentation
Title:

NonIntrusive RealTime Instrumentation for Distributed Systems and Enterprise Applications Prepared f

Description:

Buffer data for post analysis. Monitor and control data real-time. Result ... open architecture enables integration of new data sources, including non ... – PowerPoint PPT presentation

Number of Views:31
Avg rating:3.0/5.0
Slides: 32
Provided by: garys47
Category:

less

Transcript and Presenter's Notes

Title: NonIntrusive RealTime Instrumentation for Distributed Systems and Enterprise Applications Prepared f


1
Non-Intrusive Real-Time Instrumentation
forDistributed Systems and Enterprise
ApplicationsPrepared forBorland
ConferencePresented byJorly Metzger,
703.368.6107x235, jorly.metzger_at_progeny.netProdu
ct ManagerGary Sikora, 703.795.4684,
gary.sikora_at_progeny.netSales ManagerStewart
Bittel, 703.772.3512, stewart.bittle_at_progeny.net
14 September 2004Document P000XXX, Rev -
TM
2
Agenda
  • Background
  • What is CodeEyes
  • How CodeEyes Works
  • How Variables are Selected
  • The Visualizations Views
  • The Data Buffer
  • CodeEyes Benefits
  • Customers
  • Questions

3
Non-Intrusive Real-Time Instrumentation
forDistributed Systems and Enterprise
ApplicationsBackground
4
Background Instrumentation Approach
  • Typical approach
  • Application code modification
  • Execution environment interruption
  • CodeEyes approach
  • Accessing memory via the Operating System (OS)
    independent of the application

5
Background Application Code Approach
  • Methods
  • System outputs to the console window
  • Embedding instrumentation code
  • Special interfaces
  • Result
  • Special code affects the execution and requires a
    recompile between iterations
  • Consequently increasing development costs

Coded System Outputs
Displayed System Outputs
6
Background Execution Environment Approach
  • Methods
  • Breakpoint to view variables
  • Single-step and jump through code
  • Integrated Development Environment provided
  • Result
  • Extremely powerful in simple, single-threaded,
    isolated applications
  • Unusable when coupled threads and applications
    continue execution while a selected one was halted

Breakpoint
Variable Watch
7
Background Memory Space Approach
  • Methods
  • Accessing memory via the OS independent of the
    application
  • Buffer data for post analysis
  • Monitor and control data real-time
  • Result
  • Does not effect the application code or execution
    environment
  • Powerful for coupled threaded and multi process
    system and enterprise applications

Project Compiler
Native Symbol File
Graphical
Memory
Project Source Code
Command Line
or
Buffer
Special Compiler
Special Symbol File
8
Non-Intrusive Real-Time Instrumentation
forDistributed Systems and Enterprise
ApplicationsWhat is CodeEyes
9
What is CodeEyes Overview
  • An open architecture software instrumentation
    framework built for complex, distributed,
    heterogeneous, real-time applications found in
    todays systems and enterprises
  • Enabled for the first time are synchronous views
    of application data distributed across .Net,
    Java, Web Services, CORBA and legacy
    architectures
  • Non-intrusive approach The applications code
    or execution environment are not modified or
    interrupted when instrumentation data is accessed

10
What is CodeEyes Usage
  • Development
  • Real-time, synchronized access to software
    variables across disparate, distributed
    applications decreases development time and
    increases product quality
  • Testing
  • Complex measurement and recording of product
    performance and functionality provides increased
    test repeatability and thoroughness, and
    streamlines the certification process
  • Deployment
  • Non-intrusive monitoring of system or enterprise
    applications provides invaluable insight that
    helps avoid failures while the product is in
    production

Support many phases of product life-cycle not
just development
11
Non-Intrusive Real-Time Instrumentation
forDistributed Systems and Enterprise
ApplicationsHow CodeEyes Works
12
How CodeEyes Works Symbol Files
  • Natively produced symbol files are used to map
    application variables to memory locations
  • Symbol files produced by compilers
  • No special compilation is required
  • Instrumentation synchronization
  • Variables originating from different applications
    with different native symbol file formats can
    coexist on the same graph
  • The current symbol file formats

13
How CodeEyes Works Synchronized Example
  • The first application is written in Visual Basic
    and runs in a .Net framework
  • The other is written in C and runs in an
    embedded system
  • The associated symbol for each, PE/COFF and
    Elf/DWARF 2 are used
  • Channels are setup to the variable via agents
    running on the host
  • Both variables, A and B, are synchronized in the
    presentation layer views

14
How CodeEyes Works Architecture
  • The architecture is comprised of four components
    three that make up the Model View Controller
    (MVC) and a fourth Agent component which is
    responsible for accessing memory locations
  • Agent interface implements a Common API which
    allows new Agents to be developed, extending the
    instrumentation capability without affecting the
    core MVC components
  • New Agents can be developed for additional OSs,
    embedded systems, even for non-memory sources,
    such as databases and hardware

15
How CodeEyes Works Architecture
  • The architecture is comprised of four components
    three that make up the Model View Controller
    (MVC) and a fourth Agent component which is
    responsible for accessing memory locations
  • Agent interface implements a Common API which
    allows new Agents to be developed, extending the
    instrumentation capability without affecting the
    core MVC components
  • New Agents can be developed for additional OSs,
    embedded systems, even for non-memory sources,
    such as databases and hardware

16
Non-Intrusive Real-Time Instrumentation
forDistributed Systems and Enterprise
ApplicationsHow Variables are Selected
17
How Variables are Selected Watch Profiler
  • Select variables across applications and nodes to
    control and monitor
  • Drill-down across classes and methods
  • Watch profiles are displayed in tabbed panes in a
    tree and tabular hybrid structure

18
How Variables are Selected Watch Profiler
(cont.)
  • Menu selected applications and hosting node
    agents
  • Watch profiles can be saved and opened to enable
    testing repeatability and support formal software
    certification and maintenance activities
  • A hybrid tree and tabular variable representation
    intuitively displays complex aggregate data
    structures and their associated values and
    attributes
  • Values can be displayed in various engineering
    units to ease measurement relationship to other
    artifacts of a software applications life-cycle
  • Variables can be modified in real-time, providing
    the ability to apply what-if scenarios to see
    how the change affects the rest of the system or
    enterprise

19
Non-Intrusive Real-Time Instrumentation
forDistributed Systems and Enterprise
ApplicationsThe Visualization Views
20
The Visualization Views Types
  • There are three visualization views
  • Strip Chart Temporal graph of variables
  • Spectral Spectral analysis of variables
  • Statistical Statistical analysis of variables
  • The open architecture is extensible so new views
    can be added

21
The Visualization Views Common Features
  • Simultaneously graph multiple variables with each
    plot differentiated by color
  • Multiple graph instances are used to organize
    related data and provide swift navigation between
    groupings
  • Scroll bar controls provide stepped zoom in/out
    control with skew offset control, a magnitude
    optimization control based on variable values,
    and a temporal slide view window
  • Run controls are provided to reset, start, pause
    and resume the graph

22
The Visualization Views Strip Chart
  • Cursors provide the capability to measure
    variable magnitude and temporal values and delta
    values between two points
  • Scroll bars provide a capability to track new
    data or review past data while the graph is
    running
  • Graphed variables temporal values can be exported
    to the data buffer for post analysis

23
The Visualization Views Spectral
  • Cursors provide the capability to measure
    spectral magnitude and frequency values, and
    delta values between two points
  • Scroll bars provide a capability to optimize the
    frequency axis based on cursor position or
    maximum magnitude
  • FFT window function and number of points can be
    applied in real-time
  • Averaging and persistence controls for a trace
    history view
  • Magnitude axis can be set to absolute or relative
    with logarithmic or inverse scale
  • Sampling window can be set to a free running
    sliding window or sequenced with percent overlap

24
The Visualization Views Statistical
  • Signal mean and standard deviation are
    continuously calculated and displayed
  • Truth can be a static value or a reference to a
    real-time variable
  • Bias error, mean, standard deviation and RMS
    error are continuously calculated and displayed
  • Every measurement can selected to be displayed in
    the waveform
  • A signal distribution thumbnail graph provides a
    quick view

25
The Visualization Views Statistical
  • Signal mean and standard deviation are
    continuously calculated and displayed
  • Truth can be a static value or a reference to a
    real-time variable
  • Bias error, mean, standard deviation and RMS
    error are continuously calculated and displayed
  • Every measurement can selected to be displayed in
    the waveform
  • A signal distribution thumbnail graph provides a
    quick view

26
Non-Intrusive Real-Time Instrumentation
forDistributed Systems and Enterprise
ApplicationsThe Data Buffer
27
The Data Buffer Capability
  • Record variables free-running or based on an
    event
  • Recorded data can be viewed in tabular form,
    exported to spreadsheet standard formats, or
    replayed through a visualization view

28
Non-Intrusive Real-Time Instrumentation
forDistributed Systems and Enterprise
ApplicationsCodeEyes Benefits
29
CodeEyes Benefits
  • Maximizes Return-on-Investment (ROI) through
    reduced specialized code or execution
    interruption during the development,
    certification and maintenance stages of product
    life-cycle
  • Real-time debug with variable watches and
    modifications reduces coding and compilation
    iterations
  • Visualization results can negate the need for
    specialized code to support product certification
    and maintenance
  • Real-time synchronized visualization of variables
    across system and enterprise distributed
    applications
  • Multiple simultaneous visualization views
    including strip chart, spectral and statistical
  • Data buffer that records data for playback and
    export to spreadsheet standard outputs
  • Extensible open architecture enables integration
    of new data sources, including non-application
    data sources such as hardware and network
    interfaces, and integration of new views

30
Non-Intrusive Real-Time Instrumentation
forDistributed Systems and Enterprise
ApplicationsCustomers
  • Joint Strike Fighter
  • Northrop Grumman Radar Group
  • Northrop Grumman Distributed Aperture (DAS)
    System Groups
  • Lockheed Martin Software Development Station (SDS)

31
Non-Intrusive Real-Time Instrumentation
forDistributed Systems and Enterprise
ApplicationsQuestions
Come See Us
Write a Comment
User Comments (0)
About PowerShow.com