LSST Applications  21.0.0-156-g24bfad28+d73ae808d5,22.0.0+000ed19a8b,22.0.0+06dd0f93dc,22.0.0+c025529d5f,22.0.0+dfc68d4d09,22.0.0+e25cbdf4cd,22.0.0+e6ee2fa291,22.0.1-1-g7d6de66+a66637531a,22.0.1-1-g87000a6+2036d5eaca,22.0.1-1-g8e32f31+e6ee2fa291,22.0.1-13-g5845b92+8ccf621f90,22.0.1-14-g6272d78+3e1e24c0a5,22.0.1-2-g92698f7+000ed19a8b,22.0.1-2-ga9b0f51+dfc68d4d09,22.0.1-21-g5bd0cb7e+d223dd58c3,22.0.1-22-g41e933f+1b01822ec5,22.0.1-23-ged5e717+a66637531a,22.0.1-24-g4fd6b65+3e3a8936a6,22.0.1-27-g879f0a34+b4523d8147,22.0.1-3-g59f966b+babd7a475d,22.0.1-3-g849a1b8+7239f1a5ea,22.0.1-3-g85f6b2a+dfc68d4d09,22.0.1-3-geb91c39+a66637531a,22.0.1-36-g99137b0eb+ec953d57b4,22.0.1-4-g037fbe1+6eccae7d65,22.0.1-4-g243d05b+407143e2a6,22.0.1-4-g2c3f5ac+2e8da71d76,22.0.1-4-g35e927a+a057fbfecf,22.0.1-4-gf0e1808+069725d854,22.0.1-5-g096abc9+fb28b9dcc5,22.0.1-5-g15c806e+7e58257bcf,22.0.1-7-gba73697+7e58257bcf,22.0.1-8-g903eb1c+a66637531a,master-g6e05de7fdc+bdf610cf3e,master-g99da0e417a+c025529d5f,w.2021.43
LSST Data Management Base Package
Public Member Functions | List of all members
lsst.dax.apdb.apdbSql.Timer Class Reference

Public Member Functions

def __init__ (self, str name, bool do_logging=True, bool log_before_cursor_execute=False)
 
Timer __enter__ (self)
 
Any __exit__ (self, Optional[Type] exc_type, Any exc_val, Any exc_tb)
 

Detailed Description

Timer class defining context manager which tracks execution timing.

Typical use:

    with Timer("timer_name"):
        do_something

On exit from block it will print elapsed time.

See also :py:mod:`timer` module.

Definition at line 49 of file apdbSql.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.dax.apdb.apdbSql.Timer.__init__ (   self,
str  name,
bool   do_logging = True,
bool   log_before_cursor_execute = False 
)

Definition at line 61 of file apdbSql.py.

61  def __init__(self, name: str, do_logging: bool = True, log_before_cursor_execute: bool = False):
62  self._log_before_cursor_execute = log_before_cursor_execute
63  self._do_logging = do_logging
64  self._timer1 = timer.Timer(name)
65  self._timer2 = timer.Timer(name + " (before/after cursor)")
66 

Member Function Documentation

◆ __enter__()

Timer lsst.dax.apdb.apdbSql.Timer.__enter__ (   self)
Enter context, start timer

Definition at line 67 of file apdbSql.py.

67  def __enter__(self) -> Timer:
68  """
69  Enter context, start timer
70  """
71 # event.listen(engine.Engine, "before_cursor_execute", self._start_timer)
72 # event.listen(engine.Engine, "after_cursor_execute", self._stop_timer)
73  self._timer1.start()
74  return self
75 

◆ __exit__()

Any lsst.dax.apdb.apdbSql.Timer.__exit__ (   self,
Optional[Type]  exc_type,
Any  exc_val,
Any  exc_tb 
)
Exit context, stop and dump timer

Definition at line 76 of file apdbSql.py.

76  def __exit__(self, exc_type: Optional[Type], exc_val: Any, exc_tb: Any) -> Any:
77  """
78  Exit context, stop and dump timer
79  """
80  if exc_type is None:
81  self._timer1.stop()
82  if self._do_logging:
83  self._timer1.dump()
84 # event.remove(engine.Engine, "before_cursor_execute", self._start_timer)
85 # event.remove(engine.Engine, "after_cursor_execute", self._stop_timer)
86  return False
87 

The documentation for this class was generated from the following file: