Intern — Junior
Ի՞նչ տվյալներ կարելի է ստանալ ծրագրի կամ համակարգի պրոֆիլավորման գործընթացի միջոցով:
sobes.tech AI
Պատասխան AI-ից
Ծրագրի կամ համակարգի պրոֆիլավորումը թույլ է տալիս ստանալ հետևյալ տվյալները:
- պրոցեսորի (CPU) օգտագործում — թե որ ֆունկցիաները կամ մեթոդները զբաղեցնում են ամենաշատ ժամանակը պրոցեսորում:
- հիշողության օգտագործում — որքան հիշողություն է հատկացվում և որտեղ են տեղի ունենում լիքերը:
- առանձին գործողությունների կամ ֆունկցիաների կատարման ժամանակը:
- ֆունկցիաների կանչերի քանակը և դրանց բաշխումը:
- բլոկավորումների և թելերի մրցակցության մասին տեղեկատվություն:
Go-ում հաճախ օգտագործվում է pprof փաթեթը, որը թույլ է տալիս հավաքել և վերլուծել այս տվյալները:
CPU պրոֆիլը սկսելու օրինակ՝
import (
"net/http"
_ "net/http/pprof"
)
func main() {
go func() {
log.Println(http.ListenAndServe("localhost:6060", nil))
}()
// ծրագրի հիմնական տրամաբանությունը
}
Այնուհետև կարելի է միանալ http://localhost:6060/debug/pprof/ հասցեին՝ վերլուծության համար։