Ho saputo di flame graphs e li ho trovati affascinanti - tuttavia, non ho trovato alcun riferimento utile su come generarli per i miei script PHP. Come posso raccogliere i dati e generare i grafici usando PHP?Come generare grafici di fiamma con PHP?
risposta
È possibile utilizzare Xdebug per creare profili di cachegrind del codice php. Puoi dare un'occhiata a this project che gestisce l'output cachegrind di xdebug usando php.
Se ho capito bene, l'idea è di creare uno strumento che analizzi l'output di cachegrind e lo visualizzi nei grafici di fiamma? Sembra fattibile ... – johndodo
Non sembra che ci sia uno strumento pronto all'uso costruito con PHP, ma forse kcachegrind può farlo ... – n00dl3
e per rispondere alla tua domanda, sì, il gioco è fatto! – n00dl3
- 1. Come generare grafici casuali?
- 2. generare grafici e diagrammi con Doxygen
- 3. Come generare RTF con PHP
- 4. Come posso generare processi concomitanti con PHP?
- 5. Generare grafici in file PDF usando TCPDF
- 6. Come generare json usando php?
- 7. Soluzione PHP per generare un grafico radar
- 8. Come generare json con smarty?
- 9. Come generare file Excel con i filtri automatici in PHP?
- 10. Come generare un grande file Excel con php?
- 11. Come generare un codice client soap PHP?
- 12. I modi più semplici per generare grafici da Python?
- 13. Più grafici ggplot2 con trama
- 14. Posso generare file Excel con grafici nativi di Excel su Linux?
- 15. Come generare una stringa di attivazione sicura in php?
- 16. Grafici PHP/Javascript rapidi e facili
- 17. Database strutturati per grafici e Php
- 18. grafici excel con perl
- 19. Creazione dinamica di grafici con jQuery
- 20. Come generare tutte le permutazioni di una stringa in PHP?
- 21. Come posso incorporare grafici grafici in powerpoints o il keynote di Apple?
- 22. Come creare grafici con Plotly su Django?
- 23. Visualizzazione dati: i migliori strumenti per generare grafici semplici in PDF con Javascript o Python
- 24. Come generare un ID Hibernate con auto di generare con un valore di partenza
- 25. Come generare getter e setter in eclipse (php)
- 26. Disegno di reticoli e grafici con Networkx
- 27. matplotlib: sovrapposizione di grafici con scale diverse?
- 28. Distribuisci grafici densità con ggplot
- 29. Esecuzione di script R con grafici
- 30. Grafici grafici in Java
Brendan Gregg ha un [* molto da dire *] (http://www.brendangregg.com/FlameGraphs/cpuflamegraphs) sui grafici delle fiamme, se questo aiuta. Personalmente, secondo me sono sopravvalutati. Ti prendono in giro con pixel colorati, ma le cose che potresti risolvere per accelerare il codice [* possono facilmente nasconderle *] (http://stackoverflow.com/a/25870103/23771). –
@MikeDunlavey: Anche a me non interessa nemmeno i pixel, ma non sono d'accordo con la tua valutazione dei grafici delle fiamme come se fossero dei dolcetti per gli occhi. Rendono * alcuni * (non tutti!) I compiti di profilazione molto più semplici, il che va bene per me. Quindi, sai come posso renderli per le applicazioni web PHP? :) – johndodo
Se volessi realizzarli, raccoglierei molti campioni di stack (in tempo di wall-clock, non in CPU). Considerando ogni campione come una lunga stringa, vorrei semplicemente ordinarli in ordine lessicale. Quindi assegnare un colore a ogni singola funzione. Quindi è solo una questione di scansione attraverso l'elenco ordinato e il rendering di ogni routine come un rettangolo colorato. Il mio unico punto è, se hai effettivamente bisogno di velocità, se anche solo uno su cinque speedup sfugge alla tua attenzione, impedirà di ottenere la velocità desiderata con un fattore importante. Perché dopo aver eliminato gli altri, quelli che non diventano diventano dominanti. –