=================
Работа с ошибками
=================
Как и в любом програмном обеспечении в ``firebat console`` присутствуют ошибки, много ошибок, с течением времени их кол-во будет сокращаться, но для этого нужно постараться. Как пользователь вы можете отправить `баг репорт `_, желательно, использовать русский или английский язык для описания неисправности.
Для самостоятельной диагностики можно предпринять следующие шаги:
Если не запускается генерация входных данных или возвращает ошибку - обратиться к документации.
Предполагаю что самой популярной неисправностью станет "зависание стрельб" - ситуация, когда тестовое задание сформировано, стрельба запущена, но не завершается в назначеный срок. Разберём эту проблему подробно.
1. Задержка стрельбы.
---------------------
::
$ fire --list
fire_1342207304_006961.pid
--------------------------
state: phantom working
duration: 950
total duration: 900
owner: uid
uid: gkomissarov
fire PID: 15456
phantom PID: 15457
log mtime: Fri Jul 13 19:22:41 2012
log last mod: 1
wd: /mnt/raid/home/gkomissarov/docs/code/python/fire/test/smoke/TESTPROJ-123_gkomissarov_20120713-192141/local_http
``total duration`` - расчётная длительность стрельбы, ``duration`` - фактическая длительность. Если она инкрементируется, это означает что Фантом ещё не завершил свою работу. Обращаем внимание на атрибут ``log last mod`` - сколько секунд назад последний раз модифицировался лог ответов(answ file). В данном случае ``log last mod`` равен единице, то есть длительность превышает расчётную на 50 секунд и ответы приходят. Данная ситуация называемая "задержкой стрельбы" возникает в случае когда размера пула воркеров Фантома(``instances`` в fire.yaml) недостаточно для реализации схемы нагрузки. Если rps высокий, тысячи / десятки тысяч, ожидание может быть долгим, вплодь до часов. Что бы в следующем тесте не попасть в эту ситуацию нужно или увеличить число воркеров или с текущим кол-вом воркеров заставить сервис отвечать быстрее.
2. Зависание стрельбы.
----------------------
::
$ fire --list
fire_1342207304_006961.pid
--------------------------
state: phantom working
duration: 550
total duration: 900
owner: uid
uid: gkomissarov
fire PID: 15456
phantom PID: 15457
log mtime: Fri Jul 13 19:22:41 2012
log last mod: 145
wd: /home/gkomissarov/TESTPROJ-123_gkomissarov_20120713-192141/local_http
Фантом не писал в лог запросов последние 145 секунд, хотя тест должен идти. Возникла критическая неисправность, которая не позволяет Фантому выполнить задачу. Наиболее частые причины:
* Недостаточно памяти.
* Не хватает лимитов на файловые дескрипторы.
* Кончилось свободное место на ФС.
Получить отладочную информацию можно следующим образом:
::
$ kill -9
$ less /home/gkomissarov/TESTPROJ-123_gkomissarov_20120713-192141/local_http/fire.log
в самом конце файла перечислены листинги ``STDERR``, ``STDOUT``, ``EXIT CODE``. Как правило, Фантом исправно пишет об ошибках.