lib/elastic_apm/agent.rb in elastic-apm-3.0.0 vs lib/elastic_apm/agent.rb in elastic-apm-3.1.0
- old
+ new
@@ -15,10 +15,11 @@
module ElasticAPM
# rubocop:disable Metrics/ClassLength
# @api private
class Agent
include Logging
+ extend Forwardable
LOCK = Mutex.new
# life cycle
@@ -59,14 +60,11 @@
def self.running?
!!@instance
end
- # rubocop:disable Metrics/MethodLength
def initialize(config)
- @config = config
-
@stacktrace_builder = StacktraceBuilder.new(config)
@context_builder = ContextBuilder.new(config)
@error_builder = ErrorBuilder.new(self)
@central_config = CentralConfig.new(config)
@@ -75,11 +73,10 @@
config,
stacktrace_builder: stacktrace_builder
) { |event| enqueue event }
@metrics = Metrics.new(config) { |event| enqueue event }
end
- # rubocop:enable Metrics/MethodLength
attr_reader(
:central_config,
:config,
:context_builder,
@@ -88,10 +85,12 @@
:metrics,
:stacktrace_builder,
:transport
)
+ def_delegator :@central_config, :config
+
# rubocop:disable Metrics/AbcSize, Metrics/MethodLength
def start
unless config.disable_start_message
info '[%s] Starting agent, reporting to %s', VERSION, config.server_url
end
@@ -148,9 +147,10 @@
trace_context: nil
)
instrumenter.start_transaction(
name,
type,
+ config: config,
context: context,
trace_context: trace_context
)
end