Giter VIP home page Giter VIP logo

yandex-tank's Introduction

Yandex Tank Gitter

Yandextank has been moved to Python 3.

####Latest stable release for Python 2 here. Yandex.Tank is an extensible open source load testing tool for advanced linux users which is especially good as a part of an automated load testing suite

Quantiles chart example

Main features

  • different load generators supported:
    • Evgeniy Mamchits' phantom is a very fast (100 000+ RPS) shooter written in C++ (default)
    • JMeter is an extendable and widely known one
    • BFG is a Python-based generator that allows you to write your load scenarios in Python
    • experimental Golang generator: pandora
  • performance analytics backend service: Overload. Store and analyze your test results online
  • several ammo formats supported like plain url list or access.log
  • test autostop plugin: stop your test when the results have became obvious and save time
  • customizable and extendable monitoring that works over SSH

Documentation

Get help

Chat with authors and other performance specialists: Gitter

See also

yandex-tank's People

Contributors

asekretenko avatar darkk avatar digrinch avatar direvius avatar ei-grad avatar epikhinm avatar f2nd avatar fomars avatar georgthegreat avatar gpchelkin avatar greggynapalm avatar griddic avatar ivang7 avatar ligreen avatar mekagem avatar nettorta avatar nickclmb avatar nnugumanov avatar ojab avatar oke11o avatar s17b2-voroneckij avatar shadchin avatar sievlev avatar szypulka avatar tonsofattraction avatar trueival avatar undera avatar vitaly4n avatar whetherharder avatar yandexbuildbot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

yandex-tank's Issues

chosen_cases reduce RPS

When using chosen_cases parameter, ammo is being deleted after it was generated and timestamp was assigned to it resulting in reducing RPS.

Need more information in web online address conflict.

Some guys can't start test when local address busy on 8080 port. It will be grate if console gives more extend information about it.
For example in case:
02:06:21 INFO: Exception: Traceback (most recent call last):
File "/usr/lib/yandex-tank/Tank/ConsoleWorker.py", line 328, in perform_test
self.core.plugins_prepare_test()
File "/usr/lib/yandex-tank/tankcore.py", line 269, in plugins_prepare_test
plugin.prepare_test()
File "/usr/lib/yandex-tank/Tank/Plugins/WebOnline.py", line 46, in prepare_test
self.server = OnlineServer(('', self.port), WebOnlineHandler)
File "/usr/lib/yandex-tank/Tank/Plugins/WebOnline.py", line 151, in init
HTTPServer.init(self, server_address, handler_class, bind_and_activate)
File "/usr/lib/python2.6/SocketServer.py", line 402, in init
self.server_bind()
File "/usr/lib/python2.6/BaseHTTPServer.py", line 108, in server_bind
SocketServer.TCPServer.server_bind(self)
File "/usr/lib/python2.6/SocketServer.py", line 413, in server_bind
self.socket.bind(self.server_address)
File "", line 1, in bind
error: [Errno 98] Address already in use

02:06:21 ERROR: [Errno 98] Address already in use
02:06:21 INFO: Trying to shutdown gracefully...

something like this:
02:06:21 ERROR: [Errno 98] Address already in use, please check web online plugin options. Read documentation - http://clck.ru/8cnfG

herror: [Errno 1] Unknown host

После коммита yandex-load@9d1e847 yandex-tank валится с ошибкой herror: [Errno 1] Unknown host.
StackTrace:
14:23:02 INFO: Exception: Traceback (most recent call last):
File "/usr/lib/yandex-tank/Tank/ConsoleWorker.py", line 287, in perform_test
self.core.plugins_configure()
File "/usr/lib/yandex-tank/tankcore.py", line 265, in plugins_configure
plugin.configure()
File "/usr/lib/yandex-tank/Tank/Plugins/Phantom.py", line 74, in configure
self.phantom.read_config()
File "/usr/lib/yandex-tank/Tank/Plugins/Phantom.py", line 664, in read_config
self.__resolve_address()
File "/usr/lib/yandex-tank/Tank/Plugins/Phantom.py", line 624, in __resolve_address
self.address = socket.gethostbyaddr(self.resolved_ip)[0]
herror: [Errno 1] Unknown host

14:23:02 ERROR: [Errno 1] Unknown host

Помогает только добавления этого хоста и ip в /etc/hosts, но это не сосем удобно. Думаю, нужно просто ловить этот exception, и определять host старым методом.

Can't install on Ubuntu Server 12.04

Install clear Ubuntu Server 12.04 64-bit

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.04 LTS
Release:    12.04
Codename:   precise
$ uname -a
Linux stamm-ubuntu 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/apt/sources.list.d/tank.list 
# Ubuntu Precise
deb http://mirror.yandex.ru/mirrors/tank common main
deb http://mirror.yandex.ru/mirrors/tank precise main
$ sudo apt-get update
Ign http://mirror.yandex.ru common InRelease
Ign http://mirror.yandex.ru precise InRelease                               
Ign http://mirror.yandex.ru common Release.gpg                               
Ign http://mirror.yandex.ru precise Release.gpg                              
Ign http://mirror.yandex.ru common Release                                   
Ign http://mirror.yandex.ru precise Release                                  
Ign http://mirror.yandex.ru common/main TranslationIndex                     
Ign http://mirror.yandex.ru precise/main TranslationIndex                    
Err http://mirror.yandex.ru common/main amd64 Packages                       
  404  Not Found
Err http://mirror.yandex.ru common/main i386 Packages                        
  404  Not Found
Err http://mirror.yandex.ru precise/main amd64 Packages                      
  404  Not Found
Err http://mirror.yandex.ru precise/main i386 Packages                       
  404  Not Found
