Module: Datadog::Runtime::ObjectSpace

Defined in:
lib/ddtrace/runtime/object_space.rb

Overview

Retrieves garbage collection statistics

Class Method Summary collapse

Class Method Details

.estimate_bytesize(object) ⇒ Object



9
10
11
12
13
14
15
16
# File 'lib/ddtrace/runtime/object_space.rb', line 9

def estimate_bytesize(object)
  return 0 unless ::ObjectSpace.respond_to?(:memsize_of)

  # Rough calculation of bytesize; not very accurate.
  object.instance_variables.inject(::ObjectSpace.memsize_of(object)) do |sum, var|
    sum + ::ObjectSpace.memsize_of(object.instance_variable_get(var))
  end
end