Хакерские обходные пути 101
Как вы, возможно, заметили, Apps Script все больше переходит на модель ведения журнала Stackdriver. Однако, насколько я могу судить, профилировщик javascript Stackdriver имеет жесткие зависимости node.js; исправления в комментариях ниже, хотелось бы ошибаться в этом.
Тем не менее, некоторые скрипты занимают много времени, особенно если они являются надстройками, управляющими большими документами Google, поэтому профилировщик производительности необходим, чтобы понять, на что тратить время оптимизации.
Ниже приведена быстрая утилита для предоставления рудиментарной информации о профилировании, т.е. общая продолжительность и количество итераций каждой функции, а также подробная продолжительность каждой итерации.
Для начала создайте электронную таблицу, состоящую из двух листов со следующими столбцами (вы можете дополнить их дополнительными столбцами расчета справа: они сохранятся); заголовки листов и столбцов произвольны, но дают представление о намерениях:
- Raw: название функции, часть, строка, время в миллисекундах, продолжительность
- Сводка: имя функции, итерации, общая продолжительность в миллисекундах
Просто скопируйте следующие строки в начале и в конце ваших функций (конечно, перед возвратом и перед любыми ошибками), чтобы вызвать профилировщик.
И когда вы все закончите, выгрузите журналы профиля в свою электронную таблицу:
Вот полная утилита: