Skip to main content

time tracker Lint and test PyPI version PyPI - Downloads

Steinloss:

This is a tool for measuring packages loss, between two endpoint, with a web visualizer.

Usage

On the server end, run:

  • pip install steinloss
  • python -m steinloss --server

On the probe end, run:

  • pip install steinloss
  • python -m steinloss --probe --ip-address $IP_OF_SERVER

The server end will host a gui on port 8050, where the stats are visible. It looks like this: gui

Build and release

To make a new release, go to github release, and draft a new release. A github action will take care of building, and publishing the tar and binary to pypi.

Demo with artificial packet loss

The demo is made for linux
First we install steinloss
pip3 install steinloss

To run a demo of the tool, we're setting up a virtual network on your machine using ip nets. We're making a network n1 and n2 by running

sudo sh demo.sh

Now we would like to run the server on n1 and the probe on n2 This is done with the following commands in two different terminals:

sudo ip netns exec ns1 bash -c "sudo -u $USER python3 -m steinloss -s"
sudo ip netns exec ns2 bash -c "sudo -u $USER python3 -m steinloss -p -i 10.0.0.1"

For example:

To access the browser, we to run a browser in our virtual network like so

sudo ip netns exec ns1 bash -c "sudo -u $USER $BROWSER 127.0.0.1:8050"

Like so:

Now we can modify the packet loss by using the replace command. To set the packet loss to 20%, we run the following command, while everything is running:

sudo ip netns exec ns1 tc qdisc replace dev h1 root netem loss 20%

Cleanup

The virtual networks can be removed again with:

sudo ip netns delete ns1 && sudo ip netns delete ns2

And uninstall steinloss:

pip3 uninstall steinloss

Metadata

Release files for steinloss 0.3.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for steinloss 0.3.6
File Size Uploaded
steinloss-0.3.6.tar.gz 10.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for steinloss 0.3.6
File Interpreter ABI Platform
steinloss-0.3.6-py3-none-any.whl Python 3 none any Details

Total release size: 23.4 kB

Release files / steinloss-0.3.6.tar.gz

Download URL steinloss-0.3.6.tar.gz
Size 10.6 kB
Tags Source
SHA-256 checksum
How to use checksums
077f1cf10fe97770d8492dceaa7910e0916b4fd61409bc87c87e8d76aa3835a2
BLAKE2b-256 checksum
How to use checksums
f18d2c7fa3864c6f19440e2cb74f1a1c0ca8a34014830377b812a3a9595b15d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.7

Release files / steinloss-0.3.6-py3-none-any.whl

Download URL steinloss-0.3.6-py3-none-any.whl
Size 12.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
97ecee8c478f8f2ab5af0dc92a39c841c0784c63a4480ada08cc2d5209ee6322
BLAKE2b-256 checksum
How to use checksums
51a2363abe8af764773e648e57511d4da65bdf14d6eb7444cf9f166602da9a0f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.7

Release history Release notifications | RSS feed

This release

0.3.6 This release

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.6

2 release files

0.1.9

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page