sperf

Datastax Enterprise and Apache Cassandra diagnostic tooling from DataStax

View on GitHub

Contributing

  1. Make sure you have Python 3.7.x or greater. If not then look at PyEnv
  2. run git clone git@github.com:DataStax-Toolkit/sperf.git
  3. run cd sperf
  4. run python3 -m venv ./venv
  5. run source ./venv/bin/activate
  6. run pip install -r requirements_dev.txt to install dev dependencies
  7. run ./scripts/sperf -h and you should see the help for sperf

Testing and validation

make sure you have Make installed

  1. run make test
  2. run make lint

CI Server

This is done using GitHub actions are are located here and automatically run tests on python 3.7-3.9 on Windows, Mac and Linux

Creating a binary

Manually

If you want to test the project or create a binary just out of your local work run the script make build which will generate a binary ready for use on your platform. However, be aware of limitations with this method detailed here for Linux and for Mac and it may not be able to share it with your very old OS X or old Debian server.

Automatically and Creating a Release

Releases are created when a tag starting with v is created. Watch the jobs progress in GitHub Actions and if it succeeds, it is safe to go ahead and move the release from draft status to public. See directions on how to publish releases on GitHub

Note until you publish the release, the binaries created will not be publicly available. If you need to change the behavior of the release go ahead and edit the release workflow file

Regenerating the command documentation

The docs/command.md is generated from the latest help and is not automatically checked in. To regenerate run python scripts/doc.py

This will run against each command and subcommand and generate an entry in the commands.md file. This step must be done manually or else the help files in the command line tool will get out of sync with the website.