Ign http://mirror.yandex.ru common/main Translation-en_US                    
Ign http://mirror.yandex.ru common/main Translation-en                       
Ign http://mirror.yandex.ru precise/main Translation-en_US                   
Ign http://mirror.yandex.ru precise/main Translation-en                      
Ign http://ru.archive.ubuntu.com precise InRelease                           
Ign http://ru.archive.ubuntu.com precise-updates InRelease                   
Ign http://ru.archive.ubuntu.com precise-backports InRelease                 
Hit http://ru.archive.ubuntu.com precise Release.gpg                         
Hit http://ru.archive.ubuntu.com precise-updates Release.gpg
Hit http://ru.archive.ubuntu.com precise-backports Release.gpg
Hit http://ru.archive.ubuntu.com precise Release
Hit http://ru.archive.ubuntu.com precise-updates Release                            
Hit http://ru.archive.ubuntu.com precise-backports Release                          
Hit http://ru.archive.ubuntu.com precise/main Sources                               
Hit http://ru.archive.ubuntu.com precise/restricted Sources                         
Hit http://ru.archive.ubuntu.com precise/universe Sources                           
Hit http://ru.archive.ubuntu.com precise/multiverse Sources                         
Hit http://ru.archive.ubuntu.com precise/main amd64 Packages                        
Hit http://ru.archive.ubuntu.com precise/restricted amd64 Packages                  
Hit http://ru.archive.ubuntu.com precise/universe amd64 Packages                    
Hit http://ru.archive.ubuntu.com precise/multiverse amd64 Packages                  
Hit http://ru.archive.ubuntu.com precise/main i386 Packages                         
Hit http://ru.archive.ubuntu.com precise/restricted i386 Packages                   
Hit http://ru.archive.ubuntu.com precise/universe i386 Packages                     
Hit http://ru.archive.ubuntu.com precise/multiverse i386 Packages                   
Hit http://ru.archive.ubuntu.com precise/main TranslationIndex                      
Hit http://ru.archive.ubuntu.com precise/multiverse TranslationIndex                
Hit http://ru.archive.ubuntu.com precise/restricted TranslationIndex                
Hit http://ru.archive.ubuntu.com precise/universe TranslationIndex                  
Hit http://ru.archive.ubuntu.com precise-updates/main Sources                       
Hit http://ru.archive.ubuntu.com precise-updates/restricted Sources                 
Hit http://ru.archive.ubuntu.com precise-updates/universe Sources                   
Hit http://ru.archive.ubuntu.com precise-updates/multiverse Sources                 
Hit http://ru.archive.ubuntu.com precise-updates/main amd64 Packages                
Hit http://ru.archive.ubuntu.com precise-updates/restricted amd64 Packages          
Hit http://ru.archive.ubuntu.com precise-updates/universe amd64 Packages
Hit http://ru.archive.ubuntu.com precise-updates/multiverse amd64 Packages          
Hit http://ru.archive.ubuntu.com precise-updates/main i386 Packages                 
Hit http://ru.archive.ubuntu.com precise-updates/restricted i386 Packages           
Hit http://ru.archive.ubuntu.com precise-updates/universe i386 Packages             
Hit http://ru.archive.ubuntu.com precise-updates/multiverse i386 Packages           
Hit http://ru.archive.ubuntu.com precise-updates/main TranslationIndex              
Hit http://ru.archive.ubuntu.com precise-updates/multiverse TranslationIndex        
Hit http://ru.archive.ubuntu.com precise-updates/restricted TranslationIndex        
Hit http://ru.archive.ubuntu.com precise-updates/universe TranslationIndex          
Hit http://ru.archive.ubuntu.com precise/main Translation-en 
Hit http://ru.archive.ubuntu.com precise/multiverse Translation-en
Hit http://ru.archive.ubuntu.com precise/restricted Translation-en
Hit http://ru.archive.ubuntu.com precise/universe Translation-en
Hit http://ru.archive.ubuntu.com precise-updates/main Translation-en
Hit http://ru.archive.ubuntu.com precise-updates/multiverse Translation-en
Hit http://ru.archive.ubuntu.com precise-updates/restricted Translation-en
Hit http://ru.archive.ubuntu.com precise-backports/main Sources
Hit http://ru.archive.ubuntu.com precise-backports/restricted Sources
Hit http://ru.archive.ubuntu.com precise-backports/universe Sources
Hit http://ru.archive.ubuntu.com precise-backports/multiverse Sources
Hit http://ru.archive.ubuntu.com precise-backports/main amd64 Packages
Hit http://ru.archive.ubuntu.com precise-backports/restricted amd64 Packages
Hit http://ru.archive.ubuntu.com precise-backports/universe amd64 Packages
Hit http://ru.archive.ubuntu.com precise-backports/multiverse amd64 Packages
Hit http://ru.archive.ubuntu.com precise-backports/main i386 Packages
Hit http://ru.archive.ubuntu.com precise-backports/restricted i386 Packages
Hit http://ru.archive.ubuntu.com precise-backports/universe i386 Packages
Hit http://ru.archive.ubuntu.com precise-backports/multiverse i386 Packages
Hit http://ru.archive.ubuntu.com precise-backports/main TranslationIndex
Hit http://ru.archive.ubuntu.com precise-backports/multiverse TranslationIndex
Hit http://ru.archive.ubuntu.com precise-backports/restricted TranslationIndex
Hit http://ru.archive.ubuntu.com precise-backports/universe TranslationIndex
Hit http://ru.archive.ubuntu.com precise-updates/universe Translation-en
Hit http://ru.archive.ubuntu.com precise-backports/main Translation-en
Hit http://ru.archive.ubuntu.com precise-backports/multiverse Translation-en
Hit http://ru.archive.ubuntu.com precise-backports/restricted Translation-en
Hit http://ru.archive.ubuntu.com precise-backports/universe Translation-en
Ign http://security.ubuntu.com precise-security InRelease    
Get:1 http://security.ubuntu.com precise-security Release.gpg [198 B]
Get:2 http://security.ubuntu.com precise-security Release [49.6 kB]
Get:3 http://security.ubuntu.com precise-security/main Sources [32.4 kB]
Get:4 http://security.ubuntu.com precise-security/restricted Sources [14 B]
Get:5 http://security.ubuntu.com precise-security/universe Sources [7,849 B]
Get:6 http://security.ubuntu.com precise-security/multiverse Sources [713 B]
Get:7 http://security.ubuntu.com precise-security/main amd64 Packages [118 kB]
Get:8 http://security.ubuntu.com precise-security/restricted amd64 Packages [14 B]
Get:9 http://security.ubuntu.com precise-security/universe amd64 Packages [26.6 kB]
Get:10 http://security.ubuntu.com precise-security/multiverse amd64 Packages [1,155 B]
Get:11 http://security.ubuntu.com precise-security/main i386 Packages [121 kB]
Get:12 http://security.ubuntu.com precise-security/restricted i386 Packages [14 B]                                                                                                                                                                                                                                                                                      
Get:13 http://security.ubuntu.com precise-security/universe i386 Packages [26.8 kB]                                                                                                                                                                                                                                                                                     
Get:14 http://security.ubuntu.com precise-security/multiverse i386 Packages [1,394 B]                                                                                                                                                                                                                                                                                   
Hit http://security.ubuntu.com precise-security/main TranslationIndex                                                                                                                                                                                                                                                                                                   
Hit http://security.ubuntu.com precise-security/multiverse TranslationIndex                                                                                                                                                                                                                                                                                             
Hit http://security.ubuntu.com precise-security/restricted TranslationIndex                                                                                                                                                                                                                                                                                             
Hit http://security.ubuntu.com precise-security/universe TranslationIndex                                                                                                                                                                                                                                                                                               
Hit http://security.ubuntu.com precise-security/main Translation-en                                                                                                                                                                                                                                                                                                     
Hit http://security.ubuntu.com precise-security/multiverse Translation-en                                                                                                                                                                                                                                                                                               
Hit http://security.ubuntu.com precise-security/restricted Translation-en                                                                                                                                                                                                                                                                                               
Hit http://security.ubuntu.com precise-security/universe Translation-en                                                                                                                                                                                                                                                                                                 
Fetched 385 kB in 7s (52.8 kB/s)                                                                                                                                                                                                                                                                                                                                        
W: Failed to fetch http://mirror.yandex.ru/mirrors/tank/dists/common/main/binary-amd64/Packages  404  Not Found

W: Failed to fetch http://mirror.yandex.ru/mirrors/tank/dists/common/main/binary-i386/Packages  404  Not Found

W: Failed to fetch http://mirror.yandex.ru/mirrors/tank/dists/precise/main/binary-amd64/Packages  404  Not Found

W: Failed to fetch http://mirror.yandex.ru/mirrors/tank/dists/precise/main/binary-i386/Packages  404  Not Found

E: Some index files failed to download. They have been ignored, or old ones used instead.
$ sudo apt-get install yandex-load-tank-base
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package yandex-load-tank-base

load scheme with float point not working

cat load.ini
[phantom]
address= localhost:8080
rps_schedule = const(1.5, 10m)
uris = /
headers = [Host: mts-maps.yandex.ru]
[Connection: close]

Actually I get 5 rps shooting.

ReportPlugin plugin drops exit code on post-process

2014-03-13 13:27:19,223 [DEBUG] tankcore Post-process <Report.ReportPlugin instance at 0x9b5930c>
2014-03-13 13:27:19,223 [DEBUG] tankcore RC before: 21
2014-03-13 13:27:19,225 [DEBUG] tankcore RC after: None

Can't install Yandex Tank on Ubuntu 13.04 x32

ilakeev@ilakeev:~$ sudo add-apt-repository ppa:yandex-load/main[sudo] password for ilakeev:
О добавлении следующего PPA в систему:

Больше информации: https://launchpad.net/~yandex-load/+archive/main
Нажмите [ENTER] чтобы продолжить или Ctrl-C для отмены добавления

