Performance Profiling and Analysis Tools

From SubfireWiki

Jump to: navigation, search

Contents

Profiling Tools

Sysprof

Sysprof is a "system wide" profiler: a sort of highly detailed system monitor, so it's possible to see which function in which application is using substantial amount of CPU. It appears to only provide data at the function call timing level.

SystemTap

SystemTap provides a way to access a variety of kernel-level information in a system-wide way. It defines a scripting language which causes its kernel module to collect and report information about a live system. Scripts are translated to C and compiled into kernel modules.

To use SystemTap on Ubuntu, follow these (simple) directions.

OProfile

OProfile allows the collection of an array of low level runtime data. It can generate annotated source files with embedded timing data and provides access to the low level data collected by the CPU (cache hit ratio and load blocks, TLB misses).

GProf

here

Valgrind

here

KCacheGrind

here

JProf

here

Linux Trace Toolkit

LTT

Processor Simulators/Virtual Machines

PTLSim

here

SimpleScalar

here

Xen

here

XenoProf - some oprofile tools for Xen

Analysis Tools

TPTP

here

Ideas

Integrative Tools

  • Integrate analysis better with source
  • Integrate collection better with analysis
  • Integrate collection better with desktop (for end users to submit profiles to developers proving problems)

Handheld Tools

  • Collection/analysis in simulators for developers
  • On-device profile collection
Personal tools