Summary

The specification is to capture system metrics data and record or inject the data to a tool which has capability to visualize, trace and annotate the system metrics data with other data. The other data could be any multimedia or graphics application spewing its own metrics. Currently there are two proposals two implement the metrics-app tool.

  • Record and then run the tool on the recorded data to do the summary.
  • Run interactively

Rationale

The aim is to provide multimedia and graphics engineers with a tool that assists them in their daily optimization and hot spotting efforts; pin-point areas having bottle necks, providing quick overview, summaries in textual and graphical forms. Displaying the parameters over a time-line with annotations and highlighting watermark triggered regions.

User Stories

  • User runs an application test suite and uses system-metrics application(SMA) to capture data; at the end he wants a quick overview of where the memory and CPU were peaking and looks at the graphs produced by this tool.
  • User sets the water mark levels in its validation suite , every time the water mark levels are reached a detailed summary should be generated in non-UI mod.
  • After the validation suite finishes with failures, metric-apps should look in depth in UI mode
  • User runs a test case that he knows isn't performing well; he uses SMA to gather data and then sends it to DVS tool to understand which functions the CPU cycles consumed at the times were frame skipped.

Design

The metric-application suite is split in two independent tasks:-

  1. Capture system metrics data - System Metrics Application (SMA)
  2. Develop custom GUI application to visualize metrics data - Data Visualization and Summarizing (DVS)

Currently there are two proposals to achieve the objectives:-

  1. Live/Interactive - The SMA will dynamically inject and acknowledge data to/from DVS tool.
  2. Record and Replay - The SMA will collect the information in a file, DVS tool will parse the recorded file to process the results.

User Interaction

The interaction between user and DVS will be through socket communication using TCP/IP protocol or pipes. The data format used to exchange data between user and DVS will be in form of structured packets.

  • design.png

Watermark level

For metric data the watermark levels can be set through a config file or a command line option. An event will be generated by the SMA as watermark level is reached. The metric tool shall accept these events and highlight the watermarked regions using colour codes. The watermark levels can also be set by the user application raised as a triggered event(s). A detailed summary will be generated in textual format (non UI mode) or dumped to a file. The summary will contain the event id, time stamp and perf data.

Implementation

System Metrics Application (SMA)

Re-use perf tool or customize it to gather system metrics data; Record the perf data in a file or inject it dynamically to the DVS tool in a perceivable format.The data format used will be 32 bit unsigned integer. The tool can be customized to configure capture rates and generate statistics based on moving averages. Few system metrics data which will be captured are:

  1. cpu cycles/freq/load
  2. mem usage
  3. cache-miss

Data Visualization and Summarizing (DVS) Tool

Customized GUI tool will be developed using C and qt graphics libraries. The DVS tool should parse the data from the recorded file or with the second option interact with SMA to produce different visualizations like charting, plotting, tracing etc over time-line and also filter results based on watermark triggered levels. It will give a quick overview and summary of the execution.The watermark level can be configured for any kind of data.

  • dvs.png

    • DVS (Reference Image)

WorkingGroups/Middleware/Multimedia/Specs/1105/ValidationSystemMetricsApp (last modified 2010-12-06 03:54:48)