perf101 / rage

Results And Graphing Engine
Other
8 stars 8 forks source link

RAGE, Results And Graphing Engine

Description

A new framework being developed by the performance team to analyse the data collected, and display it as dynamic graphs on a webpage.

Overview

Test runs (jobs) are run on specific machines using specific builds of the product. Each test job can contain multiple test cases, each of which can contain multiple scales of measure (SOMs). Each such SOM can product multiple measurements.

Since the framework is fairly generic, its database schema is not trivial:

UML-like database schema

We also provide the SQL to generate the main tables: [blob], [raw].

Tools used

Libraries used

Dealing with Git submodules

After cloning this repository, you need to execute the following command in order to fetch all Git submodules (e.g. ocaml-sql):

git submodule update --init

To obtain the latest changes for all submodules, use:

git submodule foreach git pull

To make changes in a submodule:

Development instructions

The program can be built on a system where OCaml, OMake, Core, and postgresql-ocaml are installed.

To run the program (omake run), a postgresql database must be running. The settings for accessing the database can be changed in OMakefile.

Installation of the program as a web service (omake install) simply copies the generated distribution (omake distro) into a web-server documents directory (/var/www by default). The installation currently assumes that flot files can be found in a sub-directory of the install directory.

Any errors will be shown in the web-server's error log (e.g. /var/log/apache2/error.log).

Citrix-internal instructions

A Citrix-internal machine that satisfies the above conditions is called perf. Make sure that your ~/.bashrc includes the following lines:

export PATH=/usr/local/perf/js/bin:$PATH
export MANPATH=/usr/local/perf/js/man:$MANPATH

This makes sure that you are using the correct versions of OCaml tools.