This utility converts sample database files from a foreign binary format (abi) to
the native format. This is useful only when moving sample files between systems
for analysis on platforms other than the one used for collection. The
oparchive should be used on the machine where the profile was taken (target)
in order to collect sample files and all other necessary information. The archive
directory that is the output from oparchive should be copied
to the system where you wish to perform your performance analysis (host). If the
When the architecture of your target and host systems differ, then you'll need to
use the opimport command. The abi format of the sample files
to be imported is described in a text file located in $SESSION_DIR/abi.
The following command converts an input sample file to the specified output sample file using the given abi file as a binary description of the input file and the curent platform abi as a binary description of the output file. (NOTE: The ellipses are used to make the example more compact and cannot be used in an actual command line.)
# opimport -a /tmp/foreign-abi -o /tmp/imported/.../GLOBAL_POWER_EVENTS.200000.1.all.all.all /tmp/archived/var/lib/.../mprime/GLOBAL_POWER_EVENTS.200000.1.all.all.all |
Since opimport converts just one file at a time, an example shell script is provided below that will perform an import/conversion of all sample files in a samples directory collected from the target system.
#!/bin/bash Usage: my-import.sh <input-abi-pathname> # NOTE: Start from the "samples" directory containing the "current" directory # to be imported mkdir current-imported cd current-imported; (cd ../current; find . -type d ! -name .) |xargs mkdir cd ../current; mv stats ../StatsSave; find . -type f | while read line; do opimport -a $1 -o ../current-imported/$line $line; done; mv ../StatsSave stats; |
Example usage: Assume that on the target system, a profile was collected using a session-dir of
/var/lib/oprofile, and then oparchive -o profile1 was run.
Then the profile1 directory is copied to the host system for analysis. To import
the sample data in profile1, you would perform the following steps:
$cd profile1/var/lib/oprofile/samples $my-import.sh `pwd`/../abi |
--help / -? / --usage
Show help message.
--abi / -a [filename]
Input abi file description location.
--force / -f
Force conversion even if the input and output abi are identical.
--output / -o [filename]
Specify the output filename. If the output file already exists, the file is not overwritten but data are accumulated in. Sample filename are informative for post profile tools and must be kept identical, in other word the pathname from the first path component containing a '{' must be kept as it in the output filename.
--verbose / -V
Give verbose debugging output.
--version / -v
Show version.