datadog 2.22.0 → 2.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +140 -1
- data/ext/LIBDATADOG_DEVELOPMENT.md +1 -58
- data/ext/datadog_profiling_native_extension/collectors_cpu_and_wall_time_worker.c +93 -23
- data/ext/datadog_profiling_native_extension/collectors_stack.c +21 -5
- data/ext/datadog_profiling_native_extension/crashtracking_runtime_stacks.c +239 -0
- data/ext/datadog_profiling_native_extension/datadog_ruby_common.h +1 -1
- data/ext/datadog_profiling_native_extension/extconf.rb +9 -4
- data/ext/datadog_profiling_native_extension/heap_recorder.c +1 -1
- data/ext/datadog_profiling_native_extension/http_transport.c +1 -0
- data/ext/datadog_profiling_native_extension/private_vm_api_access.c +12 -0
- data/ext/datadog_profiling_native_extension/private_vm_api_access.h +4 -0
- data/ext/datadog_profiling_native_extension/profiling.c +2 -0
- data/ext/libdatadog_api/datadog_ruby_common.h +1 -1
- data/ext/libdatadog_api/feature_flags.c +554 -0
- data/ext/libdatadog_api/feature_flags.h +5 -0
- data/ext/libdatadog_api/init.c +2 -0
- data/ext/libdatadog_api/library_config.c +12 -11
- data/ext/libdatadog_extconf_helpers.rb +1 -1
- data/lib/datadog/ai_guard/api_client.rb +82 -0
- data/lib/datadog/ai_guard/component.rb +42 -0
- data/lib/datadog/ai_guard/configuration/ext.rb +17 -0
- data/lib/datadog/ai_guard/configuration/settings.rb +98 -0
- data/lib/datadog/ai_guard/configuration.rb +11 -0
- data/lib/datadog/ai_guard/evaluation/message.rb +25 -0
- data/lib/datadog/ai_guard/evaluation/no_op_result.rb +34 -0
- data/lib/datadog/ai_guard/evaluation/request.rb +81 -0
- data/lib/datadog/ai_guard/evaluation/result.rb +43 -0
- data/lib/datadog/ai_guard/evaluation/tool_call.rb +18 -0
- data/lib/datadog/ai_guard/evaluation.rb +72 -0
- data/lib/datadog/ai_guard/ext.rb +16 -0
- data/lib/datadog/ai_guard.rb +153 -0
- data/lib/datadog/appsec/api_security/route_extractor.rb +23 -6
- data/lib/datadog/appsec/api_security/sampler.rb +7 -4
- data/lib/datadog/appsec/assets/blocked.html +8 -0
- data/lib/datadog/appsec/assets/blocked.json +1 -1
- data/lib/datadog/appsec/assets/blocked.text +3 -1
- data/lib/datadog/appsec/assets.rb +1 -1
- data/lib/datadog/appsec/context.rb +2 -1
- data/lib/datadog/appsec/remote.rb +9 -12
- data/lib/datadog/appsec/response.rb +18 -4
- data/lib/datadog/appsec/security_engine/engine.rb +3 -3
- data/lib/datadog/appsec/security_engine/result.rb +2 -1
- data/lib/datadog/appsec/security_engine/runner.rb +2 -2
- data/lib/datadog/core/configuration/components.rb +37 -3
- data/lib/datadog/core/configuration/config_helper.rb +2 -2
- data/lib/datadog/core/configuration/deprecations.rb +2 -2
- data/lib/datadog/core/configuration/option_definition.rb +4 -2
- data/lib/datadog/core/configuration/options.rb +8 -5
- data/lib/datadog/core/configuration/settings.rb +28 -3
- data/lib/datadog/core/configuration/supported_configurations.rb +338 -302
- data/lib/datadog/core/ddsketch.rb +0 -2
- data/lib/datadog/core/environment/cgroup.rb +52 -25
- data/lib/datadog/core/environment/container.rb +140 -46
- data/lib/datadog/core/environment/ext.rb +7 -0
- data/lib/datadog/core/environment/process.rb +87 -0
- data/lib/datadog/core/error.rb +6 -6
- data/lib/datadog/core/feature_flags.rb +61 -0
- data/lib/datadog/core/pin.rb +4 -0
- data/lib/datadog/core/rate_limiter.rb +9 -1
- data/lib/datadog/core/remote/client/capabilities.rb +7 -0
- data/lib/datadog/core/remote/client.rb +14 -6
- data/lib/datadog/core/remote/component.rb +6 -4
- data/lib/datadog/core/remote/configuration/content.rb +15 -2
- data/lib/datadog/core/remote/configuration/digest.rb +14 -7
- data/lib/datadog/core/remote/configuration/repository.rb +1 -1
- data/lib/datadog/core/remote/configuration/target.rb +13 -6
- data/lib/datadog/core/remote/transport/config.rb +4 -25
- data/lib/datadog/core/remote/transport/http/config.rb +10 -50
- data/lib/datadog/core/remote/transport/http/negotiation.rb +14 -44
- data/lib/datadog/core/remote/transport/http.rb +15 -24
- data/lib/datadog/core/remote/transport/negotiation.rb +8 -33
- data/lib/datadog/core/remote/worker.rb +25 -37
- data/lib/datadog/core/runtime/metrics.rb +11 -1
- data/lib/datadog/core/semaphore.rb +1 -4
- data/lib/datadog/core/tag_builder.rb +0 -4
- data/lib/datadog/core/tag_normalizer.rb +84 -0
- data/lib/datadog/core/telemetry/component.rb +59 -16
- data/lib/datadog/core/telemetry/event/app_started.rb +88 -50
- data/lib/datadog/core/telemetry/event/synth_app_client_configuration_change.rb +27 -4
- data/lib/datadog/core/telemetry/logger.rb +2 -2
- data/lib/datadog/core/telemetry/logging.rb +2 -8
- data/lib/datadog/core/telemetry/metrics_manager.rb +9 -0
- data/lib/datadog/core/telemetry/request.rb +17 -3
- data/lib/datadog/core/telemetry/transport/http/telemetry.rb +3 -34
- data/lib/datadog/core/telemetry/transport/http.rb +21 -16
- data/lib/datadog/core/telemetry/transport/telemetry.rb +3 -11
- data/lib/datadog/core/telemetry/worker.rb +88 -32
- data/lib/datadog/core/transport/ext.rb +2 -0
- data/lib/datadog/core/transport/http/api/endpoint.rb +9 -4
- data/lib/datadog/core/transport/http/api/instance.rb +4 -21
- data/lib/datadog/core/transport/http/builder.rb +9 -5
- data/lib/datadog/core/transport/http/client.rb +80 -0
- data/lib/datadog/core/transport/http.rb +22 -19
- data/lib/datadog/core/transport/response.rb +12 -1
- data/lib/datadog/core/transport/transport.rb +90 -0
- data/lib/datadog/core/utils/array.rb +29 -0
- data/lib/datadog/{appsec/api_security → core/utils}/lru_cache.rb +10 -21
- data/lib/datadog/core/utils/network.rb +3 -1
- data/lib/datadog/core/utils/only_once_successful.rb +8 -2
- data/lib/datadog/core/utils/safe_dup.rb +2 -2
- data/lib/datadog/core/utils/sequence.rb +2 -0
- data/lib/datadog/core/utils/time.rb +1 -1
- data/lib/datadog/core/utils.rb +2 -0
- data/lib/datadog/core/workers/async.rb +10 -1
- data/lib/datadog/core/workers/interval_loop.rb +44 -3
- data/lib/datadog/core/workers/polling.rb +2 -0
- data/lib/datadog/core/workers/queue.rb +100 -1
- data/lib/datadog/data_streams/configuration/settings.rb +49 -0
- data/lib/datadog/data_streams/configuration.rb +11 -0
- data/lib/datadog/data_streams/ext.rb +11 -0
- data/lib/datadog/data_streams/extensions.rb +16 -0
- data/lib/datadog/data_streams/pathway_context.rb +169 -0
- data/lib/datadog/data_streams/processor.rb +509 -0
- data/lib/datadog/data_streams/transport/http/stats.rb +52 -0
- data/lib/datadog/data_streams/transport/http.rb +40 -0
- data/lib/datadog/data_streams/transport/stats.rb +46 -0
- data/lib/datadog/data_streams.rb +100 -0
- data/lib/datadog/di/boot.rb +4 -2
- data/lib/datadog/di/component.rb +0 -16
- data/lib/datadog/di/contrib/active_record.rb +30 -5
- data/lib/datadog/di/el/compiler.rb +8 -4
- data/lib/datadog/di/el/evaluator.rb +1 -1
- data/lib/datadog/di/error.rb +9 -0
- data/lib/datadog/di/instrumenter.rb +102 -37
- data/lib/datadog/di/logger.rb +2 -2
- data/lib/datadog/di/probe.rb +20 -0
- data/lib/datadog/di/probe_builder.rb +2 -1
- data/lib/datadog/di/probe_file_loader/railtie.rb +1 -1
- data/lib/datadog/di/probe_manager.rb +47 -33
- data/lib/datadog/di/probe_notification_builder.rb +77 -25
- data/lib/datadog/di/probe_notifier_worker.rb +5 -5
- data/lib/datadog/di/proc_responder.rb +32 -0
- data/lib/datadog/di/remote.rb +89 -84
- data/lib/datadog/di/transport/diagnostics.rb +8 -36
- data/lib/datadog/di/transport/http/diagnostics.rb +1 -33
- data/lib/datadog/di/transport/http/input.rb +1 -33
- data/lib/datadog/di/transport/http.rb +32 -17
- data/lib/datadog/di/transport/input.rb +67 -34
- data/lib/datadog/di.rb +61 -5
- data/lib/datadog/error_tracking/filters.rb +2 -2
- data/lib/datadog/kit/appsec/events/v2.rb +2 -3
- data/lib/datadog/open_feature/component.rb +60 -0
- data/lib/datadog/open_feature/configuration.rb +27 -0
- data/lib/datadog/open_feature/evaluation_engine.rb +70 -0
- data/lib/datadog/open_feature/exposures/batch_builder.rb +32 -0
- data/lib/datadog/open_feature/exposures/buffer.rb +43 -0
- data/lib/datadog/open_feature/exposures/deduplicator.rb +30 -0
- data/lib/datadog/open_feature/exposures/event.rb +60 -0
- data/lib/datadog/open_feature/exposures/reporter.rb +40 -0
- data/lib/datadog/open_feature/exposures/worker.rb +116 -0
- data/lib/datadog/open_feature/ext.rb +14 -0
- data/lib/datadog/open_feature/native_evaluator.rb +38 -0
- data/lib/datadog/open_feature/noop_evaluator.rb +26 -0
- data/lib/datadog/open_feature/provider.rb +141 -0
- data/lib/datadog/open_feature/remote.rb +67 -0
- data/lib/datadog/open_feature/resolution_details.rb +35 -0
- data/lib/datadog/open_feature/transport.rb +70 -0
- data/lib/datadog/open_feature.rb +19 -0
- data/lib/datadog/opentelemetry/api/baggage.rb +1 -1
- data/lib/datadog/opentelemetry/configuration/settings.rb +159 -0
- data/lib/datadog/opentelemetry/metrics.rb +117 -0
- data/lib/datadog/opentelemetry/sdk/configurator.rb +25 -1
- data/lib/datadog/opentelemetry/sdk/metrics_exporter.rb +35 -0
- data/lib/datadog/opentelemetry.rb +3 -0
- data/lib/datadog/profiling/collectors/code_provenance.rb +41 -7
- data/lib/datadog/profiling/collectors/cpu_and_wall_time_worker.rb +3 -2
- data/lib/datadog/profiling/collectors/idle_sampling_helper.rb +1 -1
- data/lib/datadog/profiling/collectors/info.rb +5 -4
- data/lib/datadog/profiling/component.rb +12 -11
- data/lib/datadog/profiling/ext/dir_monkey_patches.rb +18 -0
- data/lib/datadog/profiling/http_transport.rb +4 -1
- data/lib/datadog/profiling/profiler.rb +4 -0
- data/lib/datadog/profiling/tag_builder.rb +36 -3
- data/lib/datadog/profiling.rb +1 -2
- data/lib/datadog/single_step_instrument.rb +1 -1
- data/lib/datadog/tracing/configuration/ext.rb +9 -0
- data/lib/datadog/tracing/configuration/settings.rb +74 -0
- data/lib/datadog/tracing/contrib/action_pack/action_controller/instrumentation.rb +4 -4
- data/lib/datadog/tracing/contrib/action_pack/utils.rb +1 -2
- data/lib/datadog/tracing/contrib/active_job/log_injection.rb +21 -7
- data/lib/datadog/tracing/contrib/active_job/patcher.rb +5 -1
- data/lib/datadog/tracing/contrib/aws/instrumentation.rb +4 -2
- data/lib/datadog/tracing/contrib/ethon/easy_patch.rb +4 -1
- data/lib/datadog/tracing/contrib/excon/configuration/settings.rb +11 -3
- data/lib/datadog/tracing/contrib/extensions.rb +10 -2
- data/lib/datadog/tracing/contrib/faraday/configuration/settings.rb +11 -7
- data/lib/datadog/tracing/contrib/grape/configuration/settings.rb +7 -3
- data/lib/datadog/tracing/contrib/graphql/unified_trace.rb +22 -17
- data/lib/datadog/tracing/contrib/http/configuration/settings.rb +11 -3
- data/lib/datadog/tracing/contrib/httpclient/configuration/settings.rb +11 -3
- data/lib/datadog/tracing/contrib/httprb/configuration/settings.rb +11 -3
- data/lib/datadog/tracing/contrib/kafka/instrumentation/consumer.rb +66 -0
- data/lib/datadog/tracing/contrib/kafka/instrumentation/producer.rb +66 -0
- data/lib/datadog/tracing/contrib/kafka/patcher.rb +14 -0
- data/lib/datadog/tracing/contrib/karafka/framework.rb +30 -0
- data/lib/datadog/tracing/contrib/karafka/monitor.rb +11 -0
- data/lib/datadog/tracing/contrib/karafka/patcher.rb +35 -4
- data/lib/datadog/tracing/contrib/rack/middlewares.rb +59 -27
- data/lib/datadog/tracing/contrib/rack/route_inference.rb +53 -0
- data/lib/datadog/tracing/contrib/rails/middlewares.rb +2 -2
- data/lib/datadog/tracing/contrib/rest_client/request_patch.rb +4 -1
- data/lib/datadog/tracing/contrib/roda/instrumentation.rb +3 -1
- data/lib/datadog/tracing/contrib/sinatra/tracer_middleware.rb +3 -1
- data/lib/datadog/tracing/contrib/status_range_matcher.rb +9 -1
- data/lib/datadog/tracing/contrib/utils/quantization/hash.rb +3 -1
- data/lib/datadog/tracing/contrib/waterdrop/configuration/settings.rb +27 -0
- data/lib/datadog/tracing/contrib/waterdrop/distributed/propagation.rb +48 -0
- data/lib/datadog/tracing/contrib/waterdrop/ext.rb +17 -0
- data/lib/datadog/tracing/contrib/waterdrop/integration.rb +43 -0
- data/lib/datadog/tracing/contrib/waterdrop/middleware.rb +46 -0
- data/lib/datadog/tracing/contrib/waterdrop/patcher.rb +49 -0
- data/lib/datadog/tracing/contrib/waterdrop/producer.rb +50 -0
- data/lib/datadog/tracing/contrib/waterdrop.rb +41 -0
- data/lib/datadog/tracing/contrib.rb +1 -0
- data/lib/datadog/tracing/diagnostics/environment_logger.rb +1 -1
- data/lib/datadog/tracing/distributed/baggage.rb +3 -2
- data/lib/datadog/tracing/metadata/ext.rb +1 -1
- data/lib/datadog/tracing/remote.rb +1 -9
- data/lib/datadog/tracing/sampling/priority_sampler.rb +3 -1
- data/lib/datadog/tracing/span.rb +1 -1
- data/lib/datadog/tracing/span_event.rb +2 -2
- data/lib/datadog/tracing/span_operation.rb +20 -9
- data/lib/datadog/tracing/trace_operation.rb +44 -6
- data/lib/datadog/tracing/tracer.rb +42 -16
- data/lib/datadog/tracing/transport/http/client.rb +12 -26
- data/lib/datadog/tracing/transport/http/traces.rb +2 -50
- data/lib/datadog/tracing/transport/http.rb +15 -9
- data/lib/datadog/tracing/transport/io/client.rb +1 -1
- data/lib/datadog/tracing/transport/trace_formatter.rb +11 -0
- data/lib/datadog/tracing/transport/traces.rb +9 -71
- data/lib/datadog/tracing/workers/trace_writer.rb +5 -0
- data/lib/datadog/tracing/writer.rb +1 -0
- data/lib/datadog/version.rb +2 -2
- data/lib/datadog.rb +3 -0
- metadata +93 -23
- data/lib/datadog/core/remote/transport/http/api.rb +0 -53
- data/lib/datadog/core/remote/transport/http/client.rb +0 -49
- data/lib/datadog/core/telemetry/transport/http/api.rb +0 -43
- data/lib/datadog/core/telemetry/transport/http/client.rb +0 -49
- data/lib/datadog/core/transport/http/api/spec.rb +0 -36
- data/lib/datadog/di/transport/http/api.rb +0 -42
- data/lib/datadog/di/transport/http/client.rb +0 -47
- data/lib/datadog/opentelemetry/api/baggage.rbs +0 -26
- data/lib/datadog/tracing/transport/http/api.rb +0 -44
|
@@ -1,17 +1,28 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require_relative '../../core/encoding'
|
|
3
4
|
require_relative '../../core/environment/container'
|
|
4
5
|
require_relative '../../core/environment/ext'
|
|
5
6
|
require_relative '../../core/transport/ext'
|
|
6
7
|
require_relative '../../core/transport/http'
|
|
7
|
-
require_relative 'http/
|
|
8
|
-
require_relative '../../../datadog/version'
|
|
8
|
+
require_relative 'http/traces'
|
|
9
9
|
|
|
10
10
|
module Datadog
|
|
11
11
|
module Tracing
|
|
12
12
|
module Transport
|
|
13
13
|
# Namespace for HTTP transport components
|
|
14
14
|
module HTTP
|
|
15
|
+
V4 = Traces::API::Endpoint.new(
|
|
16
|
+
'/v0.4/traces',
|
|
17
|
+
Core::Encoding::MsgpackEncoder,
|
|
18
|
+
service_rates: true
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
V3 = Traces::API::Endpoint.new(
|
|
22
|
+
'/v0.3/traces',
|
|
23
|
+
Core::Encoding::MsgpackEncoder,
|
|
24
|
+
)
|
|
25
|
+
|
|
15
26
|
module_function
|
|
16
27
|
|
|
17
28
|
# Builds a new Transport::HTTP::Client with default settings
|
|
@@ -19,20 +30,15 @@ module Datadog
|
|
|
19
30
|
def default(
|
|
20
31
|
agent_settings:,
|
|
21
32
|
logger: Datadog.logger,
|
|
22
|
-
api_version: nil,
|
|
23
33
|
headers: nil
|
|
24
34
|
)
|
|
25
35
|
Core::Transport::HTTP.build(
|
|
26
|
-
api_instance_class: Traces::API::Instance,
|
|
27
36
|
agent_settings: agent_settings,
|
|
28
37
|
logger: logger,
|
|
29
|
-
api_version: api_version,
|
|
30
38
|
headers: headers
|
|
31
39
|
) do |transport|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
transport.api API::V4, apis[API::V4], fallback: API::V3, default: true
|
|
35
|
-
transport.api API::V3, apis[API::V3]
|
|
40
|
+
transport.api 'v0.4', V4, fallback: 'v0.3', default: true
|
|
41
|
+
transport.api 'v0.3', V3
|
|
36
42
|
|
|
37
43
|
# Call block to apply any customization, if provided
|
|
38
44
|
yield(transport) if block_given?
|
|
@@ -42,7 +42,7 @@ module Datadog
|
|
|
42
42
|
response
|
|
43
43
|
rescue => e
|
|
44
44
|
message =
|
|
45
|
-
"Internal error during IO transport request. Cause: #{e.class.name} #{e.message} " \
|
|
45
|
+
"Internal error during IO transport request. Cause: #{e.class.name}: #{e.message} " \
|
|
46
46
|
"Location: #{Array(e.backtrace).first}"
|
|
47
47
|
|
|
48
48
|
# Log error
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require_relative '../../core/environment/identity'
|
|
4
|
+
require_relative '../../core/environment/process'
|
|
4
5
|
require_relative '../../core/environment/socket'
|
|
5
6
|
require_relative '../../core/environment/git'
|
|
6
7
|
require_relative '../../core/git/ext'
|
|
@@ -62,6 +63,7 @@ module Datadog
|
|
|
62
63
|
tag_apm_tracing_disabled!
|
|
63
64
|
|
|
64
65
|
if first_span
|
|
66
|
+
tag_process_tags!
|
|
65
67
|
tag_git_repository_url!
|
|
66
68
|
tag_git_commit_sha!
|
|
67
69
|
end
|
|
@@ -215,6 +217,15 @@ module Datadog
|
|
|
215
217
|
first_span.set_tag(Core::Git::Ext::TAG_COMMIT_SHA, git_commit_sha)
|
|
216
218
|
end
|
|
217
219
|
|
|
220
|
+
def tag_process_tags!
|
|
221
|
+
return unless Datadog.configuration.experimental_propagate_process_tags_enabled
|
|
222
|
+
|
|
223
|
+
first_span.set_tag(
|
|
224
|
+
Core::Environment::Ext::TAG_PROCESS_TAGS,
|
|
225
|
+
Core::Environment::Process.serialized
|
|
226
|
+
)
|
|
227
|
+
end
|
|
228
|
+
|
|
218
229
|
private
|
|
219
230
|
|
|
220
231
|
def partial?
|
|
@@ -3,6 +3,9 @@
|
|
|
3
3
|
require_relative '../../core/chunker'
|
|
4
4
|
require_relative '../../core/transport/parcel'
|
|
5
5
|
require_relative '../../core/transport/request'
|
|
6
|
+
require_relative '../../core/transport/transport'
|
|
7
|
+
require_relative '../../core/utils/array'
|
|
8
|
+
require_relative 'http/client'
|
|
6
9
|
require_relative 'serializable_trace'
|
|
7
10
|
require_relative 'trace_formatter'
|
|
8
11
|
|
|
@@ -65,11 +68,8 @@ module Datadog
|
|
|
65
68
|
# @return [Enumerable[Array[Bytes,Integer]]] list of encoded chunks: each containing a byte array and
|
|
66
69
|
# number of traces
|
|
67
70
|
def encode_in_chunks(traces)
|
|
68
|
-
encoded_traces =
|
|
69
|
-
|
|
70
|
-
traces.filter_map { |t| encode_one(t) }
|
|
71
|
-
else
|
|
72
|
-
traces.map { |t| encode_one(t) }.reject(&:nil?)
|
|
71
|
+
encoded_traces = Core::Utils::Array.filter_map(traces) do |trace|
|
|
72
|
+
encode_one(trace)
|
|
73
73
|
end
|
|
74
74
|
|
|
75
75
|
Datadog::Core::Chunker.chunk_by_size(encoded_traces, max_size).map do |chunk|
|
|
@@ -123,16 +123,8 @@ module Datadog
|
|
|
123
123
|
# This class initializes the HTTP client, breaks down large
|
|
124
124
|
# batches of traces into smaller chunks and handles
|
|
125
125
|
# API version downgrade handshake.
|
|
126
|
-
class Transport
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
def initialize(apis, default_api, logger: Datadog.logger)
|
|
130
|
-
@apis = apis
|
|
131
|
-
@default_api = default_api
|
|
132
|
-
@logger = logger
|
|
133
|
-
|
|
134
|
-
change_api!(default_api)
|
|
135
|
-
end
|
|
126
|
+
class Transport < Core::Transport::Transport
|
|
127
|
+
self.http_client_class = Tracing::Transport::HTTP::Client
|
|
136
128
|
|
|
137
129
|
def send_traces(traces)
|
|
138
130
|
encoder = current_api.encoder
|
|
@@ -145,7 +137,7 @@ module Datadog
|
|
|
145
137
|
responses = chunker.encode_in_chunks(traces.lazy).map do |encoded_traces, trace_count|
|
|
146
138
|
request = Request.new(EncodedParcel.new(encoded_traces, trace_count))
|
|
147
139
|
|
|
148
|
-
client.
|
|
140
|
+
client.send_request(:traces, request).tap do |response|
|
|
149
141
|
if downgrade?(response)
|
|
150
142
|
downgrade!
|
|
151
143
|
return send_traces(traces)
|
|
@@ -173,35 +165,11 @@ module Datadog
|
|
|
173
165
|
end
|
|
174
166
|
|
|
175
167
|
def stats
|
|
176
|
-
|
|
177
|
-
end
|
|
178
|
-
|
|
179
|
-
def current_api
|
|
180
|
-
apis[@current_api_id]
|
|
168
|
+
client.stats
|
|
181
169
|
end
|
|
182
170
|
|
|
183
171
|
private
|
|
184
172
|
|
|
185
|
-
def downgrade?(response)
|
|
186
|
-
return false unless apis.fallbacks.key?(@current_api_id)
|
|
187
|
-
|
|
188
|
-
response.not_found? || response.unsupported?
|
|
189
|
-
end
|
|
190
|
-
|
|
191
|
-
def downgrade!
|
|
192
|
-
downgrade_api_id = apis.fallbacks[@current_api_id]
|
|
193
|
-
raise NoDowngradeAvailableError, @current_api_id if downgrade_api_id.nil?
|
|
194
|
-
|
|
195
|
-
change_api!(downgrade_api_id)
|
|
196
|
-
end
|
|
197
|
-
|
|
198
|
-
def change_api!(api_id)
|
|
199
|
-
raise UnknownApiVersionError, api_id unless apis.key?(api_id)
|
|
200
|
-
|
|
201
|
-
@current_api_id = api_id
|
|
202
|
-
@client = HTTP::Client.new(current_api, logger: logger)
|
|
203
|
-
end
|
|
204
|
-
|
|
205
173
|
# Queries the agent for native span events serialization support.
|
|
206
174
|
# This changes how the serialization of span events performed.
|
|
207
175
|
def native_events_supported?
|
|
@@ -221,36 +189,6 @@ module Datadog
|
|
|
221
189
|
false
|
|
222
190
|
end
|
|
223
191
|
end
|
|
224
|
-
|
|
225
|
-
# Raised when configured with an unknown API version
|
|
226
|
-
class UnknownApiVersionError < StandardError
|
|
227
|
-
attr_reader :version
|
|
228
|
-
|
|
229
|
-
def initialize(version)
|
|
230
|
-
super
|
|
231
|
-
|
|
232
|
-
@version = version
|
|
233
|
-
end
|
|
234
|
-
|
|
235
|
-
def message
|
|
236
|
-
"No matching transport API for version #{version}!"
|
|
237
|
-
end
|
|
238
|
-
end
|
|
239
|
-
|
|
240
|
-
# Raised when configured with an unknown API version
|
|
241
|
-
class NoDowngradeAvailableError < StandardError
|
|
242
|
-
attr_reader :version
|
|
243
|
-
|
|
244
|
-
def initialize(version)
|
|
245
|
-
super
|
|
246
|
-
|
|
247
|
-
@version = version
|
|
248
|
-
end
|
|
249
|
-
|
|
250
|
-
def message
|
|
251
|
-
"No downgrade from transport API version #{version} is available!"
|
|
252
|
-
end
|
|
253
|
-
end
|
|
254
192
|
end
|
|
255
193
|
end
|
|
256
194
|
end
|
|
@@ -21,6 +21,8 @@ module Datadog
|
|
|
21
21
|
:transport,
|
|
22
22
|
:agent_settings
|
|
23
23
|
|
|
24
|
+
# DEV-3.0: change to keyword arguments
|
|
25
|
+
#
|
|
24
26
|
# rubocop:disable Lint/MissingSuper
|
|
25
27
|
def initialize(options = {})
|
|
26
28
|
@logger = options[:logger] || Datadog.logger
|
|
@@ -143,6 +145,9 @@ module Datadog
|
|
|
143
145
|
|
|
144
146
|
# Are there more traces to be processed next?
|
|
145
147
|
def work_pending?
|
|
148
|
+
# This is the same implementation as in Queue, but it was
|
|
149
|
+
# overwritten by IntervalLoop on its way to this worker class.
|
|
150
|
+
# See the comments in those two methods for more info.
|
|
146
151
|
!buffer.empty?
|
|
147
152
|
end
|
|
148
153
|
|
data/lib/datadog/version.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
module Datadog
|
|
4
4
|
module VERSION
|
|
5
5
|
MAJOR = 2
|
|
6
|
-
MINOR =
|
|
6
|
+
MINOR = 26
|
|
7
7
|
PATCH = 0
|
|
8
8
|
PRE = nil
|
|
9
9
|
BUILD = nil
|
|
@@ -21,6 +21,6 @@ module Datadog
|
|
|
21
21
|
# To allow testing with the next unreleased version of Ruby, the version check is performed
|
|
22
22
|
# as `< #{MAXIMUM_RUBY_VERSION}`, meaning prereleases of MAXIMUM_RUBY_VERSION are allowed
|
|
23
23
|
# but not stable MAXIMUM_RUBY_VERSION releases.
|
|
24
|
-
MAXIMUM_RUBY_VERSION = '
|
|
24
|
+
MAXIMUM_RUBY_VERSION = '4.1'
|
|
25
25
|
end
|
|
26
26
|
end
|
data/lib/datadog.rb
CHANGED
|
@@ -6,8 +6,11 @@ require_relative 'datadog/tracing/contrib'
|
|
|
6
6
|
|
|
7
7
|
# Load other products (must follow tracing)
|
|
8
8
|
require_relative 'datadog/profiling'
|
|
9
|
+
require_relative 'datadog/ai_guard'
|
|
9
10
|
require_relative 'datadog/appsec'
|
|
10
11
|
require_relative 'datadog/di'
|
|
12
|
+
require_relative 'datadog/data_streams'
|
|
13
|
+
require_relative 'datadog/open_feature'
|
|
11
14
|
|
|
12
15
|
# Line probes will not work on Ruby < 2.6 because of lack of :script_compiled
|
|
13
16
|
# trace point. Activate DI automatically on supported Ruby versions but
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: datadog
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.26.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Datadog, Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2026-01-16 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: msgpack
|
|
@@ -30,48 +30,48 @@ dependencies:
|
|
|
30
30
|
requirements:
|
|
31
31
|
- - "~>"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '3.
|
|
33
|
+
version: '3.5'
|
|
34
34
|
- - ">="
|
|
35
35
|
- !ruby/object:Gem::Version
|
|
36
|
-
version: 3.
|
|
36
|
+
version: 3.5.1
|
|
37
37
|
type: :runtime
|
|
38
38
|
prerelease: false
|
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
|
40
40
|
requirements:
|
|
41
41
|
- - "~>"
|
|
42
42
|
- !ruby/object:Gem::Version
|
|
43
|
-
version: '3.
|
|
43
|
+
version: '3.5'
|
|
44
44
|
- - ">="
|
|
45
45
|
- !ruby/object:Gem::Version
|
|
46
|
-
version: 3.
|
|
46
|
+
version: 3.5.1
|
|
47
47
|
- !ruby/object:Gem::Dependency
|
|
48
48
|
name: libddwaf
|
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
|
50
50
|
requirements:
|
|
51
51
|
- - "~>"
|
|
52
52
|
- !ruby/object:Gem::Version
|
|
53
|
-
version: 1.
|
|
53
|
+
version: 1.30.0.0.0
|
|
54
54
|
type: :runtime
|
|
55
55
|
prerelease: false
|
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
|
57
57
|
requirements:
|
|
58
58
|
- - "~>"
|
|
59
59
|
- !ruby/object:Gem::Version
|
|
60
|
-
version: 1.
|
|
60
|
+
version: 1.30.0.0.0
|
|
61
61
|
- !ruby/object:Gem::Dependency
|
|
62
62
|
name: libdatadog
|
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
|
64
64
|
requirements:
|
|
65
65
|
- - "~>"
|
|
66
66
|
- !ruby/object:Gem::Version
|
|
67
|
-
version:
|
|
67
|
+
version: 25.0.0.1.0
|
|
68
68
|
type: :runtime
|
|
69
69
|
prerelease: false
|
|
70
70
|
version_requirements: !ruby/object:Gem::Requirement
|
|
71
71
|
requirements:
|
|
72
72
|
- - "~>"
|
|
73
73
|
- !ruby/object:Gem::Version
|
|
74
|
-
version:
|
|
74
|
+
version: 25.0.0.1.0
|
|
75
75
|
- !ruby/object:Gem::Dependency
|
|
76
76
|
name: logger
|
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -86,6 +86,20 @@ dependencies:
|
|
|
86
86
|
- - ">="
|
|
87
87
|
- !ruby/object:Gem::Version
|
|
88
88
|
version: '0'
|
|
89
|
+
- !ruby/object:Gem::Dependency
|
|
90
|
+
name: cgi
|
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
|
92
|
+
requirements:
|
|
93
|
+
- - ">="
|
|
94
|
+
- !ruby/object:Gem::Version
|
|
95
|
+
version: '0'
|
|
96
|
+
type: :runtime
|
|
97
|
+
prerelease: false
|
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
99
|
+
requirements:
|
|
100
|
+
- - ">="
|
|
101
|
+
- !ruby/object:Gem::Version
|
|
102
|
+
version: '0'
|
|
89
103
|
description: |
|
|
90
104
|
datadog is Datadog's client library for Ruby. It includes a suite of tools
|
|
91
105
|
which provide visibility into the performance and security of Ruby applications,
|
|
@@ -125,6 +139,7 @@ files:
|
|
|
125
139
|
- ext/datadog_profiling_native_extension/collectors_stack.h
|
|
126
140
|
- ext/datadog_profiling_native_extension/collectors_thread_context.c
|
|
127
141
|
- ext/datadog_profiling_native_extension/collectors_thread_context.h
|
|
142
|
+
- ext/datadog_profiling_native_extension/crashtracking_runtime_stacks.c
|
|
128
143
|
- ext/datadog_profiling_native_extension/datadog_ruby_common.c
|
|
129
144
|
- ext/datadog_profiling_native_extension/datadog_ruby_common.h
|
|
130
145
|
- ext/datadog_profiling_native_extension/encoded_profile.c
|
|
@@ -158,6 +173,8 @@ files:
|
|
|
158
173
|
- ext/libdatadog_api/datadog_ruby_common.h
|
|
159
174
|
- ext/libdatadog_api/ddsketch.c
|
|
160
175
|
- ext/libdatadog_api/extconf.rb
|
|
176
|
+
- ext/libdatadog_api/feature_flags.c
|
|
177
|
+
- ext/libdatadog_api/feature_flags.h
|
|
161
178
|
- ext/libdatadog_api/init.c
|
|
162
179
|
- ext/libdatadog_api/library_config.c
|
|
163
180
|
- ext/libdatadog_api/library_config.h
|
|
@@ -165,6 +182,19 @@ files:
|
|
|
165
182
|
- ext/libdatadog_api/process_discovery.h
|
|
166
183
|
- ext/libdatadog_extconf_helpers.rb
|
|
167
184
|
- lib/datadog.rb
|
|
185
|
+
- lib/datadog/ai_guard.rb
|
|
186
|
+
- lib/datadog/ai_guard/api_client.rb
|
|
187
|
+
- lib/datadog/ai_guard/component.rb
|
|
188
|
+
- lib/datadog/ai_guard/configuration.rb
|
|
189
|
+
- lib/datadog/ai_guard/configuration/ext.rb
|
|
190
|
+
- lib/datadog/ai_guard/configuration/settings.rb
|
|
191
|
+
- lib/datadog/ai_guard/evaluation.rb
|
|
192
|
+
- lib/datadog/ai_guard/evaluation/message.rb
|
|
193
|
+
- lib/datadog/ai_guard/evaluation/no_op_result.rb
|
|
194
|
+
- lib/datadog/ai_guard/evaluation/request.rb
|
|
195
|
+
- lib/datadog/ai_guard/evaluation/result.rb
|
|
196
|
+
- lib/datadog/ai_guard/evaluation/tool_call.rb
|
|
197
|
+
- lib/datadog/ai_guard/ext.rb
|
|
168
198
|
- lib/datadog/appsec.rb
|
|
169
199
|
- lib/datadog/appsec/actions_handler.rb
|
|
170
200
|
- lib/datadog/appsec/actions_handler/serializable_backtrace.rb
|
|
@@ -175,7 +205,6 @@ files:
|
|
|
175
205
|
- lib/datadog/appsec/api_security/endpoint_collection/rails_collector.rb
|
|
176
206
|
- lib/datadog/appsec/api_security/endpoint_collection/rails_route_serializer.rb
|
|
177
207
|
- lib/datadog/appsec/api_security/endpoint_collection/sinatra_route_serializer.rb
|
|
178
|
-
- lib/datadog/appsec/api_security/lru_cache.rb
|
|
179
208
|
- lib/datadog/appsec/api_security/route_extractor.rb
|
|
180
209
|
- lib/datadog/appsec/api_security/sampler.rb
|
|
181
210
|
- lib/datadog/appsec/assets.rb
|
|
@@ -319,6 +348,7 @@ files:
|
|
|
319
348
|
- lib/datadog/core/environment/git.rb
|
|
320
349
|
- lib/datadog/core/environment/identity.rb
|
|
321
350
|
- lib/datadog/core/environment/platform.rb
|
|
351
|
+
- lib/datadog/core/environment/process.rb
|
|
322
352
|
- lib/datadog/core/environment/socket.rb
|
|
323
353
|
- lib/datadog/core/environment/thread_count.rb
|
|
324
354
|
- lib/datadog/core/environment/variable_helpers.rb
|
|
@@ -326,6 +356,7 @@ files:
|
|
|
326
356
|
- lib/datadog/core/environment/yjit.rb
|
|
327
357
|
- lib/datadog/core/error.rb
|
|
328
358
|
- lib/datadog/core/extensions.rb
|
|
359
|
+
- lib/datadog/core/feature_flags.rb
|
|
329
360
|
- lib/datadog/core/git/ext.rb
|
|
330
361
|
- lib/datadog/core/header_collection.rb
|
|
331
362
|
- lib/datadog/core/logger.rb
|
|
@@ -357,8 +388,6 @@ files:
|
|
|
357
388
|
- lib/datadog/core/remote/tie/tracing.rb
|
|
358
389
|
- lib/datadog/core/remote/transport/config.rb
|
|
359
390
|
- lib/datadog/core/remote/transport/http.rb
|
|
360
|
-
- lib/datadog/core/remote/transport/http/api.rb
|
|
361
|
-
- lib/datadog/core/remote/transport/http/client.rb
|
|
362
391
|
- lib/datadog/core/remote/transport/http/config.rb
|
|
363
392
|
- lib/datadog/core/remote/transport/http/negotiation.rb
|
|
364
393
|
- lib/datadog/core/remote/transport/negotiation.rb
|
|
@@ -367,6 +396,7 @@ files:
|
|
|
367
396
|
- lib/datadog/core/runtime/metrics.rb
|
|
368
397
|
- lib/datadog/core/semaphore.rb
|
|
369
398
|
- lib/datadog/core/tag_builder.rb
|
|
399
|
+
- lib/datadog/core/tag_normalizer.rb
|
|
370
400
|
- lib/datadog/core/telemetry/component.rb
|
|
371
401
|
- lib/datadog/core/telemetry/emitter.rb
|
|
372
402
|
- lib/datadog/core/telemetry/event.rb
|
|
@@ -392,8 +422,6 @@ files:
|
|
|
392
422
|
- lib/datadog/core/telemetry/metrics_manager.rb
|
|
393
423
|
- lib/datadog/core/telemetry/request.rb
|
|
394
424
|
- lib/datadog/core/telemetry/transport/http.rb
|
|
395
|
-
- lib/datadog/core/telemetry/transport/http/api.rb
|
|
396
|
-
- lib/datadog/core/telemetry/transport/http/client.rb
|
|
397
425
|
- lib/datadog/core/telemetry/transport/http/telemetry.rb
|
|
398
426
|
- lib/datadog/core/telemetry/transport/telemetry.rb
|
|
399
427
|
- lib/datadog/core/telemetry/worker.rb
|
|
@@ -407,19 +435,22 @@ files:
|
|
|
407
435
|
- lib/datadog/core/transport/http/api/fallbacks.rb
|
|
408
436
|
- lib/datadog/core/transport/http/api/instance.rb
|
|
409
437
|
- lib/datadog/core/transport/http/api/map.rb
|
|
410
|
-
- lib/datadog/core/transport/http/api/spec.rb
|
|
411
438
|
- lib/datadog/core/transport/http/builder.rb
|
|
439
|
+
- lib/datadog/core/transport/http/client.rb
|
|
412
440
|
- lib/datadog/core/transport/http/env.rb
|
|
413
441
|
- lib/datadog/core/transport/http/response.rb
|
|
414
442
|
- lib/datadog/core/transport/parcel.rb
|
|
415
443
|
- lib/datadog/core/transport/request.rb
|
|
416
444
|
- lib/datadog/core/transport/response.rb
|
|
445
|
+
- lib/datadog/core/transport/transport.rb
|
|
417
446
|
- lib/datadog/core/utils.rb
|
|
447
|
+
- lib/datadog/core/utils/array.rb
|
|
418
448
|
- lib/datadog/core/utils/at_fork_monkey_patch.rb
|
|
419
449
|
- lib/datadog/core/utils/base64.rb
|
|
420
450
|
- lib/datadog/core/utils/duration.rb
|
|
421
451
|
- lib/datadog/core/utils/forking.rb
|
|
422
452
|
- lib/datadog/core/utils/hash.rb
|
|
453
|
+
- lib/datadog/core/utils/lru_cache.rb
|
|
423
454
|
- lib/datadog/core/utils/network.rb
|
|
424
455
|
- lib/datadog/core/utils/only_once.rb
|
|
425
456
|
- lib/datadog/core/utils/only_once_successful.rb
|
|
@@ -442,6 +473,16 @@ files:
|
|
|
442
473
|
- lib/datadog/core/workers/polling.rb
|
|
443
474
|
- lib/datadog/core/workers/queue.rb
|
|
444
475
|
- lib/datadog/core/workers/runtime_metrics.rb
|
|
476
|
+
- lib/datadog/data_streams.rb
|
|
477
|
+
- lib/datadog/data_streams/configuration.rb
|
|
478
|
+
- lib/datadog/data_streams/configuration/settings.rb
|
|
479
|
+
- lib/datadog/data_streams/ext.rb
|
|
480
|
+
- lib/datadog/data_streams/extensions.rb
|
|
481
|
+
- lib/datadog/data_streams/pathway_context.rb
|
|
482
|
+
- lib/datadog/data_streams/processor.rb
|
|
483
|
+
- lib/datadog/data_streams/transport/http.rb
|
|
484
|
+
- lib/datadog/data_streams/transport/http/stats.rb
|
|
485
|
+
- lib/datadog/data_streams/transport/stats.rb
|
|
445
486
|
- lib/datadog/di.rb
|
|
446
487
|
- lib/datadog/di/base.rb
|
|
447
488
|
- lib/datadog/di/boot.rb
|
|
@@ -469,13 +510,12 @@ files:
|
|
|
469
510
|
- lib/datadog/di/probe_manager.rb
|
|
470
511
|
- lib/datadog/di/probe_notification_builder.rb
|
|
471
512
|
- lib/datadog/di/probe_notifier_worker.rb
|
|
513
|
+
- lib/datadog/di/proc_responder.rb
|
|
472
514
|
- lib/datadog/di/redactor.rb
|
|
473
515
|
- lib/datadog/di/remote.rb
|
|
474
516
|
- lib/datadog/di/serializer.rb
|
|
475
517
|
- lib/datadog/di/transport/diagnostics.rb
|
|
476
518
|
- lib/datadog/di/transport/http.rb
|
|
477
|
-
- lib/datadog/di/transport/http/api.rb
|
|
478
|
-
- lib/datadog/di/transport/http/client.rb
|
|
479
519
|
- lib/datadog/di/transport/http/diagnostics.rb
|
|
480
520
|
- lib/datadog/di/transport/http/input.rb
|
|
481
521
|
- lib/datadog/di/transport/input.rb
|
|
@@ -493,13 +533,32 @@ files:
|
|
|
493
533
|
- lib/datadog/kit/appsec/events/v2.rb
|
|
494
534
|
- lib/datadog/kit/enable_core_dumps.rb
|
|
495
535
|
- lib/datadog/kit/identity.rb
|
|
536
|
+
- lib/datadog/open_feature.rb
|
|
537
|
+
- lib/datadog/open_feature/component.rb
|
|
538
|
+
- lib/datadog/open_feature/configuration.rb
|
|
539
|
+
- lib/datadog/open_feature/evaluation_engine.rb
|
|
540
|
+
- lib/datadog/open_feature/exposures/batch_builder.rb
|
|
541
|
+
- lib/datadog/open_feature/exposures/buffer.rb
|
|
542
|
+
- lib/datadog/open_feature/exposures/deduplicator.rb
|
|
543
|
+
- lib/datadog/open_feature/exposures/event.rb
|
|
544
|
+
- lib/datadog/open_feature/exposures/reporter.rb
|
|
545
|
+
- lib/datadog/open_feature/exposures/worker.rb
|
|
546
|
+
- lib/datadog/open_feature/ext.rb
|
|
547
|
+
- lib/datadog/open_feature/native_evaluator.rb
|
|
548
|
+
- lib/datadog/open_feature/noop_evaluator.rb
|
|
549
|
+
- lib/datadog/open_feature/provider.rb
|
|
550
|
+
- lib/datadog/open_feature/remote.rb
|
|
551
|
+
- lib/datadog/open_feature/resolution_details.rb
|
|
552
|
+
- lib/datadog/open_feature/transport.rb
|
|
496
553
|
- lib/datadog/opentelemetry.rb
|
|
497
554
|
- lib/datadog/opentelemetry/api/baggage.rb
|
|
498
|
-
- lib/datadog/opentelemetry/api/baggage.rbs
|
|
499
555
|
- lib/datadog/opentelemetry/api/context.rb
|
|
500
556
|
- lib/datadog/opentelemetry/api/trace/span.rb
|
|
557
|
+
- lib/datadog/opentelemetry/configuration/settings.rb
|
|
558
|
+
- lib/datadog/opentelemetry/metrics.rb
|
|
501
559
|
- lib/datadog/opentelemetry/sdk/configurator.rb
|
|
502
560
|
- lib/datadog/opentelemetry/sdk/id_generator.rb
|
|
561
|
+
- lib/datadog/opentelemetry/sdk/metrics_exporter.rb
|
|
503
562
|
- lib/datadog/opentelemetry/sdk/propagator.rb
|
|
504
563
|
- lib/datadog/opentelemetry/sdk/span_processor.rb
|
|
505
564
|
- lib/datadog/opentelemetry/sdk/trace/span.rb
|
|
@@ -763,12 +822,15 @@ files:
|
|
|
763
822
|
- lib/datadog/tracing/contrib/kafka/events/produce_operation/send_messages.rb
|
|
764
823
|
- lib/datadog/tracing/contrib/kafka/events/producer/deliver_messages.rb
|
|
765
824
|
- lib/datadog/tracing/contrib/kafka/ext.rb
|
|
825
|
+
- lib/datadog/tracing/contrib/kafka/instrumentation/consumer.rb
|
|
826
|
+
- lib/datadog/tracing/contrib/kafka/instrumentation/producer.rb
|
|
766
827
|
- lib/datadog/tracing/contrib/kafka/integration.rb
|
|
767
828
|
- lib/datadog/tracing/contrib/kafka/patcher.rb
|
|
768
829
|
- lib/datadog/tracing/contrib/karafka.rb
|
|
769
830
|
- lib/datadog/tracing/contrib/karafka/configuration/settings.rb
|
|
770
831
|
- lib/datadog/tracing/contrib/karafka/distributed/propagation.rb
|
|
771
832
|
- lib/datadog/tracing/contrib/karafka/ext.rb
|
|
833
|
+
- lib/datadog/tracing/contrib/karafka/framework.rb
|
|
772
834
|
- lib/datadog/tracing/contrib/karafka/integration.rb
|
|
773
835
|
- lib/datadog/tracing/contrib/karafka/monitor.rb
|
|
774
836
|
- lib/datadog/tracing/contrib/karafka/patcher.rb
|
|
@@ -832,6 +894,7 @@ files:
|
|
|
832
894
|
- lib/datadog/tracing/contrib/rack/middlewares.rb
|
|
833
895
|
- lib/datadog/tracing/contrib/rack/patcher.rb
|
|
834
896
|
- lib/datadog/tracing/contrib/rack/request_queue.rb
|
|
897
|
+
- lib/datadog/tracing/contrib/rack/route_inference.rb
|
|
835
898
|
- lib/datadog/tracing/contrib/rack/trace_proxy_middleware.rb
|
|
836
899
|
- lib/datadog/tracing/contrib/rails/auto_instrument_railtie.rb
|
|
837
900
|
- lib/datadog/tracing/contrib/rails/configuration/settings.rb
|
|
@@ -943,6 +1006,14 @@ files:
|
|
|
943
1006
|
- lib/datadog/tracing/contrib/utils/database.rb
|
|
944
1007
|
- lib/datadog/tracing/contrib/utils/quantization/hash.rb
|
|
945
1008
|
- lib/datadog/tracing/contrib/utils/quantization/http.rb
|
|
1009
|
+
- lib/datadog/tracing/contrib/waterdrop.rb
|
|
1010
|
+
- lib/datadog/tracing/contrib/waterdrop/configuration/settings.rb
|
|
1011
|
+
- lib/datadog/tracing/contrib/waterdrop/distributed/propagation.rb
|
|
1012
|
+
- lib/datadog/tracing/contrib/waterdrop/ext.rb
|
|
1013
|
+
- lib/datadog/tracing/contrib/waterdrop/integration.rb
|
|
1014
|
+
- lib/datadog/tracing/contrib/waterdrop/middleware.rb
|
|
1015
|
+
- lib/datadog/tracing/contrib/waterdrop/patcher.rb
|
|
1016
|
+
- lib/datadog/tracing/contrib/waterdrop/producer.rb
|
|
946
1017
|
- lib/datadog/tracing/correlation.rb
|
|
947
1018
|
- lib/datadog/tracing/diagnostics/environment_logger.rb
|
|
948
1019
|
- lib/datadog/tracing/diagnostics/ext.rb
|
|
@@ -997,7 +1068,6 @@ files:
|
|
|
997
1068
|
- lib/datadog/tracing/trace_segment.rb
|
|
998
1069
|
- lib/datadog/tracing/tracer.rb
|
|
999
1070
|
- lib/datadog/tracing/transport/http.rb
|
|
1000
|
-
- lib/datadog/tracing/transport/http/api.rb
|
|
1001
1071
|
- lib/datadog/tracing/transport/http/client.rb
|
|
1002
1072
|
- lib/datadog/tracing/transport/http/statistics.rb
|
|
1003
1073
|
- lib/datadog/tracing/transport/http/traces.rb
|
|
@@ -1020,8 +1090,8 @@ licenses:
|
|
|
1020
1090
|
- Apache-2.0
|
|
1021
1091
|
metadata:
|
|
1022
1092
|
allowed_push_host: https://rubygems.org
|
|
1023
|
-
changelog_uri: https://github.com/DataDog/dd-trace-rb/blob/v2.
|
|
1024
|
-
source_code_uri: https://github.com/DataDog/dd-trace-rb/tree/v2.
|
|
1093
|
+
changelog_uri: https://github.com/DataDog/dd-trace-rb/blob/v2.26.0/CHANGELOG.md
|
|
1094
|
+
source_code_uri: https://github.com/DataDog/dd-trace-rb/tree/v2.26.0
|
|
1025
1095
|
post_install_message:
|
|
1026
1096
|
rdoc_options: []
|
|
1027
1097
|
require_paths:
|
|
@@ -1033,7 +1103,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
1033
1103
|
version: 2.5.0
|
|
1034
1104
|
- - "<"
|
|
1035
1105
|
- !ruby/object:Gem::Version
|
|
1036
|
-
version: '
|
|
1106
|
+
version: '4.1'
|
|
1037
1107
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1038
1108
|
requirements:
|
|
1039
1109
|
- - ">="
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require_relative '../../../encoding'
|
|
4
|
-
require_relative '../../../transport/http/api/map'
|
|
5
|
-
require_relative '../../../transport/http/api/instance'
|
|
6
|
-
require_relative '../../../transport/http/api/spec'
|
|
7
|
-
require_relative 'negotiation'
|
|
8
|
-
require_relative 'config'
|
|
9
|
-
|
|
10
|
-
module Datadog
|
|
11
|
-
module Core
|
|
12
|
-
module Remote
|
|
13
|
-
module Transport
|
|
14
|
-
module HTTP
|
|
15
|
-
# Namespace for API components
|
|
16
|
-
module API
|
|
17
|
-
# Default API versions
|
|
18
|
-
ROOT = 'root'
|
|
19
|
-
V7 = 'v0.7'
|
|
20
|
-
|
|
21
|
-
module_function
|
|
22
|
-
|
|
23
|
-
def defaults
|
|
24
|
-
Core::Transport::HTTP::API::Map[
|
|
25
|
-
ROOT => Spec.new do |s|
|
|
26
|
-
s.info = Negotiation::API::Endpoint.new(
|
|
27
|
-
'/info',
|
|
28
|
-
)
|
|
29
|
-
end,
|
|
30
|
-
V7 => Spec.new do |s|
|
|
31
|
-
s.config = Config::API::Endpoint.new(
|
|
32
|
-
'/v0.7/config',
|
|
33
|
-
Core::Encoding::JSONEncoder,
|
|
34
|
-
)
|
|
35
|
-
end,
|
|
36
|
-
]
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
class Instance < Core::Transport::HTTP::API::Instance
|
|
40
|
-
include Config::API::Instance
|
|
41
|
-
include Negotiation::API::Instance
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
class Spec < Core::Transport::HTTP::API::Spec
|
|
45
|
-
include Config::API::Spec
|
|
46
|
-
include Negotiation::API::Spec
|
|
47
|
-
end
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
end
|
|
51
|
-
end
|
|
52
|
-
end
|
|
53
|
-
end
|