LumensalisCP.Main.Profiler
Module Contents
Classes
ProfileWriteConfig | |
|---|---|
ProfileSnapEntry | |
IndexMap | |
CachedList | |
ProfileFrameBase | |
ProfileSubFrame | |
ProfileFrame | |
ProfileStubFrameEntry | |
ProfileStubFrame | |
Profiler |
Functions
ptToSeconds |
|---|
Data
TimePT | |
|---|---|
getProfilerNow |
API
LumensalisCP.Main.Profiler.TimePT = None
LumensalisCP.Main.Profiler.getProfilerNow = None
LumensalisCP.Main.Profiler.ptToSeconds(v)
class LumensalisCP.Main.Profiler.ProfileWriteConfig(target, minE=None, minEB=None, minF=None, minSubF=None, minB=None, **kwds)
Bases: object
Initialization
__repr__()
writeLine(fmt: str, *args)
class LumensalisCP.Main.Profiler.ProfileSnapEntry(tag: str, when: LumensalisCP.Main.Releasable.TimeInSeconds, name2: str | None = None)
Bases: LumensalisCP.Main.Releasable.Releasable
__defaultEtc = None
gcFixedOverhead = 0
name : str = None
name2 : str | None = None
lw : LumensalisCP.Main.Releasable.TimeSpanInSeconds = None
e : LumensalisCP.Main.Releasable.TimeSpanInSeconds = None
_nest : ProfileSubFrame | None = None
_nesting : bool = None
etc : LumensalisCP.Main.Releasable.Dict = None
_nextSnap : LumensalisCP.Main.Profiler.ProfileSnapEntry = None
releaseNested()
shouldProfileMemory()
usedByProfile()
property usedGC
classmethod makeEntry(name: str, when: LumensalisCP.Main.Releasable.TimeInSeconds, name2: str | None = None)
reset(name: str, when: LumensalisCP.Main.Releasable.TimeInSeconds, name2: str | None = None)
augment(tag: str, val)
property nest : LumensalisCP.Main.Profiler.ProfileSubFrame | None
subFrame(context, name: str | None = None, name2: str | None = None) → LumensalisCP.Main.Profiler.ProfileSubFrame
writeOn(config: LumensalisCP.Main.Profiler.ProfileWriteConfig, indent=”)
jsonData(**kwds)
class LumensalisCP.Main.Profiler.IndexMap(attrPrefix, tags)
Bases: object
Initialization
contains(tag)
attrFor(tag)
class LumensalisCP.Main.Profiler.CachedList(size)
Bases: object
Initialization
__len__()
__getitem__(x)
append(item: LumensalisCP.Main.Releasable.Releasable)
reset()
class LumensalisCP.Main.Profiler.ProfileFrameBase(context: LumensalisCP.Main.Releasable.LumensalisCP.Main.Updates.UpdateContext)
Bases: LumensalisCP.Main.Releasable.Releasable
e : LumensalisCP.Main.Releasable.TimeSpanInSeconds = None
when : LumensalisCP.Main.Releasable.TimeSpanInSeconds = None
loopStartPT : LumensalisCP.Main.Profiler.TimePT = None
priorStartPT : LumensalisCP.Main.Profiler.TimePT = None
latestStartPT : LumensalisCP.Main.Profiler.TimePT = None
firstSnap : LumensalisCP.Main.Profiler.ProfileSnapEntry = None
currentSnap : LumensalisCP.Main.Profiler.ProfileSnapEntry = None
currentSnapIndex : int = None
index : int = None
depth : int = 0
snapNames : ClassVar[LumensalisCP.Main.Profiler.IndexMap] = None
snapMaxEntries : ClassVar[int] = None
nextFrameIndex = 1
reset(context: LumensalisCP.Main.Releasable.LumensalisCP.Main.Updates.UpdateContext)
__enter__() → LumensalisCP.Main.Profiler.ProfileFrameBase
__exit__(exc_type, exc_value, exc_tb)
usedByProfile()
property usedGC
activeEntry()
activeFrame() → LumensalisCP.Main.Profiler.ProfileFrameBase
subFrame(context, name: str | None = None, name2: str | None = None) → LumensalisCP.Main.Profiler.ProfileSubFrame
shouldProfileMemory()
iterSnaps() → LumensalisCP.Main.Releasable.Generator[LumensalisCP.Main.Profiler.ProfileSnapEntry]
__add(cls, name: str, name2: str | None = None)
releaseNested()
_resetSnap(tag)
snap(name: str, name2: str | None = None, cls=ProfileSnapEntry) → LumensalisCP.Main.Profiler.ProfileSnapEntry
writeOn(config: LumensalisCP.Main.Profiler.ProfileWriteConfig, indent=”)
jsonData(minF=None, minE=None, withSkipped=False, forceInclude=False, **kwds)
__str__()
finish()
class LumensalisCP.Main.Profiler.ProfileSubFrame(context: LumensalisCP.Main.Releasable.LumensalisCP.Main.Updates.UpdateContext, name: str | None = None, name2: str | None = None)
Bases: LumensalisCP.Main.Profiler.ProfileFrameBase
snapNames = ‘IndexMap(…)‘
reset(context: LumensalisCP.Main.Releasable.LumensalisCP.Main.Updates.UpdateContext, name: str | None = None, name2: str | None = None)
classmethod makeEntry(context: LumensalisCP.Main.Releasable.LumensalisCP.Main.Updates.UpdateContext, name: str | None = None, name2: str | None = None)
shouldProfileMemory()
class LumensalisCP.Main.Profiler.ProfileFrame(context: LumensalisCP.Main.Releasable.LumensalisCP.Main.Updates.UpdateContext = None, eSleep=0.0)
Bases: LumensalisCP.Main.Profiler.ProfileFrameBase
updateIndex : int = None
start : LumensalisCP.Main.Releasable.TimeInSeconds = None
eSleep : LumensalisCP.Main.Releasable.TimeInSeconds = None
snapNames = ‘IndexMap(…)‘
snapMaxEntries = 10
shouldProfileMemory()
classmethod makeEntry(context: LumensalisCP.Main.Releasable.LumensalisCP.Main.Updates.UpdateContext, eSleep=0.0)
NASTY!!! the only reason this is overridden is to eliminate the cost of the temporaries for
*args and
**kwds in CircuitPython GC
reset(context: LumensalisCP.Main.Releasable.LumensalisCP.Main.Updates.UpdateContext = None, eSleep=0.0)
frameData(minF=None, minE=None, **kwds)
jsonData(minF=None, minE=None, **kwds)
writeOn(config: LumensalisCP.Main.Profiler.ProfileWriteConfig, indent=”)
class LumensalisCP.Main.Profiler.ProfileStubFrameEntry(frame=None)
Bases: LumensalisCP.Main.Profiler.ProfileSnapEntry
subFrame(context, name: str | None = None, name2: str | None = None) → LumensalisCP.Main.Profiler.ProfileFrameBase
writeOn(target, indent=”, **kwds)
jsonData(**kwds)
class LumensalisCP.Main.Profiler.ProfileStubFrame(context=None)
Bases: LumensalisCP.Main.Profiler.ProfileFrame
activeFrame() → LumensalisCP.Main.Profiler.ProfileFrameBase
subFrame(context, name: str | None = None, name2: str | None = None) → LumensalisCP.Main.Profiler.ProfileSubFrame
snap(tag, tag2=None) → LumensalisCP.Main.Profiler.ProfileSnapEntry
reset(context=None, updateIndex=0, eSleep=0.0)
__enter__()
__exit__(exc_type, exc_value, exc_tb)
class LumensalisCP.Main.Profiler.Profiler(context: LumensalisCP.Main.Releasable.LumensalisCP.Main.Updates.UpdateContext, timings=None, stub=None)
Bases: object