logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

oprofile - a statistical profiler for Linux systems, capable of profiling all running code at low

Authors

       John Levon <levon@movementarian.org> is the primary author. See the documentation for other contributors.

4th Berkeley Distribution                       Mon 22 April 2024                                    OPROFILE(1)

Description

       OProfile  is  a  profiling system for systems running Linux 2.6.31 and greater. OProfile makes use of the
       hardware performance counters provided on Intel, AMD, and  other  processors.   OProfile  can  profile  a
       selected  program  or process or the whole system.  OProfile can also be used to collect cumulative event
       counts at the application, process, or system level.
       For a gentle guide to using OProfile, please read the HTML documentation listed in SEE ALSO.

Environment

       No special environment variables are recognized by OProfile.

Files

/usr/share/doc/oprofile/oprofile.html
              OProfile user guide.

       /usr/share/doc/oprofile/opreport.xsd
              Schema file for opreport XML output.

       /usr/share/doc/oprofile/ophelp.xsd
              Schema file for ophelp XML output.

       /usr/share/oprofile/
              Event description files used by OProfile.

       <session-dir>/samples/operf.log
              The profiler log file.

       <session-dir>/samples/current
              The location of the generated sample files.

Name

       oprofile  -  a  statistical  profiler  for  Linux  systems,  capable of profiling all running code at low
       overhead; also included is a set of post-profiling analysis tools, as well as  a  simple  event  counting
       tool

Ocount

ocount is an event counting tool for Linux.

Opannotate

opannotate can produce annotated source or mixed source and assembly output.

Oparchive

oparchive produces oprofile archive for offline analysis

Operf

operf is a performance profiler tool for Linux.

Opgprof

opgprof can produce a gprof-format profile for a single binary.

Opreport

opreport gives image and symbol-based profile summaries for the  whole  system  or  a  subset  of  binary
       images.

Profile Specifications

       Various   optional  profile  specifications  may  be  used  with  the  post-profiling  tools.  A  profile
       specification is some combination of the parameters listed below. ( Note: Enclosing  part  of  a  profile
       specification  in  curly  braces  { } can be used for differential profiles with opreport, but the braces
       must be surrounded by whitespace.)

       archive:archive
              Path to the archive to inspect, as generated by oparchivesession:sessionlist
              A comma-separated list of session names to resolve in. Absence of this  tag,  unlike  all  others,
              means "the current session", equivalent to specifying "session:current".

       session-exclude:sessionlist
              A comma-separated list of sessions to exclude.

       image:imagelist
              A  comma-separated  list  of  image  names to resolve. Each entry may be relative path, glob-style
              name, or full path, e.g.  opreport 'image:/usr/bin/operf,*op*,./oprofpp'

       image-exclude:imagelist
              Same as image:, but the matching images are excluded.

       lib-image:imagelist
              Same as image:, but only for images that are for a particular primary  binary  image  (namely,  an
              application).  This  only  makes  sense  to  use if you're using --separate.  This includes kernel
              modules and the kernel when using --separate=kernel.

       lib-image-exclude:imagelist
              Same as <option>lib-image:</option>, but the matching images are excluded.

       event:eventname
              The symbolic event name to match on, e.g. event:DATA_MEM_REFS.

       count:eventcount
              The event count to match on, e.g. event:DATA_MEM_REFS count:30000.

       unit-mask:maskvalue
              The unit mask value of the event to match on, e.g. unit-mask:1.

       cpu:cpulist
              Only consider profiles for the given numbered CPU (starting from zero).  This is only useful  when
              using CPU profile separation.

       tgid:pidlist
              Only  consider  profiles for the given task groups. Unless some program is using threads, the task
              group ID of a process is the same as its process ID. This option corresponds to the  POSIX  notion
              of a thread group. This is only useful when using per-process profile separation.

       tid:tidlist
              Only consider profiles for the given threads. When using recent thread libraries, all threads in a
              process  share  the  same task group ID, but have different thread IDs. You can use this option in
              combination with tgid: to restrict the results to particular threads within a  process.   This  is
              only useful when using per-process profile separation.

See Also

/usr/share/doc/oprofile/,operf(1),ocount(1),opreport(1),opannotate(1),oparchive(1),opgprof(1),gprof(1),CPUvendorarchitecturemanuals

Synopsis

operf [ options ]
       ocount [ options ]
       opreport [ options ] [ profile specification ]
       opannotate [ options ] [ profile specification ]
       oparchive [ options ] [ profile specification ]
       opgprof [ options ] [ profile specification ]

Version

       This man page is current for oprofile-1.4.0.

See Also