OwlCyberSecurity - MANAGER
Edit File: tracemalloc.cpython-37.pyc
B ����� f�B������������������@���s��d�dl�mZmZ�d�dlmZ�d�dlZd�dlZd�dlZd�dl Z d�dl T�d�dl mZmZ�dd��Z G�dd ��d �ZG�d d��d�Zdd ��ZeG�dd��d��ZeG�dd��de��Zdd��ZG�dd��d�ZG�dd��de�Zdd��ZG�dd��d�ZG�dd��de�ZG�dd��de�ZG�d d!��d!�Zd"d#��ZdS�)$�����)�Sequence�Iterable)�total_orderingN)�*)�_get_object_traceback�_get_tracesc�������������C���sz���xtdD�]l}t�|��dk�r:|dkr:|r.d|�|f�S�d|�|f�S�t�|��dk�sN|dkrj|r^d|�|f�S�d |�|f�S�|�d �}�qW�d�S�)N)�BZKiBZMiBZGiB�TiB�d���r���z%+.1f %sz%.1f %si�(��r ���z%+.0f %sz%.0f %si���)�abs)�sizeZsignZunit��r ����0/opt/alt/python37/lib64/python3.7/tracemalloc.py�_format_size ���s���� r���c���������������@���sD���e�Zd�ZdZdZdd��Zdd��Zdd��Zd d ��Zdd��Z d d��Z dS�)� StatisticzS Statistic difference on memory allocations between two Snapshot instance. )� tracebackr����countc�������������C���s���||�_�||�_||�_d�S�)N)r���r���r���)�selfr���r���r���r ���r ���r����__init__%���s����zStatistic.__init__c�������������C���s���t�|�j|�j|�jf�S�)N)�hashr���r���r���)r���r ���r ���r����__hash__*���s����zStatistic.__hash__c�������������C���s$���|�j�|j�ko"|�j|jko"|�j|jkS�)N)r���r���r���)r����otherr ���r ���r����__eq__-���s����zStatistic.__eq__c�������������C���sB���d|�j�t|�jd�|�jf�}|�jr>|�j|�j�}|dt|d��7�}|S�)Nz%s: size=%s, count=%iFz, average=%s)r���r���r���r���)r����text�averager ���r ���r����__str__2���s���� zStatistic.__str__c�������������C���s���d|�j�|�j|�jf�S�)Nz)<Statistic traceback=%r size=%i count=%i>)r���r���r���)r���r ���r ���r����__repr__<���s����zStatistic.__repr__c�������������C���s���|�j�|�j|�jfS�)N)r���r���r���)r���r ���r ���r���� _sort_key@���s����zStatistic._sort_keyN)�__name__� __module__�__qualname__�__doc__� __slots__r���r���r���r���r���r���r ���r ���r ���r���r������s��� r���c���������������@���sD���e�Zd�ZdZdZdd��Zdd��Zdd��Zd d ��Zdd��Z d d��Z dS�)� StatisticDiffzd Statistic difference on memory allocations between an old and a new Snapshot instance. )r���r���� size_diffr���� count_diffc�������������C���s"���||�_�||�_||�_||�_||�_d�S�)N)r���r���r$���r���r%���)r���r���r���r$���r���r%���r ���r ���r���r���K���s ����zStatisticDiff.__init__c�������������C���s���t�|�j|�j|�j|�j|�jf�S�)N)r���r���r���r$���r���r%���)r���r ���r ���r���r���R���s����zStatisticDiff.__hash__c�������������C���s<���|�j�|j�ko:|�j|jko:|�j|jko:|�j|jko:|�j|jkS�)N)r���r���r$���r���r%���)r���r���r ���r ���r���r���V���s ����zStatisticDiff.__eq__c�������������C���sP���d|�j�t|�jd�t|�jd�|�j|�jf�}|�jrL|�j|�j�}|dt|d��7�}|S�)Nz %s: size=%s (%s), count=%i (%+i)FTz, average=%s)r���r���r���r$���r���r%���)r���r���r���r ���r ���r���r���]���s���� zStatisticDiff.__str__c�������������C���s���d|�j�|�j|�j|�j|�jf�S�)Nz9<StatisticDiff traceback=%r size=%i (%+i) count=%i (%+i)>)r���r���r$���r���r%���)r���r ���r ���r���r���i���s����zStatisticDiff.__repr__c�������������C���s ���t�|�j�|�jt�|�j�|�j|�jfS�)N)r���r$���r���r%���r���r���)r���r ���r ���r���r���n���s����zStatisticDiff._sort_keyN)r���r���r ���r!���r"���r���r���r���r���r���r���r ���r ���r ���r���r#���D���s���r#���c�������������C���s����g�}xp|����D�]d\}}|��|d��}|d�k rPt||j|j|j�|j|j|j��}nt||j|j|j|j�}|�|��qW�x6|�����D�]*\}}t|d|j�d|j��}|�|��q�W�|S�)Nr���)�items�popr#���r���r����append)� old_group� new_group� statisticsr����statZpreviousr ���r ���r����_compare_grouped_statst���s����r-���c���������������@���s\���e�Zd�ZdZdZdd��Zedd���Zedd���Zd d ��Z dd��Z d d��Zdd��Zdd��Z dS�)�Framez Frame of a traceback. )�_framec�������������C���s ���||�_�d�S�)N)r/���)r����framer ���r ���r���r�������s����zFrame.__init__c�������������C���s ���|�j�d�S�)Nr���)r/���)r���r ���r ���r����filename����s����zFrame.filenamec�������������C���s ���|�j�d�S�)N����)r/���)r���r ���r ���r����lineno����s����zFrame.linenoc�������������C���s���|�j�|j�kS�)N)r/���)r���r���r ���r ���r���r�������s����zFrame.__eq__c�������������C���s���|�j�|j�k�S�)N)r/���)r���r���r ���r ���r����__lt__����s����zFrame.__lt__c�������������C���s ���t�|�j�S�)N)r���r/���)r���r ���r ���r���r�������s����zFrame.__hash__c�������������C���s���d|�j�|�jf�S�)Nz%s:%s)r1���r3���)r���r ���r ���r���r�������s����z Frame.__str__c�������������C���s���d|�j�|�jf�S�)Nz<Frame filename=%r lineno=%r>)r1���r3���)r���r ���r ���r���r�������s����zFrame.__repr__N)r���r���r ���r!���r"���r����propertyr1���r3���r���r4���r���r���r���r ���r ���r ���r���r.�������s���r.���c���������������@���sf���e�Zd�ZdZdZdd��Zdd��Zdd��Zd d ��Zdd��Z d d��Z dd��Zdd��Zdd��Z ddd�ZdS�)� Tracebackz` Sequence of Frame instances sorted from the oldest frame to the most recent frame. )�_framesc�������������C���s���t��|���tt|��|�_d�S�)N)r���r����tuple�reversedr7���)r����framesr ���r ���r���r�������s���� zTraceback.__init__c�������������C���s ���t�|�j�S�)N)�lenr7���)r���r ���r ���r����__len__����s����zTraceback.__len__c�������������C���s4���t�|t�r"tdd��|�j|�D���S�t|�j|��S�d�S�)Nc�������������s���s���|�]}t�|�V��qd�S�)N)r.���)�.0�tracer ���r ���r���� <genexpr>����s����z(Traceback.__getitem__.<locals>.<genexpr>)� isinstance�slicer8���r7���r.���)r����indexr ���r ���r����__getitem__����s���� zTraceback.__getitem__c�������������C���s���|j�|�jkS�)N)r/���r7���)r���r0���r ���r ���r����__contains__����s����zTraceback.__contains__c�������������C���s ���t�|�j�S�)N)r���r7���)r���r ���r ���r���r�������s����zTraceback.__hash__c�������������C���s���|�j�|j�kS�)N)r7���)r���r���r ���r ���r���r�������s����zTraceback.__eq__c�������������C���s���|�j�|j�k�S�)N)r7���)r���r���r ���r ���r���r4�������s����zTraceback.__lt__c�������������C���s���t�|�d��S�)Nr���)�str)r���r ���r ���r���r�������s����zTraceback.__str__c�������������C���s���dt�|��f�S�)Nz<Traceback %r>)r8���)r���r ���r ���r���r�������s����zTraceback.__repr__NFc�������������C���s����g�}|d�k r2|dkr$|�|�d���}q6|�d�|��}n|�}|rBt�|�}xH|D�]@}|�d|j|jf���t�|j|j����}|rH|�d|���qHW�|S�)Nr���z File "%s", line %sz %s)r9���r(���r1���r3���� linecache�getline�strip)r����limitZmost_recent_first�linesZframe_slicer0����liner ���r ���r����format����s���� zTraceback.format)NF)r���r���r ���r!���r"���r���r<���rC���rD���r���r���r4���r���r���rL���r ���r ���r ���r���r6�������s���r6���c�������������C���s ���t�|��}|dk rt|�S�dS�dS�)z� Get the traceback where the Python object *obj* was allocated. Return a Traceback instance. Return None if the tracemalloc module is not tracing memory allocations or did not trace the allocation of the object. N)r���r6���)�objr:���r ���r ���r����get_object_traceback����s����rN���c���������������@���s`���e�Zd�ZdZdZdd��Zedd���Zedd���Zed d ���Z dd��Z d d��Zdd��Zdd��Z dS�)�Tracez" Trace of a memory block. )�_tracec�������������C���s ���||�_�d�S�)N)rP���)r���r>���r ���r ���r���r������s����zTrace.__init__c�������������C���s ���|�j�d�S�)Nr���)rP���)r���r ���r ���r����domain��s����zTrace.domainc�������������C���s ���|�j�d�S�)Nr2���)rP���)r���r ���r ���r���r��� ��s����z Trace.sizec�������������C���s���t�|�jd��S�)N����)r6���rP���)r���r ���r ���r���r��� ��s����zTrace.tracebackc�������������C���s���|�j�|j�kS�)N)rP���)r���r���r ���r ���r���r�����s����zTrace.__eq__c�������������C���s ���t�|�j�S�)N)r���rP���)r���r ���r ���r���r�����s����zTrace.__hash__c�������������C���s���d|�j�t|�jd�f�S�)Nz%s: %sF)r���r���r���)r���r ���r ���r���r�����s����z Trace.__str__c�������������C���s���d|�j�t|�jd�|�jf�S�)Nz'<Trace domain=%s size=%s, traceback=%r>F)rQ���r���r���r���)r���r ���r ���r���r�����s����zTrace.__repr__N)r���r���r ���r!���r"���r���r5���rQ���r���r���r���r���r���r���r ���r ���r ���r���rO�������s���rO���c���������������@���s<���e�Zd�Zdd��Zdd��Zdd��Zdd��Zd d ��Zdd��Zd S�)�_Tracesc�������������C���s���t��|���||�_d�S�)N)r���r����_traces)r����tracesr ���r ���r���r��� ��s���� z_Traces.__init__c�������������C���s ���t�|�j�S�)N)r;���rT���)r���r ���r ���r���r<���%��s����z_Traces.__len__c�������������C���s4���t�|t�r"tdd��|�j|�D���S�t|�j|��S�d�S�)Nc�������������s���s���|�]}t�|�V��qd�S�)N)rO���)r=���r>���r ���r ���r���r?���*��s����z&_Traces.__getitem__.<locals>.<genexpr>)r@���rA���r8���rT���rO���)r���rB���r ���r ���r���rC���(��s���� z_Traces.__getitem__c�������������C���s���|j�|�jkS�)N)rP���rT���)r���r>���r ���r ���r���rD���.��s����z_Traces.__contains__c�������������C���s���|�j�|j�kS�)N)rT���)r���r���r ���r ���r���r���1��s����z_Traces.__eq__c�������������C���s���dt�|���S�)Nz<Traces len=%s>)r;���)r���r ���r ���r���r���4��s����z_Traces.__repr__N) r���r���r ���r���r<���rC���rD���r���r���r ���r ���r ���r���rS�����s���rS���c�������������C���s&���t�j�|��}�|��d�r"|�d�d��}�|�S�)Nz.pyc���)�os�path�normcase�endswith)r1���r ���r ���r����_normalize_filename8��s���� r[���c���������������@���s���e�Zd�Zdd��Zdd��ZdS�)� BaseFilterc�������������C���s ���||�_�d�S�)N)� inclusive)r���r]���r ���r ���r���r���@��s����zBaseFilter.__init__c�������������C���s���t��d�S�)N)�NotImplementedError)r���r>���r ���r ���r����_matchC��s����zBaseFilter._matchN)r���r���r ���r���r_���r ���r ���r ���r���r\���?��s���r\���c�������������������sJ���e�Zd�Zd��fdd� Zedd���Zdd��Zd d ��Zdd��Zd d��Z ���Z S�)�FilterNFc����������������s2���t����|��||�_t|�|�_||�_||�_||�_d�S�)N)�superr���r]���r[����_filename_patternr3���� all_framesrQ���)r���r]����filename_patternr3���rc���rQ���)� __class__r ���r���r���H��s���� zFilter.__init__c�������������C���s���|�j�S�)N)rb���)r���r ���r ���r���rd���Q��s����zFilter.filename_patternc�������������C���s6���t�|�}t�||�j�sdS�|�jd�kr(dS�||�jkS�d�S�)NFT)r[����fnmatchrb���r3���)r���r1���r3���r ���r ���r����_match_frame_implU��s���� zFilter._match_frame_implc�������������C���s���|���||�|�j�A�S�)N)rg���r]���)r���r1���r3���r ���r ���r����_match_frame^��s����zFilter._match_framec����������������sH�����j�r,t��fdd�|D���r"��jS���j�S�n|d�\}}���||�S�d�S�)Nc�������������3���s���|�]\}}����||�V��qd�S�)N)rg���)r=���r1���r3���)r���r ���r���r?���c��s���z*Filter._match_traceback.<locals>.<genexpr>r���)rc����anyr]���rh���)r���r���r1���r3���r ���)r���r����_match_tracebacka��s���� zFilter._match_tracebackc�������������C���sD���|\}}}|���|�}|�jd�k r@|�jr2|o0||�jkS�|p>||�jkS�|S�)N)rj���rQ���r]���)r���r>���rQ���r���r���Zresr ���r ���r���r_���l��s���� z Filter._match)NFN)r���r���r ���r���r5���rd���rg���rh���rj���r_���� __classcell__r ���r ���)re���r���r`���G��s��� r`���c�������������������s0���e�Zd�Z��fdd�Zedd���Zdd��Z���ZS�)�DomainFilterc����������������s���t����|��||�_d�S�)N)ra���r����_domain)r���r]���rQ���)re���r ���r���r���x��s����zDomainFilter.__init__c�������������C���s���|�j�S�)N)rm���)r���r ���r ���r���rQ���|��s����zDomainFilter.domainc�������������C���s���|\}}}||�j�k|�j�A�S�)N)rQ���r]���)r���r>���rQ���r���r���r ���r ���r���r_������s���� zDomainFilter._match)r���r���r ���r���r5���rQ���r_���rk���r ���r ���)re���r���rl���w��s���rl���c���������������@���sX���e�Zd�ZdZdd��Zdd��Zedd���Zdd ��Zd d��Z dd ��Z ddd�Zddd�ZdS�)�SnapshotzB Snapshot of traces of memory blocks allocated by Python. c�������������C���s���t�|�|�_||�_d�S�)N)rS���rU����traceback_limit)r���rU���ro���r ���r ���r���r������s���� zSnapshot.__init__c���������� ���C���s*���t�|d��}t�|�|tj��W�dQ�R�X�dS�)z1 Write the snapshot into a file. �wbN)�open�pickle�dumpZHIGHEST_PROTOCOL)r���r1����fpr ���r ���r���rs������s����z Snapshot.dumpc���������� ���C���s ���t�|�d��}t�|�S�Q�R�X�dS�)z. Load a snapshot from a file. �rbN)rq���rr����load)r1���rt���r ���r ���r���rv������s����z Snapshot.loadc����������������s@���|rt���fdd�|D���sdS�|r<t���fdd�|D���r<dS�dS�)Nc�������������3���s���|�]}|�����V��qd�S�)N)r_���)r=����trace_filter)r>���r ���r���r?������s���z)Snapshot._filter_trace.<locals>.<genexpr>Fc�������������3���s���|�]}|������V��qd�S�)N)r_���)r=���rw���)r>���r ���r���r?������s���T)ri���)r����include_filters�exclude_filtersr>���r ���)r>���r���� _filter_trace���s���� zSnapshot._filter_tracec����������������s����t�|t�stdt|�j���|rng��g���x(|D�] }|jrD��|��q.���|��q.W�����fdd��jjD��}n�jj� ��}t |�j�S�)z� Create a new Snapshot instance with a filtered traces sequence, filters is a list of Filter or DomainFilter instances. If filters is an empty list, return a new Snapshot instance with a copy of the traces. z)filters must be a list of filters, not %sc����������������s���g�|�]}������|�r|�qS�r ���)rz���)r=���r>���)ry���rx���r���r ���r���� <listcomp>���s����z*Snapshot.filter_traces.<locals>.<listcomp>)r@���r���� TypeError�typer���r]���r(���rU���rT����copyrn���ro���)r����filtersrw���Z new_tracesr ���)ry���rx���r���r���� filter_traces���s���� zSnapshot.filter_tracesc������� ��� ���C���s���|dkrt�d|f���|r.|dkr.t�d|���i�}i�}|�sx�|�jjD�]�}|\}}}y||�} W�nZ�tk r����|dkr~|} n(|dkr�|d�d��} n|d�d�dff} t| �} | ||<�Y�nX�y(|| �}|�j|7��_|�jd7��_W�qF�tk �r ���t| |d�|| <�Y�qFX�qFW�n�x�|�jjD�]�}|\}}}x�|D�]�}y||�} W�nF�tk �r����|dk�rd|f} n|d�dff} t| �} | ||<�Y�nX�y(|| �}|�j|7��_|�jd7��_W�n&�tk �r����t| |d�|| <�Y�nX��q0W��qW�|S�) N)r���r1���r3���zunknown key_type: %r)r3���r1���z/cumulative mode cannot by used with key type %rr���r3���r2���r���)� ValueErrorrU���rT����KeyErrorr6���r���r���r���) r����key_type� cumulativeZstatsZ tracebacksr>���rQ���r���Ztrace_tracebackr���r:���r,���r0���r ���r ���r���� _group_by���sX���� "zSnapshot._group_byFc�������������C���s,���|���||�}t|����}|jdtjd��|S�)zd Group statistics by key_type. Return a sorted list of Statistic instances. T)�reverse�key)r�����list�values�sortr���r���)r���r����r����Zgroupedr+���r ���r ���r���r+������s����zSnapshot.statisticsc�������������C���s6���|���||�}|��||�}t||�}|jdtjd��|S�)z� Compute the differences with an old snapshot old_snapshot. Get statistics as a sorted list of StatisticDiff instances, grouped by group_by. T)r����r����)r����r-���r����r#���r���)r���Zold_snapshotr����r����r*���r)���r+���r ���r ���r���� compare_to���s ���� zSnapshot.compare_toN)F)F) r���r���r ���r!���r���rs����staticmethodrv���rz���r����r����r+���r����r ���r ���r ���r���rn������s���3 rn���c��������������C���s$���t���std��t��}�t��}t|�|�S�)zI Take a snapshot of traces of memory blocks allocated by Python. zLthe tracemalloc module must be tracing memory allocations to take a snapshot)� is_tracing�RuntimeErrorr���Zget_traceback_limitrn���)rU���ro���r ���r ���r���� take_snapshot ��s ����r����)Zcollections.abcr���r���� functoolsr���rf���rF���Zos.pathrW���rr���Z_tracemallocr���r���r���r���r#���r-���r.���r6���rN���rO���rS���r[���r\���r`���rl���rn���r����r ���r ���r ���r����<module>���s0���&0#?%0