Not able to see the profiling results properly for a profile generated from gperftools on mac OS High sierra

Aperta
#324 16 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
25/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
go, macos

Direzione di ricerca

Esamina innanzitutto l’invocazione di pprof --text, i file allegati Makefile.txt e sbmpart_prof.txt; confronta il profilo e i binari di gperftools con ciò che questa esecuzione di Go pprof accetta. Riproduci la sequenza di comandi su macOS High Sierra e usa gli errori di parsing e simbolizzazione riportati per definire il supporto o la diagnostica necessari. Il lavoro è completato quando il profilo allegato viene analizzato senza gli errori riportati, oppure quando vengono documentati la limitazione supportata e l’invocazione necessaria.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Priority: p3 type: question

Please answer these questions before submitting your issue. Thanks!

What version of pprof are you using?

Not able to find the version. How do I find one? I used go get github.com/google/prof to download the pprof.

If you are using pprof via go tool pprof, what's your go env output?
If you run pprof from GitHub, what's the Git revision?

git log -1 produces the below output

commit 20ceacaff62f6bf3e7c08128ea03d6faa84c880c (HEAD -> master, origin/master, origin/HEAD)
Author: Alexey Alexandrov <[email protected]>
Date:   Wed Feb 14 09:16:22 2018 -0800

    Enable MacOS binutils test. (#322)

What operating system and processor architecture are you using?

macOS High Sierra version 10.13.1 (2.9 GHz Intel Core i5)

What did you do?

pprof --text sbmpart sbmpart_prof.out
where sbmpart is the binary executable and sbmpart_prof.out is the profile output when the sbmpart binary is generated with -lprofiler flag for google gperftools.

If possible, provide a recipe for reproducing the error.
Attaching a profile you are trying to analyze is good.

I did the following steps:

make debug
CPUPROFILE=sbmpart_prof.out ./sbmpart argv1 argv2 argv3
pprof --text sbmpart sbmpart_prof.out

Note that the pprof referred to in step 3 is not from gperftools (I first install gperftools and then remove its pprof and then use go pprof)

I am also attaching the makefile and the profile generated from gperftools.

Makefile.txt
sbmpart_prof.txt

What did you expect to see?

I expect to see the CPU profiling results for all the functions without any error.

What did you see instead?

I see some errors. see below:
I have the below issues:

  1. how to fix the unrecognized profile format
  2. how to fix the unrecognized binary errors.
sbmpart: parsing profile: unrecognized profile format
Fetched 1 source profiles out of 2
Local symbolization failed for libdyld.dylib: unrecognized binary: /usr/lib/system/libdyld.dylib
Local symbolization failed for libsystem_platform.dylib: unrecognized binary: /usr/lib/system/libsystem_platform.dylib
Local symbolization failed for libsystem_c.dylib: unrecognized binary: /usr/lib/system/libsystem_c.dylib
Local symbolization failed for libsystem_m.dylib: unrecognized binary: /usr/lib/system/libsystem_m.dylib
Local symbolization failed for libsystem_kernel.dylib: unrecognized binary: /usr/lib/system/libsystem_kernel.dylib
Local symbolization failed for libsystem_malloc.dylib: unrecognized binary: /usr/lib/system/libsystem_malloc.dylib
Local symbolization failed for libsystem_kernel.dylib: unrecognized binary: /usr/lib/system/libsystem_kernel.dylib
Local symbolization failed for sbmpart: unrecognized binary: /Users/AkhilaRasamrtaMurthih/work/GraphChallenge/stochastic-block-partition/./sbmpart
Local symbolization failed for libsystem_c.dylib: unrecognized binary: /usr/lib/system/libsystem_c.dylib
Some binary filenames not available. Symbolization may be incomplete.
Try setting PPROF_BINARY_PATH to the search path for local binaries.
File: libobjc.A.dylib
Type: cpu
Showing nodes accounting for 19.24s, 99.12% of 19.41s total
Dropped 6 nodes (cum <= 0.10s)
      flat  flat%   sum%        cum   cum%
     7.81s 40.24% 40.24%      7.82s 40.29%  [libsystem_kernel.dylib]
     4.42s 22.77% 63.01%      4.61s 23.75%  sbm_delta_entropy
     1.64s  8.45% 71.46%      2.12s 10.92%  [libsystem_platform.dylib]
     1.61s  8.29% 79.75%      1.66s  8.55%  sbm_met_has
     1.36s  7.01% 86.76%      1.70s  8.76%  sbm_dyn_csr_add
     0.70s  3.61% 90.37%      5.86s 30.19%  sbm_dyn_csr_flush_adj_lists
     0.59s  3.04% 93.41%      0.68s  3.50%  [libsystem_malloc.dylib]
     0.39s  2.01% 95.41%      0.39s  2.01%  [libsystem_m.dylib]
     0.23s  1.18% 96.60%      0.36s  1.85%  sbm_adj_list_node_init
     0.21s  1.08% 97.68%      0.22s  1.13%  sbm_propose_new_blk
     0.14s  0.72% 98.40%      1.61s  8.29%  [libsystem_c.dylib]
     0.06s  0.31% 98.71%      0.12s  0.62%  monotonic_seconds
     0.02s   0.1% 98.82%      0.34s  1.75%  sbm_adj_list_add_node
     0.02s   0.1% 98.92%      1.45s  7.47%  sbm_compute_iblk_ec
     0.02s   0.1% 99.02%      0.14s  0.72%  sbm_read_tsv_append
     0.01s 0.052% 99.07%     10.04s 51.73%  sbm_partition
     0.01s 0.052% 99.12%      5.98s 30.81%  sbm_update_iblk_ec
         0     0% 99.12%     10.20s 52.55%  <unknown>
         0     0% 99.12%     10.18s 52.45%  [libdyld.dylib]
         0     0% 99.12%      1.20s  6.18%  [libprofiler.0.dylib]
         0     0% 99.12%     10.18s 52.45%  main
         0     0% 99.12%     10.18s 52.45%  sbm_stream_partition
Lingua principale
Go
Stelle
9.3k
Fork
686
Merge medio
4g 17h
PR unite (30g)
14

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di google/pprof

Tutte le issue di google/pprof

Issue simili

Altre issue su Go

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.