oprofile Log

Commit Date  
[bd140d] by Carl Love Carl Love , pushed by Maynard Johnson Maynard Johnson

Oprofile, opreport: fix to pass string of options from opannotate to objdump

Currently when passing a quoted string of two or more options from
opannotate to objdump, the objdump command fails. The issue is when
an argument string passed to exec_command contains spaces.
This patch takes the quoted string of options to pass to objdump and
breaks the list of options up into individual arguments. The objdump_params
is then updated so that there is one argument in each element of the vector
rather than string elements that may contain spaces.

This patch also updates the man page with examples of how to pass options
to the objdump from the opreport command.

Signed-off-by: Carl Love <cel@us.ibm.com>

2012-08-06 19:26:38 Tree
[b12f64] by Maynard Johnson Maynard Johnson

Change pp tools to abort if <cur_dir>/oprofile_data exists, but no samples found

In commit 01c7ce945cfe835b908c5f4f8c1125e65302b000 on July 3, 2012,
a change was made to the post-processing tools to look first in
<cur_dir>/oprofile_data; then, if no samples are found there,
the tool should fall back to the "standard" /var/lib/oprofile
session-dir. I've come the conclusion that this is not proper
behavior. For example, a user may run operf using some event that
never occurs during the profiling run, and, thus, no samples would
be stored in <cur_dir>/oprofile_data. But if that user then ran
opreport and there happened to be some old profile data in
/var/lib/oprofile, that old profile data would be displayed in
the report.

This new patch changes the behavior as follows:
The post-processing analysis tools will search for samples in
<current_dir>/oprofile_data first. If that directory exists
but has no samples, then the usual "No sample file found"
message is displayed. On the other hand, if that directory
does not exist, the post-processing tools use the standard
session-dir of /var/lib/oprofile. Also, the message that
indicates the session-dir being used will be displayed
whether or not samples are found so that users can see
clearly where the pp tool was looking for samples.

This patch also makes a small change in the "No sample file found"
message relating to the use of 'opcontrol --dump', which is only
appropriate when using legacy profiling versus operf profiling.

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2012-07-31 17:05:56 Tree
[4747a7] by Maynard Johnson Maynard Johnson

Fix errors found by coverity in new and changed code in perf_events port

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2012-07-25 21:27:39 Tree
[54fe9d] by Maynard Johnson Maynard Johnson

Add new operf.log file to what oparchive will archive

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2012-07-20 15:21:07 Tree
[9ea425] by Maynard Johnson Maynard Johnson

Fix oparchive to use absolute path for copying abi and oprofiled.log

If oparchive is called with the --session-dir argument using a relative path,
the command will fail at the end if invoked using:

And the result was:
can't copy from oprof_sessions//abi to /media/stick/appbarstatic-2oprof_sessions//abi cause: Success
can't copy from oprof_sessions//samples//oprofiled.log to /media/stick/appbarstatic-2oprof_sessions//samples//oprofiled.log cause: Success

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2012-07-20 15:20:05 Tree
[a30a67] by Maynard Johnson Maynard Johnson

[PATCH] Add some helpful messages for various operf usage scenarios

Added the folowing helpful messages:
- Display message in opreport (and other pp tools) to show session dir used.
- When using operf with "-p" or "-s", print message that user can do "ctrl-C"
or "kill SIGINT <operf_PID> " to stop profiling. The "kill" command is mainly
needed in the case where operf is made a background job via the '&'.
- Display a message when a permissions error is encountered when trying to mmap
the kernel profile data. This can happen when a given user tries to run multiple
instances of operf simultaneously. This problem is fixed on newer kernels (e.g., 3.0).
- For 'operf --system-wide', print a message that either the user needs to be root or
the perf_event_paranoid system value must be 0 or -1. Of course, the message is
printed only if neither of these are true.

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2012-07-19 12:23:03 Tree
[8f12d5] by Maynard Johnson Maynard Johnson

Fix configure to not alter user variables and remove non-working --with-gcc option

The configure script for oprofile had a few places
where user variables were being altered in contradiction
to the GNU Automake manual. See the following URL for details:


In brief, user variables are those listed under "Some influential
environment variables" section of the output from 'configure --help'.
These are variables which the user may set prior to invoking configure,
and thus, the configure script should not alter them. This patch
makes use of new internal variables (e.g., OP_LDFLAGS and OP_CPPFLAGS),
which did unfortunately create quite a ripple effect with the Makefile.am
files. But this was unavoidable in order to correct this error.

Additionally, the '--with-gcc' option does not work anymore because
the generated configure script runs the AC_PROG_CC before processing the
"--with-gcc" option, so it fails to find a compiler. Unsure of when
this stopped working (assume it must have worked in 2005 when it was
initially added), but even fairly old distros (e.g., SLES 10) with
autoconf version 2.59 do not process this option as we would want.
If users wish to configure oprofile to use an alternate compiler,
they should pass the compiler pathnames on the configure command line, thusly:
./configure CC=/my-gcc-install/bin/gcc CXX=/my-gcc-instal/g++

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2012-07-13 17:44:49 Tree
[01c7ce] by Maynard Johnson Maynard Johnson

