datadog 2.18.0 → 2.19.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 +47 -1
- data/ext/datadog_profiling_native_extension/collectors_cpu_and_wall_time_worker.c +51 -10
- data/ext/datadog_profiling_native_extension/collectors_stack.c +58 -49
- data/ext/datadog_profiling_native_extension/collectors_stack.h +2 -1
- data/ext/datadog_profiling_native_extension/collectors_thread_context.c +5 -6
- data/ext/datadog_profiling_native_extension/collectors_thread_context.h +1 -1
- data/ext/datadog_profiling_native_extension/private_vm_api_access.c +37 -26
- data/ext/datadog_profiling_native_extension/private_vm_api_access.h +0 -1
- data/ext/datadog_profiling_native_extension/ruby_helpers.h +1 -1
- data/lib/datadog/appsec/api_security/route_extractor.rb +7 -1
- data/lib/datadog/appsec/instrumentation/gateway/argument.rb +1 -1
- data/lib/datadog/core/configuration/settings.rb +20 -0
- data/lib/datadog/core/telemetry/component.rb +8 -4
- data/lib/datadog/core/telemetry/event/app_started.rb +21 -3
- data/lib/datadog/di/instrumenter.rb +11 -18
- data/lib/datadog/di/probe_notification_builder.rb +21 -16
- data/lib/datadog/di/serializer.rb +6 -2
- data/lib/datadog/di.rb +0 -6
- data/lib/datadog/kit/appsec/events/v2.rb +195 -0
- data/lib/datadog/profiling/collectors/cpu_and_wall_time_worker.rb +2 -0
- data/lib/datadog/profiling/collectors/info.rb +41 -0
- data/lib/datadog/profiling/component.rb +1 -0
- data/lib/datadog/profiling/exporter.rb +9 -3
- data/lib/datadog/profiling/sequence_tracker.rb +44 -0
- data/lib/datadog/profiling/tag_builder.rb +2 -0
- data/lib/datadog/profiling.rb +1 -0
- data/lib/datadog/single_step_instrument.rb +9 -0
- data/lib/datadog/tracing/contrib/active_support/cache/events/cache.rb +7 -1
- data/lib/datadog/tracing/contrib/active_support/configuration/settings.rb +13 -0
- data/lib/datadog/tracing/contrib/mysql2/instrumentation.rb +16 -6
- data/lib/datadog/tracing/contrib/rails/patcher.rb +4 -1
- data/lib/datadog/tracing/contrib/rails/runner.rb +61 -40
- data/lib/datadog/tracing/diagnostics/environment_logger.rb +3 -1
- data/lib/datadog/tracing/span_event.rb +1 -1
- data/lib/datadog/tracing/span_operation.rb +22 -0
- data/lib/datadog/version.rb +1 -1
- data/lib/datadog.rb +7 -0
- metadata +8 -6
@@ -297,6 +297,28 @@ module Datadog
|
|
297
297
|
set_error_tags(e)
|
298
298
|
end
|
299
299
|
|
300
|
+
# Record an exception during the execution of this span. Multiple exceptions
|
301
|
+
# can be recorded on a span.
|
302
|
+
#
|
303
|
+
# @param [Exception] exception The exception to record
|
304
|
+
# @param [optional Hash{String => String, Numeric, Boolean, Array<String, Numeric, Boolean>}]
|
305
|
+
# attributes One or more key:value pairs, where the keys must be
|
306
|
+
# strings and the values may be (array of) string, boolean or numeric
|
307
|
+
# type.
|
308
|
+
#
|
309
|
+
# @return [void]
|
310
|
+
def record_exception(exception, attributes: {})
|
311
|
+
exc = Core::Error.build_from(exception)
|
312
|
+
|
313
|
+
event_attributes = {
|
314
|
+
'exception.type' => exc.type,
|
315
|
+
'exception.message' => exc.message,
|
316
|
+
'exception.stacktrace' => exc.backtrace,
|
317
|
+
}
|
318
|
+
|
319
|
+
@span_events << SpanEvent.new('exception', attributes: event_attributes.merge!(attributes)) # steep:ignore
|
320
|
+
end
|
321
|
+
|
300
322
|
# Return a string representation of the span.
|
301
323
|
def to_s
|
302
324
|
"SpanOperation(name:#{@name},sid:#{@id},tid:#{@trace_id},pid:#{@parent_id})"
|
data/lib/datadog/version.rb
CHANGED
data/lib/datadog.rb
CHANGED
@@ -8,5 +8,12 @@ require_relative 'datadog/tracing/contrib'
|
|
8
8
|
require_relative 'datadog/profiling'
|
9
9
|
require_relative 'datadog/appsec'
|
10
10
|
require_relative 'datadog/di'
|
11
|
+
|
12
|
+
# Line probes will not work on Ruby < 2.6 because of lack of :script_compiled
|
13
|
+
# trace point. Activate DI automatically on supported Ruby versions but
|
14
|
+
# always load its settings so that, for example, turning DI off when
|
15
|
+
# we are on Ruby 2.5 does not produce exceptions.
|
16
|
+
require_relative 'datadog/di/boot' if RUBY_VERSION >= '2.6' && RUBY_ENGINE != 'jruby'
|
17
|
+
|
11
18
|
require_relative 'datadog/error_tracking'
|
12
19
|
require_relative 'datadog/kit'
|
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.19.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: 2025-07-
|
11
|
+
date: 2025-07-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: msgpack
|
@@ -50,14 +50,14 @@ dependencies:
|
|
50
50
|
requirements:
|
51
51
|
- - "~>"
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: 1.24.1.0.
|
53
|
+
version: 1.24.1.0.3
|
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.24.1.0.
|
60
|
+
version: 1.24.1.0.3
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: libdatadog
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -465,6 +465,7 @@ files:
|
|
465
465
|
- lib/datadog/error_tracking/filters.rb
|
466
466
|
- lib/datadog/kit.rb
|
467
467
|
- lib/datadog/kit/appsec/events.rb
|
468
|
+
- lib/datadog/kit/appsec/events/v2.rb
|
468
469
|
- lib/datadog/kit/enable_core_dumps.rb
|
469
470
|
- lib/datadog/kit/identity.rb
|
470
471
|
- lib/datadog/opentelemetry.rb
|
@@ -498,6 +499,7 @@ files:
|
|
498
499
|
- lib/datadog/profiling/preload.rb
|
499
500
|
- lib/datadog/profiling/profiler.rb
|
500
501
|
- lib/datadog/profiling/scheduler.rb
|
502
|
+
- lib/datadog/profiling/sequence_tracker.rb
|
501
503
|
- lib/datadog/profiling/stack_recorder.rb
|
502
504
|
- lib/datadog/profiling/tag_builder.rb
|
503
505
|
- lib/datadog/profiling/tasks/exec.rb
|
@@ -993,8 +995,8 @@ licenses:
|
|
993
995
|
- Apache-2.0
|
994
996
|
metadata:
|
995
997
|
allowed_push_host: https://rubygems.org
|
996
|
-
changelog_uri: https://github.com/DataDog/dd-trace-rb/blob/v2.
|
997
|
-
source_code_uri: https://github.com/DataDog/dd-trace-rb/tree/v2.
|
998
|
+
changelog_uri: https://github.com/DataDog/dd-trace-rb/blob/v2.19.0/CHANGELOG.md
|
999
|
+
source_code_uri: https://github.com/DataDog/dd-trace-rb/tree/v2.19.0
|
998
1000
|
post_install_message:
|
999
1001
|
rdoc_options: []
|
1000
1002
|
require_paths:
|