github地址: https://github.com/newrelic/go-agent
package main
import (
"github.com/newrelic/go-agent"
"github.com/gorilla/mux"
"xxxxx/monitoring"
)
var appRelic newrelic.Application
func main() {
//add new relic monitoring
configRelic := newrelic.NewConfig("Your Application Name", config.MustGetString("server.new_relic_key"))
appRelic, err = newrelic.NewApplication(configRelic)
if err != nil {
log.Fatal("Unable init new relic:", err.Error())
return
}
txn := appRelic.StartTransaction("backgroundTask", nil, nil)
defer txn.End()
r := NewRouter()
}
func NewRouter() *mux.Router {
r := mux.NewRouter()
r.HandleFunc(monitoring.Monitor(newrelic.WrapHandleFunc(appRelic, "/v1/register/phone", Auth(handlers.Register, crypto.PURPOSE_REGISTER)))).Methods("POST")
r.HandleFunc(monitoring.Monitor(newrelic.WrapHandleFunc(appRelic, "/v1/login/phone", Auth(handlers.Login)))).Methods("POST")
return r
}
}