gpg: создана таблица ключей /tmp/tmptbb6if/secring.gpg' gpg: создана таблица ключей/tmp/tmptbb6if/pubring.gpg'
gpg: запрашиваю ключ CB37D8D1 с hkp сервера keyserver.ubuntu.com
gpg: /tmp/tmptbb6if/trustdb.gpg: создана таблица доверий
gpg: ключ CB37D8D1: открытый ключ "Launchpad PPA for Yandex Load Team" импортирован
gpg: Всего обработано: 1
gpg: импортировано: 1 (RSA: 1)
OK
ilakeev@ilakeev:$ yandex-tank
yandex-tank: команда не найдена
ilakeev@ilakeev:
$ sudo apt-get update && sudo apt-get install yandex-load-tank-base
Игн http://ru.archive.ubuntu.com raring InRelease
Игн http://ru.archive.ubuntu.com raring-updates InRelease
Игн http://ru.archive.ubuntu.com raring-backports InRelease
В кэше http://ru.archive.ubuntu.com raring Release.gpg
В кэше http://ru.archive.ubuntu.com raring-updates Release.gpg
В кэше http://ru.archive.ubuntu.com raring-backports Release.gpg
В кэше http://ru.archive.ubuntu.com raring Release
В кэше http://ru.archive.ubuntu.com raring-updates Release
В кэше http://ru.archive.ubuntu.com raring-backports Release
Игн http://ppa.launchpad.net raring InRelease
В кэше http://ru.archive.ubuntu.com raring/main Sources
В кэше http://ru.archive.ubuntu.com raring/restricted Sources
В кэше http://ru.archive.ubuntu.com raring/universe Sources
В кэше http://ru.archive.ubuntu.com raring/multiverse Sources
В кэше http://ru.archive.ubuntu.com raring/main i386 Packages
В кэше http://ru.archive.ubuntu.com raring/restricted i386 Packages
В кэше http://ru.archive.ubuntu.com raring/universe i386 Packages
В кэше http://ru.archive.ubuntu.com raring/multiverse i386 Packages
Игн http://ppa.launchpad.net raring Release.gpg
В кэше http://ru.archive.ubuntu.com raring/main Translation-ru
Игн http://ppa.launchpad.net raring Release
В кэше http://ru.archive.ubuntu.com raring/main Translation-en
В кэше http://ru.archive.ubuntu.com raring/multiverse Translation-ru
В кэше http://ru.archive.ubuntu.com raring/multiverse Translation-en
В кэше http://ru.archive.ubuntu.com raring/restricted Translation-ru
В кэше http://ru.archive.ubuntu.com raring/restricted Translation-en
В кэше http://ru.archive.ubuntu.com raring/universe Translation-ru
В кэше http://ru.archive.ubuntu.com raring/universe Translation-en
Игн http://security.ubuntu.com raring-security InRelease
В кэше http://ru.archive.ubuntu.com raring-updates/main Sources
В кэше http://ru.archive.ubuntu.com raring-updates/restricted Sources
В кэше http://ru.archive.ubuntu.com raring-updates/universe Sources
В кэше http://ru.archive.ubuntu.com raring-updates/multiverse Sources
В кэше http://ru.archive.ubuntu.com raring-updates/main i386 Packages
В кэше http://ru.archive.ubuntu.com raring-updates/restricted i386 Packages
В кэше http://ru.archive.ubuntu.com raring-updates/universe i386 Packages
В кэше http://ru.archive.ubuntu.com raring-updates/multiverse i386 Packages
В кэше http://ru.archive.ubuntu.com raring-updates/main Translation-en
В кэше http://ru.archive.ubuntu.com raring-updates/multiverse Translation-en
В кэше http://security.ubuntu.com raring-security Release.gpg
В кэше http://ru.archive.ubuntu.com raring-updates/restricted Translation-en
В кэше http://ru.archive.ubuntu.com raring-updates/universe Translation-en
В кэше http://ru.archive.ubuntu.com raring-backports/main Sources
В кэше http://ru.archive.ubuntu.com raring-backports/restricted Sources
В кэше http://ru.archive.ubuntu.com raring-backports/universe Sources
В кэше http://ru.archive.ubuntu.com raring-backports/multiverse Sources
В кэше http://ru.archive.ubuntu.com raring-backports/main i386 Packages
В кэше http://ru.archive.ubuntu.com raring-backports/restricted i386 Packages
В кэше http://ru.archive.ubuntu.com raring-backports/universe i386 Packages
В кэше http://ru.archive.ubuntu.com raring-backports/multiverse i386 Packages
В кэше http://security.ubuntu.com raring-security Release
В кэше http://ru.archive.ubuntu.com raring-backports/main Translation-en
В кэше http://ru.archive.ubuntu.com raring-backports/multiverse Translation-en
В кэше http://ru.archive.ubuntu.com raring-backports/restricted Translation-en
В кэше http://ru.archive.ubuntu.com raring-backports/universe Translation-en
В кэше http://security.ubuntu.com raring-security/main Sources
В кэше http://security.ubuntu.com raring-security/restricted Sources
В кэше http://security.ubuntu.com raring-security/universe Sources
Игн http://ru.archive.ubuntu.com raring/main Translation-ru_RU
Игн http://ru.archive.ubuntu.com raring/multiverse Translation-ru_RU
В кэше http://security.ubuntu.com raring-security/multiverse Sources
Игн http://ru.archive.ubuntu.com raring/restricted Translation-ru_RU
Игн http://ru.archive.ubuntu.com raring/universe Translation-ru_RU
Игн http://ru.archive.ubuntu.com raring-updates/main Translation-ru_RU
Игн http://ru.archive.ubuntu.com raring-updates/main Translation-ru
Игн http://ru.archive.ubuntu.com raring-updates/multiverse Translation-ru_RU
Игн http://ru.archive.ubuntu.com raring-updates/multiverse Translation-ru
Игн http://ru.archive.ubuntu.com raring-updates/restricted Translation-ru_RU
Игн http://ru.archive.ubuntu.com raring-updates/restricted Translation-ru
Игн http://ru.archive.ubuntu.com raring-updates/universe Translation-ru_RU
Игн http://ru.archive.ubuntu.com raring-updates/universe Translation-ru
Игн http://ru.archive.ubuntu.com raring-backports/main Translation-ru_RU
Игн http://ru.archive.ubuntu.com raring-backports/main Translation-ru
Игн http://ru.archive.ubuntu.com raring-backports/multiverse Translation-ru_RU
Игн http://ru.archive.ubuntu.com raring-backports/multiverse Translation-ru
Игн http://ru.archive.ubuntu.com raring-backports/restricted Translation-ru_RU
В кэше http://security.ubuntu.com raring-security/main i386 Packages
Игн http://ru.archive.ubuntu.com raring-backports/restricted Translation-ru
Игн http://ru.archive.ubuntu.com raring-backports/universe Translation-ru_RU
Игн http://ru.archive.ubuntu.com raring-backports/universe Translation-ru
В кэше http://security.ubuntu.com raring-security/restricted i386 Packages
Ош http://ppa.launchpad.net raring/main i386 Packages
404 Not Found
Игн http://ppa.launchpad.net raring/main Translation-ru_RU
В кэше http://security.ubuntu.com raring-security/universe i386 Packages
Игн http://ppa.launchpad.net raring/main Translation-ru
Игн http://ppa.launchpad.net raring/main Translation-en
В кэше http://security.ubuntu.com raring-security/multiverse i386 Packages
В кэше http://security.ubuntu.com raring-security/main Translation-en
В кэше http://security.ubuntu.com raring-security/multiverse Translation-en
В кэше http://security.ubuntu.com raring-security/restricted Translation-en
В кэше http://security.ubuntu.com raring-security/universe Translation-en
Игн http://security.ubuntu.com raring-security/main Translation-ru_RU
Игн http://security.ubuntu.com raring-security/main Translation-ru
Игн http://security.ubuntu.com raring-security/multiverse Translation-ru_RU
Игн http://security.ubuntu.com raring-security/multiverse Translation-ru
Игн http://security.ubuntu.com raring-security/restricted Translation-ru_RU
Игн http://security.ubuntu.com raring-security/restricted Translation-ru
Игн http://security.ubuntu.com raring-security/universe Translation-ru_RU
Игн http://security.ubuntu.com raring-security/universe Translation-ru
W: Не удалось получить http://ppa.launchpad.net/yandex-load/main/ubuntu/dists/raring/main/binary-i386/Packages 404 Not Found

E: Некоторые индексные файлы не скачались. Они были проигнорированы или вместо них были использованы старые версии.
ilakeev@ilakeev:$ deb http://ppa.launchpad.net/yandex-load/main/ubuntu precise main
Команда 'deb' не найдена, возможно вы имели в виду:
Команда 'dwb' из пакета 'dwb' (universe)
Команда 'debc' из пакета 'devscripts' (main)
Команда 'dab' из пакета 'bsdgames' (universe)
Команда 'derb' из пакета 'libicu-dev' (main)
Команда 'debi' из пакета 'devscripts' (main)
Команда 'xdeb' из пакета 'xdeb' (universe)
deb: команда не найдена
ilakeev@ilakeev:
$ sudo add-apt-repository ppa:yandex-load/main
О добавлении следующего PPA в систему:

Больше информации: https://launchpad.net/~yandex-load/+archive/main
Нажмите [ENTER] чтобы продолжить или Ctrl-C для отмены добавления

