**************************************************************
ByteBlower Test Case: Traffic tests for low latency validation
**************************************************************
.. footer::
Copyright |copy| |year| - Excentis N.V.
.. |copy| unicode:: U+00A9 .. copyright sign
.. |year| date:: %Y
Introduction
============
This package contains a test case to generate multiple types of traffic
patterns using the `ByteBlower Test Framework`_. The traffic patterns
are used to validate your network for low latency.
.. _ByteBlower Test Framework: https://pypi.org/project/byteblower-test-framework/
.. _ByteBlower Endpoint: https://www.excentis.com/products/byteblower-endpoint/
For more detailed documentation, please have a look
at `Test Case: Low Latency`_ in the ByteBlower API documentation.
.. _Test Case\: Low Latency: https://api.byteblower.com/test-framework/latest/test-cases/low-latency/overview.html
Release notes
=============
What can this version bring to you?
See our exciting new and existing features below!
📢 **New since v1.2.0!** 📢
---------------------------
.. _Low Latency, Low Loss, and Scalable Throughput (L4S): https://datatracker.ietf.org/doc/html/rfc9330
It is with great pleasure that we announce our
new features of this test case!
- Support for `Low Latency, Low Loss, and Scalable Throughput (L4S)`_ on TCP
- Run traffic tests on your L4S-enabled network!
📢 **New since v1.1.0!** 📢
---------------------------
It is with great pleasure that we announce our
new features of this test case!
- Integration of the **ByteBlower Endpoint**
- *Wi-Fi and mobile testing* via the `ByteBlower Endpoint`_!
We also fixed some inconsistencies in the command-line interface and
configuration file:
- Command-line interface: Default search path for the configuration file
is now the *current directory* instead of looking in an *examples*
sub-directory. This makes it more convenient for the user and
consistent with the CLI of the ByteBlower Test Framework.
- Command-line JSON configuration file: Deprecated ``napt_keep_alive``
in favor of ``nat_keep_alive``. Done for naming consistency with the
*NAT-discovery IPv4 ports* in ByteBlower Test Framework >= v1.2.0.
- Changed rate-limiting parameter in the flow ``"type": "http"`` to
``maximum_bitrate`` (in *bits per second*). It replaces ``rate_limit``
which was in *Bytes per second*.
Installation
============
Requirements
------------
* `ByteBlower Test Framework`_: ByteBlower |registered| is a traffic
generator/analyser system for TCP/IP networks.
.. |registered| unicode:: U+00AE .. registered sign
Prepare runtime environment
---------------------------
We recommend managing the runtime environment in a Python virtual
environment. This guarantees proper separation of the system-wide
installed Python and pip packages.
Python
------
The ByteBlower Test Framework currently supports Python versions
3.7 up to 3.11.
Important: Working directory
----------------------------
All the following sections expect that you first moved to your working
directory where you want to run this project. You may also want to create
your configuration files under a sub-directory of your choice.
#. On Unix-based systems (Linux, WSL, macOS):
.. code-block:: shell
cd '/path/to/working/directory'
#. On Windows systems using PowerShell:
.. code-block:: shell
cd 'c:\path\to\working\directory'
Python virtual environment
--------------------------
Make sure to use the right Python version (>= 3.7, <= 3.11),
list all Python versions installed in your machine by running:
#. On Windows systems using PowerShell:
.. code-block:: shell
py --list
If no Python version is in the required range, you can download and install
Python 3.7 or above using your system package manager
or from https://www.python.org/ftp/python.
Prepare Python virtual environment: Create the virtual environment
and install/update ``pip`` and ``build``.
#. On Unix-based systems (Linux, WSL, macOS):
**Note**: *Mind the leading* ``.`` *which means* **sourcing**
``./env/bin/activate``.
.. code-block:: shell
python3 -m venv --clear env
. ./env/bin/activate
pip install -U pip build
#. On Windows systems using PowerShell:
**Note**: On Microsoft Windows, it may be required to enable the
Activate.ps1 script by setting the execution policy for the user.
You can do this by issuing the following PowerShell command:
.. code-block:: shell
PS C:> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
See `About Execution Policies`_ for more information.
Make sure to specify the python version you're using.
For example, for Python 3.8:
.. code-block:: shell
py -3.8 -m venv --clear env
& ".\env\Scripts\activate.ps1"
python -m pip install -U pip build
.. _About Execution Policies: https://go.microsoft.com/fwlink/?LinkID=135170
To install the ByteBlower low latency validation test case and
its dependencies, first make sure that you have activated your
virtual environment:
#. On Unix-based systems (Linux, WSL, macOS):
.. code-block:: shell
. ./env/bin/activate
#. On Windows systems using PowerShell:
.. code-block:: shell
./env/Scripts/activate.ps1
Then, run:
.. code-block:: shell
pip install -U byteblower-test-cases-low-latency
Quick start
===========
Command-line interface
----------------------
After providing the appropriate test setup and flow configurations, the
test script can be run either as python module or as a command-line script.
For example (*to get help for the command-line arguments*):
#. As a python module:
.. code-block:: shell
# To get help for the command-line arguments:
python -m byteblower.test_cases.low_latency --help
#. As a command-line script:
.. code-block:: shell
# To get help for the command-line arguments:
byteblower-test-cases-low-latency --help
For a quick start, you can run a simple test using the JSON configuration of
one of the example files below:
* Using `ByteBlower Ports scenario <https://api.byteblower.com/test-framework/json/test-cases/low-latency/port/low_latency.json>`_
* Using `ByteBlower Endpoint scenario <https://api.byteblower.com/test-framework/json/test-cases/low-latency/endpoint/low_latency.json>`_
Save you configuration in your working directory as ``low_latency.json``.
Make sure you change the ``"server"`` and ``"ports"`` configuration
according to the setup you want to run your test on.
More detailed documentation is available in the `Configuration file`_ section
of the documentation.
.. _Configuration file: https://api.byteblower.com/test-framework/latest/test-cases/low-latency/config/index.html
The ``low_latency.json`` can be used then to run the test in the
command line interface using the following commands:
**Note**: *The reports will be stored under a subdirectory* ``reports/``.
#. On Unix-based systems (Linux, WSL, macOS):
.. code-block:: shell
# Optional: create low_latency.json, then copy the configuration to it
touch low_latency.json
# Create reports folder to store HTML/JSON files
mkdir reports
# Run test
byteblower-test-case-low-latency --report-path reports
#. On Windows systems using PowerShell:
.. code-block:: shell
# Optional: create low_latency.json, then copy the configuration to it
New-Item low_latency.json
# Create reports folder to store HTML/JSON files
md reports
# Run test
byteblower-test-case-low-latency --report-path reports
Integrated
----------
.. code-block:: python
from byteblower.test_cases.low_latency import run
# Defining test configuration, report path and report file name prefix:
test_config = {} # Here you should provide your test setup + frame(s') configuration(s)
report_path = 'my-output-folder' # Optional: provide the path to the output folder, defaults to the current working directory
report_prefix = 'my-dut-feature-test' # Optional: provide prefix of the output files, defaults to 'report'
# Run the low latency validation test:
run(test_config, report_path=report_path, report_prefix=report_prefix)
Raw data
{
"_id": null,
"home_page": null,
"name": "byteblower-test-cases-low-latency",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "Tom Ghyselinck <tom.ghyselinck@excentis.com>, Abdennour Rachedi <abdennour.rachedi@excentis.com>",
"keywords": "ByteBlower, network test, traffic test, test case, LLD, Low-Latency DOCSIS, L4S",
"author": null,
"author_email": "ByteBlower Development Team <support.byteblower@excentis.com>",
"download_url": "https://files.pythonhosted.org/packages/20/88/b754b9e8d8724e7838365f3bcc4996291599b1a1ef7064e023d3bc2c7a78/byteblower_test_cases_low_latency-1.2.1.tar.gz",
"platform": null,
"description": "**************************************************************\nByteBlower Test Case: Traffic tests for low latency validation\n**************************************************************\n\n.. footer::\n Copyright |copy| |year| - Excentis N.V.\n\n.. |copy| unicode:: U+00A9 .. copyright sign\n.. |year| date:: %Y\n\nIntroduction\n============\n\nThis package contains a test case to generate multiple types of traffic\npatterns using the `ByteBlower Test Framework`_. The traffic patterns\nare used to validate your network for low latency.\n\n.. _ByteBlower Test Framework: https://pypi.org/project/byteblower-test-framework/\n.. _ByteBlower Endpoint: https://www.excentis.com/products/byteblower-endpoint/\n\nFor more detailed documentation, please have a look\nat `Test Case: Low Latency`_ in the ByteBlower API documentation.\n\n.. _Test Case\\: Low Latency: https://api.byteblower.com/test-framework/latest/test-cases/low-latency/overview.html\n\nRelease notes\n=============\n\nWhat can this version bring to you?\nSee our exciting new and existing features below!\n\n\ud83d\udce2 **New since v1.2.0!** \ud83d\udce2\n---------------------------\n\n.. _Low Latency, Low Loss, and Scalable Throughput (L4S): https://datatracker.ietf.org/doc/html/rfc9330\n\nIt is with great pleasure that we announce our\nnew features of this test case!\n\n- Support for `Low Latency, Low Loss, and Scalable Throughput (L4S)`_ on TCP\n\n - Run traffic tests on your L4S-enabled network!\n\n\ud83d\udce2 **New since v1.1.0!** \ud83d\udce2\n---------------------------\n\nIt is with great pleasure that we announce our\nnew features of this test case!\n\n- Integration of the **ByteBlower Endpoint**\n\n - *Wi-Fi and mobile testing* via the `ByteBlower Endpoint`_!\n\nWe also fixed some inconsistencies in the command-line interface and\nconfiguration file:\n\n- Command-line interface: Default search path for the configuration file\n is now the *current directory* instead of looking in an *examples*\n sub-directory. This makes it more convenient for the user and\n consistent with the CLI of the ByteBlower Test Framework.\n- Command-line JSON configuration file: Deprecated ``napt_keep_alive``\n in favor of ``nat_keep_alive``. Done for naming consistency with the\n *NAT-discovery IPv4 ports* in ByteBlower Test Framework >= v1.2.0.\n- Changed rate-limiting parameter in the flow ``\"type\": \"http\"`` to\n ``maximum_bitrate`` (in *bits per second*). It replaces ``rate_limit``\n which was in *Bytes per second*.\n\nInstallation\n============\n\nRequirements\n------------\n\n* `ByteBlower Test Framework`_: ByteBlower |registered| is a traffic\n generator/analyser system for TCP/IP networks.\n\n.. |registered| unicode:: U+00AE .. registered sign\n\nPrepare runtime environment\n---------------------------\n\nWe recommend managing the runtime environment in a Python virtual\nenvironment. This guarantees proper separation of the system-wide\ninstalled Python and pip packages.\n\nPython\n------\n\nThe ByteBlower Test Framework currently supports Python versions\n3.7 up to 3.11.\n\nImportant: Working directory\n----------------------------\n\nAll the following sections expect that you first moved to your working\ndirectory where you want to run this project. You may also want to create\nyour configuration files under a sub-directory of your choice.\n\n#. On Unix-based systems (Linux, WSL, macOS):\n\n .. code-block:: shell\n\n cd '/path/to/working/directory'\n\n#. On Windows systems using PowerShell:\n\n .. code-block:: shell\n\n cd 'c:\\path\\to\\working\\directory'\n\nPython virtual environment\n--------------------------\n\nMake sure to use the right Python version (>= 3.7, <= 3.11),\nlist all Python versions installed in your machine by running:\n\n#. On Windows systems using PowerShell:\n\n .. code-block:: shell\n\n py --list\n\nIf no Python version is in the required range, you can download and install\nPython 3.7 or above using your system package manager\nor from https://www.python.org/ftp/python.\n\nPrepare Python virtual environment: Create the virtual environment\nand install/update ``pip`` and ``build``.\n\n#. On Unix-based systems (Linux, WSL, macOS):\n\n **Note**: *Mind the leading* ``.`` *which means* **sourcing**\n ``./env/bin/activate``.\n\n .. code-block:: shell\n\n python3 -m venv --clear env\n . ./env/bin/activate\n pip install -U pip build\n\n#. On Windows systems using PowerShell:\n\n **Note**: On Microsoft Windows, it may be required to enable the\n Activate.ps1 script by setting the execution policy for the user.\n You can do this by issuing the following PowerShell command:\n\n .. code-block:: shell\n\n PS C:> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser\n\n See `About Execution Policies`_ for more information.\n\n Make sure to specify the python version you're using.\n For example, for Python 3.8:\n\n .. code-block:: shell\n\n py -3.8 -m venv --clear env\n & \".\\env\\Scripts\\activate.ps1\"\n python -m pip install -U pip build\n\n .. _About Execution Policies: https://go.microsoft.com/fwlink/?LinkID=135170\n\nTo install the ByteBlower low latency validation test case and\nits dependencies, first make sure that you have activated your\nvirtual environment:\n\n#. On Unix-based systems (Linux, WSL, macOS):\n\n .. code-block:: shell\n\n . ./env/bin/activate\n\n#. On Windows systems using PowerShell:\n\n .. code-block:: shell\n\n ./env/Scripts/activate.ps1\n\nThen, run:\n\n.. code-block:: shell\n\n pip install -U byteblower-test-cases-low-latency\n\nQuick start\n===========\n\nCommand-line interface\n----------------------\n\nAfter providing the appropriate test setup and flow configurations, the\ntest script can be run either as python module or as a command-line script.\n\nFor example (*to get help for the command-line arguments*):\n\n#. As a python module:\n\n .. code-block:: shell\n\n # To get help for the command-line arguments:\n python -m byteblower.test_cases.low_latency --help\n\n#. As a command-line script:\n\n .. code-block:: shell\n\n # To get help for the command-line arguments:\n byteblower-test-cases-low-latency --help\n\nFor a quick start, you can run a simple test using the JSON configuration of\none of the example files below:\n\n* Using `ByteBlower Ports scenario <https://api.byteblower.com/test-framework/json/test-cases/low-latency/port/low_latency.json>`_\n* Using `ByteBlower Endpoint scenario <https://api.byteblower.com/test-framework/json/test-cases/low-latency/endpoint/low_latency.json>`_\n\nSave you configuration in your working directory as ``low_latency.json``.\nMake sure you change the ``\"server\"`` and ``\"ports\"`` configuration\naccording to the setup you want to run your test on.\n\nMore detailed documentation is available in the `Configuration file`_ section\nof the documentation.\n\n.. _Configuration file: https://api.byteblower.com/test-framework/latest/test-cases/low-latency/config/index.html\n\nThe ``low_latency.json`` can be used then to run the test in the\ncommand line interface using the following commands:\n\n**Note**: *The reports will be stored under a subdirectory* ``reports/``.\n\n#. On Unix-based systems (Linux, WSL, macOS):\n\n .. code-block:: shell\n\n # Optional: create low_latency.json, then copy the configuration to it\n touch low_latency.json\n # Create reports folder to store HTML/JSON files\n mkdir reports\n # Run test\n byteblower-test-case-low-latency --report-path reports\n\n#. On Windows systems using PowerShell:\n\n .. code-block:: shell\n\n # Optional: create low_latency.json, then copy the configuration to it\n New-Item low_latency.json\n # Create reports folder to store HTML/JSON files\n md reports\n # Run test\n byteblower-test-case-low-latency --report-path reports\n\nIntegrated\n----------\n\n.. code-block:: python\n\n from byteblower.test_cases.low_latency import run\n\n # Defining test configuration, report path and report file name prefix:\n test_config = {} # Here you should provide your test setup + frame(s') configuration(s)\n report_path = 'my-output-folder' # Optional: provide the path to the output folder, defaults to the current working directory\n report_prefix = 'my-dut-feature-test' # Optional: provide prefix of the output files, defaults to 'report'\n\n # Run the low latency validation test:\n run(test_config, report_path=report_path, report_prefix=report_prefix)\n\n",
"bugtrack_url": null,
"license": null,
"summary": "Low Latency test case using ByteBlower.",
"version": "1.2.1",
"project_urls": {
"Documentation": "https://api.byteblower.com/test-framework",
"Homepage": "https://www.byteblower.com",
"Support Portal": "https://support.excentis.com"
},
"split_keywords": [
"byteblower",
" network test",
" traffic test",
" test case",
" lld",
" low-latency docsis",
" l4s"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "5409b6bc2485ccd731fdd4de966d5ef3f05426ef47086b6bf20d99bbb9fc4c63",
"md5": "ca9ce1d9ffbed52a4d1ebfce6866df60",
"sha256": "ef47375e7c6c962aa17cbebab4a525f0c2772d3f2a8e2a65b6f3a2db9468ea1f"
},
"downloads": -1,
"filename": "byteblower_test_cases_low_latency-1.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ca9ce1d9ffbed52a4d1ebfce6866df60",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 36439,
"upload_time": "2024-04-26T12:49:06",
"upload_time_iso_8601": "2024-04-26T12:49:06.064817Z",
"url": "https://files.pythonhosted.org/packages/54/09/b6bc2485ccd731fdd4de966d5ef3f05426ef47086b6bf20d99bbb9fc4c63/byteblower_test_cases_low_latency-1.2.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2088b754b9e8d8724e7838365f3bcc4996291599b1a1ef7064e023d3bc2c7a78",
"md5": "2e248b0e17bd1b6e7cdac0bf643b7281",
"sha256": "ea2e257adb7f6f0620e2489df52cc97a11eafef0249ada4e6c49a354cbcb55a4"
},
"downloads": -1,
"filename": "byteblower_test_cases_low_latency-1.2.1.tar.gz",
"has_sig": false,
"md5_digest": "2e248b0e17bd1b6e7cdac0bf643b7281",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 2614957,
"upload_time": "2024-04-26T12:49:09",
"upload_time_iso_8601": "2024-04-26T12:49:09.441924Z",
"url": "https://files.pythonhosted.org/packages/20/88/b754b9e8d8724e7838365f3bcc4996291599b1a1ef7064e023d3bc2c7a78/byteblower_test_cases_low_latency-1.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-26 12:49:09",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "byteblower-test-cases-low-latency"
}