Data Visualization Frameworks Introduction

From TracingWiki

Jump to: navigation, search

In most tracing systems, the user interface is the framework interacting with all the other components. It may be part of an already existing framework for program development, alongside with other debugging and performance analysis tools. For deployed systems, the tracing user interface may be part of a global system monitoring console.

In either case, the user interface may typically be used to:

  • selectively activate or deactivate static tracepoints;
  • insert or remove dynamic tracepoints;
  • start or stop the tracing of a given process, process group or complete system;
  • visualize the content of traces.

To visualize the content of traces, several tools and views may be offered:

  • filter, to select the events shown based on their type and the value of their fields;
  • event list to conveniently view a table of the events, like in a database viewer;
  • control flow view, to show the state of different objects (process, disk, CPU...) as a function of time, in a way reminiscent of Gantt charts;
  • histogram of events (number of events of a certain type, value of a field for a certain type of event...), graph showing for instance the number of disk read requests per second;
  • statistics (total number of events by type, average durations, CPU usage...).

Many more tools are possible and would be very useful for a number of specialized tasks. Linux kernel developers have in the past developed ad hoc, throw away, tools for block device tracing and analysis, mutex contention and interactive response latency. It is therefore very important to have the flexibility to easily add new analysis and viewing modules (plugins).

Personal tools