ó
»/öSc           @   s   d  d l  Z  d  d l m Z m Z d  d l m Z e a d a d a	 d a
 e d d  Z e Z e rt d  d l Z n  d e f d     YZ d S(	   i’’’’N(   t   datetimet	   timedelta(   t   StringIOi    t   secondsg©?t   benchmarkingc           B   sM   e  Z d d   Z d   Z d   Z e d    Z e e j	 e
 d   Z RS(   c         C   s   | |  _  | |  _ d  S(   N(   t   desct   offset(   t   selfR   R   (    (    sZ   /afs/athena.mit.edu/user/x/a/xavid/.local/lib/python2.7/site-packages/bazbase/benchmark.pyt   __init__   s    	c         C   s  t  s
 d  St d  k	 r t j   } | t } | t k rU t d t Id I| IJn  |  j } |  j	 d  k	 rŹ t
 rŹ t j   d |  j	 d d !} | d j d d  d f | d } | d | f 7} n  t d t Id	 I| IJt d 7a | a | |  _ n  d  S(
   Ns     s   # Time elapsed:i   i   i    t   /i’’’’s    for %st   Start(   t   lockedt	   timestampt   NoneR    t   nowt   EPSILONt
   err_streamt   nestR   R   t
   INSPECTINGt   inspectt   stackt   rsplitt	   starttime(   R   t   newtst   deltaR   t   caller(    (    sZ   /afs/athena.mit.edu/user/x/a/xavid/.local/lib/python2.7/site-packages/bazbase/benchmark.pyt	   __enter__   s      
	%
c         C   s   t  s
 d  St d  k	 r t j   } | t } | t k rU t d t Id I| IJn  t d 8a t d t Id I|  j Id | |  j	 IJ| a n  d  S(   Ns     s   # Time elapsed:i   t   Ends	   (took %s)(
   R   R   R   R    R   R   R   R   R   R   (   R   t   exc_typet   exc_valt   exc_tbR   R   (    (    sZ   /afs/athena.mit.edu/user/x/a/xavid/.local/lib/python2.7/site-packages/bazbase/benchmark.pyt   __exit__%   s     

.c         C   s!   t  r t d t I|  IJn  d  S(   Ns     (   R   R   R   (   t   msg(    (    sZ   /afs/athena.mit.edu/user/x/a/xavid/.local/lib/python2.7/site-packages/bazbase/benchmark.pyt   info1   s    c         C   s.   t  s t j   a |  a n  | r* t a  n  d  S(   N(   R   R    R   R   R   t   True(   t   errt   prevent_override(    (    sZ   /afs/athena.mit.edu/user/x/a/xavid/.local/lib/python2.7/site-packages/bazbase/benchmark.pyt   start6   s
    	N(   t   __name__t
   __module__R   R   R   R   t   staticmethodR!   t   syst   stderrt   FalseR%   (    (    (    sZ   /afs/athena.mit.edu/user/x/a/xavid/.local/lib/python2.7/site-packages/bazbase/benchmark.pyR      s   		(   R)   R    R   t	   cStringIOR   R+   R   R   R   R   R   R   R   R   t   objectR   (    (    (    sZ   /afs/athena.mit.edu/user/x/a/xavid/.local/lib/python2.7/site-packages/bazbase/benchmark.pyt   <module>   s   