A new framework being developed by the performance team to analyse the data collected, and display it as dynamic graphs on a webpage.
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:
result_id
is used to allow multiple measurements
for each unique permutation of the stated fields.We also provide the SQL to generate the main tables: [blob], [raw].
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:
cd
to the submodule, and make, commit, and push changes;cd
to the supermodule, and commit and push (the changed reference to
submodule).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
).
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.