gpg: создана таблица ключей /tmp/tmpbl_1ce/secring.gpg' gpg: создана таблица ключей/tmp/tmpbl_1ce/pubring.gpg'
gpg: запрашиваю ключ CB37D8D1 с hkp сервера keyserver.ubuntu.com
gpg: /tmp/tmpbl_1ce/trustdb.gpg: создана таблица доверий
gpg: ключ CB37D8D1: открытый ключ "Launchpad PPA for Yandex Load Team" импортирован
gpg: Всего обработано: 1
gpg: импортировано: 1 (RSA: 1)
OK
ilakeev@ilakeev:~$ sudo apt-get update && sudo apt-get install yandex-load-tank-base
Игн http://ru.archive.ubuntu.com raring InRelease
Игн http://ru.archive.ubuntu.com raring-updates InRelease
Игн http://ru.archive.ubuntu.com raring-backports InRelease
В кэше http://ru.archive.ubuntu.com raring Release.gpg
В кэше http://ru.archive.ubuntu.com raring-updates Release.gpg
В кэше http://ru.archive.ubuntu.com raring-backports Release.gpg
В кэше http://ru.archive.ubuntu.com raring Release
В кэше http://ru.archive.ubuntu.com raring-updates Release
В кэше http://ru.archive.ubuntu.com raring-backports Release
В кэше http://ru.archive.ubuntu.com raring/main Sources
В кэше http://ru.archive.ubuntu.com raring/restricted Sources
В кэше http://ru.archive.ubuntu.com raring/universe Sources
В кэше http://ru.archive.ubuntu.com raring/multiverse Sources
Игн http://ppa.launchpad.net raring InRelease
В кэше http://ru.archive.ubuntu.com raring/main i386 Packages
В кэше http://ru.archive.ubuntu.com raring/restricted i386 Packages
В кэше http://ru.archive.ubuntu.com raring/universe i386 Packages
В кэше http://ru.archive.ubuntu.com raring/multiverse i386 Packages
Игн http://ppa.launchpad.net raring Release.gpg
В кэше http://ru.archive.ubuntu.com raring/main Translation-ru
В кэше http://ru.archive.ubuntu.com raring/main Translation-en
В кэше http://ru.archive.ubuntu.com raring/multiverse Translation-ru
В кэше http://ru.archive.ubuntu.com raring/multiverse Translation-en
Игн http://ppa.launchpad.net raring Release
В кэше http://ru.archive.ubuntu.com raring/restricted Translation-ru
В кэше http://ru.archive.ubuntu.com raring/restricted Translation-en
В кэше http://ru.archive.ubuntu.com raring/universe Translation-ru
В кэше http://ru.archive.ubuntu.com raring/universe Translation-en
В кэше http://ru.archive.ubuntu.com raring-updates/main Sources
В кэше http://ru.archive.ubuntu.com raring-updates/restricted Sources
В кэше http://ru.archive.ubuntu.com raring-updates/universe Sources
В кэше http://ru.archive.ubuntu.com raring-updates/multiverse Sources
Игн http://security.ubuntu.com raring-security InRelease
В кэше http://ru.archive.ubuntu.com raring-updates/main i386 Packages
В кэше http://security.ubuntu.com raring-security Release.gpg
В кэше http://ru.archive.ubuntu.com raring-updates/restricted i386 Packages
В кэше http://ru.archive.ubuntu.com raring-updates/universe i386 Packages
В кэше http://ru.archive.ubuntu.com raring-updates/multiverse i386 Packages
В кэше http://ru.archive.ubuntu.com raring-updates/main Translation-en
В кэше http://ru.archive.ubuntu.com raring-updates/multiverse Translation-en
В кэше http://ru.archive.ubuntu.com raring-updates/restricted Translation-en
В кэше http://ru.archive.ubuntu.com raring-updates/universe Translation-en
В кэше http://ru.archive.ubuntu.com raring-backports/main Sources
В кэше http://ru.archive.ubuntu.com raring-backports/restricted Sources
В кэше http://security.ubuntu.com raring-security Release
В кэше http://ru.archive.ubuntu.com raring-backports/universe Sources
В кэше http://ru.archive.ubuntu.com raring-backports/multiverse Sources
В кэше http://ru.archive.ubuntu.com raring-backports/main i386 Packages
В кэше http://ru.archive.ubuntu.com raring-backports/restricted i386 Packages
В кэше http://ru.archive.ubuntu.com raring-backports/universe i386 Packages
В кэше http://ru.archive.ubuntu.com raring-backports/multiverse i386 Packages
В кэше http://ru.archive.ubuntu.com raring-backports/main Translation-en
В кэше http://ru.archive.ubuntu.com raring-backports/multiverse Translation-en
В кэше http://ru.archive.ubuntu.com raring-backports/restricted Translation-en
В кэше http://ru.archive.ubuntu.com raring-backports/universe Translation-en
В кэше http://security.ubuntu.com raring-security/main Sources
В кэше http://security.ubuntu.com raring-security/restricted Sources
В кэше http://security.ubuntu.com raring-security/universe Sources
В кэше http://security.ubuntu.com raring-security/multiverse Sources
Игн http://ru.archive.ubuntu.com raring/main Translation-ru_RU
Игн http://ru.archive.ubuntu.com raring/multiverse Translation-ru_RU
Игн http://ru.archive.ubuntu.com raring/restricted Translation-ru_RU
Игн http://ru.archive.ubuntu.com raring/universe Translation-ru_RU
Игн http://ru.archive.ubuntu.com raring-updates/main Translation-ru_RU
Игн http://ru.archive.ubuntu.com raring-updates/main Translation-ru
Игн http://ru.archive.ubuntu.com raring-updates/multiverse Translation-ru_RU
Игн http://ru.archive.ubuntu.com raring-updates/multiverse Translation-ru
Ош http://ppa.launchpad.net raring/main i386 Packages
404 Not Found
Игн http://ru.archive.ubuntu.com raring-updates/restricted Translation-ru_RU
В кэше http://security.ubuntu.com raring-security/main i386 Packages
Игн http://ru.archive.ubuntu.com raring-updates/restricted Translation-ru
Игн http://ppa.launchpad.net raring/main Translation-ru_RU
Игн http://ru.archive.ubuntu.com raring-updates/universe Translation-ru_RU
Игн http://ru.archive.ubuntu.com raring-updates/universe Translation-ru
Игн http://ru.archive.ubuntu.com raring-backports/main Translation-ru_RU
Игн http://ru.archive.ubuntu.com raring-backports/main Translation-ru
Игн http://ru.archive.ubuntu.com raring-backports/multiverse Translation-ru_RU
Игн http://ru.archive.ubuntu.com raring-backports/multiverse Translation-ru
Игн http://ru.archive.ubuntu.com raring-backports/restricted Translation-ru_RU
Игн http://ru.archive.ubuntu.com raring-backports/restricted Translation-ru
Игн http://ru.archive.ubuntu.com raring-backports/universe Translation-ru_RU
Игн http://ru.archive.ubuntu.com raring-backports/universe Translation-ru
Игн http://ppa.launchpad.net raring/main Translation-ru
В кэше http://security.ubuntu.com raring-security/restricted i386 Packages
Игн http://ppa.launchpad.net raring/main Translation-en
В кэше http://security.ubuntu.com raring-security/universe i386 Packages
В кэше http://security.ubuntu.com raring-security/multiverse i386 Packages
В кэше http://security.ubuntu.com raring-security/main Translation-en
В кэше http://security.ubuntu.com raring-security/multiverse Translation-en
В кэше http://security.ubuntu.com raring-security/restricted Translation-en
В кэше http://security.ubuntu.com raring-security/universe Translation-en
Игн http://security.ubuntu.com raring-security/main Translation-ru_RU
Игн http://security.ubuntu.com raring-security/main Translation-ru
Игн http://security.ubuntu.com raring-security/multiverse Translation-ru_RU
Игн http://security.ubuntu.com raring-security/multiverse Translation-ru
Игн http://security.ubuntu.com raring-security/restricted Translation-ru_RU
Игн http://security.ubuntu.com raring-security/restricted Translation-ru
Игн http://security.ubuntu.com raring-security/universe Translation-ru_RU
Игн http://security.ubuntu.com raring-security/universe Translation-ru
W: Не удалось получить http://ppa.launchpad.net/yandex-load/main/ubuntu/dists/raring/main/binary-i386/Packages 404 Not Found

