lib/elastic_apm/agent.rb in elastic-apm-2.2.0 vs lib/elastic_apm/agent.rb in elastic-apm-2.3.0

- old
+ new

@@ -4,10 +4,11 @@ require 'elastic_apm/error_builder' require 'elastic_apm/stacktrace_builder' require 'elastic_apm/error' require 'elastic_apm/transport/base' require 'elastic_apm/spies' +require 'elastic_apm/metrics' module ElasticAPM # rubocop:disable Metrics/ClassLength # @api private class Agent @@ -53,22 +54,25 @@ @context_builder = ContextBuilder.new(config) @error_builder = ErrorBuilder.new(self) @transport = Transport::Base.new(config) @instrumenter = Instrumenter.new( - config, stacktrace_builder: stacktrace_builder + config, + stacktrace_builder: stacktrace_builder ) { |event| enqueue event } + @metrics = Metrics.new(config) { |event| enqueue event } end attr_reader :config, :transport, :instrumenter, - :stacktrace_builder, :context_builder, :error_builder + :stacktrace_builder, :context_builder, :error_builder, :metrics def start info '[%s] Starting agent, reporting to %s', VERSION, config.server_url transport.start instrumenter.start + metrics.start config.enabled_spies.each do |lib| require "elastic_apm/spies/#{lib}" end @@ -78,9 +82,10 @@ def stop debug 'Stopping agent' instrumenter.stop transport.stop + metrics.stop self end at_exit do