Я хочу использовать новую реликвию APM в самом деле. Чтобы контролировать производительность приложения, я добавил код (как упоминалось в новой реликвии) чуть выше обработчика запроса api createpost в файле api/post.go.Mattermost + New Relic APM
func createPost(c *Context, w http.ResponseWriter, r *http.Request) {
config := newrelic.NewConfig("mylocalstarfp", "####12337")
app, err1 := newrelic.NewApplication(config)
fmt.Println("config")
fmt.Println(config)
if nil != err1 {
fmt.Println(err1)
// os.Exit(1)
}
txn := app.StartTransaction("mylocalstar",w, r)
defer txn.End()
post := model.PostFromJson(r.Body)
.....
.......
}
Приложение отображается на новой реликтовой приборной панели и атрибуты, как центральный процессор и память не displayed.But нет времени отклика и отображаются атрибуты пропускной способности.
В соответствии с новой реликвийной документацией (https://github.com/newrelic/go-agent) этот код необходимо добавить в блок main/init или только при запуске функции, где нам необходимо контролировать производительность.
Но я не могу отслеживать, так как время отклика и атрибуты пропускной способности не отображаются. Может быть, я добавляю код в неправильном месте. Также я попытался добавить код в начало функции main() в файле mattermost.go. Но успеха нет. Пожалуйста, укажите, где я должен добавить код.
Во-вторых, они также отметили, что:
Если вы используете стандартный пакет библиотеки HTTP, вы можете создавать транзакции, обернув HTTP запросов, в качестве альтернативы инструментирование кодогенератора функции.
Вот до и после того, как пример обработчика HTTP обертывают:Перед:
http.HandleFunc("/users", usersHandler)
После того, как:
http.HandleFunc(newrelic.WrapHandleFunc(app, "/users", usersHandler))
Это автоматически начинается и заканчивается на транзакция с автором запроса и ответа.
Как это сделать, где я должен добавить код в Mattermost?