mirror of
https://github.com/HoneyryderChuck/httpx.git
synced 2025-12-05 00:02:12 -05:00
adapt to datadog gem upcoming changes
names changes from ddtrace to datadog, as well as namespace
This commit is contained in:
parent
b234465219
commit
3d9779cc63
2
Gemfile
2
Gemfile
@ -10,7 +10,7 @@ gem "rake", "~> 13.0"
|
||||
group :test do
|
||||
if RUBY_VERSION >= "3.2.0"
|
||||
# load from branch while there's no official release
|
||||
gem "ddtrace", github: "DataDog/dd-trace-rb", branch: "2.0"
|
||||
gem "datadog", github: "DataDog/dd-trace-rb", branch: "2.0"
|
||||
else
|
||||
gem "ddtrace"
|
||||
end
|
||||
|
||||
@ -1,10 +1,18 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
begin
|
||||
# upcoming 2.0
|
||||
require "datadog"
|
||||
rescue LoadError
|
||||
require "ddtrace"
|
||||
end
|
||||
|
||||
require "test_helper"
|
||||
require "support/http_helpers"
|
||||
require "httpx/adapters/datadog"
|
||||
|
||||
DATADOG_VERSION = defined?(DDTrace) ? DDTrace::VERSION : Datadog::VERSION
|
||||
|
||||
class DatadogTest < Minitest::Test
|
||||
include HTTPHelpers
|
||||
|
||||
@ -203,7 +211,7 @@ class DatadogTest < Minitest::Test
|
||||
end
|
||||
|
||||
def verify_instrumented_request(response, verb:, uri:, span: fetch_spans.first, service: "httpx", error: nil)
|
||||
if defined?(::DDTrace) && Gem::Version.new(::DDTrace::VERSION::STRING) >= Gem::Version.new("2.0.0.dev")
|
||||
if Gem::Version.new(DATADOG_VERSION::STRING) >= Gem::Version.new("2.0.0.dev")
|
||||
assert span.type == "http"
|
||||
else
|
||||
assert span.span_type == "http"
|
||||
@ -216,7 +224,7 @@ class DatadogTest < Minitest::Test
|
||||
assert span.get_tag("http.method") == verb
|
||||
assert span.get_tag("http.url") == uri.path
|
||||
|
||||
error_tag = if defined?(::DDTrace) && Gem::Version.new(::DDTrace::VERSION::STRING) >= Gem::Version.new("1.8.0")
|
||||
error_tag = if Gem::Version.new(DATADOG_VERSION::STRING) >= Gem::Version.new("1.8.0")
|
||||
"error.message"
|
||||
else
|
||||
"error.msg"
|
||||
@ -250,7 +258,7 @@ class DatadogTest < Minitest::Test
|
||||
def verify_distributed_headers(response, span: fetch_spans.first, sampling_priority: 1)
|
||||
request = response.instance_variable_get(:@request)
|
||||
|
||||
if defined?(::DDTrace) && Gem::Version.new(::DDTrace::VERSION::STRING) >= Gem::Version.new("2.0.0.dev")
|
||||
if Gem::Version.new(DATADOG_VERSION::STRING) >= Gem::Version.new("2.0.0.dev")
|
||||
assert request.headers["x-datadog-parent-id"] == span.id.to_s
|
||||
else
|
||||
assert request.headers["x-datadog-parent-id"] == span.span_id.to_s
|
||||
@ -259,7 +267,7 @@ class DatadogTest < Minitest::Test
|
||||
assert request.headers["x-datadog-sampling-priority"] == sampling_priority.to_s
|
||||
end
|
||||
|
||||
if defined?(::DDTrace) && Gem::Version.new(::DDTrace::VERSION::STRING) >= Gem::Version.new("1.17.0")
|
||||
if Gem::Version.new(DATADOG_VERSION::STRING) >= Gem::Version.new("1.17.0")
|
||||
def trace_id(span)
|
||||
Datadog::Tracing::Utils::TraceId.to_low_order(span.trace_id).to_s
|
||||
end
|
||||
|
||||
@ -7,6 +7,8 @@ require "datadog/tracing/contrib/patcher"
|
||||
module Datadog::Tracing
|
||||
module Contrib
|
||||
module HTTPX
|
||||
DATADOG_VERSION = defined?(::DDTrace) ? ::DDTrace::VERSION : ::Datadog::VERSION
|
||||
|
||||
METADATA_MODULE = Datadog::Tracing::Metadata
|
||||
|
||||
TYPE_OUTBOUND = Datadog::Tracing::Metadata::Ext::HTTP::TYPE_OUTBOUND
|
||||
@ -140,7 +142,7 @@ module Datadog::Tracing
|
||||
@configuration ||= Datadog.configuration.tracing[:httpx, @request.uri.host]
|
||||
end
|
||||
|
||||
if Gem::Version.new(DDTrace::VERSION::STRING) >= Gem::Version.new("2.0.0.dev")
|
||||
if Gem::Version.new(DATADOG_VERSION::STRING) >= Gem::Version.new("2.0.0.dev")
|
||||
def propagate_trace_http(digest, headers)
|
||||
Datadog::Tracing::Contrib::HTTP.inject(digest, headers)
|
||||
end
|
||||
@ -219,7 +221,7 @@ module Datadog::Tracing
|
||||
option :distributed_tracing, default: true
|
||||
option :split_by_domain, default: false
|
||||
|
||||
if Gem::Version.new(DDTrace::VERSION::STRING) >= Gem::Version.new("1.13.0")
|
||||
if Gem::Version.new(DATADOG_VERSION::STRING) >= Gem::Version.new("1.13.0")
|
||||
option :enabled do |o|
|
||||
o.type :bool
|
||||
o.env "DD_TRACE_HTTPX_ENABLED"
|
||||
@ -262,25 +264,25 @@ module Datadog::Tracing
|
||||
"httpx"
|
||||
)
|
||||
end
|
||||
o.lazy unless Gem::Version.new(DDTrace::VERSION::STRING) >= Gem::Version.new("1.13.0")
|
||||
o.lazy unless Gem::Version.new(DATADOG_VERSION::STRING) >= Gem::Version.new("1.13.0")
|
||||
end
|
||||
else
|
||||
option :service_name do |o|
|
||||
o.default do
|
||||
ENV.fetch("DD_TRACE_HTTPX_SERVICE_NAME", "httpx")
|
||||
end
|
||||
o.lazy unless Gem::Version.new(DDTrace::VERSION::STRING) >= Gem::Version.new("1.13.0")
|
||||
o.lazy unless Gem::Version.new(DATADOG_VERSION::STRING) >= Gem::Version.new("1.13.0")
|
||||
end
|
||||
end
|
||||
|
||||
option :distributed_tracing, default: true
|
||||
|
||||
if Gem::Version.new(DDTrace::VERSION::STRING) >= Gem::Version.new("1.15.0")
|
||||
if Gem::Version.new(DATADOG_VERSION::STRING) >= Gem::Version.new("1.15.0")
|
||||
option :error_handler do |o|
|
||||
o.type :proc
|
||||
o.default_proc(&DEFAULT_ERROR_HANDLER)
|
||||
end
|
||||
elsif Gem::Version.new(DDTrace::VERSION::STRING) >= Gem::Version.new("1.13.0")
|
||||
elsif Gem::Version.new(DATADOG_VERSION::STRING) >= Gem::Version.new("1.13.0")
|
||||
option :error_handler do |o|
|
||||
o.type :proc
|
||||
o.experimental_default_proc(&DEFAULT_ERROR_HANDLER)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user