Creates a PDF report out of PCP archive files collected via pmlogger
Python Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
docs
man
src
tests
.gitignore
COPYING
MANIFEST.in
PKG-INFO
README.md
TODO
setup.cfg
setup.py

README.md

This document gives an introduction to pcp2pdf

What is pcp2pdf for?

The main goal of pcp2pdf is to create a visually pleasing report of a Performance Co-Pilot archive file. PCP archive files contain a bunch of metrics of a system and are usually created by the pmlogger service, which is part of Performance Co-Pilot.

Prerequisites

pcp2pdf is a python program and makes use of these 3rd party modules:

Installation

If you're using Fedora, you can use the packages found mbaldessari/pcp2pdf COPR repo. Just launch:

dnf copr enable mbaldessari/pcp2pdf
dnf install pcp2pdf

Otherwise just use the following:

python3 ./setup.py install
pcp2pdf --help

Usage examples

For example if we have a PCP archive and we would like to understand how the performance metrics behaved during the time interval from "Fri Oct 10 22:10" to "Sat Oct 11 01:00", and we would also like to see the following:

  • How the eth0 TX patch behaved in correlation to the TCP statistics
  • How the eth0 RX and TX behaved
  • A label on the graph at 23:00 on Friday when users told us things are "slow"
  • Lower DPI quality (75)

For example:

pcp2pdf -S "Fri Oct 10 22:10:12.362 2014" -T "Sat Oct 11 01:00:00.00 2014" --dpi 75 \
    -t "14 minute" -c "traffic:network.interface.out.bytes:eth0,network.tcp..*:.*" \
    -c "in_out:network.interface.out.bytes:eth0,network.interface.in.bytes:eth0" \
    -l 'slow:2014-10-10 23:00:00' -a pcparchivedir/20141010

image

Here is a sample pdf report

Caveats

By default pcp2pdf uses a DPI value of 200. While this gives high-quality looking graphs it takes quite a bit of memory and CPU time. It is possible to reduce both RAM and CPU usage by setting a smaller DPI value in pcp2pdf.conf or with the --dpi switch.

Note that pcp2pdf is SMP aware and will use all the CPUs to render the graphs.

Bugs

Feel free to report any issues here