dd-trace-rb icon indicating copy to clipboard operation
dd-trace-rb copied to clipboard

`environment_logger.rb` Failed to collect environment information: undefined method `client'.

Open duncanista opened this issue 2 years ago • 0 comments

Current behaviour

[email protected] warns an error for the environment logger when using the writer SyncWriter in the configuration. TraceWriter doesn't trigger this warning, but I was recommended not to use it yet.

W, [2022-10-11T18:17:25.593797 #9]  WARN be6ea2a2-7353-42a1-8fae-7af333be7b68 -- ddtrace: [ddtrace] Failed to collect environment information: undefined method `client' for #<Datadog::Transport::IO::Client:0x0000000002a478e0> Location: /opt/ruby/gems/2.7.0/gems/ddtrace-1.5.0/lib/datadog/core/diagnostics/environment_logger.rb:113:in `agent_url'

Configuration

# under Datadog.configure do |c|
c.tracing.writer = Datadog::Tracing::SyncWriter.new(
  transport: Datadog::Transport::IO.default
)

Expected behaviour

Not to error, same behavior as TraceWriter.

c.tracing.writer = Datadog::Tracing::Workers::TraceWriter.new(
  transport: Datadog::Transport::IO.default
)

Steps to reproduce

Configure a Ruby application with the tracing writer Datadog::Tracing::SyncWriter with the transport Datadog::Transport::IO.default.

Datadog.configure do |c|
  c.tracing.writer = Datadog::Tracing::SyncWriter.new(
    transport: Datadog::Transport::IO.default
  )
  c.tags = { "_dd.origin": 'lambda' }
  yield(c) if block_given?
end

How does ddtrace help you?

To support datadog-lambda-rb layer for AWS Lambda.

Environment

  • **ddtrace version: 1.5.0
  • **Configuration block (Datadog.configure ...): (described above)
  • **Ruby version: 2.7.0
  • **Operating system: Lambda Runtime | macOS M1
  • **Relevant library versions: n/a

duncanista avatar Oct 12 '22 19:10 duncanista