И снова здравствуйте.
По ходу работы, часто приходится производить отладку и прочие замеры, и руками писать всякие записи в файлы не очень-то оптимально. Бывает, вижу что кто-то подключает свои файлы, и использует функции оттуда, для упрощения отладки. Но в продукте есть отдельные инструменты, которые могут упростить данную операцию.
Вывод данныхИтак, есть у нас вызов АПИ, и хочется увидеть, с какими параметры в данном месте производится вызов. Лично я предпочитаю запись в файл, чтобы никак не влиять на работу сайта (разные проверки ip и прочее лениво писать).
Код для записи в файл получится компактным:
Bitrix\Main\Diag\Debug::writeToFile(array('ID' => $id, 'fields'=>$fields ),"","prices.txt"); | 
тут у нас первым параметром идет сами данные, которые мы хотим увидеть, вторым идет название переменной, а третьим - имя файла (можно указывать путь, к примеру 
/bitrix/log.txt)
 я лично сразу пишу много данных и сразу в массиве указываю подходящие ключи, поэтому второй параметр не использую | 
на выходе получим примерно такое:
Array
    (
        [ID] => 26028
        [fields] => Array
            (
                [PRODUCT_ID] => 54586
                [CATALOG_GROUP_ID] => 1
                [^PRICE] => 1840
                [CURRENCY] => RUB
                [QUANTITY_FROM] => 
                [QUANTITY_TO] => 
                [PRICE] => 1840
                [RECALC] => 
            )
    )   | 
если же могут быть булевы переменные, то можно и так указать:
Bitrix\Main\Diag\Debug::dumpToFile(array('ID' => $id, 'fields'=>$fields ),"","prices.txt");  | 
вывод соответственно будет через var_dump
Учет времениЕсли же надоучесть время выполнения того или иного участка кода, то и для этого есть подходящие функции.
В начале исследуемого участка кода, добавляем:
Bitrix\Main\Diag\Debug::startTimeLabel('test');  | 
в конец:
Bitrix\Main\Diag\Debug::endTimeLabel('test');  | 
И для вывода используем:
Bitrix\Main\Diag\Debug::getTimeLabels();   | 
 метод возвращаем массив со всеми включенными учетами времени | 
 HelperТакже есть вспомогательный класс 
Helper (Bitrix\Main\Diag\Helper), в котором всего пару функций:
Bitrix\Main\Diag\Helper::getCurrentMicrotime();   | 
и
Bitrix\Main\Diag\Helper::getBackTrace($limit = 0, $options = null);   | 
думаю, из названия и так понятно, для чего они нам могут пригодиться.