Table of Contents

# SystemTap Development User Guide

Welcome to the SystemTap Development Help pages. This section is intended to provide users with information and links about the SystemTap scripting language itself, in addition to a brief introduction to SystemTap GUI's structure for new users and a brief explanation of SystemTap.

## SystemTap GUI's Plugin Design

SystemTap GUI was built with a modular goal in mind, namely, to provide the application as a series of plugins so that users may obtain just the ones they need without having to use a heavy-weight application should if they didn't need to. The most common example of this is to ship the Dashboard plugin independently, allowing non-SystemTap savvy users the ability to execute modules without having to write any scripts. The application in its complete state includes three perspective, each with a specific goal:

- IDE Perspective - Contains script editor and Function, Kernel Source, and Probe Alias browsers to assist in the creation and editting of SystemTap scripts.
- Graphics Perspective - Graphs data from SystemTap scripts in the desired graph form according to a regular expression passed to interpret the data.
- Dashboard Perspective - Allows the execution of modules, which are scripts with associated metadata that open one or more graphs in a dashboard environment that update in real time.This perspective is still under development

Each perspective has full documentation associated with it and is packaged in the respective plugin.

## Systemtap

SystemTap provides free software (GPL) infrastructure to simplify the gathering of information about the running Linux kernel. This assists diagnosis of a performance or functional problem. SystemTap eliminates the need for the developer to go through the tedious and disruptive instrument, recompile, install, and reboot sequence that may be otherwise required to collect data.
SystemTap provides a simple command line interface and scripting language for writing instrumentation for a live running kernel. The internal tapset library as well as the published samples can be used to aid reuse and abstraction.
Current project members include Red Hat, IBM, Intel, and Hitachi.
See also: Current status.

## Configuration Tutorial

This tutorial is written to guide a new SystemTap GUI user through some basic post-installation setup in order to get the most out of the application.

### Installation

If SystemTap GUI is not yet installed, or for problems in basic installation, please see the installation help page.

### Kernel Source Location

In order to use the kernel source browser you'll need to point it to the kernel source initially. Do this by either selecting the Kernel Source Browser in the browser pane or by going to Window->Preferences, then going to the SystemTap->IDE->Path tab and setting the location there. This configuration detail is relevent to the IDE Perspective only.

### Tutorials

If you haven't already, you will want to take the IDE and Graphing tutorials. You can find them in the Getting Started section of each perspective's help pages. These tutorial provides fundamental knowledge on graphing in SystemTap GUI.

### Preferences (Optional)

Finally, you may want to set certain non-essential preferences before using SystemTap GUI regularly. Use Window->Preferences to access the Preferences page. Of particular note are Logging->Log To, SystemTap->Environment Variables, SystemTap->Graphing->Refresh Delay, SystemTap->IDE->Editor->Syntax Coloring.

## Links to SystemTap Resources

The following links contain information specific to the SystemTap scripting language.

- SystemTap website - http://sourceware.org/systemtap/
- SystemTap wiki - http://sourceware.org/systemtap/wiki
- SystemTap tutorial - http://sourceware.org/systemtap/tutorial/
- Full list of documentation - http://sourceware.org/systemtap/documentation.html

The following links are related to the SystemTap GUI project:

- SystemTap GUI Sourceforge - https://sourceforge.net/projects/stapgui/
- SystemTap GUI Homepage - http://stapgui.sourceforge.net/