---
name: "ruby-prof"
section: "1"
platform: "linux"
package: "ruby-prof"
version: "1.7.0-1+b2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/ruby-prof"
---

# ruby-prof(1)

A fast ruby profiler

## NAME

**ruby-prof** - A fast ruby profiler

## SYNOPSIS

**ruby-prof** *options* \<script.rb\> \[--\] \[profiled-script-command-line-options\]

## DESCRIPTION

**ruby-prof** is a fast profiler for ruby. It can be used as a stand-alone program (that this man page documents) or as a ruby library. Simply run the ruby program you want to profile using ruby-prof : **ruby-prof script.rb** At the end of execution the time spent in each method is displayed.

## OPTIONS

- **-p**, **--printer=printer**

  Select a printer:\
   flat - Prints a flat profile as text (default).\
   flat\_with\_line\_numbers - same as flat, with line numbers.\
   graph - Prints a graph profile as text.\
   graph\_html - Prints a graph profile as html.\
   call\_tree - format for KCacheGrind\
   call\_stack - prints a HTML visualization of the call tree\
   dot - Prints a graph profile as a dot file\

- **-m**, **--min\_percent=min\_percent**

  The minimum percent a method must take before being included in output reports. this option is not supported for call tree.

- **-f**, **--file=path**

  Output results to a file instead of standard out.

- **--mode=measure\_mode**

  Select what ruby-prof should measure:\
   process - Process time (default).\
   wall - Wall time.\
   cpu - CPU time (Pentium and PowerPCs only).\
   allocations - Object allocations (requires patched Ruby interpreter).\
   memory - Allocated memory in KB (requires patched Ruby interpreter).\
   gc\_runs - Number of garbage collections (requires patched Ruby interpreter).\
   gc\_time - Time spent in garbage collection (requires patched Ruby interpreter).\

- **-s**, **--sort=sort\_mode**

  Select how ruby-prof results should be sorted:\
   total - Total time\
   self - Self time\
   wait - Wait time\
   child - Child time\

- **--replace-progname**

  Replace $0 when loading the .rb files.

- **-v**

  Show version, set $VERBOSE to true, profile script if option given

- **-d**

  Set $DEBUG to true

- **-R**, **--require-noprof lib**

  require a specific library (not profiled)

- **-E**, **--eval-noprof code**

  execute the ruby statements (not profiled)

- **-x**, **--exclude regexp**

  exclude methods by regexp (see method elimination)

- **-X**, **--exclude-file file**

  exclude methods by regexp listed in file (see method elimination)

- **--exclude-common-cycles**

  make common iterators like Integer#times appear inlined

- **--exclude-common-callbacks**

  make common callbacks invocations like Integer#times appear inlined so you can see call origins in graph

- **-h**, **--help**

  Show help message

- **--version**

  Show version 0.13.1

## COPYRIGHT

ruby-prof was written by Shugo Maeda *shugo@ruby-lang.org*.

This manual page was written by Arnaud Cornet *arnaud.cornet@gmail.com* and updated by Jonas Genannt *jonas.genannt@capi2name.de* for the Debian project (but may be used by others).

## SEE ALSO

The ruby-prof website, https://github.com/ruby-prof/ruby-prof
