http handler, Latency vb. Tarafından kullanılan sistem kaynaklarını yakalamaya çalışıyordum. Yani, bu goRelic aracısını buldum.
i http ölçüyü yakalayabilir folowing yolu kullanarak diyor :Özel http işleyicisinin goRelic aracısını kullanarak HTTP metriklerini yakalama
type appHandler struct {
*appContext
H func(*appContext, http.ResponseWriter, *http.Request) (int, error)
}
func (ah appHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
// Updated to pass ah.appContext as a parameter to our handler type.
status, err := ah.H(ah.appContext, w, r)
if err != nil {
log.Printf("HTTP %d: %q", status, err)
switch status {
case http.StatusNotFound:
http.NotFound(w, r)
// And if we wanted a friendlier error page, we can
// now leverage our context instance - e.g.
// err := ah.renderTemplate(w, "http_404.tmpl", nil)
case http.StatusInternalServerError:
http.Error(w, http.StatusText(status), status)
default:
http.Error(w, http.StatusText(status), status)
}
}
}
func main() {
r := web.New()
// We pass an instance to our context pointer, and our handler.
r.Get("/", appHandler{context, IndexHandler})
graceful.ListenAndServe(":8086", r)
}
Peki yapın şu şekildedir: i link verilen özel http işleyicisi kullanıyorum edilir
agent.CollectHTTPStat = true
http.HandleFunc("/", agent.WrapHTTPHandlerFunc(handler))
Ancak sorunun Bu tanıtıcı için http metriğini ele geçirdim veya benzer ölçüleri yakalayabileceğim başka bir araç var mı?
Kullanım 'için elithrar teşekkür WrapHandler' yerine: https://godoc.org/github.com/yvasiyarov/gorelic#Agent.WrapHTTPHandler – elithrar
Maalesef bu görmedi. Bu arada teşekkür ederim – Naresh