Sobes.tech
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/ հասցեին՝ վերլուծության համար։