Skip to content
This repository has been archived by the owner on Oct 4, 2019. It is now read-only.

Alexey-N-Chernyshov/hurmadb

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HurmaDB

Work in progress.

How to build, test and run

Install all dependencies:

sudo apt-get install cmake g++ libpcre3-dev librocksdb-dev python3-pip lcov wrk

Install and configure virtualenvwrapper:

sudo pip3 install virtualenv virtualenvwrapper
echo 'export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3' >> ~/.bashrc
echo 'source /usr/local/bin/virtualenvwrapper.sh' >> ~/.bashrc
bash

Create a virtualenv:

mkvirtualenv hurmadb
workon hurmadb

Install all Python dependencies into the virtualenv:

pip install -r requirements.txt

Build HurmaDB:

git clone https://github.com/afiskon/hurmadb.git
cd hurmadb
mkdir build
cd build
cmake ..
make -j2

Run tests:

make test

Run a benchmark:

./hurmadb 8080
curl -XPUT -d 'SomeRandomData123' localhost:8080/v1/kv/123 -D - -o -
wrk -t10 -c10 -d10s http://localhost:8080/v1/kv/123

Run under Valgrind:

valgrind ./hurmadb 8080
HURMADB_PORT=8080 make test

# make sure result is:
...
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

Run a static analysis:

cppcheck ./src
cd build-clang
scan-build -o ./report make

Create a code coverage report:

./code-coverage.sh

API

The HurmaDB API is described here.

Releases

No releases published

Packages

No packages published

Languages

  • C++ 88.5%
  • Python 7.5%
  • CMake 3.4%
  • Shell 0.6%