o
    Zh                     @   s   d Z ddlZddlZddlmZmZ ddlmZmZ dZ	de
ej fddZed	Ze	sHzddlZd
ZW n ey@   dZY nw eedddZdejded fddZdS )a  Logging utilities for Dynamo and Inductor.

This module provides specialized logging functionality including:
- Step-based logging that prepends step numbers to log messages
- Progress bar management for compilation phases
- Centralized logger management for Dynamo and Inductor components

The logging system helps track the progress of compilation phases and provides structured
logging output for debugging and monitoring.
    N)AnyCallable)	_FaketqdmtqdmTreturnc                   C   s   t dt dt dgS )Nz%torch.fx.experimental.symbolic_shapesztorch._dynamoztorch._inductor)logging	getLogger r	   r	   D/var/www/auris/lib/python3.10/site-packages/torch/_dynamo/logging.pyget_loggers   s   r            ztorch.compile())totalZdescdelaylogger).Nc                    sR   t std tttst j  ttdt	dt
dtdd f fdd}|S )Nr   levelmsgkwargsr   c                    s,   d|vrd|d<  j | d|fi | d S )N
stacklevelr   zStep %s: %s)log)r   r   r   r   stepr	   r
   r   C   s   zget_step_logger.<locals>.log)disable_progresspbarupdate
isinstancer   Zset_postfix_strnamenext_step_counterintstrr   )r   r   r	   r   r
   get_step_logger;   s   

 r"   )__doc__	itertoolsr   typingr   r   Z	torch.hubr   r   r   listLoggerr   countr   ZtritonZ	num_stepsImportErrorr   r"   r	   r	   r	   r
   <module>   s"    
