Sobes.tech
Middle+

გააზიარე pprof პაკეტი

sobes.tech AI

პასუხი AI-სგან

pprof — ეს არის Go-ის პაკეტი, რომელიც განკუთვნილია პროგრამების შესრულების პროფილირებისთვის. იგი საშუალებას აძლევს აგროვოს და გაანალიზოს CPU-ს, მეხსიერების, ბლოკირებების და სხვა რესურსების მოხმარების მონაცემები პროგრამის შესრულების დროს.

pprof-ის ძირითადი შესაძლებლობები:

  • CPU-ს, მეხსიერების (heap), ბლოკირებების და goroutine-ების პროფილების შეგროვება.
  • პროფილების ვიზუალიზაცია ზარების გრაფიკების, 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 ეხმარება შესრულების bottleneck-ების გამოვლენაში და კოდის ოპტიმიზაციაში.