Class: Datadog::Profiling::Collectors::Info

Inherits:
Object
  • Object
show all
Defined in:
lib/datadog/profiling/collectors/info.rb

Overview

Collects information of relevance for profiler. This will get sent alongside the profile and show up in the UI or potentially influence processing in some way.

Information is currently collected and frozen at construction time. A full collector could be seen as overkill for this case but it allows us to centralize information gathering and easily support more flexible/dynamic info collection in the future.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(settings) ⇒ Info

: (untyped) -> void



25
26
27
28
29
30
31
32
33
34
# File 'lib/datadog/profiling/collectors/info.rb', line 25

def initialize(settings)
  @profiler_info = nil

  @info = {
    platform: collect_platform_info,
    runtime: collect_runtime_info,
    application: collect_application_info(settings),
    profiler: collect_profiler_info(settings),
  }.freeze
end

Instance Attribute Details

#infoObject (readonly)

: ::Hash[::Symbol, ::Hash[::Symbol, untyped]]



36
37
38
# File 'lib/datadog/profiling/collectors/info.rb', line 36

def info
  @info
end