Class: Datadog::Core::Telemetry::V1::Application

Inherits:
Object
  • Object
show all
Defined in:
lib/datadog/core/telemetry/v1/application.rb

Overview

Describes attributes for application environment object

Constant Summary collapse

ERROR_NIL_LANGUAGE_NAME_MESSAGE =
':language_name must not be nil'.freeze
ERROR_NIL_LANGUAGE_VERSION_MESSAGE =
':language_version must not be nil'.freeze
ERROR_NIL_SERVICE_NAME_MESSAGE =
':service_name must not be nil'.freeze
ERROR_NIL_TRACER_VERSION_MESSAGE =
':tracer_version must not be nil'.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(language_name:, language_version:, service_name:, tracer_version:, env: nil, products: nil, runtime_name: nil, runtime_patches: nil, runtime_version: nil, service_version: nil) ⇒ Application

Returns a new instance of Application.

Parameters:

  • env (String) (defaults to: nil)

    Service’s environment

  • language_name (String)

    ‘ruby’

  • language_version (String)

    Version of language used

  • products (Telemetry::V1::Product) (defaults to: nil)

    Contains information about specific products added to the environment

  • runtime_name (String) (defaults to: nil)

    Runtime being used

  • runtime_patches (String) (defaults to: nil)

    String of patches applied to the runtime

  • runtime_version (String) (defaults to: nil)

    Runtime version; potentially the same as :language_version

  • service_name (String)

    Service’s name (DD_SERVICE)

  • service_version (String) (defaults to: nil)

    Service’s version (DD_VERSION)

  • tracer_version (String)

    Version of the used tracer



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/datadog/core/telemetry/v1/application.rb', line 34

def initialize(
  language_name:, language_version:, service_name:, tracer_version:, env: nil, products: nil,
  runtime_name: nil, runtime_patches: nil, runtime_version: nil, service_version: nil
)
  validate(
    language_name: language_name,
    language_version: language_version,
    service_name: service_name,
    tracer_version: tracer_version
  )
  @env = env
  @language_name = language_name
  @language_version = language_version
  @products = products
  @runtime_name = runtime_name
  @runtime_patches = runtime_patches
  @runtime_version = runtime_version
  @service_name = service_name
  @service_version = service_version
  @tracer_version = tracer_version
end

Instance Attribute Details

#envObject (readonly)

Returns the value of attribute env.



12
13
14
# File 'lib/datadog/core/telemetry/v1/application.rb', line 12

def env
  @env
end

#language_nameObject (readonly)

Returns the value of attribute language_name.



12
13
14
# File 'lib/datadog/core/telemetry/v1/application.rb', line 12

def language_name
  @language_name
end

#language_versionObject (readonly)

Returns the value of attribute language_version.



12
13
14
# File 'lib/datadog/core/telemetry/v1/application.rb', line 12

def language_version
  @language_version
end

#productsObject (readonly)

Returns the value of attribute products.



12
13
14
# File 'lib/datadog/core/telemetry/v1/application.rb', line 12

def products
  @products
end

#runtime_nameObject (readonly)

Returns the value of attribute runtime_name.



12
13
14
# File 'lib/datadog/core/telemetry/v1/application.rb', line 12

def runtime_name
  @runtime_name
end

#runtime_patchesObject (readonly)

Returns the value of attribute runtime_patches.



12
13
14
# File 'lib/datadog/core/telemetry/v1/application.rb', line 12

def runtime_patches
  @runtime_patches
end

#runtime_versionObject (readonly)

Returns the value of attribute runtime_version.



12
13
14
# File 'lib/datadog/core/telemetry/v1/application.rb', line 12

def runtime_version
  @runtime_version
end

#service_nameObject (readonly)

Returns the value of attribute service_name.



12
13
14
# File 'lib/datadog/core/telemetry/v1/application.rb', line 12

def service_name
  @service_name
end

#service_versionObject (readonly)

Returns the value of attribute service_version.



12
13
14
# File 'lib/datadog/core/telemetry/v1/application.rb', line 12

def service_version
  @service_version
end

#tracer_versionObject (readonly)

Returns the value of attribute tracer_version.



12
13
14
# File 'lib/datadog/core/telemetry/v1/application.rb', line 12

def tracer_version
  @tracer_version
end

Instance Method Details

#to_hObject



56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/datadog/core/telemetry/v1/application.rb', line 56

def to_h
  {
    env: @env,
    language_name: @language_name,
    language_version: @language_version,
    products: @products.to_h,
    runtime_name: @runtime_name,
    runtime_patches: @runtime_patches,
    runtime_version: @runtime_version,
    service_name: @service_name,
    service_version: @service_version,
    tracer_version: @tracer_version
  }
end