datadog 2.42.0 → 2.44.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 +67 -2
- data/README.md +3 -0
- data/ext/datadog_profiling_native_extension/collectors_cpu_and_wall_time_worker.c +46 -5
- data/ext/datadog_profiling_native_extension/collectors_idle_sampling_helper.c +6 -7
- data/ext/datadog_profiling_native_extension/collectors_stack.c +6 -7
- data/ext/datadog_profiling_native_extension/collectors_stack.h +1 -1
- data/ext/datadog_profiling_native_extension/collectors_thread_context.c +80 -36
- data/ext/datadog_profiling_native_extension/collectors_thread_context.h +3 -2
- data/ext/datadog_profiling_native_extension/extconf.rb +4 -2
- data/ext/datadog_profiling_native_extension/heap_recorder.c +13 -0
- data/ext/datadog_profiling_native_extension/heap_recorder.h +4 -0
- data/ext/datadog_profiling_native_extension/private_vm_api_access.c +34 -2
- data/ext/datadog_profiling_native_extension/private_vm_api_access.h +1 -0
- data/ext/datadog_profiling_native_extension/profiling.c +1 -0
- data/ext/datadog_profiling_native_extension/stack_recorder.c +17 -4
- data/ext/datadog_profiling_native_extension/time_helpers.h +5 -4
- data/ext/libdatadog_api/di.c +8 -3
- data/ext/libdatadog_api/extconf.rb +1 -1
- data/ext/libdatadog_api/feature_flags.c +8 -0
- data/ext/libdatadog_api/init.c +3 -1
- data/ext/libdatadog_api/otel_thread_context.c +51 -15
- data/ext/libdatadog_api/trace_exporter.c +642 -22
- data/ext/libdatadog_extconf_helpers.rb +14 -9
- data/lib/datadog/ai_guard/component.rb +17 -8
- data/lib/datadog/ai_guard/configuration/ext.rb +2 -0
- data/lib/datadog/ai_guard/configuration.rb +13 -0
- data/lib/datadog/ai_guard/contrib/ruby_llm/chat_instrumentation.rb +48 -55
- data/lib/datadog/ai_guard/contrib/ruby_llm/integration.rb +1 -1
- data/lib/datadog/ai_guard/contrib/ruby_llm/message_adapter.rb +76 -0
- data/lib/datadog/ai_guard/contrib/ruby_llm/patcher.rb +1 -0
- data/lib/datadog/ai_guard/contrib/ruby_llm/redaction_change_set.rb +135 -0
- data/lib/datadog/ai_guard/evaluation/client.rb +50 -0
- data/lib/datadog/ai_guard/evaluation/content_part.rb +12 -0
- data/lib/datadog/ai_guard/evaluation/message.rb +25 -7
- data/lib/datadog/ai_guard/evaluation/message_builder.rb +31 -0
- data/lib/datadog/ai_guard/evaluation/no_op_result.rb +6 -6
- data/lib/datadog/ai_guard/evaluation/outcome.rb +24 -0
- data/lib/datadog/ai_guard/evaluation/request.rb +4 -60
- data/lib/datadog/ai_guard/evaluation/response.rb +33 -0
- data/lib/datadog/ai_guard/evaluation/result.rb +11 -18
- data/lib/datadog/ai_guard/evaluation/tool_call.rb +15 -2
- data/lib/datadog/ai_guard/evaluation.rb +25 -11
- data/lib/datadog/ai_guard/ext.rb +1 -0
- data/lib/datadog/ai_guard/{api_client.rb → http_client.rb} +6 -4
- data/lib/datadog/ai_guard/metrics/telemetry.rb +43 -0
- data/lib/datadog/ai_guard/redaction/replacements.rb +97 -0
- data/lib/datadog/ai_guard/redaction/result.rb +29 -0
- data/lib/datadog/ai_guard/redaction.rb +80 -0
- data/lib/datadog/ai_guard.rb +58 -57
- data/lib/datadog/core/configuration/components.rb +9 -1
- data/lib/datadog/core/configuration/settings.rb +5 -2
- data/lib/datadog/core/configuration/supported_configurations.rb +8 -0
- data/lib/datadog/core/remote/client/capabilities.rb +10 -4
- data/lib/datadog/core/remote/component.rb +9 -2
- data/lib/datadog/core/remote/worker.rb +8 -0
- data/lib/datadog/di/instrumenter.rb +1 -1
- data/lib/datadog/di/probe_manager.rb +10 -5
- data/lib/datadog/di/proc_responder.rb +1 -1
- data/lib/datadog/open_feature/agentless/configuration_source.rb +246 -0
- data/lib/datadog/open_feature/agentless/parser.rb +43 -0
- data/lib/datadog/open_feature/agentless/response.rb +19 -0
- data/lib/datadog/open_feature/agentless/transport.rb +103 -0
- data/lib/datadog/open_feature/component.rb +57 -1
- data/lib/datadog/open_feature/configuration/agentless_endpoint.rb +90 -0
- data/lib/datadog/open_feature/configuration/source/resolution.rb +22 -0
- data/lib/datadog/open_feature/configuration/source.rb +43 -0
- data/lib/datadog/open_feature/configuration.rb +118 -0
- data/lib/datadog/open_feature/native_evaluator.rb +1 -14
- data/lib/datadog/open_feature/remote.rb +5 -5
- data/lib/datadog/open_feature/transport.rb +5 -0
- data/lib/datadog/opentelemetry/signal_configuration.rb +13 -9
- data/lib/datadog/profiling/collectors/cpu_and_wall_time_worker.rb +2 -2
- data/lib/datadog/profiling/collectors/idle_sampling_helper.rb +5 -7
- data/lib/datadog/profiling/collectors/info.rb +2 -6
- data/lib/datadog/symbol_database/extractor.rb +84 -102
- data/lib/datadog/tracing/component.rb +2 -0
- data/lib/datadog/tracing/configuration/ext.rb +1 -0
- data/lib/datadog/tracing/configuration/settings.rb +6 -0
- data/lib/datadog/tracing/context.rb +24 -2
- data/lib/datadog/tracing/context_provider.rb +9 -5
- data/lib/datadog/tracing/contrib/grape/endpoint.rb +32 -5
- data/lib/datadog/tracing/contrib/sequel/jdbc_connection_string.rb +140 -0
- data/lib/datadog/tracing/contrib/sequel/utils.rb +49 -62
- data/lib/datadog/tracing/metadata/ext.rb +3 -0
- data/lib/datadog/tracing/otel_thread_context.rb +78 -9
- data/lib/datadog/tracing/tracer.rb +15 -2
- data/lib/datadog/tracing/transport/native.rb +18 -26
- data/lib/datadog/tracing/transport/span_events_negotiation.rb +41 -0
- data/lib/datadog/tracing/transport/trace_formatter.rb +13 -3
- data/lib/datadog/tracing/transport/traces.rb +3 -23
- data/lib/datadog/version.rb +1 -1
- metadata +25 -7
- data/lib/datadog/ai_guard/evaluation/content_builder.rb +0 -31
|
@@ -7,6 +7,7 @@ require_relative "../../core/transport/transport"
|
|
|
7
7
|
require_relative "../../core/utils/enumerable_compat"
|
|
8
8
|
require_relative "http/client"
|
|
9
9
|
require_relative "serializable_trace"
|
|
10
|
+
require_relative "span_events_negotiation"
|
|
10
11
|
require_relative "trace_formatter"
|
|
11
12
|
|
|
12
13
|
module Datadog
|
|
@@ -99,7 +100,7 @@ module Datadog
|
|
|
99
100
|
|
|
100
101
|
def encode_trace(encoder, trace, logger:, native_events_supported:)
|
|
101
102
|
# Format the trace for transport
|
|
102
|
-
TraceFormatter.format!(trace)
|
|
103
|
+
TraceFormatter.format!(trace, transport: "ruby")
|
|
103
104
|
|
|
104
105
|
# Make the trace serializable
|
|
105
106
|
serializable_trace = SerializableTrace.new(trace, native_events_supported: native_events_supported)
|
|
@@ -118,6 +119,7 @@ module Datadog
|
|
|
118
119
|
# batches of traces into smaller chunks and handles
|
|
119
120
|
# API version downgrade handshake.
|
|
120
121
|
class Transport < Core::Transport::Transport
|
|
122
|
+
include SpanEventsNegotiation
|
|
121
123
|
self.http_client_class = Tracing::Transport::HTTP::Client
|
|
122
124
|
|
|
123
125
|
def send_traces(traces)
|
|
@@ -161,28 +163,6 @@ module Datadog
|
|
|
161
163
|
def stats
|
|
162
164
|
client.stats
|
|
163
165
|
end
|
|
164
|
-
|
|
165
|
-
private
|
|
166
|
-
|
|
167
|
-
# Queries the agent for native span events serialization support.
|
|
168
|
-
# This changes how the serialization of span events performed.
|
|
169
|
-
def native_events_supported?
|
|
170
|
-
return @native_events_supported if defined?(@native_events_supported)
|
|
171
|
-
|
|
172
|
-
# Check for an explicit override
|
|
173
|
-
option = Datadog.configuration.tracing.native_span_events
|
|
174
|
-
unless option.nil?
|
|
175
|
-
@native_events_supported = option
|
|
176
|
-
return option
|
|
177
|
-
end
|
|
178
|
-
|
|
179
|
-
# Otherwise, check for agent support, to ensure a configuration-less setup.
|
|
180
|
-
if (res = Datadog.send(:components).agent_info.fetch)
|
|
181
|
-
@native_events_supported = res.span_events == true
|
|
182
|
-
else
|
|
183
|
-
false
|
|
184
|
-
end
|
|
185
|
-
end
|
|
186
166
|
end
|
|
187
167
|
end
|
|
188
168
|
end
|
data/lib/datadog/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: datadog
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.44.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Datadog, Inc.
|
|
@@ -63,14 +63,14 @@ dependencies:
|
|
|
63
63
|
requirements:
|
|
64
64
|
- - "~>"
|
|
65
65
|
- !ruby/object:Gem::Version
|
|
66
|
-
version:
|
|
66
|
+
version: 44.0.1.1.0
|
|
67
67
|
type: :runtime
|
|
68
68
|
prerelease: false
|
|
69
69
|
version_requirements: !ruby/object:Gem::Requirement
|
|
70
70
|
requirements:
|
|
71
71
|
- - "~>"
|
|
72
72
|
- !ruby/object:Gem::Version
|
|
73
|
-
version:
|
|
73
|
+
version: 44.0.1.1.0
|
|
74
74
|
- !ruby/object:Gem::Dependency
|
|
75
75
|
name: logger
|
|
76
76
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -190,7 +190,6 @@ files:
|
|
|
190
190
|
- ext/libdatadog_extconf_helpers.rb
|
|
191
191
|
- lib/datadog.rb
|
|
192
192
|
- lib/datadog/ai_guard.rb
|
|
193
|
-
- lib/datadog/ai_guard/api_client.rb
|
|
194
193
|
- lib/datadog/ai_guard/autoload.rb
|
|
195
194
|
- lib/datadog/ai_guard/component.rb
|
|
196
195
|
- lib/datadog/ai_guard/configuration.rb
|
|
@@ -204,16 +203,26 @@ files:
|
|
|
204
203
|
- lib/datadog/ai_guard/contrib/rails/patcher.rb
|
|
205
204
|
- lib/datadog/ai_guard/contrib/ruby_llm/chat_instrumentation.rb
|
|
206
205
|
- lib/datadog/ai_guard/contrib/ruby_llm/integration.rb
|
|
206
|
+
- lib/datadog/ai_guard/contrib/ruby_llm/message_adapter.rb
|
|
207
207
|
- lib/datadog/ai_guard/contrib/ruby_llm/patcher.rb
|
|
208
|
+
- lib/datadog/ai_guard/contrib/ruby_llm/redaction_change_set.rb
|
|
208
209
|
- lib/datadog/ai_guard/evaluation.rb
|
|
209
|
-
- lib/datadog/ai_guard/evaluation/
|
|
210
|
+
- lib/datadog/ai_guard/evaluation/client.rb
|
|
210
211
|
- lib/datadog/ai_guard/evaluation/content_part.rb
|
|
211
212
|
- lib/datadog/ai_guard/evaluation/message.rb
|
|
213
|
+
- lib/datadog/ai_guard/evaluation/message_builder.rb
|
|
212
214
|
- lib/datadog/ai_guard/evaluation/no_op_result.rb
|
|
215
|
+
- lib/datadog/ai_guard/evaluation/outcome.rb
|
|
213
216
|
- lib/datadog/ai_guard/evaluation/request.rb
|
|
217
|
+
- lib/datadog/ai_guard/evaluation/response.rb
|
|
214
218
|
- lib/datadog/ai_guard/evaluation/result.rb
|
|
215
219
|
- lib/datadog/ai_guard/evaluation/tool_call.rb
|
|
216
220
|
- lib/datadog/ai_guard/ext.rb
|
|
221
|
+
- lib/datadog/ai_guard/http_client.rb
|
|
222
|
+
- lib/datadog/ai_guard/metrics/telemetry.rb
|
|
223
|
+
- lib/datadog/ai_guard/redaction.rb
|
|
224
|
+
- lib/datadog/ai_guard/redaction/replacements.rb
|
|
225
|
+
- lib/datadog/ai_guard/redaction/result.rb
|
|
217
226
|
- lib/datadog/appsec.rb
|
|
218
227
|
- lib/datadog/appsec/actions_handler.rb
|
|
219
228
|
- lib/datadog/appsec/actions_handler/serializable_backtrace.rb
|
|
@@ -577,8 +586,15 @@ files:
|
|
|
577
586
|
- lib/datadog/kit/identity.rb
|
|
578
587
|
- lib/datadog/kit/tracing/method_tracer.rb
|
|
579
588
|
- lib/datadog/open_feature.rb
|
|
589
|
+
- lib/datadog/open_feature/agentless/configuration_source.rb
|
|
590
|
+
- lib/datadog/open_feature/agentless/parser.rb
|
|
591
|
+
- lib/datadog/open_feature/agentless/response.rb
|
|
592
|
+
- lib/datadog/open_feature/agentless/transport.rb
|
|
580
593
|
- lib/datadog/open_feature/component.rb
|
|
581
594
|
- lib/datadog/open_feature/configuration.rb
|
|
595
|
+
- lib/datadog/open_feature/configuration/agentless_endpoint.rb
|
|
596
|
+
- lib/datadog/open_feature/configuration/source.rb
|
|
597
|
+
- lib/datadog/open_feature/configuration/source/resolution.rb
|
|
582
598
|
- lib/datadog/open_feature/evaluation_engine.rb
|
|
583
599
|
- lib/datadog/open_feature/exposures/batch_builder.rb
|
|
584
600
|
- lib/datadog/open_feature/exposures/buffer.rb
|
|
@@ -1025,6 +1041,7 @@ files:
|
|
|
1025
1041
|
- lib/datadog/tracing/contrib/sequel/dataset.rb
|
|
1026
1042
|
- lib/datadog/tracing/contrib/sequel/ext.rb
|
|
1027
1043
|
- lib/datadog/tracing/contrib/sequel/integration.rb
|
|
1044
|
+
- lib/datadog/tracing/contrib/sequel/jdbc_connection_string.rb
|
|
1028
1045
|
- lib/datadog/tracing/contrib/sequel/patcher.rb
|
|
1029
1046
|
- lib/datadog/tracing/contrib/sequel/utils.rb
|
|
1030
1047
|
- lib/datadog/tracing/contrib/shoryuken/configuration/settings.rb
|
|
@@ -1159,6 +1176,7 @@ files:
|
|
|
1159
1176
|
- lib/datadog/tracing/transport/native.rb
|
|
1160
1177
|
- lib/datadog/tracing/transport/native/response.rb
|
|
1161
1178
|
- lib/datadog/tracing/transport/serializable_trace.rb
|
|
1179
|
+
- lib/datadog/tracing/transport/span_events_negotiation.rb
|
|
1162
1180
|
- lib/datadog/tracing/transport/statistics.rb
|
|
1163
1181
|
- lib/datadog/tracing/transport/trace_formatter.rb
|
|
1164
1182
|
- lib/datadog/tracing/transport/traces.rb
|
|
@@ -1172,8 +1190,8 @@ licenses:
|
|
|
1172
1190
|
- Apache-2.0
|
|
1173
1191
|
metadata:
|
|
1174
1192
|
allowed_push_host: https://rubygems.org
|
|
1175
|
-
changelog_uri: https://github.com/DataDog/dd-trace-rb/blob/v2.
|
|
1176
|
-
source_code_uri: https://github.com/DataDog/dd-trace-rb/tree/v2.
|
|
1193
|
+
changelog_uri: https://github.com/DataDog/dd-trace-rb/blob/v2.44.0/CHANGELOG.md
|
|
1194
|
+
source_code_uri: https://github.com/DataDog/dd-trace-rb/tree/v2.44.0
|
|
1177
1195
|
post_install_message: 'JRuby support in the datadog gem is deprecated. Details: https://dtdg.co/jruby-deprecation'
|
|
1178
1196
|
rdoc_options: []
|
|
1179
1197
|
require_paths:
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Datadog
|
|
4
|
-
module AIGuard
|
|
5
|
-
module Evaluation
|
|
6
|
-
# Builder for collecting content parts inside a message block.
|
|
7
|
-
#
|
|
8
|
-
# Used via the block form of {Datadog::AIGuard.message}:
|
|
9
|
-
#
|
|
10
|
-
# Datadog::AIGuard.message(role: :user) do |m|
|
|
11
|
-
# m.text("What's in this image?")
|
|
12
|
-
# m.image_url("https://example.com/img.png")
|
|
13
|
-
# end
|
|
14
|
-
class ContentBuilder
|
|
15
|
-
attr_reader :parts
|
|
16
|
-
|
|
17
|
-
def initialize
|
|
18
|
-
@parts = []
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def text(text)
|
|
22
|
-
@parts << ContentPart::Text.new(text)
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
def image_url(url)
|
|
26
|
-
@parts << ContentPart::ImageURL.new(url)
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
end
|