Make opreport use <cur_dir>/oprofile data for default session-dir

Since operf will be the recommended profiling tool in the future
(instead of opcontrol) and since operf stores the sample data by
default in <cur_dir>/oprofile_data, it makes sense for opreport
and other oprofile post-processing tools to look first in
<cur_dir/oprofile_data; then, if no samples are found there, the
tool should fall back to the "standard" /var/lib/oprofile session-dir.

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2012-07-03 19:15:19 Tree
[88e125] by Maynard Johnson Maynard Johnson

Switch operf from popt to getopt

Using popt to parse command line arguments for operf did not
work properly for cases where an application to profile is
passed in, along with some app arguments that happen to have
option names the same as operf. Therefore, operf has been
changed to use getopt_long. This decision to not use popt
negated the reason for the changes made to oprofile's libopt++
popt_option.[c|h] files back when operf was first introduced;
thus, those changes are reverted with this patch.

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2012-06-11 15:10:58 Tree
[2c53eb] by Maynard Johnson Maynard Johnson

Fix opannotate --assembly to work with prelinked runtime lib and non-prelink debuginfo

The opannotate tool can annotate assembly code as long as the binary file
contains symbol information. For binaries that are completely stripped,
users should install the corresponding debuginfo file and then use
'opannotate --assembly' to obtain annotated assembly output for the binary.
However, in a prelink environment, 'opannotate --assembly' does not produce
any output for stripped binaries, even when it's associated debuginfo file
is installed. This patch fixes that problem by making a 'vma_adj' value
available to the opannotate code. The 'vma_adj' value is set to either:
1) the difference between the runtime load address of the binary and the p_vaddr
of the first PT_LOAD segment of the debuginfo file; or 2) 0, when the runtime
binary *does* have symbol info. The reason for #2 is that if the real binary does
have symbol info, then the VMA values of the samples will already be adjusted
according to the runtime load address of the symbol from which the sample was
taken, prior to the annotation steps.

2012-03-13 15:24:07 Tree
[73a0c8] by Maynard Johnson Maynard Johnson

Initial code drop for perf-events branch

2012-01-13 23:27:09 Tree
[9529ae] by William Cohen William Cohen

Convert the .cvsignore files into .gitignore files.

2011-02-15 19:50:17 Tree
[3cb5ed] by Maynard johnson Maynard johnson

Moved the copying of stats to opcontrol to do_dump_data

2010-08-02 21:40:08 Tree
[06f64c] by Maynard johnson Maynard johnson

Handle bad samples from kernel due to overflows

2009-07-10 20:03:40 Tree
[783bc2] by Maynard johnson Maynard johnson

Fix image-path option to be appended to archive path

2009-06-23 14:17:05 Tree
[f736a3] by Maynard johnson Maynard johnson

Fixes for oparchive session-dir as reported in bugs 2646389 and 2646376

2009-05-13 16:12:08 Tree
[0bf6d9] by Maynard johnson Maynard johnson

Add IBS support, patch 3 of 4

2009-04-17 18:45:51 Tree
[84e04d] by Maynard johnson Maynard johnson

Fix separate debug file handling with --root option

2008-07-03 17:12:06 Tree
[a4c754] by John Levon John Levon

GCC 4.3 fixes

2008-04-29 12:07:46 Tree
[af7e83] by John Levon John Levon

Split changelog, fix cvsignore

2008-04-28 21:54:40 Tree
[8a6f6b] by Daniel Hansel Daniel Hansel

JIT support (for profiling Java applications) added

2008-04-28 21:23:26 Tree
[77d2de] by Maynard johnson Maynard johnson

Fix warnings from gcc 4.3 on const function return types

2008-03-18 02:00:09 Tree
[aab24f] by John Levon John Levon

e300, avr32 support. oparchive fixes

2008-02-22 16:17:49 Tree
[353bda] by William Cohen William Cohen

2008-02-15 Will Cohen <wcohen@redhat.com>

* gui/oprof_start_util.cpp
* libutil++/file_manip.cpp
* libutil++/bfd_support.cpp
* libutil++/bfd_spu_support.cpp
* libutil++/op_spu_bfd.cpp
* libutil++/cverb.cpp
* libutil++/child_reader.cpp
* pp/opgprof_options.cpp
* pp/opannotate_options.cpp
* pp/oparchive.cpp
* pp/common_option.cpp
* libpp/sample_container.cpp
* libpp/op_header.cpp
* libpp/profile.cpp
* libabi/opimport.cpp
* libregex/demangle_symbol.cpp: Add includes for gcc 4.3 compatibility.

2008-02-15 18:28:19 Tree
[e18be8] by John Levon John Levon

style fixes from Daniel

2008-01-21 21:35:17 Tree
Older >

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks