lib/instana/config.rb in instana-1.3.1 vs lib/instana/config.rb in instana-1.3.2

- old
+ new

@@ -1,17 +1,28 @@ module Instana class Config def initialize @config = {} + @config[:agent_host] = '127.0.0.1' @config[:agent_port] = 42699 - @config[:metrics] = {} + + # Global on/off switch for prebuilt environments + # Setting this to false will disable this gem + # from doing anything. + @config[:enabled] = true + + # Enable/disable metrics globally or individually (default: all enabled) + @config[:metrics] = { :enabled => true } @config[:metrics][:gc] = { :enabled => true } @config[:metrics][:memory] = { :enabled => true } @config[:metrics][:thread] = { :enabled => true } + # Enable/disable tracing (default: enabled) + @config[:tracing] = { :enabled => true } + if ENV.key?('INSTANA_GEM_DEV') @config[:collector] = { :enabled => true, :interval => 3 } else @config[:collector] = { :enabled => true, :interval => 1 } end @@ -34,9 +45,16 @@ @config[key.to_sym] end def []=(key, value) @config[key.to_sym] = value + + if key == :enabled + # Configuring global enable/disable flag, then set the + # appropriate children flags. + @config[:metrics][:enabled] = value + @config[:tracing][:enabled] = value + end end end end ::Instana.config = ::Instana::Config.new