Предупреждение
Данный модуль при неправильном использовании может вызвать серьезные сбои в работе сайта, или даже нескольких серверов, вызвав ДОС из-за ошибки в настройках.
Модуль debug/telemetry.php помогает проводить отладку и тестирование кода удаленно или локально.
Модуль активизиурется, если глобальная переменная $NovaTelemetry==true. В процессе активации модуль выполняет запрос HTTP POST к URL, указанному в его настройках, и передает след. параметры:
obj[page]='ключ страницы на которой он запустился',
obj[_SERVER]=/*содержимое $_SERVER/*,
obj[_ENV]=/*$_ENV*/
В ответ можно отправить пустую строку или массив json с командами тестирования или отладки, вида:
[ {command:"Команда 1",data:{параметры команды 1},payload_init:"модификатор url для отправки отчета 1"}, ... {command:"Команда 2",data:{параметры команды 1},payload_init:"модификатор url для отправки отчета 2"}, ]
Здесь:
Это может быть фрагмент URL вида "param1=value1¶m2=value2" или хеш-массив {param1:value1,param2:value2}
Модуль инициализируется и выполняет запрос по адресу, заданному в настройках и таким образом инициализирует сессию телеметрии. В ответ он получает одну или несколько команд с параметрами и выполняет их. По мере срабатывания отправляются вызовы либо по адресу из настроек, либо по модифицированному адресу, полученному из payload_init и в ответ также могут быть получены новые наборы команд, котрые модуль также будет пытаться выполнить. Т.о. в результате получаем информацию о выполнении тех или иных частей кода, можем проводить отладку, запускать различные ветви тестирования.
Когда модуль телеметрии активен, он добавляет обработчик отправки и получения данных телеметрии: $_ENV['T'];
Пример:
code ... /*<!--{ //отправим отладочные данные $_ENV['T'](array('command'=>'log','page'=>'some_test_report_page','obj'=>array('foo'=>$foo,'bar'=>$bar))); }-->*/ code ...