
    wg@
                     t    d dl Z d dlZd dlZddlmZmZmZ ddlmZ d Z	d Z
d Zd Zd	 Zed
k(  r e        yy)    N   )startfinalize_select_backend)set_command_linec            	         t        j                  ddt         j                        } | j                  ddt        d       | j                  dd	t        d
d dg       | j                  ddt        ddddg       | j                  ddt        dddg       | j                  ddt        dd d dg       | j                         \  }}||fS )NzBThe proton command utility for profiling scripts and pytest tests.z
    proton [options] script.py [script_args] [script_options]
    proton [options] pytest [pytest_args] [script_options]
    python -m triton.profiler.proton [options] script.py [script_args] [script_options]
)descriptionusageformatter_classz-nz--namezName of the profiling session)typehelpz-bz	--backendzProfiling backendcupti)r   r   defaultchoicesz-cz	--contextzProfiling contextshadowpythonz-dz--datazProfiling datatreez-kz--hookzProfiling hooktriton)argparseArgumentParserRawTextHelpFormatteradd_argumentstrparse_known_args)parserargstarget_argss      [/home/mcse/projects/flask/flask-venv/lib/python3.12/site-packages/triton/profiler/proton.pyparse_argumentsr      s    $$X a 224F hS7VW
k:MW[fmeno
k:MW_!)8 4  6
hS7GQWbhaij
hS7GQU`dfn_op//1D+    c                 F    t         j                  j                  |       dk(  S )Npytest)ospathbasename)scripts    r   	is_pytestr'      s    77F#x//r    c                    t         j                  j                  |       }ddd|dt        t        j
                  t        i}t        j                  }| g|z   t        _        	 t        |d      5 }t        |j                         |d      }d d d        t        |       |t        _        y # 1 sw Y   !xY w# t        $ r}t        d|        Y d }~4d }~ww xY w# |t        _        w xY w)N__name____main____file____builtins__rbexecz.An error occurred while executing the script: )r#   r$   abspathr,   sysr)   argvopencompilereadr.   	Exceptionprint)r&   r   script_pathclean_globalsoriginal_argvfilecodees           r   execute_as_mainr=      s    ''//&)K 	JKc	M HHMx$CH!+t$ 	=499;V<D	=T=! !	= 	=  D>qcBCCD !sB    B4 ,B(B4 (B1-B4 4	C=CC CC C%c                    | j                   r| j                   n	t               }t        | j                  | j                  | j
                  || j                         t                |d   }t        |      dkD  r|dd  ng }t        |      r dd l
}|j                  |       t                y t        ||       t                y )N)contextdatabackendhookr   r   )rA   r   r   namer?   r@   rB   r   lenr'   r"   mainr=   r   )r   r   rA   r&   script_argsr"   s         r   run_profilingrG   5   s    "lldll0AG	$))T\\		7QUQZQZ[ ^F%(%5%9+ab/rKK  J 	,Jr    c                  6    t               \  } }t        | |       y )N)r   rG   )r   r   s     r   rE   rE   H   s    ')D+$$r    r*   )r   r0   r#   profiler   r   r   flagsr   r   r'   r=   rG   rE   r)    r    r   <module>rL      sD     
 	 5 5 #"0!0&%
 zF r    