Skip to main content

Python package with perftracker client, tools, tests and libraries

Project description

perftracker-lib

A client library for the perftracker and a set of libraries for performance testing

Supported python version

python2.7

python3.0+

Building and installing the perftracker-client python package

Installing from pypi.org:

pip install perftrackerlib

Installing from sources:

python3 ./setup.py build
python3 ./setup.py install

Usage Examples

Python-written Test Suites

Minimalistic test suite:

python3 ./examples/pt_suite_example_minimal.py --pt-title="Website suite run" --pt-url http://perftracker.localdomain:9000

Simulate a 'website' suite run and upload results:

python3 ./examples/pt_suite_example_fake.py -v --pt-title="Website suite run" --pt-project="Default project" --pt-url http://perftracker.localdomain:9000

Use code like examples/pt_suite_example_populate.sh to mass populate perftracker with fake data

Upload pre-generated files with tests results:

Sometimes you don't want to write a python suite and just grab some files and export results. In this case you can use the pt-suite-uploader.py tool to parse test/json files (or even launch an external tool) and then upload results:

python3 ./tools/pt-suite-uploader.py -f ./examples/data/sample.txt
python3 ./tools/pt-suite-uploader.py -f -j ./examples/data/sample.json
python3 ./tools/pt-suite-uploader.py -- /bin/echo "tag: my test; score: 2.3;"
...

Manage artifacts (i.e. jobs and tests attachments)

The perftracker server supports artifact management An artifact is a file which can be stored as blob file and linked to test or job run, for example it can be test or job log, dump or some test data. Many to many links are allowed

There are three ways how clients can managet the artifacts:

  1. perftracker REST API
  2. perftrackerlib/client.py - ptArfitact() class
  3. the ./tools/pt-artifact-ctl.py tool (see --help)

Short introuduction to pt-artifact-ctl.py:

a) Help

pt-artifact-ctl.py --help
Usage: pt-artifact-ctl.py [options] command [command parameters]

Description:
    pt-artifact-ctl.py [options] upload ARTIFACT_FILE_TO_UPLOAD [ARTIFACT_UUID]
    pt-artifact-ctl.py [options] update ARTIFACT_UUID
    pt-artifact-ctl.py [options] delete ARTIFACT_UUID
    pt-artifact-ctl.py [options] info ARTIFACT_UUID
    pt-artifact-ctl.py [options] link ARTIFACT_UUID OBJECT_UUID
    pt-artifact-ctl.py [options] unlink ARTIFACT_UUID OBJECT_UUID
    pt-artifact-ctl.py [options] list [LIMIT]
    pt-artifact-ctl.py [options] download ARTIFACT_UUID ARTIFACT_FILE_TO_SAVE

Options:
  -h, --help                  show this help message and exit
  -v, --verbose               enable verbose mode
  -p PT_SERVER_URL, --pt-server-url=PT_SERVER_URL
                              perftracker url, default http://127.0.0.1:9000
  -d DESCRIPTION, --description=DESCRIPTION
                              artifact description
  -m MIME, --mime=MIME        artifact mime type, default is guessed or
                              'application/octet-stream'
  -f FILENAME, --filename=FILENAME
                              override artifact file name by given name
  -z, --compression           inline decompression on every file view or
                              download
  -i, --inline                inline view in browser (do not download on click)
  -t TTL, --ttl=TTL           time to live (days), default=180, 0 - infinite

b) Upload an artifact and link in to the test with uuid = $TEST_UUID

./pt-artifact-ctl.py upload ~/my_test.log
./pt-artifact-ctl.py link $ARTIFACT_UUID $TEST_UUID

c) Upload an artifact, set infinite time to live, enable dynamic compression and enable inline view in the browser

./pt-artifact-ctl.py upload ~/my_test.log -iz -t 0

Contributing a patch

Make a change and test your code before commit:

python ./test.py

Release notes

See http://www.perftracker.org/client/#Release_Notes

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

perftrackerlib-0.1.8.tar.gz (177.9 kB view details)

Uploaded Source

Built Distribution

perftrackerlib-0.1.8-py2.py3-none-any.whl (184.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file perftrackerlib-0.1.8.tar.gz.

File metadata

  • Download URL: perftrackerlib-0.1.8.tar.gz
  • Upload date:
  • Size: 177.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.11

File hashes

Hashes for perftrackerlib-0.1.8.tar.gz
Algorithm Hash digest
SHA256 6229ec25677b51389414d72f622261e3faf880db3bacc125fa52a5b3946d256b
MD5 a612d0b6dce171a0ffb56badac336f57
BLAKE2b-256 5fd5f3b289022ccf50555ee30ba4aa4a82500d0a296ca58f7eabc62597ceec55

See more details on using hashes here.

File details

Details for the file perftrackerlib-0.1.8-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for perftrackerlib-0.1.8-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 b7edf720a89366fe12d0e5efb457dcc941b84a6771aced3414306e7694cff480
MD5 ea6e0da9c3b85c359ce670f58f4dbed4
BLAKE2b-256 f3f39b246396ea408225276f7de8d09da4272c835783fbe626f4e85e7133f7ac

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page