diff options
author | Martin Klozik <martinx.klozik@intel.com> | 2015-09-07 00:44:50 +0100 |
---|---|---|
committer | Maryam Tahhan <maryam.tahhan@intel.com> | 2015-09-29 10:29:55 +0000 |
commit | 8312bd4367395fdba877f084d1f72590f10c44c7 (patch) | |
tree | 2c1d67263656bd510c2d5571ca3a0e466067038b /core | |
parent | f8739e7feb9973550ef2fc69e6768b331e0ef28e (diff) |
Sysmetrics implementation update
New sysmetrics implementation is based on pidstat command line tool
from sysstat package. Old non-functional implementation was removed.
Reporting was refactored to generate report after each TC from values
already available in memory.
Following files were affected:
modified: conf/01_testcases.conf
modified: conf/02_vswitch.conf
modified: conf/05_collector.conf
deleted: core/collector_controller.py
modified: core/component_factory.py
modified: docs/NEWS.rst
modified: packages.txt
modified: requirements.txt
modified: testcases/testcase.py
modified: tools/collectors/collector/collector.py
modified: tools/collectors/sysmetrics/__init__.py
deleted: tools/collectors/sysmetrics/linuxmetrics.py
new file: tools/collectors/sysmetrics/pidstat.py
modified: tools/report/report.jinja
modified: tools/report/report.py
modified: tools/systeminfo.py
modified: vsperf
JIRA: VSPERF-67
Change-Id: I25a79f2afef405b9ac46ae85c18044af167a62a4
Signed-off-by: Martin Klozik (martinx.klozik@intel.com)
Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Gurpreet Singh <gurpreet.singh@spirent.com>
Reviewed-by: Tv Rao <tv.rao@freescale.com>
Diffstat (limited to 'core')
-rw-r--r-- | core/collector_controller.py | 55 | ||||
-rw-r--r-- | core/component_factory.py | 16 |
2 files changed, 5 insertions, 66 deletions
diff --git a/core/collector_controller.py b/core/collector_controller.py deleted file mode 100644 index 10c9bce7..00000000 --- a/core/collector_controller.py +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 2015 Intel Corporation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""CollectorController class -""" -from core.results.results import IResults - -class CollectorController(IResults): - """Class which defines a collector controller object. - - Used to set-up and control a collector provider. - """ - - def __init__(self, collector_class): - """Sets up the prerequisites for the Collector. - - :param collector_class: the Collector class to be used. - """ - self._collector = collector_class() - self._results = [] - - def log_mem_stats(self): - """Log memory stats. - """ - self._results.append(self._collector.log_mem_stats()) - - def log_cpu_stats(self): - """Log CPU stats. - """ - self._results.append(self._collector.log_cpu_stats()) - - def get_results(self): - """Return collected CPU and memory stats. - - Implements IResults i/f, see IResults for details. - """ - return self._results - - def print_results(self): - """Prints collected CPU and memory stats. - - Implements IResults i/f, see IResults for details. - """ - print(self._results) diff --git a/core/component_factory.py b/core/component_factory.py index f92de204..e8bb4de3 100644 --- a/core/component_factory.py +++ b/core/component_factory.py @@ -20,7 +20,6 @@ from core.vswitch_controller_p2p import VswitchControllerP2P from core.vswitch_controller_pvp import VswitchControllerPVP from core.vnf_controller_p2p import VnfControllerP2P from core.vnf_controller_pvp import VnfControllerPVP -from core.collector_controller import CollectorController from tools.load_gen.stress.stress import Stress from tools.load_gen.stress_ng.stress_ng import StressNg from tools.load_gen.dummy.dummy import DummyLoadGen @@ -86,20 +85,15 @@ def create_vnf(deployment_scenario, vnf_class): elif deployment_scenario.find("pvp") >= 0: return VnfControllerPVP(vnf_class) -def create_collector(collector, collector_class): - """Return a new CollectorController of the given class +def create_collector(collector_class, result_dir, test_name): + """Return a new Collector of the given class - Supported collector type strings: - 'cpu' - 'memory': - - :param collector: Collector type string :param collector_class: The collector class to be used. + :param result_dir: Directory with test results + :param test_name: Test to be run :return: A new CollectorController. """ - collector = collector.lower() - if "cpu" in collector or "memory" in collector: - return CollectorController(collector_class) + return collector_class(result_dir, test_name) def create_loadgen(loadgen_type, loadgen_cfg): """Return a new ILoadGenerator for the loadgen type. |