ó
—ã=Pc           @   s_   d  Z  d d l Z d d l m Z d d l Td d l m Z e e ƒ Z d d d „  ƒ  YZ	 d S(	   sv   
The I{metrics} module defines classes and other resources
designed for collecting and reporting performance metrics.
iÿÿÿÿN(   t	   getLogger(   t   *(   t   modft   Timerc           B   s5   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s   d |  _  d |  _ d  S(   Ni    (   t   startedt   stopped(   t   self(    (    s$   suds-0.3.7-py2.6.egg/suds/metrics.pyt   __init__   s    	c         C   s   t  j  ƒ  |  _ d |  _ |  S(   Ni    (   t   timeR   R   (   R   (    (    s$   suds-0.3.7-py2.6.egg/suds/metrics.pyt   start#   s    	c         C   s%   |  j  d k r! t j ƒ  |  _ n  |  S(   Ni    (   R   R   R   (   R   (    (    s$   suds-0.3.7-py2.6.egg/suds/metrics.pyt   stop(   s    c         C   s   |  j  |  j S(   N(   R   R   (   R   (    (    s$   suds-0.3.7-py2.6.egg/suds/metrics.pyt   duration-   s    c         C   s³   |  j  d k r d S|  j  d k r< |  j d k r< d |  j  S|  j ƒ  } d „  } | d k  ro | d } d | S| d k  r• t | ƒ } d	 | | ƒ St | d ƒ } d
 | | ƒ S(   Ni    s   not-runnings   started: %d (running)c         S   s   |  d |  d d f S(   Ni   i    iè  (    (   t   m(    (    s$   suds-0.3.7-py2.6.egg/suds/metrics.pyt   <lambda>6   s    i   iè  s   %d (ms)i<   s   %d.%.3d (seconds)s   %d.%.3d (minutes)(   R   R   R   R   (   R   R   t   jmodt   msR   (    (    s$   suds-0.3.7-py2.6.egg/suds/metrics.pyt   __str__0   s    	
(   t   __name__t
   __module__R   R	   R
   R   R   (    (    (    s$   suds-0.3.7-py2.6.egg/suds/metrics.pyR      s
   				(    (
   t   __doc__R   t   loggingR    t   sudst   mathR   R   t   logR   (    (    (    s$   suds-0.3.7-py2.6.egg/suds/metrics.pyt   <module>   s   
