lib/elastic_apm/agent.rb in elastic-apm-0.1.0 vs lib/elastic_apm/agent.rb in elastic-apm-0.2.0

- old
+ new

@@ -1,7 +1,9 @@ # frozen_string_literal: true +require 'elastic_apm/naively_hashable' +require 'elastic_apm/context_builder' require 'elastic_apm/error_builder' require 'elastic_apm/error' require 'elastic_apm/http' require 'elastic_apm/injectors' require 'elastic_apm/serializers' @@ -49,22 +51,23 @@ @config = config @queue = Queue.new @instrumenter = Instrumenter.new(config, self) + @context_builder = ContextBuilder.new(config) @error_builder = ErrorBuilder.new(config) @serializers = Struct.new(:transactions, :errors).new( Serializers::Transactions.new(config), Serializers::Errors.new(config) ) end - attr_reader :config, :queue, :instrumenter + attr_reader :config, :queue, :instrumenter, :context_builder def start - debug 'Starting agent reporting to %s', config.server + debug 'Starting agent reporting to %s', config.server_url @instrumenter.start boot_worker @@ -112,16 +115,19 @@ def span(*args, &block) instrumenter.span(*args, &block) end + def build_context(rack_env) + @context_builder.build(rack_env) + end + # errors - def report(exception, rack_env: nil, handled: true) + def report(exception, handled: true) error = @error_builder.build_exception( exception, - rack_env: rack_env, handled: handled ) enqueue_errors error end @@ -130,9 +136,19 @@ message, backtrace: backtrace, **attrs ) enqueue_errors error + end + + # context + + def set_tag(*args) + instrumenter.set_tag(*args) + end + + def set_custom_context(*args) + instrumenter.set_custom_context(*args) end def inspect '<ElasticAPM::Agent>' end