Ne pouvez pas obtenir golang pprof de travail

J'ai essayé de profil de certains golang applications, mais je ne pouvais pas avoir ce travail, j'ai suivi ces deux tutoriels:

À la fois dit que, après l'ajout de quelques lignes de code à la demande, vous devez exécuter votre application, je l'ai fait et je receiveed le message suivant à l'écran:

2015/06/16 12:04:00 profil: cpu profilage activé,
/var/folders/kg/4fxym1sn0bx02zl_2sdbmrhr9wjvqt/T/profile680799962/cpu.pprof

Donc, je comprends que le profilage est en cours d'exécution, l'envoi d'info dans le fichier.

Mais, quand je vois la taille du fichier, dans n'importe quel programme que j'ai tester, il est toujours 64bytes.

Lorsque j'essaie d'ouvrir le cpu.pprof fichier avec pprof, et j'exécute le "top 10" de commande, je vois que rien n'est dans le fichier:

("./fait" est l'une de mes applications)

aller outil pprof ./fait
/var/folders/kg/4fxym1sn0bx02zl_2sdbmrhr9wjvqt/T/profile680799962/cpu.pprof

top10 -->

(pprof) top10 0 0 total ( 0%)
flat flat% somme% cum cum%

Donc, c'est comme rien ne se passe quand je suis profilage.

Je l'ai testé sous mac (cet exemple) et dans ubuntu, avec trois programmes différents.

Savez-vous que je fais de mal?

Puis comme par exemple le programme est très simple, c'est le code (c'est très simple factorielle programme que je prends à partir d'internet):

import "fmt"
import "github.com/davecheney/profile"

func fact(n int) int {
      if n == 0 {
        return 1
      }
      return n * fact(n-1)
}

func main() {
      defer profile.Start(profile.CPUProfile).Stop()
      fmt.Println(fact(30))
}

Grâce,
Fer

D'abord, quel système d'exploitation utilisez-vous? Deuxièmement, pprofest un "profileur d'échantillonnage", et que vous ne faites pas quelque chose qui peut être échantillonnés. Votre application doit être en permanence l'exécution des instructions pour certaines quantité appréciable de temps pour accumuler assez d'échantillons (lors de l'utilisation de net/http/pprof, la valeur par défaut de temps d'échantillonnage est de 30s)
Je suis en train de travailler avec OS x 10.10.2 (Yosemite). J'essaie maintenant de prendre le profil de travailler pendant de longues périodes de temps, et maintenant je vois que le fichier avoir plus d'informations 🙂 merci!
vous devez également lire alors: godoc.org/rsc.io/pprof_mac_fix

OriginalL'auteur Fersca | 2015-06-16