# Copyright (c) 2020 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details. # frozen_string_literal: true module Contrast module Components module HeapDump # A wrapper build around the Common Agent Configuration project to allow # for access of the values contained in its # parent_configuration_spec.yaml. # Specifically, this allows for querying the state of the Heap Dump # utility. module ClassMethods include Contrast::Components::ComponentBase include Contrast::Components::Interface access_component :config def heap_dump_enabled? state.heap_dump_enabled? end def heap_dump_control { path: File.absolute_path(CONFIG.root.agent.heap_dump.path), count: CONFIG.root.agent.heap_dump.count.to_i, window: CONFIG.root.agent.heap_dump.window_ms.to_f / 1000, delay: CONFIG.root.agent.heap_dump.delay_ms.to_f / 1000, clean: true?(CONFIG.root.agent.heap_dump.clean) } end end end end end