Какая платформа? Какая программа? Какой язык? Укажите в вопросе - будет куда больше шансов, что вам помогут.
А по текущим данным - секундомер поставьте на телефоне. :)
Если есть возможность , то в программу можно внести 2 переменные 1 будет сохранять время windows во время запуска программы , а вторая сохранять время windows после полного запуска программы , и разница между переменными будет временем запуска программы.
С событием "старт запуска" - вопросов практически нет. Допустим, что старт запуска - это клик пользователя по иконке программы.
А вот что Вы подразумеваете под событием "завершение запуска" - это большой вопрос.
Прорисовка интерфейса? - так интерфейс может прорисовываться частями длительное время. Программа может быть вообще без интерфейса.
Подгрузка используемых dll - так это тоже не показатель.
Внесите ясность, возможно на Ваш вопрос сможет кто-нибудь ответить.