и как следствие команда yandex-tank не найдена :(
что делать?

First run

Use this config, like in example

load = const(1,20s)

address=87.250.250.203:80
header_host = ya.ru

header_http = 1.1
header_connection = close
uri = /

I get «400 Bad Request» of all http queries.

I guess it's nginx block queries, maybe need to add some another headers?

Multiple headers in one config line does not work

Multiple headers in one config line does not work:
headers = [User-Agent: tank] [Host: www.example.org] [Connection: close]

answ.log:
160 311 2577 2136 0
GET /test/?a=b HTTP/1.1
User-Agent: tank] [Host: www.example.org] [Connection: close

--clear does nothing

Before:
r2d2@target209g:$ ls -l
total 304
-rw-r--r-- 1 r2d2 users 1 2012-08-10 14:33 ammo_20120810-143322.txt
-rw-r--r-- 1 r2d2 users 238890 2012-08-10 14:33 ammo.stpd
-rw-r--r-- 1 r2d2 users 769 2012-07-30 19:17 eeee
-rw-r--r-- 1 r2d2 users 559 2012-08-10 14:33 fantom-debug.log
-rw-r--r-- 1 r2d2 users 945 2012-08-10 14:33 load.conf
-rw-r--r-- 1 r2d2 users 63 2012-08-10 12:58 load.conf.bak
drwxr-xr-x 3 r2d2 users 4096 2012-08-10 14:33 logs
-rw-r--r-- 1 r2d2 users 1439 2012-08-10 14:33 lp.conf
-rw-r--r-- 1 r2d2 users 6184 2012-08-10 14:33 lunapark_1344594802.log
-rw-r--r-- 1 r2d2 users 1384 2012-08-10 14:33 phantom_1344594802.conf
-rw-r--r-- 1 r2d2 users 3932 2012-08-10 14:33 phantom_1344594802.log
-rw-r--r-- 1 r2d2 users 545 2012-08-10 14:33 phantom_stat_1344594802.log
-rw-r--r-- 1 r2d2 users 1739 2012-08-10 14:33 phout_1344594802_20120810-143322.txt
-rw-r--r-- 1 r2d2 users 3118 2012-08-10 14:33 prepr_1344594802_20120810-143322.txt
drwxrwxr-x 3 r2d2 users 4096 2012-07-27 17:49 test-1
-rw-r--r-- 1 r2d2 users 45 2012-07-30 19:22 test.conf
r2d2@target209g:
$ ls -l logs/
total 4
drwxr-xr-x 2 r2d2 users 4096 2012-08-10 14:33 1344594802
r2d2@target209g:~$

Exec "lunapark --clear":
r2d2@target209g:$ lunapark --clear
==== Welcome to Lunapark ====
r2d2@target209g:
$

Nothing has changed:
r2d2@target209g:$ ls -l
total 304
-rw-r--r-- 1 r2d2 users 1 2012-08-10 14:33 ammo_20120810-143322.txt
-rw-r--r-- 1 r2d2 users 238890 2012-08-10 14:33 ammo.stpd
-rw-r--r-- 1 r2d2 users 769 2012-07-30 19:17 eeee
-rw-r--r-- 1 r2d2 users 559 2012-08-10 14:33 fantom-debug.log
-rw-r--r-- 1 r2d2 users 945 2012-08-10 14:33 load.conf
-rw-r--r-- 1 r2d2 users 63 2012-08-10 12:58 load.conf.bak
drwxr-xr-x 3 r2d2 users 4096 2012-08-10 14:33 logs
-rw-r--r-- 1 r2d2 users 1439 2012-08-10 14:33 lp.conf
-rw-r--r-- 1 r2d2 users 6184 2012-08-10 14:33 lunapark_1344594802.log
-rw-r--r-- 1 r2d2 users 1384 2012-08-10 14:33 phantom_1344594802.conf
-rw-r--r-- 1 r2d2 users 3932 2012-08-10 14:33 phantom_1344594802.log
-rw-r--r-- 1 r2d2 users 545 2012-08-10 14:33 phantom_stat_1344594802.log
-rw-r--r-- 1 r2d2 users 1739 2012-08-10 14:33 phout_1344594802_20120810-143322.txt
-rw-r--r-- 1 r2d2 users 3118 2012-08-10 14:33 prepr_1344594802_20120810-143322.txt
drwxrwxr-x 3 r2d2 users 4096 2012-07-27 17:49 test-1
-rw-r--r-- 1 r2d2 users 45 2012-07-30 19:22 test.conf
r2d2@target209g:
$ ls -l logs/
total 4
drwxr-xr-x 2 r2d2 users 4096 2012-08-10 14:33 1344594802
r2d2@target209g:~$

Failed to run test due to an error (AttributeError: 'StepperInfo' object has no attribute '__dict__')

yandex-load-tank-base 1.4.5
Python 2.6.5
Ubuntu 10.04.4 LTS

--------------------------------------------------Config---------------------------------------------
[phantom]
address=178.124.133.65:80
rps_schedule=const(5, 5m)
header_http = 1.1
headers = [Host: www.tut.by]
[Connection: close]
uris = /

------------------------------------------------Console log----------------------------------------
$ yandex-tank
23:20:00 INFO: No config passed via cmdline, using ./load.ini
23:20:00 INFO: Loading configs...
23:20:00 INFO: Loading plugins...
23:20:00 INFO: Performing test
23:20:00 INFO: Configuring plugins...
23:20:00 INFO: Configuring StepperWrapper...
23:20:00 WARNING: Graphite uploader is not configured and will not send any data
23:20:00 INFO: Preparing test...
23:20:00 INFO: Making stpd-file: ./_f56fa1d1a69201fa3ff3af8aeab6289a.stpd
23:20:01 INFO: Exception: Traceback (most recent call last):
File "/usr/lib/yandex-tank/Tank/ConsoleWorker.py", line 213, in perform_test
self.core.plugins_prepare_test()
File "/usr/lib/yandex-tank/tankcore.py", line 278, in plugins_prepare_test
plugin.prepare_test()
File "/usr/lib/yandex-tank/Tank/Plugins/Phantom.py", line 100, in prepare_test
self.config = self.phantom.compose_config()
File "/usr/lib/yandex-tank/Tank/Plugins/PhantomUtils.py", line 87, in compose_config
streams_config += stream.compose_config()
File "/usr/lib/yandex-tank/Tank/Plugins/PhantomUtils.py", line 248, in compose_config
self.stepper_wrapper.prepare_stepper()
File "/usr/lib/yandex-tank/Tank/stepper/main.py", line 176, in prepare_stepper
self.__write_cached_options(stepper_info)
File "/usr/lib/yandex-tank/Tank/stepper/main.py", line 249, in __write_cached_options
json.dump(si.dict, si_file, indent=4)
AttributeError: 'StepperInfo' object has no attribute 'dict'

23:20:01 ERROR: 'StepperInfo' object has no attribute 'dict'
23:20:01 INFO: Trying to shutdown gracefully...
23:20:01 INFO: Finishing test...
23:20:01 INFO: Finishing monitoring
23:20:01 INFO: Post-processing test...
23:20:02 WARNING: Failed to end active test: 200
23:20:02 WARNING: Loadosophia.org uploading disabled, please set loadosophia.token option to enable it, get token at https://loadosophia.org/service/upload/token/
23:20:03 INFO: Artifacts dir: ./2013-09-11_23-20-03.v5al2r
23:20:03 INFO: Done graceful shutdown
23:20:03 INFO: Done performing test with code 1

ERROR: need more than 1 value to unpack

root@vm010-000-219-015:~# yandex-tank
01:26:51 INFO: No config passed via cmdline, using ./load.ini
01:26:51 INFO: Loading configs...
01:26:51 INFO: Loading plugins...
01:26:52 INFO: Performing test
01:26:52 INFO: Configuring plugins...
01:26:52 INFO: Configuring StepperWrapper...
01:26:52 WARNING: Graphite uploader is not configured and will not send any data
01:26:52 INFO: Preparing test...
01:26:52 INFO: Checking tank resources...
01:26:52 INFO: Making stpd-file: ./_e4d1065f866c213b4c98a888d6529488.stpd
01:26:52 INFO: Exception: Traceback (most recent call last):
File "/usr/lib/yandex-tank/Tank/ConsoleWorker.py", line 213, in perform_test
self.core.plugins_prepare_test()
File "/usr/lib/yandex-tank/tankcore.py", line 278, in plugins_prepare_test
plugin.prepare_test()
File "/usr/lib/yandex-tank/Tank/Plugins/Phantom.py", line 100, in prepare_test
self.config = self.phantom.compose_config()
File "/usr/lib/yandex-tank/Tank/Plugins/PhantomUtils.py", line 90, in compose_config
streams_config += stream.compose_config()
File "/usr/lib/yandex-tank/Tank/Plugins/PhantomUtils.py", line 251, in compose_config
self.stepper_wrapper.prepare_stepper()
File "/usr/lib/yandex-tank/Tank/stepper/main.py", line 181, in prepare_stepper
self.__make_stpd_file()
File "/usr/lib/yandex-tank/Tank/stepper/main.py", line 272, in __make_stpd_file
ammo_type=self.ammo_type,
File "/usr/lib/yandex-tank/Tank/stepper/main.py", line 52, in init
self.af = AmmoFactory(ComponentFactory(**kwargs))
File "/usr/lib/yandex-tank/Tank/stepper/main.py", line 27, in init
self.load_plan = factory.get_load_plan()
File "/usr/lib/yandex-tank/Tank/stepper/config.py", line 59, in get_load_plan
return lp.create(self.rps_schedule)
File "/usr/lib/yandex-tank/Tank/stepper/load_plan.py", line 211, in create
for step_config in rps_schedule])
File "/usr/lib/yandex-tank/Tank/stepper/load_plan.py", line 164, in produce
load_type, params = step_config.split('(')
ValueError: need more than 1 value to unpack

01:26:52 ERROR: need more than 1 value to unpack
01:26:52 INFO: Trying to shutdown gracefully...
01:26:52 INFO: Finishing test...
01:26:52 INFO: Finishing monitoring
01:26:52 INFO: Post-processing test...
01:26:52 WARNING: Failed to end active test: 200
01:26:52 WARNING: Loadosophia.org uploading disabled, please set loadosophia.token option to enable it, get token at https://loadosophia.org/service/upload/token/
01:26:53 INFO: Artifacts dir: ./2013-10-30_01-26-53.r80xUD
01:26:53 INFO: Done graceful shutdown
01:26:53 INFO: Done performing test with code 1

Ubuntu 12.04.3 LTS
installed via ppa.

load.ini

[phantom]
address=0.0.0.0:80 # Target's address and port.
rps_schedule=line(1, 100, 10m) # load scheme
headers = [Host: domain.ru]
[Connection: close]
[Cookies: None]
uris = /index.php
/media

0.0.0.0 - is my ip and domain.ru is my domain, i've changed it for privacy.

Installation from source manual needed

Hi!

I've faced problems installing yandex.tank from the provided packages, so i've initiated a process of installation from sources. I've already got phantom up and running and I would really appreciate your guidance in step-by-step installing yandex.tank from git sources now.

combined scheme with zero load-scheme not working

cat load.ini
[phantom]
address= localhost:8080
rps_schedule = const(1, 10) const(0,10)
const(1, 10) const(0,10)
const(1, 10) const(0,10)
const(1, 10) const(0,10)
uris = /
headers = [Host: mts-maps.yandex.ru]
[Connection: close]

I get Duration: 0:00:35 , but must be about 0:00:80 .
ETA: 22:12:45 , but must be between 0:00:80 and 00:00:00

tank shooting with еmpty uri-style ammo

Hi!
When i whant to use emty uri-style ammo (only headers, whitout requests), yandex-tank hangs and does nothing. Console output:

