timeMethod¶
- 
lsst.utils.timer.timeMethod(_func: Optional[Any] = None, *, metadata: Optional[MutableMapping[KT, VT]] = None, logger: Optional[logging.Logger] = None, logLevel: int = 10) → Callable¶
- Measure duration of a method. - Parameters: - func
- The method to wrap. 
- metadata : collections.abc.MutableMapping, optional
- Metadata to use as override if the instance object attached to this timer does not support a - metadataproperty.
- logger : logging.Logger, optional
- Logger to use when the class containing the decorated method does not have a - logproperty.
- logLevel : int, optional
- Log level to use when logging messages. Default is - DEBUG.
 - Notes - Writes various measures of time and possibly memory usage to the metadata; all items are prefixed with the function name. - Warning - This decorator only works with instance methods of any class with these attributes: - metadata: an instance of- collections.abc.Mapping. The- addmethod will be used if available, else entries will be added to a list.
- log: an instance of- logging.Loggeror subclass.
 - Examples - To use: - import lsst.utils as utils import lsst.pipe.base as pipeBase class FooTask(pipeBase.Task): pass @utils.timeMethod def run(self, ...): # or any other instance method you want to time pass