Module: Datadog::SymbolDatabase::Configuration::Settings Private
- Defined in:
- lib/datadog/symbol_database/configuration.rb
Overview
This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.
Configuration settings for symbol database upload feature.
Public environment variable:
- DD_SYMBOL_DATABASE_UPLOAD_ENABLED - Feature gate, tri-state (true/false/nil). See the :enabled option.
Extended into: Core::Configuration::Settings (via extend) Accessed as: Datadog.configuration.symbol_database.enabled
Class Method Summary collapse
-
.add_settings!(base) ⇒ void
private
Add symbol_database settings block to base class.
-
.extended(base) ⇒ void
private
Hook called when this module is extended into a class.
Class Method Details
.add_settings!(base) ⇒ void
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.
This method returns an undefined value.
Add symbol_database settings block to base class.
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/datadog/symbol_database/configuration.rb', line 27 def self.add_settings!(base) base.class_eval do # steep:ignore:start settings :symbol_database do # @return [Boolean, nil] # When nil (the default), symbol database mirrors Dynamic # Instrumentation: it is advertised and built alongside DI, but # only extracts and uploads symbols when DI is actually enabled # (via DD_DYNAMIC_INSTRUMENTATION_ENABLED or implicit enablement # through the DI UI). Set true/false explicitly via # DD_SYMBOL_DATABASE_UPLOAD_ENABLED or c.symbol_database.enabled to # override: true uploads regardless of DI, false disables entirely. option :enabled do |o| o.env "DD_SYMBOL_DATABASE_UPLOAD_ENABLED" o.default nil o.type :bool, nilable: true end # Settings in the 'internal' group are for internal Datadog # use only, and are needed to test symbol database or # experiment with features not released to customers. settings :internal do # Bypass remote config — start extraction immediately. # Matches Java's DD_INTERNAL_FORCE_SYMBOL_DATABASE_UPLOAD # and Python's private force_upload setting. option :force_upload do |o| o.type :bool o.env "DD_INTERNAL_FORCE_SYMBOL_DATABASE_UPLOAD" o.default false end # Enable verbose trace-level logging for symdb operations. # Activated by DD_TRACE_DEBUG (same trigger as DI trace logging). option :trace_logging do |o| o.type :bool o.default false o.env "DD_TRACE_DEBUG" end end end # steep:ignore:end end end |
.extended(base) ⇒ void
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.
This method returns an undefined value.
Hook called when this module is extended into a class.
19 20 21 22 |
# File 'lib/datadog/symbol_database/configuration.rb', line 19 def self.extended(base) base = base.singleton_class unless base.is_a?(Class) add_settings!(base) end |