summaryrefslogtreecommitdiffstats
path: root/qtip
diff options
context:
space:
mode:
authorYujun Zhang <zhang.yujunz@zte.com.cn>2016-12-31 21:27:38 +0800
committerYujun Zhang <zhang.yujunz@zte.com.cn>2017-01-11 10:23:14 +0800
commit23f48e46a46976ae6f6d97aea11440e6a8b63121 (patch)
tree482573f3d64e1e7fcb3d054d109033d6a1b6fa82 /qtip
parent9fb9d1357de8c6f489b17b52c5919e978c3c930a (diff)
sample QPI for doctor performance measured in verification job
The doctor benchmark plan produces a performance profile consist of timestamp at each checkpoint and time cost of each phase.[1] It collects data from log files and render a timeline diagram in console Current progress - skeleton created - method to be implemented [1]: http://artifacts.opnfv.org/doctor/docs/design/index.html#document-performance-profiler JIRA: QTIP-199 Change-Id: I60fbbd37d04a5724841bd85cb3bfed9eabd3741a Signed-off-by: Yujun Zhang <zhang.yujunz@zte.com.cn>
Diffstat (limited to 'qtip')
-rw-r--r--qtip/collector/transformer/__init__.py0
-rw-r--r--qtip/collector/transformer/base.py12
-rw-r--r--qtip/collector/transformer/timeline.py14
-rw-r--r--qtip/loader/base.py7
-rw-r--r--qtip/reporter/console/__init__.py (renamed from qtip/reporter/console.py)3
-rw-r--r--qtip/reporter/console/timeline.j28
6 files changed, 40 insertions, 4 deletions
diff --git a/qtip/collector/transformer/__init__.py b/qtip/collector/transformer/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qtip/collector/transformer/__init__.py
diff --git a/qtip/collector/transformer/base.py b/qtip/collector/transformer/base.py
new file mode 100644
index 00000000..bf38c493
--- /dev/null
+++ b/qtip/collector/transformer/base.py
@@ -0,0 +1,12 @@
+##############################################################################
+# 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
+##############################################################################
+
+
+class BaseTransformer(object):
+ """Transform collected performance metrics into required format"""
diff --git a/qtip/collector/transformer/timeline.py b/qtip/collector/transformer/timeline.py
new file mode 100644
index 00000000..9dd5850c
--- /dev/null
+++ b/qtip/collector/transformer/timeline.py
@@ -0,0 +1,14 @@
+##############################################################################
+# 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 base import BaseTransformer
+
+
+class Timeline(BaseTransformer):
+ """transform collected metrics into object required by timeline template"""
diff --git a/qtip/loader/base.py b/qtip/loader/base.py
index 2f5ab67a..d3a7e1d3 100644
--- a/qtip/loader/base.py
+++ b/qtip/loader/base.py
@@ -15,14 +15,15 @@ import yaml
from qtip.base.error import InvalidFormat, NotFound
from qtip.base.constant import PropName
-ROOT_DIR = 'benchmarks'
+
+ROOT_DIR = path.join(path.dirname(__file__), path.pardir, path.pardir,
+ 'benchmarks')
class BaseLoader(object):
"""Abstract class of QTIP benchmark loader"""
RELATIVE_PATH = '.'
- _paths = [path.join(path.dirname(__file__), path.pardir, path.pardir,
- ROOT_DIR)]
+ _paths = [ROOT_DIR]
def __init__(self, name, paths=None):
self._file = name
diff --git a/qtip/reporter/console.py b/qtip/reporter/console/__init__.py
index 136ce358..02d63288 100644
--- a/qtip/reporter/console.py
+++ b/qtip/reporter/console/__init__.py
@@ -7,7 +7,8 @@
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
-from base import BaseReporter
+
+from qtip.reporter.base import BaseReporter
class ConsoleReporter(BaseReporter):
diff --git a/qtip/reporter/console/timeline.j2 b/qtip/reporter/console/timeline.j2
new file mode 100644
index 00000000..9c18a996
--- /dev/null
+++ b/qtip/reporter/console/timeline.j2
@@ -0,0 +1,8 @@
+{% title %}
+{% for phase in phases %}
+{{ phase.name|upper }}{{ "TIME" }}
+{% for cp in phase.checkpoints %}
+{{ cp.name }}{{ cp.timestamp}}
+{% endfor %}
+{% endfor %}
+Total: {{ total }}