SAR2PCP(1) Performance Co-Pilot SAR2PCP(1)
sar2pcp - Import sar data and create a PCP archive
sar2pcp infile outfile
sar2pcp is intended to read a binary System Activity Reporting (sar) data file as created
by sadc(1) (infile) and translate this into a Performance Co-Pilot (PCP) archive with the
However, if infile has the suffix ".xml", then it will be considered already in XML format
and sar2pcp will operate directly on it.
The resultant PCP achive may be used with all the PCP client tools to graph subsets of the
data using pmchart(1), perform data reduction and reporting, filter with the PCP inference
engine pmie(1), etc.
A series of physical files will be created with the prefix outfile. These are outfile.0
(the performance data), outfile.meta (the metadata that describes the performance data)
and outfile.index (a temporal index to improve efficiency of replay operations for the
archive). If any of these files exists already, then sar2pcp will not overwrite them and
will exit with an error message of the form
__pmLogNewFile: "blah.0" already exists, not over-written
sar2pcp is a Perl script that uses the PCP::LogImport Perl wrapper around the PCP
libpcp_import library, and as such could be used as an example to develop new tools to
import other types of performance data and create PCP archives. A Python wrapper module
is also available.
When not using the XML input option, sar2pcp requires infile to have been created by a
version of sadc(1) from <http://sebastien.godard.pagesperso-orange.fr/> which includes the
sadf(1) utility to translate infile into an XML stream (any since version 6); sar2pcp will
automatically run sadf(1) and translate the resultant XML into a PCP archive.
When using binary sadc files it is important to ensure the installed sadf is compatible
with the version of sadc that originally generated the binary files. Simply assuming a
newer installed version will work is unfortunately far too optimistic, and nor should one
assume that binary data from different platforms (e.g. different endianness) will work -
these issues are due to limitations in sadc and sadf, and not in sar2pcp itself.
Fortunately, the sadf message indicating that an incompatibility has been detected is
consistent across versions, and is always prefixed
Invalid system activity file
Using an XML infile has the advantage that the installed version of sadf is completely
bypassed. sar2pcp undertakes to transform any valid XML produced by any of the different
variations of sadf into a valid PCP archive. Any version of PCP will be able to interpret
the archive files produced by any version of sar2pcp, and you are also free to move the
binary PCP archive between different platforms, different hardware, even different
operating systems - it Just Works (TM).
pmie(1), pmchart(1), pmlogger(1), pmlogextract(1), pmlogsummary(1), sadc(1), sadf(1),
sar(1), Date::Parse(3pm), Date::Format(3pm), PCP::LogImport(3pm), XML::TokeParser(3pm) and
3.8.10 Performance Co-Pilot SAR2PCP(1)