+
    ji                     d    R t ^ RIt^ RIt^ RIHt ^ RIHt RtRtRt	Rt
RtR	tR
t ! R R]4      tR# )z;Bare-bones implementation of statsD's protocol, client-sideN)sub)Loggermetricvaluemtypegaugecounter	histogramtimerc                      a  ] tR t^t o RtR tR tR tR tR t	R t
R tR	 tR
 tR tRR ltRR ltR tR tR tRtV tR# )Statsdz:statsD-based instrumentation, that passes as a logger
    c                   \         P                  ! W4       \        R RVP                  4      V n        \        VP                  \        4      '       d   \        P                  pM\        P                  p \        P                  ! V\        P                  4      V n        V P                  P                  VP                  4       VP                  V n        R#   \         d    RT n         L'i ; i)z^(.+[^.]+)\.*$z\g<1>.N)r   __init__r   statsd_prefixprefix
isinstancestatsd_hoststrsocketAF_UNIXAF_INET
SOCK_DGRAMsockconnect	Exceptiondogstatsd_tags)selfcfgaddress_familys   && O/var/www/idalgo/venv/lib/python3.14/site-packages/gunicorn/instrument/statsd.pyr   Statsd.__init__   s    "+Y8I8IJcoos++#^^N#^^N	nf6G6GHDIIIcoo. "00  	DI	s   5AC C,+C,c                ^    \         P                  ! W.VO5/ VB  V P                  R ^4       R# )zgunicorn.log.criticalN)r   critical	incrementr   msgargskwargss   &&*,r   r"   Statsd.critical,   s'    3D3F3.2    c                ^    \         P                  ! W.VO5/ VB  V P                  R ^4       R# )zgunicorn.log.errorN)r   errorr#   r$   s   &&*,r   r+   Statsd.error0   s'    T000+Q/r)   c                ^    \         P                  ! W.VO5/ VB  V P                  R ^4       R# )zgunicorn.log.warningN)r   warningr#   r$   s   &&*,r   r.   Statsd.warning4   s'    t24262-q1r)   c                ^    \         P                  ! W.VO5/ VB  V P                  R ^4       R# )zgunicorn.log.exceptionN)r   	exceptionr#   r$   s   &&*,r   r1   Statsd.exception8   s)    4T4V4/3r)   c                P    V P                   ! \        P                  V.VO5/ VB  R # N)logloggingINFOr$   s   &&*,r   infoStatsd.info=   s    s4T4V4r)   c                P    V P                   ! \        P                  V.VO5/ VB  R # r4   )r5   r6   DEBUGr$   s   &&*,r   debugStatsd.debugA   s    5d5f5r)   c                r    VP                  RR4      pVe   VP                  \        R4      pVP                  \        R4      pVP                  \        R4      pV'       d   V'       d~   V'       dv   V\        8X  d   V P                  Wg4       MXV\        8X  d   V P                  Wg4       M;V\        8X  d   V P                  Wg4       MV\        8X  d   V P                  Wg4       M V'       d   \        P                  ! WV.VO5/ VB  R# R#   \         d    \        P                  ! T RRR7        R# i ; i)zDLog a given statistic if metric, value and type are present
        extraNzFailed to log to statsdTexc_info)get
METRIC_VAR	VALUE_VAR	MTYPE_VAR
GAUGE_TYPEr   COUNTER_TYPEr#   HISTOGRAM_TYPEr	   
TIMER_TYPEr
   r   r5   r   r.   )	r   lvlr%   r&   r'   r?   r   r   typs	   &&&*,    r   r5   
Statsd.logD   s    	KJJw-E :t4		)T2ii	40ej(

61,v5.v5
*

61 

4c;D;F;  	KNN4!:TJJ	Ks+   AD "D *D 2A<D /D $D65D6c                   \         P                  ! WW#V4       VP                  R,          \        VP                  4      R,          ,           pVP
                  p\        V\        4      '       d   VP                  R4      p\        V\        4      '       d#   \        VP                  R^4      ^ ,          4      pV P                  RV4       V P                  R^4       V P                  RV,          ^4       R# )z>Measure request duration
request_time is a datetime.timedelta
i  zutf-8Nzgunicorn.request.durationzgunicorn.requestszgunicorn.request.status.%d)r   accesssecondsfloatmicrosecondsstatusr   bytesdecoder   intsplitr
   r#   )r   respreqenvironrequest_timeduration_in_msrR   s   &&&&&  r   rN   Statsd.access`   s     	d#=%--4u\=V=V7WZa7aafe$$]]7+Ffc""dA.q12F

.?*A.3f<a@r)   c                \    V P                  R P                  V P                  W4      4       R# )z{0}{1}:{2}|gN
_sock_sendformatr   r   namer   s   &&&r   r   Statsd.gaugeq       --dkk4GHr)   c                ^    V P                  R P                  V P                  WV4      4       R# )z{0}{1}:{2}|c|@{3}Nr^   r   rb   r   sampling_rates   &&&&r   r#   Statsd.incrementt   s"    +224;;][\r)   c                ^    V P                  R P                  V P                  WV4      4       R# )z{0}{1}:-{2}|c|@{3}Nr^   rf   s   &&&&r   	decrementStatsd.decrementw   s"    ,33DKKm\]r)   c                \    V P                  R P                  V P                  W4      4       R# )z{0}{1}:{2}|msNr^   ra   s   &&&r   r
   Statsd.timerz   s    ..t{{DHIr)   c                \    V P                  R P                  V P                  W4      4       R# )z{0}{1}:{2}|hNr^   ra   s   &&&r   r	   Statsd.histogram}   rd   r)   c                    \        V\        4      '       d   VP                  R 4      pV P                  '       d*   VR,           V P                  P                  R 4      ,           pV P                  '       d   V P                  P                  V4       R# R#   \         d    \        P                  ! T RRR7        R# i ; i)asciis   |#zError sending message to statsdTr@   N)	r   r   encoder   r   sendr   r   r.   )r   r%   s   &&r   r_   Statsd._sock_send   s    	S#s##jj) """EkD$7$7$>$>w$GGyyy		s#  	SNN4!BTRR	Ss   8B :B 6B $B=<B=)r   r   r   N)g      ?)__name__
__module____qualname____firstlineno____doc__r   r"   r+   r.   r1   r8   r<   r5   rN   r   r#   rj   r
   r	   r_   __static_attributes____classdictcell__)__classdict__s   @r   r   r      sc     1$3024
56K8A"I]^JIS Sr)   r   )ry   r6   r   rer   gunicorn.gloggingr   rC   rD   rE   rF   rG   rH   rI   r    r)   r   <module>r      sK   
 >    $ 
		

uSV uSr)   