This is the source code of Codespeed2
This is loosely based on Codespeed
Codespeed2 has the aim of providing a solid API to handle benchmark timings. A frontend will allow viewing the benchmark data through graphs and other drill downs.
MongoDB >= 2.4.3
(The Windows 2008+ build uses newer features of Windows to enhance performance. Use this build if you are running with 64-bit Windows Server 2008 R2, Windows 7, or greater.)
OpenSSL >= 1.01e
For Windows download the full Win32OpenSSL. NOT the light version. You also need the specific version of the Visual C++ 2008 Redistributable that is on that page.
The packages as listed in requirements.txt (we recommend setting up a virtualenv)
pywin32 (for Windows only - download the binary and easy_install it into the virtualenv)
- If you are running any edition of Windows Server 2008 R2 or Windows 7, please install a hotfix to resolve an issue with memory mapped files on Windows.
- The Visual C++ 2008 compiler or investigate the MingW C++ compiler
- Microsoft Windows SDK for Windows 7 and .NET Framework 3.5
Modify the 'mongodb' section in each of the following configuration files to match your setup:
Shell & init.d
From an IDE:
Tests are written using python unittest and can be run using anything that handles that (eg: pytest) - or your IDE's built in runner.
JSON sample files are in /samples/bench_results.7z and must be extracted to
/samples/bench_results for some tests to pass.
Run both the API and the Frontend as described above. By default these will run on port 8889 and 8888 respectively (and listen on all interfaces).
Next you will need to submit some data to the API's upload endpoint(s). The expected format is described in /doc/new_json_format.txt.
The API URLs you'll be interested in are:
Alternatively you can populate the DB with some test data by running the tests in the
Remember to comment the skip line as these tests are usually excluded from test runs.
If you are populating the DB with real data you can use the:
/api/admin/get_revision_dates_from_bitbucket api endpoint to populate necessary date information from Bitbucket. The data won't display correctly otherwise.