def METHOD_NAME(self,fname):
    "Parses a visit debug for vtk events"
    self.traces = {}
    addy_reuse = {}
    f = open(fname)
    lines = f.readlines()
    f.close()
    for line in lines:
        if self._valid_line_(line):
            oaddy,otype,oevnt = self._parse_line_(line.strip())
            if not self._check_filter_(oevnt):
                # address reuse logic:
                # checks # of times an address has rcved a
                # Destructing! message, and increments a reuse
                # counter. The unique key for an object is:
                #  address-reuse_number
                # Example:
                #  0x90d8300-0
                if not oaddy in list(addy_reuse.keys()):
                    addy_reuse[oaddy]=0;
                oaddy_u = oaddy + "-%d" % addy_reuse[oaddy]
                if not oaddy_u in list(self.traces.keys()):
                    trace = trace_object(oaddy_u,otype)
                    self.traces[oaddy_u] = trace
                self.traces[oaddy_u].add_event(oevnt)
                if oevnt == "Destructing!":
                    addy_reuse[oaddy] += 1
    return self.traces