중요한 유적지에 새로운 유물 APM을 사용하고 싶습니다. 성능을 모니터링하기 위해 api/post.go 파일의 createpost API 요청 처리기 바로 위에 코드를 추가했습니다 (새 유적에서 언급 한대로).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)
.....
.......
}
응용 프로그램은 새로운 유물 대시 보드에 표시 CPU 및 메모리가 더 응답 시간을 displayed.But되지 않고 처리량 속성이 표시됩니다 같은 속성이 있습니다.
새로운 유물 문서 (https://github.com/newrelic/go-agent)에 따라이 코드는 main/init 블록에 추가되거나 성능 모니터링이 필요한 기능 시작 시점에 추가되어야합니다.
그러나 응답 시간과 처리량 속성이 표시되지 않고 있습니다. 코드를 잘못된 위치에 추가 할 수 있습니다. 또한 mattermost.go 파일에서 main() 함수의 시작 부분에 코드를 추가하려고했습니다. 그러나 성공하지 못했습니다. 코드를 추가해야하는 위치를 제안하십시오. 당신은 표준 HTTP 라이브러리 패키지를 사용하는 경우
, 당신은 함수의 코드를 인스트루먼트에 대한 대안으로, HTTP 요청을 포장하여 거래를 만들 수 있습니다
둘째, 그들은 또한 언급했다.
전에 :
http.HandleFunc("/users", usersHandler)
후 :
http.HandleFunc(newrelic.WrapHandleFunc(app, "/users", usersHandler))
이 자동으로 시작 및 단부
여기 는 래핑되는 HTTP 처리기의 전후 예제 요청 및 응답 작성자와의 트랜잭션.
여기에 따라 코드를 어디에서 추가해야합니까?