Viewing File: /opt/hc_python/lib/python3.12/site-packages/sentry_sdk/profiler/__pycache__/utils.cpython-312.pyc
�
h0i\ � �t � d dl Z d dlmZ d dlmZ d dlmZ d dlmZ er�d dl m
Z
d dlmZ d dlm
Z
d d lmZ d d
lmZ d dlmZ d dlmZ d d
lmZ eZee Z edeee eeee d�� Z eddei� Zeeeef Zeedf Zeeef Zeeeee f Zeeeef ZdZdZ erd� Z!nd� Z!d� Z"d� Z#e fd�Z$y)� N)�deque)�PY311)�filename_for_module)�
TYPE_CHECKING)�LRUCache)� FrameType)�Deque)�List)�Optional)�Sequence)�Tuple)� TypedDict�ProcessedFrame)�abs_path�filename�function�lineno�module�ProcessedThreadMetadata�name.�e � c �. � | j j S �N)�f_code�co_qualname)�frames �H/opt/hc_python/lib/python3.12/site-packages/sentry_sdk/profiler/utils.py�get_frame_namer B s � ��|�|�'�'�'� c �B � | j }|j }|j } |ri|d dk( rad| j v rSt | j d � j
D ]. }||j v s�dj |j |� c S |r`|d dk( rXd| j v rJ| j d j
D ]. }||j v s�dj |j |� c S |S # t t f$ r Y �vw xY w# t t f$ r Y |S w xY w)Nr �selfz{}.{}�cls)r �co_varnames�co_name�f_locals�type�__mro__�__dict__�format�__name__�AttributeError�
ValueError)r r r$ r r# s r r r H s � � �����(�(�� �~�~��
� ��A��&� 8�V�u�~�~�=U�����v� 6�7�?�?�C��s�|�|�+�&�~�~�c�l�l�D�A�A� @�
� ��A��%� 7�E�U�^�^�<S� �>�>�%�0�8�8�C��s�|�|�+�&�~�~�c�l�l�D�A�A� 9� ���) �
�+� �� �� �
�+� ��
��
�s= �AC6 �2C6 �C6 �AD �D �3D �6D�D�D�Dc �Z � | j j | j t | � fS r )r �co_filename�f_linenor )� raw_frames r �frame_idr2 t s&