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