Webgrind
온라인에서 프로파일링 결과를 확인할 수 있도록 도와주는 도구로 함수나 메소드 별로 얼마나 시간이 소요됐는가 보여준다. 그래프로 프로파일링을 시각화하는 도구를 제공하고 있는 것이 특징
홈페이지
https://github.com/jokkedk/webgrind
웹인터페이스 설치
리눅스 배포판인 우분투를 기준으로 설명하겠다.
document root 하위 적당한 곳에 webgrind를 다운로드 받는다. 우분투는 /var/www 아래가 document root다.
압축을 해제한다.
1 | unzip master; |
설정을 변경한다.
1 | nano webgrind -master /config.php |
위의 파일 중에 Webgrind_Config 클래스의 static 변수들의 값을 이용해서 webgrind의 동작을 제어 할 수 있다. 그 중에 핵심적인 설정은 아래와 같다.
- $profilerDir : 프로파일링 정보가 저장되는 디렉토리로 xdebug의 설정 중 xdebug.profiler_output_dir 의 값과 같아야 한다.
이제 웹으로 접속해보자. 경로는 아래와 같다.
webgrind가 설치된 디렉토리/webgrind-master/
아래와 같이 보인다면 성공
프로파일을 실행한다. 프로파일을 실행하는 방법은 http://opentutorials.org/module/411/3649를 참조하자. /tmp 디렉토리에 cachegrind.out. 로 시작하는 파일이 있다면 webgrind가 알아서 프로파일 대상을 만들어 줄 것이다. 자세한 사용법은 동영상을 참고하자.
update 버튼을 누르면 프로파일 결과가 출력된다.
그래프 설치
webgrind는 프로파일링 데이터를 그래프로 만들어주는 도구인 gprof2dot.py 를 사용한다. gprof2dot.py는 그래프를 그려주기 위해서 graphviz를 다시 사용한다. 이것들을 위한 설정 및 설치를 해줘야 한다.
우선 프로파일링 정보를 그래프로 출력하고 싶다면 graphviz를 설치해야 한다.
1 | sudo apt -get install graphviz |
정상적으로 설치 되었는지 확인하기 위해서 아래의 명령을 실행해본다.
1 | dot - -help |
dot의 사용법이 출력된다면 설치에 성공한 것이다.
graphviz 설치까지 성공했다면 이제 설정을 해야 한다. 우선 python과 graphviz 실행 파일의 위치를 찾아야 한다.
아래의 명령을 입력해서 dot와 python의 설치 경로를 찾는다.
1 | find /usr -name dot |
1 | find /usr -name python |
config.php 파일을 열어서 $pythonExecutable와 $dotExecutable의 값을 설정해준다.
Show Call Graph를 실행하면 그래프가 출력된다.