lib/datadog/core/configuration/settings.rb in datadog-2.2.0 vs lib/datadog/core/configuration/settings.rb in datadog-2.3.0

- old
+ new

@@ -299,10 +299,20 @@ o.type :bool o.env 'DD_PROFILING_GC_ENABLED' o.default true end + # Can be used to enable/disable the Datadog::Profiling.allocation_count feature. + # + # Requires allocation profiling to be enabled. + # + # @default false + option :allocation_counting_enabled do |o| + o.type :bool + o.default false + end + # Can be used to enable/disable the collection of heap profiles. # # This feature is alpha and disabled by default # # @warn To enable heap profiling you are required to also enable allocation profiling. @@ -439,18 +449,20 @@ o.type :int o.env 'DD_PROFILING_UPLOAD_PERIOD' o.default 60 end - # Enables reporting of information when the Ruby VM crashes. - # - # @default `DD_PROFILING_EXPERIMENTAL_CRASH_TRACKING_ENABLED` environment variable as a boolean, - # otherwise `false` + # DEV-3.0: Remove `experimental_crash_tracking_enabled` option option :experimental_crash_tracking_enabled do |o| - o.type :bool - o.env 'DD_PROFILING_EXPERIMENTAL_CRASH_TRACKING_ENABLED' - o.default false + o.after_set do |_, _, precedence| + unless precedence == Datadog::Core::Configuration::Option::Precedence::DEFAULT + Core.log_deprecation(key: :experimental_crash_tracking_enabled) do + 'The profiling.advanced.experimental_crash_tracking_enabled setting has been deprecated for removal '\ + 'and no longer does anything. Please remove it from your Datadog.configure block.' + end + end + end end end # @public_api settings :upload do @@ -661,10 +673,28 @@ end end o.type :bool end + # Enable agentless mode for telemetry: submit telemetry events directly to the intake without Datadog Agent. + # + # @return [Boolean] + # @!visibility private + option :agentless_enabled do |o| + o.type :bool + o.default false + end + + # Overrides agentless telemetry URL. To be used internally for testing purposes only. + # + # @return [String] + # @!visibility private + option :agentless_url_override do |o| + o.type :string, nilable: true + o.env Core::Telemetry::Ext::ENV_AGENTLESS_URL_OVERRIDE + end + # Enable metrics collection for telemetry. Metrics collection only works when telemetry is enabled and # metrics are enabled. # @default `DD_TELEMETRY_METRICS_ENABLED` environment variable, otherwise `true`. # @return [Boolean] option :metrics_enabled do |o| @@ -732,10 +762,18 @@ # @!visibility private option :install_time do |o| o.type :string, nilable: true o.env Core::Telemetry::Ext::ENV_INSTALL_TIME end + + # Telemetry shutdown timeout in seconds + # + # @!visibility private + option :shutdown_timeout_seconds do |o| + o.type :float + o.default 1.0 + end end # Remote configuration # @public_api settings :remote do @@ -790,9 +828,18 @@ # configuration applies. # # @default `nil`. # @return [String,nil] option :service + end + + settings :crashtracking do + # Enables reporting of information when Ruby VM crashes. + option :enabled do |o| + o.type :bool + o.default true + o.env 'DD_CRASHTRACKING_ENABLED' + end end # TODO: Tracing should manage its own settings. # Keep this extension here for now to keep things working. extend Datadog::Tracing::Configuration::Settings