Viewing File: /opt/alt/python35/lib64/python3.5/__pycache__/pstats.cpython-35.opt-2.pyc



]g@sddlZddlZddlZddlZddlZddlmZdgZGdddZGdddZ	ddZ
d	d
ZddZd
dZ
ddZddZddZedkrddlZyddlZWnek
rYnXGdddejZeejdkrJejdZndZykeeZx(ejddD]ZejeqsWeddejejeddejWne k
rYnXdS)N)
cmp_to_keyStatsc@sceZdZddddZddZddZd	d
ZddZd
dZddNddRddVddZdd]dd`ddcddfddid"dnd$drd'dud*dyd-d}iZ	d.d/Z
d0d1Zd2d3Zd4d5Z
d6d7Zd8d9Zd:d;Zd<d=Zd>d?Zd@dAZdBdCZdDdEdFZdGdHZdIdJZdS)~rstreamNcGs_|ptj|_t|s'd}n|d}|dd}|j||j|dS)Nr)sysstdoutrleninitadd)selfrargsargr+/opt/alt/python35/lib64/python3.5/pstats.py__init__As	

zStats.__init__cCsd|_g|_d|_d|_d|_d|_d|_t|_i|_	i|_
|j|y|jWnBt
k
rtd|jr|jdndd|jYnXdS)NrzInvalid timing data %srfile)all_calleesfilesfcn_listtotal_tttotal_calls
prim_callsmax_name_lenset	top_levelstats
sort_arg_dict
load_statsget_top_level_stats	Exceptionprintr)rr
rrrr	Ks"									

'z
Stats.initcCs|dkri|_dSt|trt|d}tj||_WdQRXy-tj|}tj	|j
d|}WnYnX|g|_n.t|dr|j
|j|_i|_|jstd|j|fdS)Nrbz    create_statsz.Cannot create or construct a %r object from %r)r
isinstancestropenmarshalloadosstattimectimest_mtimerhasattrr$	TypeError	__class__)rr
fZ
file_statsrrrr^s(	
		zStats.load_statscCsx|jjD]\}\}}}}}|j|7_|j|7_|j|7_d|krt|jj|tt||j	krtt||_	qWdS)Njprofilerprofiler)r3rr4)
ritemsrrrrr
rfunc_std_stringr)rfuncccncttctcallersrrrr ts+zStats.get_top_level_statscGsF|s
|Sx5t|D]'}t|t|krAt|}|j|j7_|j|j7_|j|j7_|j|j7_x!|jD]}|jj|qW|j	|j	kr|j	|_	d|_
xg|jjD]V\}}||jkr|j|}nddddif}t
|||j|<qWqW|S)Nr)reversedtyperrrrrrr
rrrr5add_func_stats)rarg_listitemr7r+Z
old_func_statrrrr
~s(	z	Stats.addc
Cs0t|d}tj|j|WdQRXdS)Nwb)r'r(dumpr)rfilenamer2rrr
dump_statsszStats.dump_statscallsr
call countZncallsZcumtimecumulative time
cumulativer	file namerDlineline numbermodulename
function nameZnflname/file/lineZpcallsrprimitive call countstdname
standard namer,
internal timeZtottimecCs|jsi|_}i}xh|jjD]W\}}|}xB|r|sNP||kred||<P|||<|dd}qAWq,Wx|D]
}||=qW|jS)Nrrr)rsort_arg_dict_defaultr5)rdictZbad_listwordtupZfragmentrrrget_sort_arg_defss 	
	


zStats.get_sort_arg_defscGsz|sd|_|St|dkrat|dtraddddddddi|dg}|j}f}d|_d}xA|D]9}|||d}|j|||d7_d	}qWg}xY|jjD]H\}\}}	}
}}|j||	|
|f|t	||fqW|j
d
tt|j
g|_}
x|D]}|
j|dq[W|S)
NrrrVrFr,rYrJrz, keyrr)rrr%intr_	sort_typerr5appendr6sortr	TupleCompcompare)rZfieldZ
sort_arg_defsZ
sort_tupleZ	connectorr]Z
stats_listr7r8r9r:r;r<rtuplerrr
sort_statss2	%	

+

zStats.sort_statscCs|jr|jj|S)N)rreverse)rrrr
reverse_orders	
zStats.reverse_ordercCs[|j}i|_}d}x|jD]\}\}}}}}	t|}
tt|
|krztt|
}i}x*|	jD]\}}
|
|t|<qW|
|krt||
|||||f||
<q)|||||f||
<q)W|j}t|_}x!|D]}|jt|qW||_	d|_
d|_|S)Nr)rr5func_strip_pathrr6r?rrr
rrr)rZoldstatsZnewstatsrr7r8r9r:r;r<ZnewfuncZ
newcallersfunc2callerZold_topZnew_toprrr
strip_dirss.	
(	
			zStats.strip_dirsc
Cs|jr
dSi|_}x|jjD]r\}\}}}}}||kr[i||<x>|jD]0\}}	||kri||<|	|||<qhWq*WdS)N)rrr5)
rrr7r8r9r:r;r<rlrmrrrcalc_calleess	
+

zStats.calc_calleesc
Csx|}t|trytj|}Wn-tjk
rW|d|7}||fSYnXg}x|D](}|jt|re|j|qeWnt|}t|t	rd|kodknrt
||d}|d|}nAt|t
r3d|ko|knr3|}|d|}t|t|krn|dt|t||f7}||fS)Nz#   <Invalid regular expression %r>
gg?g?rz6   List reduced from %r to %r due to restriction <%r>
)r%r&recompileerrorsearchr6rcrfloatra)rZsellistmsgZnew_listZrexr7countrrreval_print_amounts,
++zStats.eval_print_amountcCs|j}|jr9|jdd}d|jd}nt|jj}d}x)|D]!}|j|||\}}q[Wt|}|sd|fSt|d|j	|t|jkrd}x8|D]0}tt
||krtt
|}qW|d|fS)Nz   Ordered by: 
z!   Random listing order was used
rrrY)rrrbrurkeysrxrr"rr6)rZsel_listwidthZ	stat_listrvZ	selectionrwr7rrrget_print_list2s$		


zStats.get_print_listcGs[x$|jD]}t|d|jq
W|jr@td|jd}x-|jD]"}t|t|d|jqPWt||jdddd|j|j|jkrtd|jddd|jtd|jd|jtd|j|j|\}}|rW|j	x|D]}|j
|q Wtd|jtd|j|S)	Nr zfunction callsendz(%d primitive calls)zin %.3f secondsz        )rr"rrfunc_get_function_namerrrr|print_title
print_line)ramountrDindentr7r{rurrrprint_statsJs(	 " 

zStats.print_statscGs|j|\}}|r|j|j|dxM|D]E}||jkrn|j|||j|q<|j||iq<Wtd|jtd|j|S)Nz	called...r)r|roprint_call_headingrprint_call_liner"r)rrr{rur7rrr
print_calleesas

zStats.print_calleesc
Gs|j|\}}|r|j|dx@|D]8}|j|\}}}}}	|j|||	dq2Wtd|jtd|j|S)Nzwas called by...z<-r)r|rrrr"r)
rrr{rur7r8r9r:r;r<rrr
print_callersps
zStats.print_callersc
Cstdj||d|jd}xT|jjD]C\}}}}}|r6tt|j}	t|	t}Pq6W|rtd|dd|jdS)Nz	Function rFr}z    ncalls  tottime  cumtime)	r"ljustrrvaluesnextiterr%rg)
r	name_sizeZcolumn_titleZ	subheaderr8r9r:r;r<valuerrrr{s %zStats.print_call_headingz->cCsktt|j||ddd|j|sFtd|jdSt|j}d}x|D]}t|}||}	t|	tr|	\}
}}}
|
|krd|
|f}n
d|
f}d|jdd	t	|t
|t
|
|f}|d
}n.d||	t
|j|df}|d}t|||d|jd}qeWdS)
Nrr}rrz%d/%dz%dz%s %s %s  %srWrYrz	%s(%r) %srH)r"r6rrsortedrzr%rgrjustrf8r)rrsourceZ	call_dictZarrowZclistrr7rQrr9r8r:r;ZsubstatsZ
left_widthrrrrs*,



$
zStats.print_call_linecCs0tdddd|jtdd|jdS)Nz-   ncalls  tottime  percall  cumtime  percallrr}rzfilename:lineno(function))r"r)rrrrrszStats.print_titlecCs[|j|\}}}}}t|}||krH|dt|}t|jdddd|jtt|ddd|j|dkrtdddd|jn#tt||ddd|jtt|ddd|j|dkrtd	ddd|jn#tt||ddd|jtt|d|jdS)
N/	rr}rrr~z        z        )rr&r"rrrr6)rr7r8r9r:r;r<crrrrs"##zStats.print_linerrrr)rrGrrrr)rrGrrHrr)rrIrrHrr)rrIrKrr)rrLrKrr)rrLrNrr)rrOrKrr)rrLrRrr)rrSrRrrKrrNrrrr)rrTrrrr)rrUrWrr)rrXrrYrr)rrZrrYrr)rrZ)__name__
__module____qualname__rr	rr r
rEr[r_rhrjrnrorxr|rrrrrrrrrrrr sD!

 c@s(eZdZddZddZdS)recCs
||_dS)N)comp_select_list)rrrrrrszTupleComp.__init__cCsSxL|jD]A\}}||}||}||kr;|S||kr
|Sq
WdS)Nr)r)rleftrightindex	directionlrrrrrfs

zTupleComp.compareN)rrrrrfrrrrresrecCs(|\}}}tjj|||fS)N)r*pathbasename)	func_namerDrMrQrrrrksrkcCs|dS)NrYr)r7rrrrsrcCsc|ddd	krW|d}|jdrP|jdrPd|dd
S|Snd|SdS)NrY~r<>z{%s}rz	%s:%d(%s))rrr)
startswithendswith)rrQrrrr6s
r6cCsV|\}}}}}|\}}}	}
}||||||	||
t||fS)N)add_callers)targetrr8r9r:r;r<Zt_ccZt_ncZt_ttZt_ctZ	t_callersrrrr?sr?cCsi}x$|jD]\}}|||<qWx}|jD]o\}}||krt|trtddt|||D||<q|||7<q:|||<q:W|S)NcSs"g|]}|d|dqS)rrr).0irrr
<listcomp>s	zadd_callers.<locals>.<listcomp>)r5r%rgzip)rrZnew_callersr7rmrrrrs!rcCs+d}x|jD]}||7}qW|S)Nr)r)r<r9rFrrrcount_callssrcCsd|S)Nz%8.3fr)xrrrrsr__main__c@sKeZdZdddZddZddZdd	Zd
dZdd
ZddZ	ddZ
ddZddZddZ
ddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Zd4d5ZdS)6ProfileBrowserNcCsKtjj|d|_d|_tj|_|dk	rG|j|dS)Nz% )	cmdCmdrpromptrrrrdo_read)rprofilerrrrs		zProfileBrowser.__init__cCs|j}g}x|D]}y|jt|wWntk
rMYnXyNt|}|dksu|dkrtdd|jw|j|wWntk
rYnX|j|qW|jrt|j||ntdd|jdS)Nrrz#Fraction argument must be in [0, 1]rzNo statistics object is loaded.)	splitrcra
ValueErrorrtr"rrgetattr)rfnrMrZ	processedZtermZfracrrrgeneric"s,



	zProfileBrowser.genericcCsvtdd|jtdd|jtdd|jtdd|jtdd|jtdd|jdS)NzArguments may be:rz0* An integer maximum number of entries to print.z:* A decimal fractional number between 0 and 1, controllingz-  what fraction of selected entries to print.z8* A regular expression; only entries with function namesz  that match it are printed.)r"r)rrrrgeneric_help:szProfileBrowser.generic_helpcCs||jrey|jj|Wqxtk
ra}z"td||fd|jWYdd}~XqxXntdd|jdS)Nz$Failed to load statistics for %s: %srzNo statistics object is loaded.r)rr
IOErrorr"r)rrMerrrdo_addBs	3zProfileBrowser.do_addcCstdd|jdS)Nz>Add profile info from given file to current statistics object.r)r"r)rrrrhelp_addKszProfileBrowser.help_addcCs|jd|S)Nr)r)rrMrrr
do_calleesNszProfileBrowser.do_calleescCs!tdd|j|jdS)Nz6Print callees statistics from the current stat object.r)r"rr)rrrrhelp_calleesPszProfileBrowser.help_calleescCs|jd|S)Nr)r)rrMrrr
do_callersTszProfileBrowser.do_callerscCs!tdd|j|jdS)Nz6Print callers statistics from the current stat object.r)r"rr)rrrrhelp_callersVszProfileBrowser.help_callerscCstdd|jdS)Nrrr)r"r)rrMrrrdo_EOFZszProfileBrowser.do_EOFcCstdd|jdS)NzLeave the profile brower.r)r"r)rrrrhelp_EOF]szProfileBrowser.help_EOFcCsdS)Nrr)rrMrrrdo_quit`szProfileBrowser.do_quitcCstdd|jdS)NzLeave the profile brower.r)r"r)rrrr	help_quitbszProfileBrowser.help_quitcCs|ryt||_Wntk
r^}z#t|jdd|jdSWYdd}~XnItk
r}z)t|jjd|d|jdSWYdd}~XnX|d|_	nKt
|j	dkr|j	dd}|j|ntdd|jdS)	Nrr:z% rYz1No statistics object is current -- cannot reload.r)rrOSErrorr"rrr!r1rrrr)rrMerrrrrres zProfileBrowser.do_readcCs*tdd|jtdd|jdS)Nz+Read in profile data from a specified file.rz*Without argument, reload the current file.)r"r)rrrr	help_readvszProfileBrowser.help_readcCs0|jr|jjntdd|jdS)NzNo statistics object is loaded.rr)rrjr"r)rrMrrr
do_reversezs	zProfileBrowser.do_reversecCstdd|jdS)Nz/Reverse the sort order of the profiling report.r)r"r)rrrrhelp_reverseszProfileBrowser.help_reversecs|js tdd|jdS|jj|rstfdd|jDrs|jj|jnTtdd|jx>tjj	D]-\}}td||dfd|jqWdS)	NzNo statistics object is loaded.rc3s|]}|kVqdS)Nr)rr)abbrevsrr	<genexpr>sz)ProfileBrowser.do_sort.<locals>.<genexpr>z/Valid sort keys (unique prefixes are accepted):z%s -- %srr)
rr"rr_allrrhrr[r5)rrMr`rr)rrdo_sorts	+%zProfileBrowser.do_sortcCs*tdd|jtdd|jdS)Nz.Sort profile data according to specified keys.rz3(Typing `sort' without arguments lists valid keys.))r"r)rrrr	help_sortszProfileBrowser.help_sortcsfddtjDS)Ncs%g|]}|jr|qSr)r)ra)textrrrs	z0ProfileBrowser.complete_sort.<locals>.<listcomp>)rr[)rrrr)rr
complete_sortszProfileBrowser.complete_sortcCs|jd|S)Nr)r)rrMrrrdo_statsszProfileBrowser.do_statscCs!tdd|j|jdS)Nz.Print statistics from the current stat object.r)r"rr)rrrr
help_statsszProfileBrowser.help_statscCs0|jr|jjntdd|jdS)NzNo statistics object is loaded.r)rrnr"r)rrMrrrdo_strips	zProfileBrowser.do_stripcCstdd|jdS)Nz<Strip leading path information from filenames in the report.r)r"r)rrrr
help_stripszProfileBrowser.help_stripcCstdd|jdS)NzShow help for a given command.r)r"r)rrrr	help_helpszProfileBrowser.help_helpcCs|r
|SdS)Nr)rstoprMrrrpostcmdszProfileBrowser.postcmd)rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrs4	rrrYz*Welcome to the profile statistics browser.rzGoodbye.)!rr*r,r(rp	functoolsr__all__rrerkrr6r?rrrrrreadlineImportErrorrrrargvZinitprofileZbrowserrrr"rZcmdloopKeyboardInterruptrrrr<module>sF	



Back to Directory File Manager