Sobes.tech
Middle+

պատմիր pprof փաթեթի մասին

sobes.tech AI

Պատասխան AI-ից

pprof — դա Go-ում նախատեսված փաթեթ է, որը նախատեսված է ծրագրերի կատարողականության պրոֆիլավորման համար: Այն թույլ է տալիս հավաքել և վերլուծել CPU, հիշողության, բլոկների և այլ ռեսուրսների սպառման տվյալները ծրագրի գործարկման ժամանակ:

pprof-ի հիմնական հնարավորությունները՝

  • CPU, հիշողություն (heap), բլոկներ և goroutines պրոֆիլների հավաքում:
  • Պրոֆիլների տեսողականացում՝ զանգահարությունների գրաֆիկներ, flame graphs և այլ ձևաչափերով:
  • Ինտեգրացիա HTTP սերվերի հետ՝ դինամիկ պրոֆիլավորում գործող ծրագրի:

Օգտագործման օրինակ՝

import (
    "net/http"
    _ "net/http/pprof"
)

func main() {
    go func() {
        log.Println(http.ListenAndServe("localhost:6060", nil))
    }()
    // հիմնական կոդը
}

Ծրագրի գործարկումից հետո կարող եք բացել բրաուզերը http://localhost:6060/debug/pprof/ հասցեում և դիտել պրոֆիլները:

Նաև կարող եք հավաքել պրոֆիլներ՝ օգտագործելով հետևյալ հրամանը՝

ngo tool pprof http://localhost:6060/debug/pprof/profile?seconds=30

pprof օգնում է հայտնաբերել կատարողականության խոչընդոտները և օպտիմալացնել կոդը։