This repository contains the tng-sdk-benchmark
component that is part of the European H2020 project 5GTANGO NFV SDK. This component is responsible to automatically execute performance benchmarks of NFV network services and functions.
The seed code of this component is based on the son-cli
toolbox, specifically the son-profile
tool, which was developed as part of the European H2020 project SONATA.
If you use this tool for your research, publications, or NFV projects, please consider to cite the following paper(s):
-
M. Peuster and H. Karl: Profile Your Chains, Not Functions: Automated Network Service Profiling in DevOps Environments. IEEE Conference on Network Function Virtualization and Software Defined Networks (NFV-SDN), Berlin, Germany. (2017)
-
M. Peuster, H. Karl: Understand Your Chains: Towards Performance Profile-based Network Service Management. Fifth European Workshop on Software Defined Networks (EWSDN). IEEE. (2016)
-
M. Peuster, H. Karl, and S. v. Rossem: MeDICINE: Rapid Prototyping of Production-Ready Network Services in Multi-PoP Environments. IEEE Conference on Network Function Virtualization and Software Defined Networks (NFV-SDN), Palo Alto, CA, USA, pp. 148-153. doi: 10.1109/NFV-SDN.2016.7919490. (2016)
Please follow this guide to install and setup tng-sdk-benchmark and a corresponding execution environment.
tng-bench -p examples/peds/ped_suricata_tp_small.yml -rd results
Runs the result processing module using existing results. This step is also automatically performed once at the end of an experiment execution.
# manually trigger result processing of generated results (to create *.csv files)
tng-bench-result -rd results/
To contribute to the development of this 5GTANGO component, you may use the very same development workflow as for any other 5GTANGO Github project. That is, you have to fork the repository and create pull requests.
$ python setup.py develop
{
"name": "Python: tng-bench debug.py",
"type": "python",
"request": "launch",
"program": "${workspaceRoot}/tng-sdk-benchmark/debug.py",
"cwd": "${workspaceRoot}/tng-sdk-benchmark/",
"console": "integratedTerminal"
},
All pull requests are automatically tested by Jenkins and will only be accepted if no test is broken.
You can also run the test manually on your local machine. To do so, you need to do:
$ pytest -v
This 5GTANGO component is published under Apache 2.0 license. Please see the LICENSE file for more details.
The following lead developers are responsible for this repository and have admin rights. They can, for example, merge pull requests.
- Manuel Peuster (@mpeuster)
- Stefan Schneider (@StefanUPB)
- Please use the GitHub issues to report bugs.