나는 flame graphs에 대해 알게되었고 매력적이었습니다. 그러나 PHP 스크립트를 생성하는 방법에 대한 유용한 참고 자료는 찾을 수 없었습니다. 어떻게하면 데이터를 수집하고 PHP를 사용하여 그래프를 생성 할 수 있습니까?PHP로 불꽃 그래프를 생성하는 방법은 무엇입니까?
33
A
답변
6
Xdebug을 사용하면 PHP 코드의 캐시 그라인드 프로필을 만들 수 있습니다. PHP를 사용하여 xdebug의 cachegrind 출력을 처리하는 this project을 살펴볼 수 있습니다.
관련 문제
- 1. 임의의 그래프를 생성하는 방법은 무엇입니까?
- 2. LLVM을 사용하여 콜 그래프를 생성하는 방법은 무엇입니까?
- 3. 파이썬에서 그래프를 생성하는 가장 쉬운 방법은 무엇입니까?
- 4. 어셈블리에서 제어 흐름 그래프를 생성하는 방법은 무엇입니까?
- 5. android APK에서 콜 그래프를 생성하는 방법은 무엇입니까?
- 6. PHPExcel을 사용하여 그러한 그래프를 생성하는 방법은 무엇입니까?
- 7. PHP로 올바른 주문 번호를 생성하는 방법은 무엇입니까?
- 8. PHP로 임의의 숫자를 생성하는 방법은 무엇입니까?
- 9. PHP로 그래프를 그리려면 어떻게해야합니까?
- 10. PHP로 보고서를 생성하는 도구는 무엇입니까?
- 11. Yesod에서 불꽃 코드로 위젯을 작성하는 방법은 무엇입니까?
- 12. PC-Lint를 사용하여 콜 그래프를 생성하는 방법은 무엇입니까?
- 13. Android AchartEngine 결합 된 그래프를 생성하는 방법은 무엇입니까?
- 14. 하나의 프로젝트에 대해서만 클래스별로 의존성 그래프를 생성하는 방법은 무엇입니까?
- 15. JFreeChart를 사용하여 부드러운 곡선 그래프를 생성하는 방법은 무엇입니까?
- 16. 그래프를 직렬화하는 방법은 무엇입니까?
- 17. MediaWiki의 내비게이션지도/그래프를 생성하는 방법
- 18. 는 "불꽃"하스켈
- 19. 스파크에서 불꽃
- 20. 불꽃 OpenGL을
- 21. 프런트 엔드에 통계 그래프를 생성하는 모든 WordPress?
- 22. 큰 그래프를 균일하게 샘플링하는 방법은 무엇입니까?
- 23. Graphviz 그래프를 효율적으로 애니메이션화하는 방법은 무엇입니까?
- 24. 레일스에서 그래프를 만드는 방법은 무엇입니까?
- 25. 매트릭스에서 그래프를 그리는 방법은 무엇입니까?
- 26. JGraphT에서 그래프를 복사하는 방법은 무엇입니까?
- 27. linux로 그래프를 그리는 방법은 무엇입니까?
- 28. symfony2에서 그래프를 사용하는 방법은 무엇입니까?
- 29. jsf에서 그래프를 만드는 방법은 무엇입니까?
- 30. 큰 그래프를 시각화하는 방법은 무엇입니까?
브렌든 그레그 (Brendan Gregg)는 불꽃 그래프에 대해 도움이된다면 [* lot to say *] (http://www.brendangregg.com/FlameGraphs/cpuflamegraphs)를 가지고 있습니다. 개인적으로, 제 의견으로는 그들은 과대 평가를 받았습니다. 그들은 꽤 착색 된 픽셀로 당신을 괴롭 히지만, 코드 속도를 높이기 위해 수정할 수있는 것들 [* 쉽게 숨길 수 있습니다 *] (http://stackoverflow.com/a/25870103/23771). –
@MikeDunlavey : 예쁜 픽셀은 신경 쓰지 않지만, 플레임 그래프를 눈짓으로 평가 한 것에도 동의하지 않습니다. 그들은 몇몇 * (전부는 아니지만!) 프로파일 링 작업을 훨씬 쉽게 만들어 주며, 그것은 나에게 잘됩니다. 그래서 PHP 웹 애플 리케이션을 위해 어떻게 만들 수 있는지 알고 있습니까? :) – johndodo
내가 그들을 만들고 싶다면, 스택 샘플 (CPU가 아닌 벽시계)을 많이 수집 할 것입니다. 각 샘플을 긴 문자열로 생각하면, 어휘 순서로 정렬 할 것입니다. 그런 다음 각 개별 기능에 색상을 지정하십시오. 그런 다음 정렬 된 목록을 스캔하고 각 루틴을 컬러 사각형으로 렌더링하는 것입니다. 나의 유일한 요점은, 만약 당신이 실제로 속도가 필요하다면, 5 개의 스피드 업 중에서 오직 하나의 스피드 업만이 당신의주의를 탈출하게된다면, 그것은 당신이 원하는 속도를 큰 요인으로 얻는 것을 막을 것입니다. 왜냐하면 당신이 다른 것들을 깨끗이 씻기 시작하면, 당신이 얻지 못하는 것들이 지배적으로되기 때문입니다. –