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