Skip to content

scipion-em/scipion-em-pwperformance

Repository files navigation

pwperformance

pwperformance is a Scipion plugin with tests to measure performance and send benchmarks to a Codespeed server

Plugin installation

git clone https://github.com/scipion-em/scipion-em-pwperformance.git
scipion3 installp -p /path/to/scipion-em-pwperformance --devel

Environment variables

Define the following environment vars:

CODESPEED_URL = Codespeed server URL to send benchmarks to. Defaults to "http://localhost:8000"
CODESPEED_ENV = Environment name. Environment describes your testing PC configuration. Defaults to "unknown"
CODESPEED_PROJECT = This should be the plugin you want to test. Defaults to "pyworkflow"
CODESPEED_BRANCH = Git branch of your project. Defaults to "devel"
CODESPEED_COMMIT = Git commit id of your project. Defaults to "1"

Codespeed server installation

  1. conda create -y -n codespeed python=3.6
  2. conda activate codespeed
  3. pip3 install pypandoc==1.7.5 setuptools==57.5.0 gunicorn
  4. git clone https://github.com/tobami/codespeed
  5. cd codespeed
  6. pip3 install -e .
  7. pip3 install "django<2.2,>=1.11"
  8. python manage.py migrate
  9. python manage.py createsuperuser
  10. python manage.py runserver 8000
  11. Go to http://localhost:8000/admin
    1. create an environment (your CODESPEED_ENV)
    2. create a Github-type project (name = CODESPEED_PROJECT) with a correct url (e.g. https://github.com/scipion-em/scipion-pyworkflow), branch (e.g. "devel" or your own CODESPEED_BRANCH) and tick "Track changes"
    3. create a "devel" (or your own CODESPEED_BRANCH) branch

Example run

Run any of the following plugin tests to save the data on the codespeed server, e.g.:

scipion3 tests pwperformance.tests.test_profiling_load.TestProfilingLoadGUI
scipion3 tests pwperformance.tests.test_set_performance.TestSetPerformanceSteps
scipion3 tests pwperformance.tests.test_exportsteps.TestExportSteps

About

Scipin plugin with test benchmarking scipion and sending data to a codespeed server

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages