Class: Datadog::Core::Telemetry::Event::AppStarted Private

Inherits:
Base
  • Object
show all
Defined in:
lib/datadog/core/telemetry/event/app_started.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Telemetry class for the ‘app-started’ event

Direct Known Subclasses

SynthAppClientConfigurationChange

Instance Method Summary collapse

Methods inherited from Base

#==, #hash

Constructor Details

#initialize(components:) ⇒ AppStarted

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of AppStarted.



11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/datadog/core/telemetry/event/app_started.rb', line 11

def initialize(components:)
  # To not hold a reference to the component tree, generate
  # the event payload here in the constructor.
  #
  # Important: do not store data that contains (or is derived from)
  # the runtime_id or sequence numbers.
  # This event is reused when a process forks, but in the
  # child process the runtime_id would be different and sequence
  # number is reset.
  @configuration = configuration(components.settings, components.agent_settings)
  @install_signature = install_signature(components.settings)
  @products = products(components)
end

Instance Method Details

#app_started?Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Whether the event is actually the app-started event. For the app-started event we follow up by sending app-dependencies-loaded, if the event is app-client-configuration-change we don’t send app-dependencies-loaded.

Returns:

  • (Boolean)


44
45
46
# File 'lib/datadog/core/telemetry/event/app_started.rb', line 44

def app_started?
  true
end

#payloadObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



29
30
31
32
33
34
35
36
37
# File 'lib/datadog/core/telemetry/event/app_started.rb', line 29

def payload
  {
    products: @products,
    configuration: @configuration,
    install_signature: @install_signature,
    # DEV: Not implemented yet
    # error: error, # Start-up errors
  }
end

#typeObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



25
26
27
# File 'lib/datadog/core/telemetry/event/app_started.rb', line 25

def type
  'app-started'
end