Ich habe einen http-Server, den ich profilieren möchte. Ich habe _ "net/http/pprof"
zu meinen Importen hinzugefügt, und ich habe bereits http-Server ausgeführt:
Wenn ich versuche, auf Ссылка zuzugreifen, erhalte ich 404 page not found
.
Das bekomme ich, wenn ich go tool pprof
auf einem lokalen Rechner verwende:
Gleiches gilt für einen Remote-Client:
%Vor% Es wird nicht explizit in der Dokumentation erwähnt, aber net/http/pprof
registriert nur seine Handler mit http.DefaultServeMux
.
Wenn Sie den Standard-Mux nicht verwenden, müssen Sie nur einen oder alle gewünschten Parameter mit dem von Ihnen verwendeten Mux registrieren, z. etwas wie mymux.HandleFunc("…", pprof.Index)
, etc.
Alternativ können Sie einen separaten Port (der möglicherweise auch nur an localhost gebunden ist) mit dem Standard-Mux als abhören .
Sieht so aus, als ob das Problem in einem *mux.Router
von github.com/gorilla/mux
lag, das ich als Handler
in meiner http.Server
Instanz verwendet habe.
Lösung: Starten Sie einfach einen weiteren Server nur für die pprof
: