def _dump_referrers()

in docker_images/pythonv2/wrapper/python_glue/leak_check.py [0:0]


def _dump_referrers(obj):
    referrers = gc.get_referrers(obj.weakref())
    for referrer in referrers:
        if isinstance(referrer, dict):
            print("  dict: {}".format(referrer))
            for sub_referrer in gc.get_referrers(referrer):
                if sub_referrer != referrers:
                    if not inspect.ismodule(sub_referrer):
                        print(
                            "    used by: {}:{}".format(
                                type(sub_referrer), sub_referrer
                            )
                        )
        elif not isinstance(referrer, type) and not inspect.ismodule(referrer):
            print("  used by: {}:{}".format(type(referrer), referrer))