
    Mh*                         d Z ddlmZ d ZdS )zLog functions for prometheus   )HTTP_REQUEST_DURATION_SECONDSc                    t          j        | j        j        | j        j         dt          |           j         |                                           	                    | j        
                                           dS )a  
    Tornado log handler for recording RED metrics.

    We record the following metrics:
       Rate - the number of requests, per second, your services are serving.
       Errors - the number of failed requests per second.
       Duration - The amount of time each request takes expressed as a time interval.

    We use a fully qualified name of the handler as a label,
    rather than every url path to reduce cardinality.

    This function should be either the value of or called from a function
    that is the 'log_function' tornado setting. This makes it get called
    at the end of every request, allowing us to record the metrics we need.
    .)methodhandlerstatus_codeN)r   labelsrequestr   	__class__
__module__type__name__
get_statusobserverequest_time)r   s    g/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/jupyter_server/prometheus/log_functions.pyprometheus_log_methodr      sv      "(%$/JJ$w--2HJJ&&((   ggo**,,-----    N)__doc__metricsr   r    r   r   <module>r      s6    " " 2 2 2 2 2 2. . . . .r   