À propos du projet
pprof est un outil de visualisation et d'analyse de données de profilage. Il lit des échantillons de profilage au format profile.proto et génère des rapports pour visualiser et aider à analyser les données, produisant à la fois des rapports textuels et graphiques grâce au package de visualisation dot.
profile.proto est un buffer de protocole qui décrit un ensemble de piles d'appels et d'informations de symbolisation. Une utilisation courante est de représenter un ensemble de piles d'appels échantillonnées à partir d'un profilage statistique. Les profils peuvent être lus à partir d'un fichier local ou via HTTP, et plusieurs profils du même type peuvent être agrégés ou comparés.
Si les échantillons de profil contiennent des adresses machine, pprof peut les symboliser en utilisant les outils natifs binutils (addr2line et nm).
La construction de pprof nécessite le kit de développement Go d'une version prise en charge et éventuellement Graphviz pour générer des visualisations graphiques. L'outil peut être installé via `go install github.com/google/pprof@latest`.
L'utilisation de base comprend la génération de rapports textuels triés par chaleur, la génération de graphiques SVG ouverts dans un navigateur web, l'exécution en mode interactif où les utilisateurs peuvent émettre des commandes pour la visualisation et le raffinement, et l'exécution via une interface web en utilisant le drapeau `-http` pour démarrer un serveur web local avec une interface interactive basée sur navigateur.
pprof peut également lire des fichiers `perf.data` générés par l'outil Linux perf en utilisant le programme `perf_to_profile` du package perf_data_converter. Pour Windows, l'affichage du désassemblage des profils collectés à partir de programmes Go nécessite que l'exécutable soit construit avec `go build -buildmode=exe` et que LLVM ou GCC soit installé afin que des outils comme addr2line et nm soient disponibles.
Ceci n'est pas un produit officiel de Google.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.