Как определить время выполнения всех функций, вызываемых во время вызова API? - PullRequest
0 голосов
/ 18 декабря 2018

Я построил API на Голанге.Я хочу определить, где за время обслуживания запроса у меня возникают замедления.Мое текущее решение состоит в том, чтобы регистрировать продолжительность времени для каждой функции в вызове запроса.Итак, что-то вроде этого:

start := time.Now()
defer func() {
    log.Debugf("duration: %d", time.Since(start).Seconds())
}()

Поместить приведенный выше код в начало каждой функции громоздко и загромождать кодовую базу.Есть ли лучший способ выполнить то, что я пытаюсь сделать?Есть ли инструменты, которые я могу использовать для этого?

Я просмотрел библиотеки в github, но не смог найти более элегантного решения.

ОБНОВЛЕНИЕ:

Чтобы добавить усложнение:

  1. Мои API-интерфейсы вызывают другие API-интерфейсы, и эти вызовы должны быть синхронизированы.
  2. API размещены в Heroku и AWS.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...