
    Ch                     \    S SK Jr  S SKJr   " S S5      r " S S\5      r " S S\5      rg	)
    )AbstractMeasurableStat)AbstractSampledStatc                   ~    \ rS rSrSSSSSSSS.r\S	   r\S
   r\S   r\S   r\S   r	\S   r
\S   r\S 5       rSrg)TimeUnit   r                  )
nanosecondmicrosecondmillisecondsecondminutehourdayr   r   r   r   r   r   r   c                 (    [         R                  U    $ N)r   _names)	time_units    `C:\Suresh\moveshuttle\MDcreated\moveengine\venv\Lib\site-packages\aiokafka/metrics/stats/rate.pyget_nameTimeUnit.get_name   s    y))     N)__name__
__module____qualname____firstlineno__r   NANOSECONDSMICROSECONDSMILLISECONDSSECONDSMINUTESHOURSDAYSstaticmethodr   __static_attributes__r   r   r   r   r      sv    F &K-(L-(LXGXG6NE%=D* *r   r   c                   X    \ rS rSrSr\R                  S4S jrS rS r	S r
S rS	 rS
rg)Rate   ah  
The rate of the given quantity. By default this is the total observed
over a set of samples from a sampled statistic divided by the elapsed
time over the sample windows. Alternative AbstractSampledStat
implementations can be provided, however, to record the rate of
occurrences (e.g. the count of values measured over the time interval)
or other such values.
Nc                 @    U=(       d
    [        5       U l        Xl        g r   )SampledTotal_stat_unit)selfr   sampled_stats      r   __init__Rate.__init__'   s    !3\^

r   c                 @    [         R                  U R                  5      $ r   )r   r   r0   )r1   s    r   	unit_nameRate.unit_name+   s      ,,r   c                 <    U R                   R                  XU5        g r   )r/   record)r1   configvaluetime_mss       r   r9   Rate.record.   s    

&1r   c                     U R                   R                  X5      n[        U5      U R                  U R	                  X5      5      -  $ r   )r/   measurefloatconvertwindow_size)r1   r:   nowr;   s       r   r?   Rate.measure1   s9    

""6/U|dll4+;+;F+HIIIr   c                 
   U R                   R                  X5         X R                   R                  U5      R                  -
  n[	        X1R
                  -  5      nUR                  S-
  nXE:  a  UXT-
  UR
                  -  -  nU$ )Nr   )r/   purge_obsolete_samplesoldestlast_window_msinttime_window_mssamples)r1   r:   rC   total_elapsed_time_msnum_full_windowsmin_full_windowss         r   rB   Rate.window_size5   s    

))&6	" !$jj&7&7&<&K&K K47L7LLM!>>A- .! 3%%&& &! %$r   c                    U R                   [        R                  :X  a  US-  S-  $ U R                   [        R                  :X  a  US-  $ U R                   [        R                  :X  a  U$ U R                   [        R
                  :X  a  US-  $ U R                   [        R                  :X  a  US-  $ U R                   [        R                  :X  a  US-  $ U R                   [        R                  :X  a  US-  $ [        SU R                    35      e)Ng     @@g     L@g    @wKAg    pAzUnknown unit: )
r0   r   r!   r"   r#   r$   r%   r&   r'   
ValueError)r1   r<   s     r   rA   Rate.convertX   s    ::---V#f,,ZZ8000V##ZZ8000NZZ8+++V##ZZ8+++m,,ZZ8>>)233ZZ8==(9::~djj\:;;r   )r/   r0   )r   r   r   r    __doc__r   r$   r3   r6   r9   r?   rB   rA   r)   r   r   r   r+   r+      s4     "*!1!1 -2J!%F<r   r+   c                   8   ^  \ rS rSrSU 4S jjrS rS rSrU =r$ )r.   k   c                 @   > Ub  [        S5      e[        TU ]	  S5        g )Nz+initial_value cannot be set on SampledTotalg        )rQ   superr3   )r1   initial_value	__class__s     r   r3   SampledTotal.__init__l   s"    $JKKr   c                 .    U=R                   U-  sl         g r   r;   )r1   sampler:   r;   r<   s        r   updateSampledTotal.updateq   s    r   c                 8    [        [        S U 5       5      5      $ )Nc              3   8   #    U  H  oR                   v   M     g 7fr   r\   ).0r]   s     r   	<genexpr>'SampledTotal.combine.<locals>.<genexpr>u   s     <G&Gs   )r@   sum)r1   rK   r:   rC   s       r   combineSampledTotal.combinet   s    S<G<<==r   r   r   )	r   r   r   r    r3   r^   rf   r)   __classcell__)rY   s   @r   r.   r.   k   s    
> >r   r.   N) aiokafka.metrics.measurable_statr   #aiokafka.metrics.stats.sampled_statr   r   r+   r.   r   r   r   <module>rk      s2    C C* *0K<! K<\
>& 
>r   