Kibana: Graphiques de flamme

Créé le 31 janv. 2018  ·  3Commentaires  ·  Source: elastic/kibana

Les graphiques de flamme peuvent être utiles pour visualiser la sortie d'un outil de profilage :
http://www.brendangregg.com/flamegraphs.html
https://github.com/brendangregg/FlameGraph

screen shot 2018-01-30 at 4 42 17 pm

Je me souviens avoir discuté avec @danielmitterdorfer à ce sujet il y a quelque temps. Il serait intéressant de réfléchir à la manière dont les données de profilage peuvent être stockées dans Elasticsearch et visualisées dans une visualisation Kibana native comme celle-ci.

cc : @alexfrancoeur @thomasneirynck

New Vis KibanaApp discuss

Commentaire le plus utile

Une approche de visualisation très intéressante de l'équipe Netflix Perf, Flamescope

image

Cet outil permet de distinguer facilement les motifs et d'apparaître dans la vue Flamegraph avec une granularité inférieure à la seconde.

L'axe X est le temps (t) en secondes, l'axe Y est la fraction de milliseconde de t. Le vecteur qui produit la densité de couleur de la carte thermique est le nombre d'événements pour ce temps X->Y.

Tous les 3 commentaires

Je voulais un stockage de profilage depuis toujours. Maintenant que je suis chez Elastic, j'ai pensé que je ferais quelque chose à ce sujet. J'ai commencé sur un nouveau Beat qui regroupe les profils pprof : https://github.com/axw/pprofbeat.

(C'est ma première véritable incursion dans ES et Beats, donc le format de données n'est probablement pas génial - mais c'est quelque chose.)

Je me soucie principalement du profilage des programmes Go, ce qui est assez simple : importez un package standard et vous pouvez exposer les données de profil du processeur et du tas via un point de terminaison HTTP. Ce que je veux voir c'est :

  • profilage périodique (fait par pprofbeat ; d'autres battements seraient nécessaires pour le profilage sur machine, c'est-à-dire "perf" et amis)
  • Visualisations Kibana, avec la possibilité de comparer les profils (par exemple pour voir combien de mémoire a augmenté au fil du temps, ou comment le profil du processeur ressemble à différents niveaux de charge)

J'avais l'intention d'intégrer l'interface utilisateur Web "pprof" en tant que plugin, bien que je ne sache pas vraiment par où commencer. Inutile de dire que plus il est intégré, mieux c'est.

Quelques captures d'écran de l'interface utilisateur Web de pprof ci-dessous au cas où les gens ne le seraient pas - pourraient servir d'inspiration.

Exemple de graphe pprof :
image

Flamegraph Pprof :
image

Pprof principaux contrevenants :
image

Annotation du code source de Pprof :
image

Une approche de visualisation très intéressante de l'équipe Netflix Perf, Flamescope

image

Cet outil permet de distinguer facilement les motifs et d'apparaître dans la vue Flamegraph avec une granularité inférieure à la seconde.

L'axe X est le temps (t) en secondes, l'axe Y est la fraction de milliseconde de t. Le vecteur qui produit la densité de couleur de la carte thermique est le nombre d'événements pour ce temps X->Y.

J'ai pris la liberté de créer une nouvelle demande de type de visualisation dans Elastic Charts https://github.com/elastic/elastic-charts/issues/519 pour ouvrir la conversation avec cette équipe et afin de faire une évaluation qualifiée sur la poursuite une implémentation MVP pour APM et ce que cela devrait impliquer.

Cette page vous a été utile?
0 / 5 - 0 notes