Benchmark Plugin

The benchmark plugin is used to create performance measurement graphs of crawl sessions.

Download

The benchmark plugin is available in binary and source code from the Crawljax Plugins website.

Features

Save Output in one of the formats:

  • Adobe Illustrator 3.0 Format
  • BBN Bitgraph Terminal
  • Computer Graphics Metafile
  • Enhanced Metafile format
  • EPS format for CorelDRAW
  • LaTeX picture environment
  • LaTeX texdraw environment
  • REGIS graphics language
  • Selana
  • ascii art for anything that prints text
  • dxf-file for AutoCad
  • EEPIC — extended LaTeX picture environment
  • FIG graphics language for XFIG graphics editor
  • GIF images using libgd and TrueType fonts
  • GPIC — Produce graphs in groff using the gpic preprocessor
  • JPEG images using libgd and TrueType fonts
  • LaTeX picture environment using graphicx package
  • LaTeX picture environment with emTeX specials
  • LaTeX picture environment with PostScript \\specials
  • LaTeX picture environment with PSTricks macros
  • plain TeX with PostScript \\specials
  • PNG images using libgd and TrueType fonts
  • Portable bitmap [small medium large] [monochrome gray color]
  • Tk/Tcl canvas widget [perltk] [interactive]
  • W3C Scalable Vector Graphics driverv

Plot types:

  • Runtime
  • Memory Usage
  • Number of States
  • Number of Edges
  • Revisited States
  • Revisited Edges
  • Crawl Depth

Requirements

Usage

Add the classmexer & javaplot jars to your classpath, or build-path in eclipse.

When memory usage graphs needs to be made the line: “-javaagent:lib/classmexer-0.03.jar” (without quotes) must be added as JVM Argument. The shot below is the Run Configuration of Eclipse:

Benchmark Eclipse Runtime Configuration

Benchmark Eclipse Runtime Configuration

Create a runner class as normal, than add the plugin in the CrawljaxConfiguration.
Example:


1 Configuration benchmakrConfig = new Configuration();
2 benchmakrConfig.setGnuPlotLocation("/a/sample/location/gnuplot");
3 config.addPlugin(new BenchmarkCollectorPlugin(benchmakrConfig));
4 config.addPlugin(new BenchmarkGUIPlugin(benchmakrConfig));

The BenchmarkCollectorPlugin “collects” the data to graph and the BenchmarkGUIPlugin displays and updates the GUI. The benchmark can be ran without the BenchmarkGUIPlugin the results will be in the files as specified in the configuration:

Available configuration options:


01 /**
02 * Sets the absolute output directory that should be used by this plugin.
03 */
04 public void setOutputFolder(String absolutePath)
05
06 /**
07 * Set the location of the gnuplot executable, note not denote the directory but the exact
08 * location of the executable including the executable itself. for example /home/stefan/gnplt
09 */
10 public final void setGnuPlotLocation(String gnuPlotLocation)
11
12 /**
13 * Set the location of the records file.
14 */
15 public final void setRecordsFile(String recordsFile)
16
17 /**
18 * Set the location of the records file.
19 */
20 public final void setSumRecordsFile(String sumRecordsFile)

Screenshots

Benchmark Plugin screenshot

Benchmark Plugin screenshot