diff options
-rw-r--r-- | INFO | 1 | ||||
-rw-r--r-- | benchmarks/perftest/summary | 23 | ||||
-rw-r--r-- | cli/commands/perftest.py | 55 | ||||
-rw-r--r-- | cli/setup.py | 23 |
4 files changed, 79 insertions, 23 deletions
@@ -37,3 +37,4 @@ Link(s) to approval of committers update: - https://lists.opnfv.org/pipermail/opnfv-tsc/2016-July/002755.html - https://lists.opnfv.org/pipermail/opnfv-tsc/2016-August/002848.html - https://lists.opnfv.org/pipermail/opnfv-tsc/2016-October/003104.html +- https://lists.opnfv.org/pipermail/opnfv-tsc/2016-October/003118.html diff --git a/benchmarks/perftest/summary b/benchmarks/perftest/summary new file mode 100644 index 00000000..5891408c --- /dev/null +++ b/benchmarks/perftest/summary @@ -0,0 +1,23 @@ +--- + + test_cases: + - name: fio + description: Storage performance benchmark + + - name: iperf + description: Measures the network throughput + + - name: dpi + description: Traffic classification rate provides a measure for CPU performance + + - name: ssl + description: CPU performance benchmark + + - name: dhrystone + description: Evaluate CPU's integer operation performance + + - name: whetstone + description: Evaluate CPU's floating point performance + + - name: ramspeed + description: Measures the memory performance of a machine diff --git a/cli/commands/perftest.py b/cli/commands/perftest.py new file mode 100644 index 00000000..c163070a --- /dev/null +++ b/cli/commands/perftest.py @@ -0,0 +1,55 @@ +############################################################################## +# Copyright (c) 2016 ZTE Corp and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +from prettytable import PrettyTable +import yaml +import click + + +class PerfTest: + + def __init__(self): + self.path = 'benchmarks/perftest/summary' + + def list(self): + table = PrettyTable(["Name", "Description"]) + table.align = 'l' + with open(self.path) as tests: + line = tests.read() + data = yaml.safe_load(line)['test_cases'] + for i in range(0, len(data)): + points = data[i] + table.add_row([points['name'], points['description']]) + click.echo(table) + + def run(self): + click.echo("Run a perftest") + + +@click.group() +def cli(): + pass + + +@cli.group() +@click.pass_context +def perftest(ctx): + pass + +_perftest = PerfTest() + + +@perftest.command("list", help="Lists all perftest benchmarks.") +def list(): + _perftest.list() + + +@perftest.command("run", help="Executes a single perftest benchmark.") +def execute(): + _perftest.run() diff --git a/cli/setup.py b/cli/setup.py deleted file mode 100644 index 1c2808b8..00000000 --- a/cli/setup.py +++ /dev/null @@ -1,23 +0,0 @@ -############################################################################## -# Copyright (c) 2016 ZTE Corp and others. -# -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 -############################################################################## - -from setuptools import setup - -setup( - name='qtip', - py_modules=['cli_entry'], - include_package_data=True, - install_requires=[ - 'click', - ], - entry_points=''' - [console_scripts] - qtip=cli_entry:cli - ''', -) |