Журналирование выполнения функции на .NET Core
Сервис Cloud Functions автоматически захватывает потоки стандартного вывода приложения на .NET Core и отправляет их в централизованную систему журналирования, доступную в Yandex Cloud. Помимо журналов выполнения приложения записываются системные записи о событиях выполнения запроса.
Для записи дополнительных сообщений используются стандартные языковые конструкции:
Console.Write— выводит сообщение в стандартный поток выводаstdout.
Примечание
Многострочные сообщения должны быть разделены символом \r (carriage return), но не \n (line feed). При использовании последнего каждая строка отправляется отдельным сообщением и отображается в журнале отдельно.
Системные сообщения
В рамках обработки каждого вызова в журнал также записываются системные сообщения START, END и REPORT:
START RequestID: <идентификатор_запроса> Version: <идентификатор_версии_функции>
END RequestID: <идентификатор_запроса>
REPORT RequestID: <идентификатор_запроса>
Duration: 236.606 ms
Billed Duration: 300 ms
Memory Size: 128 MB
Max Memory Used: 22 MB
Queuing Duration: 0.027 ms
Function Init Duration: 225.298 ms
Все строки содержат идентификатор запроса (RequestID), который генерируется автоматически в момент вызова функции.
Строка REPORT — это отчет о выполнении функции. Она содержит дополнительную информацию о потребленных ресурсах:
Duration– время, затраченное на вызов функции. Включает в себя параметрыQueuing DurationиFunction Init Duration.Billed Duration– время, за которое взимается плата в соответствии с правилами тарификации.Memory Size– объем памяти, указанный при создании версии, МБ.Max Memory Used– объем использованной памяти на момент начала выполнения запроса.Queuing Duration– время, которое запрос на выполнение провел во внутренней очереди. Если время растет, это может значить, что не хватает экземпляров функции. Максимальное количество экземпляров определяется квотами.Function Init Duration– время, потраченное на инициализацию среды выполнения и загрузку кода функции.