How to create histograms for profiling data
-------------------------------------------

1) Adapt the profiling aspect Puma/src/aspects/Profiler.ah to gather
   profiling information about the functions and/or groups of functions
   that you are interested in. Make sure that csv_stat will be registered
   as output function.

2) Compile Puma with the profiling extension enabled, for example:
   make EXTENSIONS="winext gnuext acppext cc1xext profiling" -j2

   This will enable the aspects GenericProfiler.ah and Profiler.ah

3) Compile AspectC++ and Ag++

4) Use the newly generated ag++ to compile your test program and save the
   output into a file, for example:
   ~/AspectC++-Project/AspectC++/bin/linux-release/ag++ helloworld.cc > helloworld.csv

5) Make sure that "python", "gnuplot" and "epstopdf" are installed on your
   system and can be found via the search path.

6) execute the python program plot.py with your csv-file as argument, for example
   python plot.py helloworld.csv

   If everything works fine, this command will temporarily create files with
   the same basename as your csv-file and the extensions .gp and .data.
   Then gnuplot will be executed, resulting in the creation of an eps file.
   The eps file will then be converted to a pdf file.

   If several profiling aspects were defined, the plot.py program will create
   a histogram with an overview and additional histograms for each group.
   Each histogram will be saved both as eps and pdf.

   Note: gnuplot always uses the best possible scaling. If you wish to have
   comparable diagrams, you can name several csv files at once, for example

   python plot.py test1.csv test2.csv

