logInfo

lsst.utils.timer.logInfo(obj: Any, prefix: str, logLevel: int = 10, metadata: Optional[MutableMapping[KT, VT]] = None, logger: Optional[logging.Logger] = None) → None

Log timer information to obj.metadata and obj.log.

Parameters:
obj : object

An object with both or one these two attributes:

  • metadata a dict-like container for storing metadata. Can use the add(name, value) method if found, else will append entries to a list.
  • log an instance of logging.Logger or subclass.

If None, at least one of metadata or logger should be passed or this function will do nothing.

prefix : str

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 (a logging level constant, such as logging.DEBUG).

metadata : collections.abc.MutableMapping, optional

Metadata object to write entries to, overriding obj.metadata.

logger : logging.Logger

Log object to write entries to, overriding obj.log.

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.