# Trace Compass User Guide

- Table of Contents
- Overview
- About Tracing
- Features
- LTTng integration
- Installation
- LTTng Tracer
- Trace Compass Plug-ins
- LTTng Control Dependencies
- Installation Verification
- Trace Compass Main Features
- Tracing Perspective
- Project Explorer View
- Creating a Tracing Project
- Configuring a Project as Tracing Project
- Importing Traces to the Project
- Opening a Trace
- Importing
- Drag and Drop
- Trace Package Exporting and Importing
- Exporting
- Importing
- Refreshing of Trace and Trace Folder
- Remote Fetching
- Remote Profile elements
- Profile
- Connection Node
- Trace Group
- Trace
- Profile editing and management
- Selecting remote traces
- Selecting a Trace Type
- Trace Types Preference Page
- Opening a Trace or Experiment
- Creating an Experiment
- Selecting Traces for an Experiment
- Creating an Experiment from Selection
- Removing Traces from an Experiment
- Deleting Traces from an Experiment
- Renaming a Trace or Experiment
- Copying a Trace or Experiment
- Deleting a Trace or Experiment
- Deleting Supplementary Files
- Displaying the trace's time range
- Link with Editor
- Exporting Time Selection as New Trace
- Events Editor
- Searching and Filtering
- Searching
- Filtering
- Bookmarking
- Copy to Clipboard
- Event Source Lookup
- Source Code
- EMF Model
- Exporting To Text
- Refreshing of Trace
- Collapsing of Repetitive Events
- Customization
- Histogram View
- Statistics View
- Colors View
- Filters View
- Time Chart View
- State System Explorer View
- External Analyses
- Running an External Analysis
- Opening a Report
- Creating a Chart from a Result Table
- Showing or Hiding a Result Table
- Adding and Removing a User-Defined External Analysis
- Custom Parsers
- Creating a custom text parser
- Creating a custom XML parser
- Managing custom parsers
- Opening a trace using a custom parser
- Pin and Clone
- Cloning a view to show two different traces
- Cloning a view to show different window ranges of same trace
- Time Synchronization of Views
- Automatic Time Axis Alignment
- Searching in Time Graph Views
- Filtering Time Events in Time Graph Views
- Configurable Marker Sets
- Marker Set Configuration XML Format
- LTTng Tracer Control
- Control View
- Creating a New Connection to a Remote Host
- Disconnecting from a Remote Host
- Connecting to a Remote Host
- Deleting to a Remote Host Connection
- Creating a Tracing Session
- Creating a Tracing Session With Advanced Options
- Creating a Snapshot Tracing Session
- Enabling Channels - General
- Enabling Channels On Session Level
- Configuring Trace File Rotation
- Configuring per UID and per PID Buffers (UST only)
- Configuring Periodical Flush for metadata Channel
- Enabling Channels On Domain Level
- Enabling and Disabling Channels
- Enabling Events - General
- Enabling Kernel Events On Session Level
- Enabling UST Events On Session Level
- Enabling JUL Events On Session Level
- Enabling LOG4J Events On Session Level
- Enabling Python Events On Session Level
- Enabling Events On Domain Level
- Enabling Events On Channel Level
- Enabling and Disabling Events
- Enabling Tracepoint Events From Provider
- Configuring Filter Expression When Enabling Events
- Adding Contexts to Channels and Events of a Domain
- Adding Contexts to All Events of a Channel
- Adding Contexts to an Event of a Specific Channel
- Start Tracing
- Recording a Snapshot
- Stop Tracing
- Destroying a Tracing Session
- Refreshing the Node Information
- Importing Session Traces to a Tracing Project
- Importing Network Traces to a Tracing Project
- Saving Tracing Sessions
- Loading Tracing Sessions
- Managing Tracing Session Profiles
- Properties View
- LTTng Tracer Control Preferences
- LTTng Kernel Analysis
- OS Tracing Overview Perspective
- LTTng Kernel Perspective
- Control Flow View
- Process tree and information
- Control flow
- Using the mouse
- Using the keyboard
- Incomplete regions
- Zoom region
- Tooltips
- Dynamics Filters
- Show Active Threads Only
- Toolbar
- Marker Axis
- Resources View
- Follow CPU
- Follow thread
- Navigation
- Incomplete regions
- Toolbar
- Marker Axis
- LTTng CPU Usage View
- Process Information
- CPU Usage Chart
- Tooltips
- Using the mouse
- Using the keyboard
- Toolbar
- View Menu
- CPU Filtering
- Kernel Memory Usage View
- Process Information
- Navigation
- Toolbar
- View Menu
- Relative Kernel Memory Chart
- Navigation
- Tooltips
- Process Wait Analysis
- Prerequisites
- Running the analysis
- Input/Output Analysis
- Get the trace
- Input/Output Views
- Disk I/O Activity View
- Navigation
- Toolbar
- View Menu
- System Call Latency Analysis
- Futex Contention Latency Analysis
- Uaddr vs Waiter
- Scenarios
- Latency analysis for IRQ handlers
- LTTng Kernel Events Editor
- LTTng-UST Analyses
- Call Stack View
- Using the Callstack View with LTTng-UST traces
- Importing a binary or function name mapping file (for LTTng-UST <2.8 traces)
- Navigation
- Marker Axis
- Flame Graph View
- How to use a Flame Graph
- Function Duration Statistics
- Using the mouse
- Using the keyboard
- Toolbar
- Importing a binary or function name mapping file (for LTTng-UST <2.8 traces)
- Function Duration Density
- Memory Usage
- Navigation
- Toolbar
- View Menu
- Source Lookup (for LTTng-UST 2.8+)
- Binary file location configuration
- Trace synchronization
- Obtain synchronizable traces
- Use LTTng-modules 2.9+
- LTTng-module network tracepoint with complete data
- LTTng-modules addons kernel module with dynamic tracepoints
- Synchronize traces in Trace Compass
- Time offsetting
- Basic mode
- Advanced mode
- Clearing time offset
- Timestamp formatting
- Data driven analysis
- Managing XML files containing analyses
- Defining XML components
- Defining an XML state provider
- Definitions and example
- Determining the state system structure
- Writing the XML state provider
- Debugging the XML state provider
- Defining an XML pattern provider
- The state system structure
- Writing the XML pattern provider
- Representing the scenarios
- Defining an XML time graph view
- Using the keyboard
- Defining an XML XY chart
- Latency Analyses
- Counters Analysis
- Creating an LTTng trace with performance counters
- Counters View
- Navigation
- Toolbar
- View Menu
- Java Logging
- Enable JUL Logging
- Configuring JUL logging
- LTTng JUL log handler
- Limitations
- How to use LTTng to diagnose problems
- Random stutters
- Slow I/O
- Trace Compass Incubator
- References