|
lsst.pipe.base
19.0.0-6-gb6b8b0a+10
|
Functions | |
| def | logPairs (obj, pairs, logLevel=Log.DEBUG) |
| def | logInfo (obj, prefix, logLevel=Log.DEBUG) |
| def | timeMethod (func) |
| def lsst.pipe.base.timer.logInfo | ( | obj, | |
| prefix, | |||
logLevel = Log.DEBUG |
|||
| ) |
Log timer information to ``obj.metadata`` and ``obj.log``.
Parameters
----------
obj : `lsst.pipe.base.Task`-type
A `~lsst.pipe.base.Task` or any other object with these two attributes:
- ``metadata`` an instance of `lsst.daf.base.PropertyList`` (or other object with
``add(name, value)`` method).
- ``log`` an instance of `lsst.log.Log`.
prefix
Name prefix, the resulting entries are ``CpuTime``, etc.. For example timeMethod uses
``prefix = Start`` when the method begins and ``prefix = End`` when the method ends.
logLevel : optional
Log level (an `lsst.log` level constant, such as `lsst.log.Log.DEBUG`).
Notes
-----
Logged items include:
- ``Utc``: UTC date in ISO format (only in metadata since log entries have timestamps).
- ``CpuTime``: System + User CPU time (seconds). This should only be used
in differential measurements; the time reference point is undefined.
- ``MaxRss``: maximum resident set size.
All logged resource information is only for the current process; child processes are excluded.
| def lsst.pipe.base.timer.logPairs | ( | obj, | |
| pairs, | |||
logLevel = Log.DEBUG |
|||
| ) |
Log ``(name, value)`` pairs to ``obj.metadata`` and ``obj.log``
Parameters
----------
obj : `lsst.pipe.base.Task`-type
A `~lsst.pipe.base.Task` or any other object with these two attributes:
- ``metadata`` an instance of `lsst.daf.base.PropertyList`` (or other object with
``add(name, value)`` method).
- ``log`` an instance of `lsst.log.Log`.
pairs : sequence
A sequence of ``(name, value)`` pairs, with value typically numeric.
logLevel : optional
Log level (an `lsst.log` level constant, such as `lsst.log.Log.DEBUG`).
| def lsst.pipe.base.timer.timeMethod | ( | func | ) |
Decorator to measure duration of a task method.
Parameters
----------
func
The method to wrap.
Notes
-----
Writes various measures of time and possibly memory usage to the task's metadata; all items are prefixed
with the function name.
.. warning::
This decorator only works with instance methods of Task, or any class with these attributes:
- ``metadata``: an instance of `lsst.daf.base.PropertyList` (or other object with
``add(name, value)`` method).
- ``log``: an instance of `lsst.log.Log`.
Examples
--------
To use::
import lsst.pipe.base as pipeBase
class FooTask(pipeBase.Task):
pass
@pipeBase.timeMethod
def run(self, ...): # or any other instance method you want to time
pass
1.8.13