summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorMartin Klozik <martinx.klozik@intel.com>2015-09-07 00:44:50 +0100
committerMaryam Tahhan <maryam.tahhan@intel.com>2015-09-29 10:29:55 +0000
commit8312bd4367395fdba877f084d1f72590f10c44c7 (patch)
tree2c1d67263656bd510c2d5571ca3a0e466067038b /core
parentf8739e7feb9973550ef2fc69e6768b331e0ef28e (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.py55
-rw-r--r--core/component_factory.py16
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.