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:
- perftracker REST API
- perftrackerlib/client.py - ptArfitact() class
- 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
Metadata
Release files for perftrackerlib 0.1.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| perftrackerlib-0.1.8.tar.gz | 177.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| perftrackerlib-0.1.8-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size: 361.9 kB
Release files / perftrackerlib-0.1.8.tar.gz
| Download URL | perftrackerlib-0.1.8.tar.gz |
|---|---|
| Size | 177.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6229ec25677b51389414d72f622261e3faf880db3bacc125fa52a5b3946d256b
|
|
BLAKE2b-256 checksum How to use checksums |
5fd5f3b289022ccf50555ee30ba4aa4a82500d0a296ca58f7eabc62597ceec55
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.11
|
Release files / perftrackerlib-0.1.8-py2.py3-none-any.whl
| Download URL | perftrackerlib-0.1.8-py2.py3-none-any.whl |
|---|---|
| Size | 184.0 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
b7edf720a89366fe12d0e5efb457dcc941b84a6771aced3414306e7694cff480
|
|
BLAKE2b-256 checksum How to use checksums |
f3f39b246396ea408225276f7de8d09da4272c835783fbe626f4e85e7133f7ac
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.11
|
Security for perftrackerlib 0.1.8
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.