Sto utilizzando gocraft/web
in un progetto e sto cercando di eseguire il debug dell'utilizzo di memoria elevata. gocraft/web
utilizza la riflessione per chiamare i gestori. Ho impostato il profiler net/http/pprof
che funziona molto bene, ma il più grande blocco di memoria, e quello in cui sono iterested, mostra solo la funzione reflect.Value.call
. Non è molto utile.GoLang - Esiste un modo per profilare l'utilizzo della memoria del codice che utilizza reflect?
Come posso aggirare il fatto che gocraft/web
utilizza il riflesso e scavare più in profondità nel profilo di memoria?
Ecco un esempio di output profilo che sto vedendo:
Puoi provare a profilare questo con go1.5? Un effetto collaterale del nuovo runtime è che espone più interni al profiler. – JimB
@JimB che sarebbe stato fantastico se avesse funzionato, ma sfortunatamente no. – cellofellow