16:16:36 INFO: [const(1.0, 30), const(2.0, 30), const(3.0, 30), const(4.0, 30), const(5.0, 30), const(6.0, 30), const(7.0, 30), const(8.0, 30), const(9.0, 30), const(10.0, 30), const(11.0, 30), const(12.0, 30), const(13.0, 30), const(14.0, 30), const(15.0, 30), const(16.0, 30), const(17.0, 30), const(18.0, 30), const(19.0, 30), const(20.0, 30), const(21.0, 30), const(22.0, 30), const(23.0, 30), const(24.0, 30), const(25.0, 30), const(26.0, 30), const(27.0, 30), const(28.0, 30), const(29.0, 30), const(30.0, 30)]
16:16:36 INFO: Setting ammo_type 'uri' because ammo is not started with digit and you did non specify ammo format.
16:16:36 INFO: Loading ammo from 'temp.ammo' using URI format.
AF: 100%, LP: 0%, loops: 0

temp.ammo looks like:
[Host: some.host]
[Accept-Encoding: gzip,deflate]
[Connection: close]

I think there must be an error: "Run out of ammo! Cover me!"

--clearall preserves service files in ./

--clearall removes only ./logs directory, but keeps files like ammo__.txt, prepr_ etc in current folder if they are here.

r2d2@target209g:$ lunapark --clearall
==== Welcome to Lunapark ====
r2d2@target209g:
$
r2d2@target209g:$
r2d2@target209g:
$ ls -l
total 56
-rw-r--r-- 1 r2d2 users 1 2012-08-10 14:33 ammo_20120810-143322.txt
-rw-r--r-- 1 r2d2 users 769 2012-07-30 19:17 eeee
-rw-r--r-- 1 r2d2 users 559 2012-08-10 14:33 fantom-debug.log
-rw-r--r-- 1 r2d2 users 945 2012-08-10 14:33 load.conf
-rw-r--r-- 1 r2d2 users 63 2012-08-10 12:58 load.conf.bak
-rw-r--r-- 1 r2d2 users 6184 2012-08-10 14:33 lunapark_1344594802.log
-rw-r--r-- 1 r2d2 users 1384 2012-08-10 14:33 phantom_1344594802.conf
-rw-r--r-- 1 r2d2 users 3932 2012-08-10 14:33 phantom_1344594802.log
-rw-r--r-- 1 r2d2 users 545 2012-08-10 14:33 phantom_stat_1344594802.log
-rw-r--r-- 1 r2d2 users 1739 2012-08-10 14:33 phout_1344594802_20120810-143322.txt
-rw-r--r-- 1 r2d2 users 3118 2012-08-10 14:33 prepr_1344594802_20120810-143322.txt
drwxrwxr-x 3 r2d2 users 4096 2012-07-27 17:49 test-1
-rw-r--r-- 1 r2d2 users 45 2012-07-30 19:22 test.conf
r2d2@target209g:~$

Empty line in the beginning of access-log type ammo throws Exception

Tried to start a test with ammo_type=access and a file with first line blank, got exception:

2013-11-25 15:43:05,533 [INFO] Tank.ConsoleWorker Exception: Traceback (most recent call last):
File "/home/undera/Yandex/Aptana/yandex-tank/Tank/ConsoleWorker.py", line 220, in perform_test
self.core.plugins_prepare_test()
File "/home/undera/Yandex/Aptana/yandex-tank/tankcore.py", line 277, in plugins_prepare_test
plugin.prepare_test()
File "Tank/Plugins/Phantom.py", line 100, in prepare_test
self.config = self.phantom.compose_config()
File "/home/undera/Yandex/Aptana/yandex-tank/Tank/Plugins/PhantomUtils.py", line 90, in compose_config
streams_config += stream.compose_config()
File "/home/undera/Yandex/Aptana/yandex-tank/Tank/Plugins/PhantomUtils.py", line 251, in compose_config
self.stepper_wrapper.prepare_stepper()
File "/home/undera/Yandex/Aptana/yandex-tank/Tank/stepper/main.py", line 185, in prepare_stepper
self.make_stpd_file()
File "/home/undera/Yandex/Aptana/yandex-tank/Tank/stepper/main.py", line 279, in __make_stpd_file
stepper.write(os)
File "/home/undera/Yandex/Aptana/yandex-tank/Tank/stepper/main.py", line 54, in write
for missile in self.ammo:
File "/home/undera/Yandex/Aptana/yandex-tank/Tank/stepper/format.py", line 15, in
return ("%s %s %s\n%s\n" % (len(missile), timestamp, marker, missile) for timestamp, marker, missile in self.af)
File "/home/undera/Yandex/Aptana/yandex-tank/Tank/stepper/main.py", line 40, in
return (ammo_tuple for ammo_tuple in (
File "/home/undera/Yandex/Aptana/yandex-tank/Tank/stepper/main.py", line 41, in
(timestamp, marker or self.marker(missile), missile)
File "/home/undera/Yandex/Aptana/yandex-tank/Tank/stepper/missile.py", line 197, in __iter

request = line.split('"')[1]
IndexError: list index out of range

--manual-start not working

on ./yandex-tank/tank.py -m

get exception

Press Enter key to start test:17:49:51 INFO: Exception: Traceback (most recent call last):
File "/home/doctor/test/yandex-tank/Tank/ConsoleWorker.py", line 232, in perform_test
raw_input("Press Enter key to start test:")
EOFError

17:49:51 ERROR:

Cannot install yandex-tank on Ubuntu 10.10

$ sudo apt-get install yandex-load-tank-base
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
yandex-load-tank-base : Depends: python-ipaddr but it is not installable
Depends: python-lxml but it is not installable
Depends: python-progressbar but it is not installable
Depends: python-psutil but it is not installable
Depends: python-mysqldb but it is not installable
Depends: python-sqlalchemy but it is not installable
Depends: phantom-ssl but it is not going to be installed
E: Broken packages

Incorrect information in ETA string (console)

[phantom]
address= localhost:8080
rps_schedule = line (1,1000,10m) const (500,10) step (500,10,10,10) step(10,600,5,10) const(3000,1) line (1000,1,10m)
uris = /
[Connection: close]

it takes me about 3000s, but I can see "ETA: 33 days, 13:38:02" in console view.

Wrong ammo count

cat load.ini
[phantom]
address=...:80
rps_schedule=const (1,1)
writelog=1
uris = /theme/1198156/
headers = [Host: ...]
[Connection: close]

got in console
16:06:46 INFO: No config passed via cmdline, using ./load.ini
16:06:46 INFO: Loading configs...
16:06:46 INFO: Loading plugins...
16:06:46 INFO: Performing test
16:06:46 INFO: Configuring plugins...
16:06:46 INFO: Configuring StepperWrapper...
16:06:46 INFO: Preparing test...
16:06:46 INFO: Checking tank resources...
16:06:47 INFO: Making stpd-file: /var/lib/tankapi/tests/stpd-cache/_d34b923154fe0c5b72451aaf6e52d59c.stpd
16:06:48 INFO: Exception: Traceback (most recent call last):
File "/usr/lib/yandex-tank/Tank/ConsoleWorker.py", line 213, in perform_test
self.core.plugins_prepare_test()
File "/usr/lib/yandex-tank/tankcore.py", line 278, in plugins_prepare_test
plugin.prepare_test()
File "/usr/lib/yandex-tank/Tank/Plugins/Phantom.py", line 124, in prepare_test
widget = PhantomProgressBarWidget(self)
File "/usr/lib/yandex-tank/Tank/Plugins/Phantom.py", line 219, in init
info = self.owner.get_info()
File "/usr/lib/yandex-tank/Tank/Plugins/Phantom.py", line 199, in get_info
self.cached_info = self.phantom.get_info()
File "/usr/lib/yandex-tank/Tank/Plugins/PhantomUtils.py", line 167, in get_info
raise ValueError("Total ammo count cannot be zero")
ValueError: Total ammo count cannot be zero

16:06:48 ERROR: Total ammo count cannot be zero
16:06:48 INFO: Trying to shutdown gracefully...
16:06:48 INFO: Finishing test...
16:06:48 ERROR: Failed finishing plugin <Aggregator.AggregatorPlugin instance at 0x27675a8>: Total ammo count cannot be zero
16:06:48 INFO: Finishing monitoring
16:06:48 WARNING: Can't unlock targets: auto
16:06:48 INFO: Post-processing test...
16:06:48 INFO: Artifacts dir: logs/2013-09-13_16-06-48.KX23dJ
16:06:48 INFO: Done graceful shutdown
16:06:48 INFO: Done performing test with code 1

seems like const(1,1) too short for tank

decreasing load scheme not working

with that parameter
rps_schedule = line (100,1,10m)

get error
17:53:23 ERROR: We have no support for descending linear load yet (rps_schedule = line (100,1,10m))

sad.

possible bug in aggregator

[phantom]
address= example.org
rps_schedule = const(1, 10).
uris = /
/buy
headers = [Host: mts-maps.yandex.ru]
[Connection: close]
writelog = 1

You can see this after test in console:

   HTTP for 1 RPS:                     
     2  28.57%: 200 OK                 
     3  42.86%: 302 Found              
     2  28.57%: 502 Bad Gateway        

    NET for 1 RPS:                     
     7 100.00%: 0 Success              

7(Seven) good responses and 0 bad responses.

But we have 10 requests in answ log:

$ cat answ_icvgDw.log | grep GET | wc -l
10

and 10 good net responses

$ cat answ_icvgDw.log  | grep -B 1 GET 
63 323 13379 12913 0
GET / HTTP/1.0
--
66 359 699 590 0
GET /buy HTTP/1.0
--
63 20295 564384 564220 0
GET / HTTP/1.0
--
66 359 751 647 0
GET /buy HTTP/1.0
--
63 323 12229 12130 0
GET / HTTP/1.0
--
66 359 815 709 0
GET /buy HTTP/1.0
--
63 20294 563137 562956 0
GET / HTTP/1.0
--
66 359 746 638 0
GET /buy HTTP/1.0
--
63 323 12230 12144 0
GET / HTTP/1.0
--
66 359 706 601 0
GET /buy HTTP/1.0

Javascript error in YandexTank HTTP UI

Hello everyone :)

I've got this error in HTTP UI(on tank's port 8080):

Uncaught TypeError: undefined is not a function chart_tpl.js:282
AmChartsPWEHelper.createChart chart_tpl.js:282
(anonymous function)

screen shot 2014-01-13 at 18 51 43

All of js files loaded normally.

Don't you want to distribute js libraries with yandex-tank package? This should help to avoid broken API's like in this case.

Thanks in advance.

uri requests do not work

When starting the shooting with uri-style ammo, I got the exception "Error while reading ammo file" and tank shuts down

INFO: Exception: Traceback (most recent call last):
File "/usr/lib/yandex-tank/Tank/stepper/missile.py", line 127, in iter
"Error while reading ammo file. Position: %s, header: '%s', original exception: %s" % (ammo_file.tell(), chunk_header, e))
AmmoFileError: Error while reading ammo file. Position: 498, header: '/wizard?region_id=2&user_request=%D0%BA%D1%83%D0%BF%D0%B8%D1%82%D1%8C%20%D0%BA%D0%BE%D1%82%D1%82%D0%B5%D0%B4%D0%B6%20%D0%B2%20%D1%81%D0%B0%D0%BD%D0%BA%D1%82%20%D0%BF%D0%B5%D1%82%D0%B5%D1%80%D0%B1%D1%83%D1%80%D0%B3%D0%B5%20&geoaddr=W3sibGVuZ3RoIjoiMyIsImdlbyI6ItCyINGB0LDQvdC60YIg0L%2FQtdGC0LXRgNCx0YPRgNCz0LUiLCJ3ZWlnaHQiOiIxIiwiZGF0YSI6eyJWYXJpYW50cyI6W3siQ2l0eUlEcyI6WzJdLCJDaXR5Ijoi0YHQsNC90LrRgi3Qv9C10YLQtdGA0LHRg9GA0LMiLCJXZWlnaHQiOiIxIn1dfSwicG9zIjoiMiIsInR5cGUiOiJDaXR5IiwicHJlcCI6ItCyIn1d', original exception: invalid literal for int() with base 10: '/wizard?region_id=2&user_request=%D0%BA%D1%83%D0%BF%D0%B8%D1%82%D1%8C%20%D0%BA%D0%BE%D1%82%D1%82%D0%B5%D0%B4%D0%B6%20%D0%B2%20%D1%81%D0%B0%D0%BD%D0%BA%D1%82%20%D0%BF%D0%B5%D1%82%D0%B5%D1%80%D0%B1%D1%8'

some problem with Lucid/32bit installation

$ cat /etc/apt/sources.list | grep -v "#"
deb http://mirror.yandex.ru/ubuntu/ lucid main restricted multiverse universe
deb-src http://mirror.yandex.ru/ubuntu/ lucid main restricted multiverse universe
deb http://mirror.yandex.ru/ubuntu/ lucid-updates main restricted multiverse universe
deb-src http://mirror.yandex.ru/ubuntu/ lucid-updates main restricted multiverse universe
deb http://mirror.yandex.ru/ubuntu/ lucid-security main restricted multiverse universe
deb-src http://mirror.yandex.ru/ubuntu/ lucid-security main restricted multiverse universe

deb http://mirror.yandex.ru/mirrors/tank common main
deb http://mirror.yandex.ru/mirrors/tank lucid main

$ sudo apt-get install yandex-load-tank-base
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
yandex-load-tank-base: Depends: phantom-ssl but it is not going to be installed
E: Broken packages

$ sudo apt-get install phantom-ssl
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
phantom-ssl: Depends: libssl1.0.0 (>= 1.0.0) but it is not installable
E: Broken packages

$ dpkg -l | grep libssl
ii libssl0.9.8 0.9.8k-7ubuntu8.13 SSL shared libraries

ipv6 not working

  1. doctor@doctor:~$ dpkg -l | grep tank
    ii yandex-load-tank-base 1.0.15 Yandex.Tank (Load Testing Tool)

  2. doctor@doctor:~$ ping6 0:0:0:0:0:0:0:1
    PING 0:0:0:0:0:0:0:1(::1) 56 data bytes
    64 bytes from ::1: icmp_seq=1 ttl=64 time=0.039 ms
    64 bytes from ::1: icmp_seq=2 ttl=64 time=0.036 ms
    ^C
    --- 0:0:0:0:0:0:0:1 ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 999ms
    rtt min/avg/max/mdev = 0.036/0.037/0.039/0.006 ms

  3. doctor@doctor:~$ cat load.conf
    [phantom]

    address=127.0.0.1:80

    address=0:0:0:0:0:0:0:1:80
    rps_schedule=const(1,10)
    uris = /
    /buy

  4. doctor@doctor:~$ yandex-tank
    13:14:53 INFO: Loading configs...
    13:14:53 INFO: Loading plugins...
    13:14:54 INFO: Performing test
    13:14:54 INFO: Configuring plugins...
    13:14:59 INFO: Exception: Traceback (most recent call last):
    File "/usr/lib/yandex-tank/Tank/ConsoleWorker.py", line 284, in perform_test
    self.core.plugins_configure()
    File "/usr/lib/python2.7/dist-packages/tankcore.py", line 237, in plugins_configure
    plugin.configure()
    File "/usr/lib/yandex-tank/Tank/Plugins/Phantom.py", line 189, in configure
    self.__check_address()
    File "/usr/lib/yandex-tank/Tank/Plugins/Phantom.py", line 114, in __check_address
    reverse_name = socket.gethostbyaddr(ip_addr)[0]
    herror: [Errno 1] Unknown host

13:14:59 ERROR: [Errno 1] Unknown host
13:14:59 INFO: Trying to shutdown gracefully...
13:14:59 INFO: Finishing test...
13:14:59 INFO: Finishing monitoring
13:14:59 INFO: Post-processing test...
13:14:59 WARNING: Loadosophia.org uploading disabled, please set loadosophia.token option to enable it, get token at https://loadosophia.org/service/upload/token/
13:14:59 INFO: Artifacts dir: ./2012-10-05_13-14-59.tYkkMX
13:14:59 INFO: Done graceful shutdown
13:14:59 INFO: Done performing test with code 1

Installing monitoring agent fail via ipv6 address

Installing monitoring agent fail via ipv6 address.

Log:
13:28:04 INFO: Installing monitoring agent at 2a02:6b8:0:c1f::161:a7...
13:28:05 INFO: Exception: Traceback (most recent call last):
File "/usr/lib/yandex-tank/Tank/ConsoleWorker.py", line 213, in perform_test
self.core.plugins_prepare_test()
File "/usr/lib/yandex-tank/tankcore.py", line 278, in plugins_prepare_test
plugin.prepare_test()
File "/usr/lib/yandex-tank/Tank/Plugins/Monitoring.py", line 131, in prepare_test
raise exc
RuntimeError: AgentClient copy exitcode: 1

13:28:05 ERROR: AgentClient copy exitcode: 1
13:28:05 INFO: Trying to shutdown gracefully...
...

tank.log :
2014-01-29 13:24:48,380 [DEBUG] Tank.MonCollector.collector Executing: ['scp', '-q', '-o', 'StrictHostKeyChecking=no', '-o', 'PasswordAuthentication=no', '-o', 'NumberOfPasswordPrompts=0', '-o', 'ConnectTimeout=5', '-P', '22', '/usr/lib/yandex-tank/Tank/MonCollector/agent//agent.py', '2a02:6b8:0:c1f::161:a7:/tmp/tmpMxIadq']
2014-01-29 13:24:48,480 [DEBUG] root AgentClient copy exitcode: 1

How to reproduce:

  1. add a host with IPv6 address into monitoring config.
  2. start a test

The reason is ipv6 address passed as an argument to scp in inappropriate format.

scp /usr/lib/yandex-tank/Tank/MonCollector/agent//agent.py 2a02:6b8:0:c1f::161:a7:/tmp/tmpacYdnP
ssh: Could not resolve hostname 2a02: Name or service not known
lost connection

should be fixed to :

scp /usr/lib/yandex-tank/Tank/MonCollector/agent//agent.py [2a02:6b8:0:c1f::161:a7]:/tmp/tmpacYdnP
agent.py 100% 22KB 21.9KB/s 00:00

ошибка в stpd файле

в stpd файле:
GET /?l=map-local&v=undefined&x=76883&y=49281&z=17&lang=tr-TR HTTP/1.1
Accept-Encoding: gzip,deflate
Host: vec-rdr.maps.yandex.net]
Connection: close
не нужная закрывающаяся квадратная скобка в конце заголовка Host
Стреляю uri-style запросами

Agregator bug/lucid

doctor@lucid64:~$ dpkg -l | grep tank
ii yandex-load-tank-base 1.0.11 Yandex.Tank (Load Testing Tool)

$ cat load.conf
[phantom]
rps_schedule=const (10,60)

[monitoring]
config = none

01:55:57 INFO: Exception: Traceback (most recent call last):
File "/usr/lib/yandex-tank/Tank/ConsoleWorker.py", line 290, in perform_test
retcode = self.core.wait_for_finish()
File "/usr/lib/yandex-tank/Tank/Core.py", line 129, in wait_for_finish
retcode = plugin.is_test_finished()
File "/usr/lib/yandex-tank/Tank/Plugins/Aggregator.py", line 70, in is_test_finished
self.__read_samples(5)
File "/usr/lib/yandex-tank/Tank/Plugins/Aggregator.py", line 65, in __read_samples
self.__notify_listeners(data)
File "/usr/lib/yandex-tank/Tank/Plugins/Aggregator.py", line 83, in __notify_listeners
listener.aggregate_second(data)
File "/usr/lib/yandex-tank/Tank/Plugins/Phantom.py", line 528, in aggregate_second
self.time_lag = int((datetime.datetime.now() - second_aggregate_data.time).total_seconds())
AttributeError: 'datetime.timedelta' object has no attribute 'total_seconds'

01:55:57 ERROR: 'datetime.timedelta' object has no attribute 'total_seconds'
01:55:57 INFO: Trying to shutdown gracefully...
01:55:57 INFO: Finishing test...
01:55:57 ERROR: Failed finishing plugin <Aggregator.AggregatorPlugin instance at 0x1f06b48>: 'datetime.timedelta' object has no attribute 'total_seconds'
01:55:57 WARNING: Terminating phantom process with PID 18603
01:55:57 INFO: Finishing monitoring
01:55:57 INFO: Post-processing test...
01:55:57 INFO: Artifacts dir: ./2012-09-29_01-55-57.YKRlTH
01:55:57 INFO: Done graceful shutdown.
01:55:57 INFO: Done performing test with code 1

Error when using stepper caching and BFG

When stepper uses caching and BFG is used instead of phantom, the following exception is raised:

16:12:57 INFO: Exception: Traceback (most recent call last):
  File "/home/direvius/yandex-tank/Tank/ConsoleWorker.py", line 213, in perform_test
    self.core.plugins_prepare_test()
  File "/home/direvius/yandex-tank/tankcore.py", line 278, in plugins_prepare_test
    plugin.prepare_test()
  File "/home/direvius/yandex-tank/Tank/Plugins/bfg/plugin.py", line 72, in prepare_test
    aggregator, self.bfg, result_cache_size=result_cache_size)
  File "/home/direvius/yandex-tank/Tank/Plugins/bfg/reader.py", line 15, in __init__
    self.steps = map(list, si.status.get_info().steps)
  File "/home/direvius/yandex-tank/Tank/stepper/info.py", line 94, in get_info
    "Information for %s is not published yet." % key)
RuntimeError: Information for instances is not published yet.

16:12:57 ERROR: Information for instances is not published yet.

Fractional load set failed

root@Watcher:/etc/lunapark# lunapark
==== Welcome to Lunapark ====
Watcher (root)
phantom=0.14.0
yandex-load-tank=N/A
ammo=/etc/lunapark/ammo_20120806-141400.txt

==== Stepper ====
Creating cases tree: 100% |#################################################################################################| Time: 00:00:00 

Case: 3. Ammo type: uri
Traceback (most recent call last):                                                                                          | ETA:  --:--:-- 
  File "/usr/local/bin/stepper.py", line 441, in <module>
    marked = stepper.mark_sec(count, duration)
  File "/usr/lib/lunapark/yandex_load_lunapark/stepper.py", line 282, in mark_sec
    k = 1000/float(cnt)
ZeroDivisionError: float division by zero

Error while stepping ammo at /usr/local/bin/lunapark line 1172.

In load.conf:

load = const (100/500,10m)

Syntax with errors doesnt get warnings

cat load.ini
[phantom]
address= localhost:8080
rps_schedule = const(1.5, 10m
uris = /
headers = [Host: mts-maps.yandex.ru]
[Connection: close]

yandex-tank starts wo any warnings with this config

wrong last step

When I'm using a step load
step(100,1000,100,1m)
the last step=900, but not 1000

Not enough requests in STPD

Starting tank with: -o phantom.uris=/ -o phantom.instances_schedule="line(1,10,1m)" -o phantom.loop=10000

Expected to have 10000 GET records in STPD file, got:
~$ cat /var/lib/tankapi/tests/stpd-cache/_128ad52ea8c0b4c50d55bffffb632487.stpd | grep GET | wc -l
9999

yandex-tank-jmeter said "An error occurred: Delimiter (code 9) must be printable."

Hi!

I ran this command

->yandex-tank-jmeter 
19:42:49 WARNING: Using 'load.conf' is unrecommended, please use 'load.ini' instead
19:42:49 INFO: Loading configs...
19:42:49 INFO: Loading plugins...
19:42:49 INFO: Performing test
19:42:49 INFO: Configuring plugins...
19:42:49 WARNING: Graphite uploader is not configured and will not send any data
19:42:49 INFO: Preparing test...
19:42:49 INFO: Checking tank resources...
19:42:49 INFO: Starting monitoring with config: /usr/lib/yandex-tank/Tank/Plugins/monitoring_default_config.xml
19:42:49 INFO: Installing monitoring agent at localhost...
19:42:49 WARNING: Failed to start monitoring: Failed to get remote dir via SSH at localhost, code 255: 
19:42:49 INFO: Starting test...
19:42:49 INFO: Starting local HTTP server for online view at port: http://nick-ThinkPad-X220:8080/
19:42:49 INFO: Starting jmeter with arguments: ['jmeter', '-n', '-t', '/home/nick/dev/ged_projects/load_average_tests/simple-test/modified_fKvOeJ.jmx', '-j', '/home/nick/dev/ged_projects/load_average_tests/simple-test/jmeter_Nh2L17.log', '-Jjmeter.save.saveservice.default_delimiter=\\t']
19:42:49 INFO: Waiting for test to finish...

 ... 

And it stops with an error "An error occurred: Delimiter (code 9) must be printable."
And jmeter log

->cat 2013-01-31_19-42-51.SNZcM7/jmeter_Nh2L17.log | grep -A 5 -B 1 FATAL 
2013/01/31 19:42:50 INFO  - jmeter.samplers.SampleResult: sampleresult.default.encoding is set to ISO-8859-1 
2013/01/31 19:42:50 FATAL - jmeter.JMeter: An error occurred:  org.apache.jorphan.util.JMeterError: Delimiter (code 9) must be printable.
    at org.apache.jmeter.samplers.SampleSaveConfiguration.<clinit>(SampleSaveConfiguration.java:312)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at org.apache.jmeter.save.converters.SampleSaveConfigurationConverter.class$(SampleSaveConfigurationConverter.java:76)
    at org.apache.jmeter.save.converters.SampleSaveConfigurationConverter.canConvert(SampleSaveConfigurationConverter.java:109)

In load.conf

->cat load.conf 
[jmeter]
jmx=/home/nick/dev/ged_projects/load_average_tests/simple-test/SimpleTest.jmx

And It stops cause of option "Jjmeter.save.saveservice.default_delimiter=\t']"

Yandex.Tank runs jmeter with that option here
https://github.com/yandex-load/yandex-tank/blob/master/Tank/Plugins/JMeter.py#L53

So is at a bug?
Or it's a wrong test plan(jmx-file) ?

man load.conf

TODO: Compose man page for load.conf which will be Includes examples with different cases of usage yandex-tank.

When shooting stopped

Exception happened during processing of request from ('10.101.1.143', 63478)
Traceback (most recent call last):
  File "/usr/lib/python2.7/SocketServer.py", line 295, in _handle_request_noblock
    self.process_request(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 321, in process_request
    self.finish_request(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/lib/yandex-tank/Tank/Plugins/WebOnline.py", line 163, in __init__
    BaseHTTPRequestHandler.__init__(self, request, client_address, server)
  File "/usr/lib/python2.7/SocketServer.py", line 649, in __init__
    self.handle()
  File "/usr/lib/python2.7/BaseHTTPServer.py", line 340, in handle
    self.handle_one_request()
  File "/usr/lib/python2.7/BaseHTTPServer.py", line 328, in handle_one_request
    method()
  File "/usr/lib/yandex-tank/Tank/Plugins/WebOnline.py", line 199, in do_GET
    self.wfile.write('["' + self.server.owner.redirect + '"]')
TypeError: cannot concatenate 'str' and 'NoneType' objects

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.