@@ -37,19 +37,20 @@ def get_deep_size(obj, seen=None):
37
37
return 0
38
38
seen .add (obj_id )
39
39
40
- size = sys .getsizeof (obj )
41
-
40
+ size = 0
42
41
if isinstance (obj , dict ):
43
42
size += sum (get_deep_size (k , seen ) + get_deep_size (v , seen ) for k , v in obj .items ())
44
43
elif isinstance (obj , (list , tuple , set , frozenset )):
45
44
size += sum (get_deep_size (i , seen ) for i in obj )
45
+ else :
46
+ size = sys .getsizeof (obj )
46
47
47
48
return size
48
49
49
50
50
51
def get_deep_size_protobuf (obj ):
51
52
"""Recursively calculates the size of an object including nested lists and dicts."""
52
- size = sys . getsizeof ( obj )
53
+ size = 0
53
54
if hasattr (obj , "string_value" ):
54
55
size += sys .getsizeof (obj .string_value )
55
56
return size
@@ -64,11 +65,11 @@ def get_deep_size_protobuf(obj):
64
65
return size
65
66
66
67
if hasattr (obj , "agent_attributes" ):
67
- size += sum (get_deep_size_protobuf (k ) + get_deep_size_protobuf (v ) for k , v in obj .agent_attributes .items ())
68
+ size += sum (sys . getsizeof (k ) + get_deep_size_protobuf (v ) for k , v in obj .agent_attributes .items ())
68
69
if hasattr (obj , "user_attributes" ):
69
- size += sum (get_deep_size_protobuf (k ) + get_deep_size_protobuf (v ) for k , v in obj .user_attributes .items ())
70
+ size += sum (sys . getsizeof (k ) + get_deep_size_protobuf (v ) for k , v in obj .user_attributes .items ())
70
71
if hasattr (obj , "intrinsics" ):
71
- size += sum (get_deep_size_protobuf (k ) + get_deep_size_protobuf (v ) for k , v in obj .intrinsics .items ())
72
+ size += sum (sys . getsizeof (k ) + get_deep_size_protobuf (v ) for k , v in obj .intrinsics .items ())
72
73
73
74
return size
74
75
0 commit comments