Я построил API на Голанге.Я хочу определить, где за время обслуживания запроса у меня возникают замедления.Мое текущее решение состоит в том, чтобы регистрировать продолжительность времени для каждой функции в вызове запроса.Итак, что-то вроде этого:
start := time.Now()
defer func() {
log.Debugf("duration: %d", time.Since(start).Seconds())
}()
Поместить приведенный выше код в начало каждой функции громоздко и загромождать кодовую базу.Есть ли лучший способ выполнить то, что я пытаюсь сделать?Есть ли инструменты, которые я могу использовать для этого?
Я просмотрел библиотеки в github, но не смог найти более элегантного решения.
ОБНОВЛЕНИЕ:
Чтобы добавить усложнение:
- Мои API-интерфейсы вызывают другие API-интерфейсы, и эти вызовы должны быть синхронизированы.
- API размещены в Heroku и AWS.