yandex-load / yatank-online Goto Github PK
View Code? Open in Web Editor NEWYandex.Tank OnlineReport plugin
Yandex.Tank OnlineReport plugin
I have a problem with this plugin. Could you help with it?
[tank]
plugin_web=yatank_OnlineReport
17:46:07 [WARNING] /etc/yandex-tank is not accessible to get configs list
17:46:07 [INFO] No config passed via cmdline, using ./load.ini
17:46:07 [INFO] Loading configs...
17:46:07 [INFO] Loading plugins...
17:46:07 [INFO] Exception: Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/yandextank/core/consoleworker.py", line 222, in configure
self.core.load_plugins()
File "/usr/local/lib/python2.7/dist-packages/yandextank/core/tankcore.py", line 160, in load_plugins
plugin = il.import_module(plugin_path)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/usr/local/lib/python2.7/dist-packages/yatank_OnlineReport/__init__.py", line 1, in <module>
from plugin import OnlineReportPlugin as yatank_OnlineReportPlugin
File "/usr/local/lib/python2.7/dist-packages/yatank_OnlineReport/plugin.py", line 4, in <module>
from yandextank.plugins.Monitoring import MonitoringPlugin
ImportError: cannot import name MonitoringPlugin
ansible (1.7.2)
backports-abc (0.5)
certifi (2016.9.26)
cffi (1.9.1)
chardet (2.3.0)
colorama (0.3.2)
configparser (3.5.0)
cryptography (1.6)
defusedxml (0.4.1)
docutils (0.12)
ecdsa (0.11)
enum34 (1.1.6)
future (0.16.0)
html5lib (0.999)
httplib2 (0.9)
idna (2.1)
iotop (0.6)
ipaddress (1.0.17)
Jinja2 (2.7.3)
MarkupSafe (0.23)
ndg-httpsclient (0.3.2)
numpy (1.11.2)
pandas (0.19.1)
paramiko (2.0.2)
Pillow (2.6.1)
pip (9.0.1)
ply (3.4)
psutil (5.0.0)
pyasn1 (0.1.9)
pycparser (2.10)
pycrypto (2.6.1)
Pygments (2.0.1)
pyjade (4.0.0)
pyOpenSSL (0.14)
python-apt (0.9.3.11)
python-dateutil (2.6.0)
python-debian (0.1.27)
python-debianbts (1.11)
pytz (2016.7)
PyYAML (3.11)
reportbug (6.6.3)
requests (2.12.1)
roman (2.0.0)
setuptools (28.8.0)
simplejson (3.10.0)
singledispatch (3.4.0.3)
six (1.8.0)
SOAPpy (0.12.22)
TornadIO2 (0.0.4)
tornado (4.4.2)
urllib3 (1.9.1)
wheel (0.24.0)
wstools (0.4.3)
yandextank (1.8.27)
yatank-online (0.0.9)
В версии танка и репорт плагина:
yandextank (1.7.29)
yatank-online (0.0.9)
Указание тега :
[tank]
plugin_web=yandextank.plugins.Report
приводит к ошибке. Танк не запускается.
Рабочий вариант:
[tank]
plugin_web=yatank_OnlineReport
Поправьте пожалуйста в README
По окончании теста возникает следующая ошибка.
2015-07-29 16:59:59,915 [INFO] yandextank.core.tankcore Building HTML report...
2015-07-29 16:59:59,915 [DEBUG] yandextank.core.tankcore Adding artifact file to collect (keep=False): /data/qa/_results/report_dxgVlf.html
2015-07-29 16:59:59,991 [ERROR] yandextank.core.tankcore Failed post-processing plugin <OnlineReportPlugin(Thread-1, stopped daemon 139981118691072)>: unexpected token "attrs" in file offline.jade on line 31
2015-07-29 16:59:59,992 [DEBUG] yandextank.core.tankcore Failed post-processing plugin: Traceback (most recent call last):
File "/data/qa/venv/lib/python2.6/site-packages/yandextank/core/tankcore.py", line 345, in plugins_post_process
retcode = plugin.post_process(retcode)
File "/data/qa/venv/lib/python2.6/site-packages/yatank_OnlineReport/plugin.py", line 97, in post_process
self.server.render_offline()
File "/data/qa/venv/lib/python2.6/site-packages/yatank_OnlineReport/server.py", line 129, in render_offline
return loader.load('offline.jade').generate(cached_data=json.dumps(cached_data))
File "/data/qa/venv/lib/python2.6/site-packages/tornado/template.py", line 343, in load
self.templates[name] = self._create_template(name)
File "/data/qa/venv/lib/python2.6/site-packages/tornado/template.py", line 371, in _create_template
template = Template(f.read(), name=name, loader=self)
File "/data/qa/venv/lib/python2.6/site-packages/pyjade/ext/tornado/__init__.py", line 82, in __init__
template_string = process(template_string,filename=name,compiler=Compiler)
File "/data/qa/venv/lib/python2.6/site-packages/pyjade/utils.py", line 228, in process
block = _parser.parse()
File "/data/qa/venv/lib/python2.6/site-packages/pyjade/parser.py", line 46, in parse
else: block.append(self.parseExpr())
File "/data/qa/venv/lib/python2.6/site-packages/pyjade/parser.py", line 84, in parseExpr
return getattr(self,funcName)()
File "/data/qa/venv/lib/python2.6/site-packages/pyjade/parser.py", line 332, in parseTag
block = self.block()
File "/data/qa/venv/lib/python2.6/site-packages/pyjade/parser.py", line 251, in block
block.append(self.parseExpr())
File "/data/qa/venv/lib/python2.6/site-packages/pyjade/parser.py", line 84, in parseExpr
return getattr(self,funcName)()
File "/data/qa/venv/lib/python2.6/site-packages/pyjade/parser.py", line 332, in parseTag
block = self.block()
File "/data/qa/venv/lib/python2.6/site-packages/pyjade/parser.py", line 251, in block
block.append(self.parseExpr())
File "/data/qa/venv/lib/python2.6/site-packages/pyjade/parser.py", line 84, in parseExpr
return getattr(self,funcName)()
File "/data/qa/venv/lib/python2.6/site-packages/pyjade/parser.py", line 332, in parseTag
block = self.block()
File "/data/qa/venv/lib/python2.6/site-packages/pyjade/parser.py", line 251, in block
block.append(self.parseExpr())
File "/data/qa/venv/lib/python2.6/site-packages/pyjade/parser.py", line 87, in parseExpr
(t, self.filename, self.line()))
Exception: unexpected token "attrs" in file offline.jade on line 31
Версии софта:
$ python -V
Python 2.6.6
$ pip list
argparse (1.3.0)
backports.ssl-match-hostname (3.4.0.2)
certifi (2015.4.28)
docutils (0.12)
futures (3.0.3)
hypchat (0.15)
importlib (1.0.3)
ipaddr (2.1.11)
lockfile (0.10.2)
ordereddict (1.1)
pip (7.1.0)
progressbar (2.3)
psutil (3.1.1)
pudb (2015.3)
Pygments (2.0.2)
pyjade (3.1.0)
python-daemon (2.0.5)
python-dateutil (2.4.2)
pytz (2015.4)
PyYAML (3.11)
requests (2.7.0)
setuptools (18.0.1)
simplejson (3.8.0)
six (1.9.0)
slumber (0.7.1)
TornadIO2 (0.0.4)
tornado (4.2.1)
trollius (2.0)
urwid (1.3.0)
wheel (0.24.0)
winpdb (1.4.8)
yandex-tank-api (0.0.11)
yandex-tank-api-client (0.0.4)
yandextank (1.7.13)
yatank-online (0.0.2)
Не работает OnlineReport, в логе вижу следующие строчки:
2015-07-29 16:59:30,100 [DEBUG] yandextank.core.tankcore Configuring <OnlineReportPlugin(Thread-1, initial daemon)>
2015-07-29 16:59:31,400 [DEBUG] yandextank.core.tankcore Preparing <OnlineReportPlugin(Thread-1, initial daemon)>
2015-07-29 16:59:31,572 [DEBUG] yandextank.core.tankcore Starting <OnlineReportPlugin(Thread-1, initial daemon)>
2015-07-29 16:59:31,580 [DEBUG] yandextank.core.tankcore Polling <OnlineReportPlugin(Thread-1, stopped daemon 139981118691072)>
2015-07-29 16:59:32,078 [DEBUG] yandextank.core.tankcore Polling <OnlineReportPlugin(Thread-1, stopped daemon 139981118691072)>
2015-07-29 16:59:32,582 [DEBUG] yandextank.core.tankcore Polling <OnlineReportPlugin(Thread-1, stopped daemon 139981118691072)>
В ini прописано следующее:
[web]
port=18080
[tank]
plugin_web=yatank_OnlineReport
Как выяснилось в отладчике вебсервер в OnlineReport не стартует из-за эксепшена TypeError: initialize() got an unexpected keyword argument 'auto_start'
.
Скрин из дебаггера:
Версии софта:
$ python -V
Python 2.6.6
$ pip list
argparse (1.3.0)
backports.ssl-match-hostname (3.4.0.2)
certifi (2015.4.28)
docutils (0.12)
futures (3.0.3)
hypchat (0.15)
importlib (1.0.3)
ipaddr (2.1.11)
lockfile (0.10.2)
ordereddict (1.1)
pip (7.1.0)
progressbar (2.3)
psutil (3.1.1)
pudb (2015.3)
Pygments (2.0.2)
pyjade (3.1.0)
python-daemon (2.0.5)
python-dateutil (2.4.2)
pytz (2015.4)
PyYAML (3.11)
requests (2.7.0)
setuptools (18.0.1)
simplejson (3.8.0)
six (1.9.0)
slumber (0.7.1)
TornadIO2 (0.0.4)
tornado (4.2.1)
trollius (2.0)
urwid (1.3.0)
wheel (0.24.0)
winpdb (1.4.8)
yandex-tank-api (0.0.11)
yandex-tank-api-client (0.0.4)
yandextank (1.7.13)
yatank-online (0.0.2)
Hi, found this error in logs
17:48:09 ERROR: Failed post-processing plugin <OnlineReportPlugin(Thread-1, stopped daemon 140438978807552)>: 'ReportServer' object has no attribute 'server'
But report is correct(with latency, rps and agent metrics)
reproduced in Ubuntu Trusty
% lsb_release -a
Distributor ID: Ubuntu
Description: Ubuntu 14.04.1 LTS
Release: 14.04
Codename: trusty
pip:
% pip list
ansible (1.7.2)
apt-xapian-index (0.45)
backports.ssl-match-hostname (3.4.0.2)
buildbot-slave (0.8.10)
certifi (2015.4.28)
chardet (2.0.1)
colorama (0.2.5)
colorclass (1.2.0)
configobj (4.7.2)
docker-py (0.6.0)
ecdsa (0.13)
html5lib (0.999)
httplib2 (0.8)
iotop (0.6)
ipaddr (2.1.11)
Jinja2 (2.7.3)
Landscape-Client (14.1)
MarkupSafe (0.23)
PAM (0.4.2)
paramiko (1.15.2)
pip (7.1.0)
progressbar (2.3)
psutil (3.0.1)
psycopg2 (2.4.5)
pycrypto (2.6.1)
pyjade (3.0.0)
pylibmc (1.5.0)
pyOpenSSL (0.13)
pyserial (2.6)
python-apt (0.9.3.5)
python-debian (0.1.21-nmu2ubuntu2)
PyYAML (3.11)
redis (2.10.3)
requests (2.2.1)
setuptools (18.0.1)
simplejson (3.7.3)
six (1.5.2)
ssh-import-id (3.21)
terminaltables (1.2.0)
TornadIO2 (0.0.4)
tornado (4.2)
Twisted (15.1.0)
Twisted-Core (13.2.0)
urllib3 (1.7.1)
virtualenv (12.1.1)
websocket-client (0.21.0)
wheel (0.24.0)
yandextank (1.7.12)
yatank-online (0.0.2)
zope.interface (4.0.5)
Thank you for awesome plugin!
Тикет составлен по отзыву @ksheidaev
When running yandex-tank with yatank-online report plugin i got this error:
INFO:yandextank.core.consoleworker:Exception: Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/yandextank/core/consoleworker.py", line 277, in perform_test
retcode = self.core.wait_for_finish()
File "/usr/local/lib/python2.7/dist-packages/yandextank/core/tankcore.py", line 302, in wait_for_finish
retcode = plugin.is_test_finished()
File "/usr/local/lib/python2.7/dist-packages/yandextank/plugins/Aggregator.py", line 75, in is_test_finished
self.__read_samples(2)
File "/usr/local/lib/python2.7/dist-packages/yandextank/plugins/Aggregator.py", line 122, in __read_samples
self.__notify_listeners(data)
File "/usr/local/lib/python2.7/dist-packages/yandextank/plugins/Aggregator.py", line 94, in __notify_listeners
listener.aggregate_second(data)
File "/usr/local/lib/python2.7/dist-packages/yatank_online-0.0.2-py2.7.egg/yatank_OnlineReport/plugin.py", line 80, in aggregate_second
self.server.send(message)
File "/usr/local/lib/python2.7/dist-packages/yatank_online-0.0.2-py2.7.egg/yatank_OnlineReport/server.py", line 117, in send
for connection in Client.CONNECTIONS:
RuntimeError: Set changed size during iteration
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.