Class: Gitlab::Memory::Reports::HeapDump

Inherits:
Object
  • Object
show all
Defined in:
lib/gitlab/memory/reports/heap_dump.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.enqueue!Object



8
9
10
# File 'lib/gitlab/memory/reports/heap_dump.rb', line 8

def enqueue!
  @write_heap_dump = true
end

.enqueued?Boolean

Returns:

  • (Boolean)


12
13
14
# File 'lib/gitlab/memory/reports/heap_dump.rb', line 12

def enqueued?
  !!@write_heap_dump
end

Instance Method Details

#active?Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/gitlab/memory/reports/heap_dump.rb', line 21

def active?
  Feature.enabled?(:report_heap_dumps, type: :ops)
end

#nameObject



17
18
19
# File 'lib/gitlab/memory/reports/heap_dump.rb', line 17

def name
  'heap_dump'
end

#run(writer) ⇒ Object



25
26
27
28
29
30
31
# File 'lib/gitlab/memory/reports/heap_dump.rb', line 25

def run(writer)
  return false unless self.class.enqueued?

  ObjectSpace.dump_all(output: writer)

  true
end