ó sŪļQc@sYdZddlZddlmZddlmZedddƒdd d „ƒYZdS( s6High-perfomance logging profiler, mostly written in C.iĸĸĸĸN(t ProfilerError(twarnpy3ksOThe 'hotshot' module is not supported in 3.x, use the 'profile' module instead.t stacklevelitProfilecBs_eZddd„Zd„Zd„Zd„Zd„Zd„Zd„Zd „Z d „Z RS( iic Cs˜|r dpd|_|r'|r'dp*d|_tj||j|jƒ|_}|jtkr”|j|_|j|_|j |_ |j |_ ndS(Nii( t lineeventst linetimingst_hotshottprofilert_proft __class__Rtclosetstarttstoptaddinfo(tselftlogfnRRtp((s&/sys/lib/python2.7/hotshot/__init__.pyt__init__ s   cCs|jjƒdS(s-Close the logfile and terminate the profiler.N(RR (R((s&/sys/lib/python2.7/hotshot/__init__.pyR scCs |jjƒS(s6Return the file descriptor of the profiler's log file.(Rtfileno(R((s&/sys/lib/python2.7/hotshot/__init__.pyRscCs|jjƒdS(sStart the profiler.N(RR (R((s&/sys/lib/python2.7/hotshot/__init__.pyR "scCs|jjƒdS(sStop the profiler.N(RR (R((s&/sys/lib/python2.7/hotshot/__init__.pyR &scCs|jj||ƒdS(s3Add an arbitrary labelled value to the profile log.N(RR (Rtkeytvalue((s&/sys/lib/python2.7/hotshot/__init__.pyR *scCs(ddl}|j}|j|||ƒS(sŧProfile an exec-compatible string in the script environment. The globals from the __main__ module are used as both the globals and locals for the script. iĸĸĸĸN(t__main__t__dict__trunctx(RtcmdRtdict((s&/sys/lib/python2.7/hotshot/__init__.pytrun1s  cCs,t|ddƒ}|jj|||ƒ|S(s‡Evaluate an exec-compatible string in a specific environment. The string is compiled before profiling begins. stexec(tcompileRtruncode(RRtglobalstlocalstcode((s&/sys/lib/python2.7/hotshot/__init__.pyR<scOs|jj|||ƒS(sProfile a single call of a callable. Additional positional and keyword arguments may be passed along; the result of the call is returned, and exceptions are allowed to propogate cleanly, while ensuring that profiling is disabled on the way out. (Rtruncall(Rtfunctargstkw((s&/sys/lib/python2.7/hotshot/__init__.pyR!Fs( t__name__t __module__RR RR R R RRR!(((s&/sys/lib/python2.7/hotshot/__init__.pyR s      ((t__doc__RRtwarningsRt _warnpy3kR(((s&/sys/lib/python2.7/hotshot/__init__.pyts