equal
deleted
inserted
replaced
20 return cls |
20 return cls |
21 raise AssertionError() |
21 raise AssertionError() |
22 |
22 |
23 def gc_info(countclasses, |
23 def gc_info(countclasses, |
24 ignoreclasses=IGNORE_CLASSES, |
24 ignoreclasses=IGNORE_CLASSES, |
25 viewreferrersclasses=(), showobjs=False): |
25 viewreferrersclasses=(), showobjs=False, maxlevel=1): |
26 gc.collect() |
26 gc.collect() |
27 gc.collect() |
27 gc.collect() |
28 counters = {} |
28 counters = {} |
29 ocounters = {} |
29 ocounters = {} |
30 for obj in gc.get_objects(): |
30 for obj in gc.get_objects(): |
43 try: |
43 try: |
44 ocounters[key] += 1 |
44 ocounters[key] += 1 |
45 except KeyError: |
45 except KeyError: |
46 ocounters[key] = 1 |
46 ocounters[key] = 1 |
47 if isinstance(obj, viewreferrersclasses): |
47 if isinstance(obj, viewreferrersclasses): |
48 print ' ', obj, referrers(obj, showobjs) |
48 print ' ', obj, referrers(obj, showobjs, maxlevel) |
49 return counters, ocounters, gc.garbage |
49 return counters, ocounters, gc.garbage |
50 |
50 |
51 |
51 |
52 def referrers(obj, showobj=False, maxlevel=1): |
52 def referrers(obj, showobj=False, maxlevel=1): |
53 objreferrers = _referrers(obj, maxlevel) |
53 objreferrers = _referrers(obj, maxlevel) |