Panda3D
Public Member Functions | Static Public Attributes | List of all members
ContainerLeakDetector Class Reference
Inheritance diagram for ContainerLeakDetector:
Job DirectObject

Public Member Functions

def __init__ (self, name, firstCheckDelay=None)
 
def addPrivateObj (cls, obj)
 
def destroy (self)
 
def getContainerById (self, id)
 
def getContainerByIdGen (self, id, kwArgs)
 
def getContainerIds (self)
 
def getContainerNameById (self, id)
 
def getContainerNameByIdGen (self, id, kwArgs)
 
def getLeakEvent (self)
 
def getPathsToContainers (self, name, ot, doneCallback=None)
 
def getPathsToContainersNamed (self, name, on, doneCallback=None)
 
def removeContainerById (self, id)
 
def removePrivateObj (cls, obj)
 
def run (self)
 
- Public Member Functions inherited from Job
def __init__ (self, name)
 
def destroy (self)
 
def finished (self)
 
def getFinishedEvent (self)
 
def getJobName (self)
 
def getPriority (self)
 
def isFinished (self)
 
def printingBegin (self)
 
def printingEnd (self)
 
def resume (self)
 
def run (self)
 
def setPriority (self, priority)
 
def suspend (self)
 
- Public Member Functions inherited from DirectObject
def __init__ (self)
 
def accept (self, event, method, extraArgs=[])
 
def acceptOnce (self, event, method, extraArgs=[])
 
def addTask (self, args, kwargs)
 
def detectLeaks (self)
 
def doMethodLater (self, args, kwargs)
 
def getAllAccepting (self)
 
def ignore (self, event)
 
def ignoreAll (self)
 
def isAccepting (self, event)
 
def isIgnoring (self, event)
 
def removeAllTasks (self)
 
def removeTask (self, taskOrName)
 

Static Public Attributes

 notify = directNotify.newCategory("ContainerLeakDetector")
 
 PrivateIds = set()
 
- Static Public Attributes inherited from Job
 Continue = None
 
 Done = object()
 
 Priorities = ScratchPad(Min=1, Low=100, Normal=1000, High=10000)
 
 Sleep = object()
 

Detailed Description

Low-priority Python object-graph walker that looks for leaking containers.
To reduce memory usage, this does a random walk of the Python objects to
discover containers rather than keep a set of all visited objects; it may
visit the same object many times but eventually it will discover every object.
Checks container sizes at ever-increasing intervals.

Constructor & Destructor Documentation

◆ __init__()

def __init__ (   self,
  name,
  firstCheckDelay = None 
)

Member Function Documentation

◆ addPrivateObj()

def addPrivateObj (   cls,
  obj 
)

◆ destroy()

def destroy (   self)

◆ getContainerById()

def getContainerById (   self,
  id 
)

◆ getContainerByIdGen()

def getContainerByIdGen (   self,
  id,
  kwArgs 
)

◆ getContainerIds()

def getContainerIds (   self)

◆ getContainerNameById()

def getContainerNameById (   self,
  id 
)

◆ getContainerNameByIdGen()

def getContainerNameByIdGen (   self,
  id,
  kwArgs 
)

◆ getLeakEvent()

def getLeakEvent (   self)

◆ getPathsToContainers()

def getPathsToContainers (   self,
  name,
  ot,
  doneCallback = None 
)

◆ getPathsToContainersNamed()

def getPathsToContainersNamed (   self,
  name,
  on,
  doneCallback = None 
)

◆ removeContainerById()

def removeContainerById (   self,
  id 
)

◆ removePrivateObj()

def removePrivateObj (   cls,
  obj 
)

◆ run()

def run (   self)

Member Data Documentation

◆ notify

notify = directNotify.newCategory("ContainerLeakDetector")
static

◆ PrivateIds

PrivateIds = set()
static