2011-11-21 4 views
6

필자는 파이썬에서 코드 커버리지를 한 번도 해보지 않았지만 각 라인이 몇 번이나 실행되는지를 알려주는 GCCgcov과 같은 함수를 찾고 있습니다. 각 함수가 가져 오는 시간의 계층 적 분석을 제공하는 Apple의 상어입니다. .라이브 Django 서버에서 프로파일 링 하시겠습니까?

내 문제는 내가 높은 부하를 겪고있는 라이브 서버가 있고 그 원인을 로그에서 알 수 없다는 것입니다. 어떤 장선이 가장 뜨거웠는지와/또는 어떤 함수가 가장 긴 시간을 사용하고 있는지 모니터하기 위해 장고 인스턴스에 뭔가를 붙이고 싶습니다.

이것은 코드 커버리지와 같지만 정확히 일치하지 않습니다. 가급적 많이 수정하지 않고 라이브 실행 서버에 소개하고 싶습니다.

아이디어가 있으십니까?

답변

2

cprofile 명령 + RunSnakeRun : http://www.vrplumber.com/programming/runsnakerun/

+1

실행중인 장고 프로세스에 어떻게 cProfile을 첨부합니까? – Joe

+0

프로파일 러를 실행중인 프로세스에 첨부 할 수 없습니다. django 프로세스를'cProfile.py'에서 시작해야합니다 : http://docs.python.org/library/profile.html#instant-user-s-manual – catavaran

+0

그래, 대답은 내 시작 스크립트로 바이올린을 넣어 매우 개입하지 않습니다. 감사! – Joe

1

나는이 패턴을 사용 모니터 스레드는 로그 파일에 매 0.3 초 ​​스택 추적을 기록합니다. 몇 시간 후에 통역사가 가장 많은 시간을 보내는 곳을 볼 수 있습니다. 그것은 내 서버를 느리게하지 않습니다

Live Profiling of Python Server

3

Django-live-profilerstatprof를 사용하여 실행중인 응용 프로그램을 프로파일 링하고 결과를 시각화 할 수있는 장고 드롭 응용 프로그램입니다.