NameDateSize

..02-Jul-20154 KiB

.gitignore02-Jul-201519

agents/02-Jul-20154 KiB

Android.mk02-Jul-2015767

autogen.sh02-Jul-20151,009

ChangeLog02-Jul-201518.9 KiB

ChangeLog-200102-Jul-201558.2 KiB

ChangeLog-200202-Jul-2015112.1 KiB

ChangeLog-200302-Jul-2015167.3 KiB

ChangeLog-200402-Jul-201530.6 KiB

ChangeLog-200502-Jul-201526.7 KiB

ChangeLog-200602-Jul-20157.7 KiB

ChangeLog-200702-Jul-201524.1 KiB

ChangeLog-200802-Jul-201513.1 KiB

common.mk02-Jul-20151.8 KiB

config.h02-Jul-20152.7 KiB

configure.in02-Jul-20158.5 KiB

COPYING02-Jul-201517.6 KiB

daemon/02-Jul-20154 KiB

doc/02-Jul-20154 KiB

events/02-Jul-20154 KiB

gui/02-Jul-20154 KiB

HACKING02-Jul-20156.9 KiB

include/02-Jul-20154 KiB

libabi/02-Jul-20154 KiB

libdb/02-Jul-20154 KiB

libop/02-Jul-20154 KiB

libopagent/02-Jul-20154 KiB

libopt++/02-Jul-20154 KiB

libpopt/02-Jul-20154 KiB

libpp/02-Jul-20154 KiB

libregex/02-Jul-20154 KiB

libutil/02-Jul-20154 KiB

libutil++/02-Jul-20154 KiB

m4/02-Jul-20154 KiB

Makefile.am02-Jul-20152.3 KiB

module/02-Jul-20154 KiB

MODULE_LICENSE_GPL02-Jul-20150

NOTICE02-Jul-201517.6 KiB

opcontrol/02-Jul-20154 KiB

opev.py02-Jul-20152.5 KiB

opimport_pull02-Jul-20153.8 KiB

opjitconv/02-Jul-20154 KiB

oprofile_android02-Jul-201514.5 KiB

popt.h02-Jul-201515.9 KiB

pp/02-Jul-20154 KiB

README02-Jul-20151.4 KiB

README_PACKAGERS02-Jul-20153.4 KiB

TODO02-Jul-201515 KiB

utils/02-Jul-20154 KiB

README

1This is an alpha release version of oprofile, a transparent
2low-overhead system-wide profiler.
3
4You can find some documentation in the doc/ directory.
5
6Please visit the oprofile website at : http://oprofile.sf.net/
7
8oprofile was written by John Levon <levon@movementarian.org>
9and Philippe Elie <phil.el@wanadoo.fr>.
10
11Maynard Johnson <maynardj@us.ibm.com> is the current maintainer.
12
13Dave Jones <davej@suse.de> provided bug fixes and support for
14the AMD Athlon, and AMD Hammer families of CPUs.
15
16Bob Montgomery <bobm@fc.hp.com> provided bug fixes, the initial RTC
17driver and the initial ia64 driver.
18
19Will Cohen <wcohen@redhat.com> integrated the ia64 driver into the
20oprofile release, and contributed bug fixes and several cleanups.
21
22Graydon Hoare <graydon@redhat.com> provided P4 port, bug fixes and cleanups.
23
24Ralf Baechle <ralf@linux-mips.org> provided the MIPS port.
25
26Other contributors are listed in the ChangeLog.
27
28Building
29--------
30
31Please read the installation instructions in doc/oprofile.html or
32http://oprofile.sourceforge.net/doc/install.html.
33
34Quick start :
35
36(If using CVS: ./autogen.sh first. You need automake 1.5 or higher. You
37can specify a different version, e.g.
38ACLOCAL=aclocal-1.5 AUTOMAKE=automake-1.5 AUTOCONF=autoconf-2.13 AUTOHEADER=autoheader-2.13 ./autogen.sh)
39
402.4 kernels
41
42	./configure --with-linux=/path/to/kernel/source
43
442.6 kernels
45
46	./configure --with-kernel-support
47

README_PACKAGERS

1Building an RPM for OProfile
2==================================
3
4When building an RPM for OProfile, please follow the RPM packaging guidelines
5described in:
6   http://www.rpm.org/RPM-HOWTO/build.html
7
8
9New file to install as of release 0.9.3
10---------------------------------------
11
12As of release 0.9.3, opreport is capable of generating XML output.
13Tool developers who wish to use the xml output will need to have
14access to the doc/opreport.xsd file, which describes the schema.
15RPM packagers may install this file in the same package as the other
16standard OProfile components or in a separate devel package if desired.
17
18
19New files to install as of release 0.9.4
20---------------------------------------
21
22As of release 0.9.4, OProfile includes a JIT support library called libopagent.
23This library is needed at runtime when profiling JITed code from supported
24virtual machines.  The install location for this library is:
25	<oprof-install-dir>/<libdir>/oprofile
26
27And there's a new binary file to install that's used for JIT profiling called
28opjitconv.  As with the other oprofile executables, this file is installed in
29the <oprof-install-dir>/bin directory.
30
31OProfile also includes support for profiling Java applications.  This support
32must be configured by way of the '--with-java=<path_to_jdk>' configure
33option.  If your JDK is older than version 1.5, only a JVMPI agent library
34is built.  If your JDK is version 1.5, both JVMPI and JVMTI agent
35libraries are built.  If your JDK is 1.6 or newer, only the JVMTI agent
36library is built.  As with libopagent described above, the install location
37for these is '<libdir>/oprofile'.
38
39RPM packagers can install the <libdir>/oprofile libraries in the same package
40as the other standard OProfile components or in a separate package if desired.
41It is recommended to run ldconfig in %post and %postun to add/remove the
42<libdir>/oprofile path from the standard library search paths.
43
44On bi-arch platforms that support more than one "bitness" of userspace software
45(e.g., 32-bit and 64-bit programs), it is recommended that the libopagent and
46Java agent libraries be packaged in a separate RPM.  You could then build
47OProfile twice -- once for each bitness type.  You would then distribute both
48versions of the RPMs containing the libraries, but only one RPM containing the
49"base" OProfile (i.e., executables, scripts, etc.).
50
51The new JIT support also provides the ability for third parties to develop
52JIT agents for other virtual machines.  The development files provided for this
53purpose are:
54	doc/op-jit-devel.html
55	include/opagent.h
56
57Again, the RPM packager may package these files in the default package
58or in a separate devel package.
59
60
61Requirement for building a binary RPM package
62----------------------------------------
63
64OProfile requires the special user account "oprofile" to exist for purposes
65of processing samples from JIT'ed code (e.g., Java applications).
66
67When defining the spec file for the OProfile RPM, you should add the automatic
68creation of the special "oprofile" user account.  Please refer to the URL
69below for an example of how this can be done:
70   http://fedoraproject.org/wiki/Packaging/UsersAndGroups
71
72For example, the following commands would add the necessary user account:
73
74   %pre
75   getent group oprofile >/dev/null || groupadd -r oprofile
76   getent passwd oprofile >/dev/null || \
77   useradd -r -g oprofile -d /home/oprofile -s /sbin/nologin \
78       -c "Special user account to be used by OProfile" oprofile
79   exit 0
80