File: //home/arjun/projects/env/lib/python3.10/site-packages/gunicorn/__pycache__/debug.cpython-310.pyc
o
%we� � @ s\ d Z ddlZddlZddlZddlZddgZe�d�ZG dd� de�Z dd d�Z
d
d� ZdS )zPThe debug module contains utilities and functions for better
debugging Gunicorn.� N�spew�unspewz\W+c @ s e Zd Zddd�Zdd� ZdS )�SpewNTc C s || _ || _d S )N��trace_names�show_values)�selfr r � r �G/home/arjun/projects/env/lib/python3.10/site-packages/gunicorn/debug.py�__init__ s
z
Spew.__init__c C sD |dkr�|j }d|jv r-|jd }|�d�s|�d�r!|d d� }|jd }t�||�}n d}zt�|�}|| }W n tyL d|jj |j
f }Y nw | jd u sW|| jv r�td |||�
� f � | jsg| S g } t�|�}
|
D ]$}||jv r�| �d
||j| f � ||jv r�| �d
||j| f � qp| r�tdd�| � � | S )
N�line�__file__z.pycz.pyo����__name__z [unknown]z,Unknown code named [%s]. VM instruction #%dz %s:%s: %sz%s=%rz %s� )�f_lineno� f_globals�endswith� linecache�getline�inspect�getsourcelines�IOError�f_code�co_name�f_lastir �print�rstripr �_token_spliter�split�append�f_locals�join)r �frame�event�arg�lineno�filename�namer �src�details�tokens�tokr r r
�__call__ sD
�
��
�z
Spew.__call__)NT)r �
__module__�__qualname__r r- r r r r
r s
r Fc C s t �t| |�� dS )zpInstall a trace hook which writes incredibly detailed logs
about what code is being executed to stdout.
N)�sys�settracer r r r r
r ; s c C s t �d� dS )z-Remove the trace hook installed by spew.
N)r0 r1 r r r r
r B s )NF)�__doc__r0 r �rer �__all__�compiler �objectr r r r r r r
�<module> s
(