datadog 2.33.0 → 2.34.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 +30 -1
- data/ext/datadog_profiling_native_extension/collectors_cpu_and_wall_time_worker.c +20 -0
- data/ext/datadog_profiling_native_extension/macos_sampler_thread.h +55 -0
- data/lib/datadog/appsec/component.rb +4 -1
- data/lib/datadog/appsec/compressed_json.rb +2 -2
- data/lib/datadog/appsec/contrib/aws_lambda/waf_addresses.rb +3 -3
- data/lib/datadog/appsec/contrib/rack/ext.rb +1 -1
- data/lib/datadog/core/configuration/components.rb +8 -1
- data/lib/datadog/core/configuration/settings.rb +6 -1
- data/lib/datadog/core/configuration/supported_configurations.rb +10 -0
- data/lib/datadog/core/environment/ext.rb +4 -0
- data/lib/datadog/core/environment/identity.rb +15 -1
- data/lib/datadog/core/environment/process.rb +48 -27
- data/lib/datadog/core/remote/client/capabilities.rb +11 -2
- data/lib/datadog/core/remote/transport/http/config.rb +5 -5
- data/lib/datadog/core/telemetry/request.rb +0 -2
- data/lib/datadog/core/transport/response.rb +1 -1
- data/lib/datadog/core/utils/{base64.rb → base64_codec.rb} +3 -2
- data/lib/datadog/core/utils/hash.rb +0 -23
- data/lib/datadog/core/utils/spawn_monkey_patch.rb +46 -16
- data/lib/datadog/data_streams/pathway_context.rb +3 -3
- data/lib/datadog/di/code_tracker.rb +43 -22
- data/lib/datadog/di/contrib/active_record.rb +6 -2
- data/lib/datadog/di/instrumenter.rb +24 -4
- data/lib/datadog/di/probe_notification_builder.rb +1 -1
- data/lib/datadog/di/remote.rb +4 -4
- data/lib/datadog/di/serializer.rb +5 -5
- data/lib/datadog/di/utils.rb +42 -14
- data/lib/datadog/opentelemetry/configuration/settings.rb +65 -0
- data/lib/datadog/opentelemetry/ext.rb +9 -0
- data/lib/datadog/opentelemetry/logs.rb +98 -0
- data/lib/datadog/opentelemetry/metrics.rb +10 -46
- data/lib/datadog/opentelemetry/sdk/configurator.rb +40 -0
- data/lib/datadog/opentelemetry/sdk/logs_exporter.rb +37 -0
- data/lib/datadog/opentelemetry/signal_configuration.rb +53 -0
- data/lib/datadog/opentelemetry.rb +1 -0
- data/lib/datadog/symbol_database/component.rb +409 -0
- data/lib/datadog/symbol_database/configuration.rb +2 -2
- data/lib/datadog/symbol_database/extractor.rb +29 -1
- data/lib/datadog/symbol_database/remote.rb +175 -0
- data/lib/datadog/symbol_database/scope_batcher.rb +8 -0
- data/lib/datadog/symbol_database/service_version.rb +11 -2
- data/lib/datadog/symbol_database/symbol.rb +6 -3
- data/lib/datadog/symbol_database/uploader.rb +62 -8
- data/lib/datadog/tracing/contrib/action_pack/action_dispatch/instrumentation.rb +8 -0
- data/lib/datadog/tracing/contrib/active_record/events/sql.rb +0 -4
- data/lib/datadog/tracing/contrib/active_support/cache/events/cache.rb +0 -4
- data/lib/datadog/tracing/contrib/active_support/cache/instrumentation.rb +0 -4
- data/lib/datadog/tracing/contrib/aws/instrumentation.rb +0 -5
- data/lib/datadog/tracing/contrib/dalli/instrumentation.rb +0 -5
- data/lib/datadog/tracing/contrib/elasticsearch/patcher.rb +0 -5
- data/lib/datadog/tracing/contrib/ethon/easy_patch.rb +0 -5
- data/lib/datadog/tracing/contrib/ethon/multi_patch.rb +0 -8
- data/lib/datadog/tracing/contrib/excon/middleware.rb +0 -5
- data/lib/datadog/tracing/contrib/ext.rb +2 -3
- data/lib/datadog/tracing/contrib/faraday/middleware.rb +0 -5
- data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/client.rb +0 -5
- data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/server.rb +0 -5
- data/lib/datadog/tracing/contrib/http/instrumentation.rb +0 -5
- data/lib/datadog/tracing/contrib/httpclient/instrumentation.rb +0 -5
- data/lib/datadog/tracing/contrib/httprb/instrumentation.rb +0 -5
- data/lib/datadog/tracing/contrib/mongodb/subscribers.rb +0 -5
- data/lib/datadog/tracing/contrib/mysql2/instrumentation.rb +0 -5
- data/lib/datadog/tracing/contrib/opensearch/patcher.rb +0 -5
- data/lib/datadog/tracing/contrib/pg/instrumentation.rb +0 -5
- data/lib/datadog/tracing/contrib/presto/instrumentation.rb +0 -5
- data/lib/datadog/tracing/contrib/racecar/event.rb +0 -5
- data/lib/datadog/tracing/contrib/redis/tags.rb +0 -5
- data/lib/datadog/tracing/contrib/rest_client/request_patch.rb +0 -5
- data/lib/datadog/tracing/contrib/sequel/utils.rb +0 -5
- data/lib/datadog/tracing/contrib/trilogy/instrumentation.rb +0 -5
- data/lib/datadog/tracing/distributed/datadog_tags_codec.rb +0 -13
- data/lib/datadog/tracing/distributed/trace_context.rb +0 -28
- data/lib/datadog/tracing/metadata/ext.rb +3 -0
- data/lib/datadog/tracing/span_operation.rb +13 -0
- data/lib/datadog/tracing/trace_operation.rb +22 -0
- data/lib/datadog/tracing/tracer.rb +6 -0
- data/lib/datadog/version.rb +1 -1
- metadata +12 -5
|
@@ -66,11 +66,6 @@ module Datadog
|
|
|
66
66
|
span.set_tag(header, value)
|
|
67
67
|
end
|
|
68
68
|
|
|
69
|
-
# Tag original global service name if not used
|
|
70
|
-
if span.service != Datadog.configuration.service
|
|
71
|
-
span.set_tag(Tracing::Contrib::Ext::Metadata::TAG_BASE_SERVICE, Datadog.configuration.service)
|
|
72
|
-
end
|
|
73
|
-
|
|
74
69
|
span.set_tag(Tracing::Metadata::Ext::TAG_KIND, Tracing::Metadata::Ext::SpanKind::TAG_SERVER)
|
|
75
70
|
span.set_tag(Tracing::Metadata::Ext::TAG_COMPONENT, Ext::TAG_COMPONENT)
|
|
76
71
|
span.set_tag(Tracing::Metadata::Ext::TAG_OPERATION, Ext::TAG_OPERATION_SERVICE)
|
|
@@ -63,11 +63,6 @@ module Datadog
|
|
|
63
63
|
)
|
|
64
64
|
end
|
|
65
65
|
|
|
66
|
-
# Tag original global service name if not used
|
|
67
|
-
if span.service != Datadog.configuration.service
|
|
68
|
-
span.set_tag(Tracing::Contrib::Ext::Metadata::TAG_BASE_SERVICE, Datadog.configuration.service)
|
|
69
|
-
end
|
|
70
|
-
|
|
71
66
|
span.set_tag(Tracing::Metadata::Ext::TAG_KIND, Tracing::Metadata::Ext::SpanKind::TAG_CLIENT)
|
|
72
67
|
|
|
73
68
|
span.set_tag(Tracing::Metadata::Ext::TAG_COMPONENT, Ext::TAG_COMPONENT)
|
|
@@ -68,11 +68,6 @@ module Datadog
|
|
|
68
68
|
)
|
|
69
69
|
end
|
|
70
70
|
|
|
71
|
-
# Tag original global service name if not used
|
|
72
|
-
if span.service != Datadog.configuration.service
|
|
73
|
-
span.set_tag(Tracing::Contrib::Ext::Metadata::TAG_BASE_SERVICE, Datadog.configuration.service)
|
|
74
|
-
end
|
|
75
|
-
|
|
76
71
|
span.set_tag(Tracing::Metadata::Ext::TAG_COMPONENT, Ext::TAG_COMPONENT)
|
|
77
72
|
span.set_tag(Tracing::Metadata::Ext::TAG_OPERATION, Ext::TAG_OPERATION_REQUEST)
|
|
78
73
|
|
|
@@ -66,11 +66,6 @@ module Datadog
|
|
|
66
66
|
)
|
|
67
67
|
end
|
|
68
68
|
|
|
69
|
-
# Tag original global service name if not used
|
|
70
|
-
if span.service != Datadog.configuration.service
|
|
71
|
-
span.set_tag(Tracing::Contrib::Ext::Metadata::TAG_BASE_SERVICE, Datadog.configuration.service)
|
|
72
|
-
end
|
|
73
|
-
|
|
74
69
|
span.set_tag(Tracing::Metadata::Ext::TAG_COMPONENT, Ext::TAG_COMPONENT)
|
|
75
70
|
span.set_tag(Tracing::Metadata::Ext::TAG_OPERATION, Ext::TAG_OPERATION_REQUEST)
|
|
76
71
|
|
|
@@ -41,11 +41,6 @@ module Datadog
|
|
|
41
41
|
)
|
|
42
42
|
end
|
|
43
43
|
|
|
44
|
-
# Tag original global service name if not used
|
|
45
|
-
if span.service != Datadog.configuration.service
|
|
46
|
-
span.set_tag(Tracing::Contrib::Ext::Metadata::TAG_BASE_SERVICE, Datadog.configuration.service)
|
|
47
|
-
end
|
|
48
|
-
|
|
49
44
|
span.set_tag(Contrib::Ext::DB::TAG_SYSTEM, Ext::TAG_SYSTEM)
|
|
50
45
|
|
|
51
46
|
span.set_tag(Tracing::Metadata::Ext::TAG_KIND, Tracing::Metadata::Ext::SpanKind::TAG_CLIENT)
|
|
@@ -34,11 +34,6 @@ module Datadog
|
|
|
34
34
|
)
|
|
35
35
|
end
|
|
36
36
|
|
|
37
|
-
# Tag original global service name if not used
|
|
38
|
-
if span.service != Datadog.configuration.service
|
|
39
|
-
span.set_tag(Tracing::Contrib::Ext::Metadata::TAG_BASE_SERVICE, Datadog.configuration.service)
|
|
40
|
-
end
|
|
41
|
-
|
|
42
37
|
span.set_tag(Contrib::Ext::DB::TAG_SYSTEM, Ext::TAG_SYSTEM)
|
|
43
38
|
span.set_tag(Tracing::Metadata::Ext::TAG_KIND, Tracing::Metadata::Ext::SpanKind::TAG_CLIENT)
|
|
44
39
|
|
|
@@ -62,11 +62,6 @@ module Datadog
|
|
|
62
62
|
)
|
|
63
63
|
end
|
|
64
64
|
|
|
65
|
-
# Tag original global service name if not used
|
|
66
|
-
if span.service != Datadog.configuration.service
|
|
67
|
-
span.set_tag(Tracing::Contrib::Ext::Metadata::TAG_BASE_SERVICE, Datadog.configuration.service)
|
|
68
|
-
end
|
|
69
|
-
|
|
70
65
|
# Set url tags
|
|
71
66
|
span.set_tag(OpenSearch::Ext::TAG_URL, url)
|
|
72
67
|
span.set_tag(OpenSearch::Ext::TAG_HOST, host)
|
|
@@ -160,11 +160,6 @@ module Datadog
|
|
|
160
160
|
)
|
|
161
161
|
end
|
|
162
162
|
|
|
163
|
-
# Tag original global service name if not used
|
|
164
|
-
if span.service != Datadog.configuration.service
|
|
165
|
-
span.set_tag(Tracing::Contrib::Ext::Metadata::TAG_BASE_SERVICE, Datadog.configuration.service)
|
|
166
|
-
end
|
|
167
|
-
|
|
168
163
|
span.set_tag(Tracing::Metadata::Ext::TAG_COMPONENT, Ext::TAG_COMPONENT)
|
|
169
164
|
span.set_tag(Tracing::Metadata::Ext::TAG_OPERATION, Ext::TAG_OPERATION_QUERY)
|
|
170
165
|
span.set_tag(Tracing::Metadata::Ext::TAG_KIND, Tracing::Metadata::Ext::SpanKind::TAG_CLIENT)
|
|
@@ -92,11 +92,6 @@ module Datadog
|
|
|
92
92
|
)
|
|
93
93
|
end
|
|
94
94
|
|
|
95
|
-
# Tag original global service name if not used
|
|
96
|
-
if span.service != Datadog.configuration.service
|
|
97
|
-
span.set_tag(Tracing::Contrib::Ext::Metadata::TAG_BASE_SERVICE, Datadog.configuration.service)
|
|
98
|
-
end
|
|
99
|
-
|
|
100
95
|
if (host_port = @options[:server])
|
|
101
96
|
host, port = Core::Utils.extract_host_port(host_port)
|
|
102
97
|
if host && port
|
|
@@ -48,11 +48,6 @@ module Datadog
|
|
|
48
48
|
# Measure service stats
|
|
49
49
|
Contrib::Analytics.set_measured(span)
|
|
50
50
|
|
|
51
|
-
# Tag original global service name if not used
|
|
52
|
-
if span.service != Datadog.configuration.service
|
|
53
|
-
span.set_tag(Tracing::Contrib::Ext::Metadata::TAG_BASE_SERVICE, Datadog.configuration.service)
|
|
54
|
-
end
|
|
55
|
-
|
|
56
51
|
span.set_tag(Ext::TAG_TOPIC, payload[:topic])
|
|
57
52
|
span.set_tag(Ext::TAG_CONSUMER, payload[:consumer_class])
|
|
58
53
|
span.set_tag(Ext::TAG_PARTITION, payload[:partition])
|
|
@@ -21,11 +21,6 @@ module Datadog
|
|
|
21
21
|
)
|
|
22
22
|
end
|
|
23
23
|
|
|
24
|
-
# Tag original global service name if not used
|
|
25
|
-
if span.service != Datadog.configuration.service
|
|
26
|
-
span.set_tag(Tracing::Contrib::Ext::Metadata::TAG_BASE_SERVICE, Datadog.configuration.service)
|
|
27
|
-
end
|
|
28
|
-
|
|
29
24
|
span.set_tag(Tracing::Metadata::Ext::TAG_COMPONENT, Ext::TAG_COMPONENT)
|
|
30
25
|
span.set_tag(Tracing::Metadata::Ext::TAG_OPERATION, Ext::TAG_OPERATION_COMMAND)
|
|
31
26
|
|
|
@@ -46,11 +46,6 @@ module Datadog
|
|
|
46
46
|
)
|
|
47
47
|
end
|
|
48
48
|
|
|
49
|
-
# Tag original global service name if not used
|
|
50
|
-
if span.service != Datadog.configuration.service
|
|
51
|
-
span.set_tag(Tracing::Contrib::Ext::Metadata::TAG_BASE_SERVICE, Datadog.configuration.service)
|
|
52
|
-
end
|
|
53
|
-
|
|
54
49
|
span.set_tag(Tracing::Metadata::Ext::TAG_KIND, Tracing::Metadata::Ext::SpanKind::TAG_CLIENT)
|
|
55
50
|
|
|
56
51
|
span.set_tag(Tracing::Metadata::Ext::TAG_COMPONENT, Ext::TAG_COMPONENT)
|
|
@@ -51,11 +51,6 @@ module Datadog
|
|
|
51
51
|
end
|
|
52
52
|
|
|
53
53
|
def set_common_tags(span, db)
|
|
54
|
-
# Tag original global service name if not used
|
|
55
|
-
if span.service != Datadog.configuration.service
|
|
56
|
-
span.set_tag(Tracing::Contrib::Ext::Metadata::TAG_BASE_SERVICE, Datadog.configuration.service)
|
|
57
|
-
end
|
|
58
|
-
|
|
59
54
|
span.set_tag(Tracing::Metadata::Ext::TAG_COMPONENT, Ext::TAG_COMPONENT)
|
|
60
55
|
span.set_tag(Tracing::Metadata::Ext::TAG_OPERATION, Ext::TAG_OPERATION_QUERY)
|
|
61
56
|
|
|
@@ -33,11 +33,6 @@ module Datadog
|
|
|
33
33
|
)
|
|
34
34
|
end
|
|
35
35
|
|
|
36
|
-
# Tag original global service name if not used
|
|
37
|
-
if span.service != Datadog.configuration.service
|
|
38
|
-
span.set_tag(Tracing::Contrib::Ext::Metadata::TAG_BASE_SERVICE, Datadog.configuration.service)
|
|
39
|
-
end
|
|
40
|
-
|
|
41
36
|
span.set_tag(Contrib::Ext::DB::TAG_SYSTEM, Ext::TAG_SYSTEM)
|
|
42
37
|
span.set_tag(Tracing::Metadata::Ext::TAG_KIND, Tracing::Metadata::Ext::SpanKind::TAG_CLIENT)
|
|
43
38
|
|
|
@@ -6,19 +6,6 @@ module Datadog
|
|
|
6
6
|
# Encodes and decodes distributed 'x-datadog-tags' tags for transport
|
|
7
7
|
# to and from external processes.
|
|
8
8
|
module DatadogTagsCodec
|
|
9
|
-
# Backport `Regexp::match?` because it is measurably the most performant
|
|
10
|
-
# way to check if a string matches a regular expression.
|
|
11
|
-
module RefineRegexp
|
|
12
|
-
unless Regexp.method_defined?(:match?)
|
|
13
|
-
refine ::Regexp do
|
|
14
|
-
def match?(*args)
|
|
15
|
-
!match(*args).nil?
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
using RefineRegexp
|
|
21
|
-
|
|
22
9
|
# ASCII characters 32-126, except `,`, `=`, and ` `. At least one character.
|
|
23
10
|
VALID_KEY_CHARS = /\A(?:(?![,= ])[\u0020-\u007E])+\Z/.freeze
|
|
24
11
|
# ASCII characters 32-126, except `,`. At least one character.
|
|
@@ -75,34 +75,6 @@ module Datadog
|
|
|
75
75
|
|
|
76
76
|
private
|
|
77
77
|
|
|
78
|
-
# Refinements to ensure newer rubies do not suffer performance impact
|
|
79
|
-
# by needing to use older APIs.
|
|
80
|
-
module Refine
|
|
81
|
-
# Backport `Regexp::match?` because it is measurably the most performant
|
|
82
|
-
# way to check if a string matches a regular expression.
|
|
83
|
-
unless Regexp.method_defined?(:match?)
|
|
84
|
-
refine ::Regexp do
|
|
85
|
-
def match?(*args)
|
|
86
|
-
!match(*args).nil?
|
|
87
|
-
end
|
|
88
|
-
end
|
|
89
|
-
end
|
|
90
|
-
|
|
91
|
-
unless String.method_defined?(:delete_prefix)
|
|
92
|
-
refine ::String do
|
|
93
|
-
def delete_prefix(prefix)
|
|
94
|
-
prefix = prefix.to_s
|
|
95
|
-
if rindex(prefix, 0)
|
|
96
|
-
self[prefix.length..-1]
|
|
97
|
-
else
|
|
98
|
-
dup
|
|
99
|
-
end
|
|
100
|
-
end
|
|
101
|
-
end
|
|
102
|
-
end
|
|
103
|
-
end
|
|
104
|
-
using Refine
|
|
105
|
-
|
|
106
78
|
# @see https://www.w3.org/TR/trace-context/#traceparent-header
|
|
107
79
|
def build_traceparent(digest)
|
|
108
80
|
build_traceparent_string(
|
|
@@ -270,6 +270,9 @@ module Datadog
|
|
|
270
270
|
# Stop timing
|
|
271
271
|
stop(end_time)
|
|
272
272
|
|
|
273
|
+
# Allow subscribers to enrich the span before it is finalized.
|
|
274
|
+
events.before_finish.publish(self)
|
|
275
|
+
|
|
273
276
|
# Build span
|
|
274
277
|
# Memoize for performance reasons
|
|
275
278
|
@span = build_span
|
|
@@ -400,12 +403,14 @@ module Datadog
|
|
|
400
403
|
:logger,
|
|
401
404
|
:after_finish,
|
|
402
405
|
:after_stop,
|
|
406
|
+
:before_finish,
|
|
403
407
|
:before_start
|
|
404
408
|
|
|
405
409
|
def initialize(logger: Datadog.logger)
|
|
406
410
|
@logger = logger
|
|
407
411
|
@after_finish = AfterFinish.new
|
|
408
412
|
@after_stop = AfterStop.new
|
|
413
|
+
@before_finish = BeforeFinish.new
|
|
409
414
|
@before_start = BeforeStart.new
|
|
410
415
|
end
|
|
411
416
|
|
|
@@ -429,6 +434,14 @@ module Datadog
|
|
|
429
434
|
end
|
|
430
435
|
end
|
|
431
436
|
|
|
437
|
+
# Triggered just before the span is finalized into a Span object.
|
|
438
|
+
# Subscribers can still mutate tags on the SpanOperation at this point.
|
|
439
|
+
class BeforeFinish < Tracing::Event
|
|
440
|
+
def initialize
|
|
441
|
+
super(:before_finish)
|
|
442
|
+
end
|
|
443
|
+
end
|
|
444
|
+
|
|
432
445
|
# Triggered just before the span is started.
|
|
433
446
|
class BeforeStart < Tracing::Event
|
|
434
447
|
def initialize
|
|
@@ -301,6 +301,11 @@ module Datadog
|
|
|
301
301
|
start_span(span_op)
|
|
302
302
|
end
|
|
303
303
|
|
|
304
|
+
# Before finish: allow enrichment before the span is finalized, publish events.
|
|
305
|
+
span_events.before_finish.subscribe do |span_op|
|
|
306
|
+
before_finish_span(span_op)
|
|
307
|
+
end
|
|
308
|
+
|
|
304
309
|
# After finish: deactivate the span, record, publish events.
|
|
305
310
|
span_events.after_finish.subscribe do |span, span_op|
|
|
306
311
|
finish_span(span, span_op, parent)
|
|
@@ -449,6 +454,7 @@ module Datadog
|
|
|
449
454
|
include Tracing::Events
|
|
450
455
|
|
|
451
456
|
attr_reader \
|
|
457
|
+
:span_before_finish,
|
|
452
458
|
:span_before_start,
|
|
453
459
|
:span_finished,
|
|
454
460
|
:trace_finished,
|
|
@@ -456,6 +462,7 @@ module Datadog
|
|
|
456
462
|
:trace_resource_change
|
|
457
463
|
|
|
458
464
|
def initialize
|
|
465
|
+
@span_before_finish = SpanBeforeFinish.new
|
|
459
466
|
@span_before_start = SpanBeforeStart.new
|
|
460
467
|
@span_finished = SpanFinished.new
|
|
461
468
|
@trace_finished = TraceFinished.new
|
|
@@ -463,6 +470,14 @@ module Datadog
|
|
|
463
470
|
@trace_resource_change = TraceResourceChange.new
|
|
464
471
|
end
|
|
465
472
|
|
|
473
|
+
# Triggered just before a span is finalized, mirroring SpanOperation::Events::BeforeFinish.
|
|
474
|
+
# Subscribers can still mutate tags on the SpanOperation at this point.
|
|
475
|
+
class SpanBeforeFinish < Tracing::Event
|
|
476
|
+
def initialize
|
|
477
|
+
super(:span_before_finish)
|
|
478
|
+
end
|
|
479
|
+
end
|
|
480
|
+
|
|
466
481
|
# Triggered before a span starts.
|
|
467
482
|
class SpanBeforeStart < Tracing::Event
|
|
468
483
|
def initialize
|
|
@@ -546,6 +561,13 @@ module Datadog
|
|
|
546
561
|
logger.debug { "Error starting span on trace: #{e.class}: #{e.message} Backtrace: #{e.backtrace.first(3)}" }
|
|
547
562
|
end
|
|
548
563
|
|
|
564
|
+
def before_finish_span(span_op)
|
|
565
|
+
# Publish :span_before_finish event
|
|
566
|
+
events.span_before_finish.publish(span_op, self)
|
|
567
|
+
rescue => e
|
|
568
|
+
logger.debug { "Error in before_finish_span on trace: #{e.class}: #{e.message} Backtrace: #{e.backtrace.first(3)}" }
|
|
569
|
+
end
|
|
570
|
+
|
|
549
571
|
# For traces with automatic context management (auto_finish),
|
|
550
572
|
# when the local root span finishes, the trace also finishes.
|
|
551
573
|
# The trace cannot receive new spans after finished.
|
|
@@ -417,6 +417,12 @@ module Datadog
|
|
|
417
417
|
event_span_op.service ||= @default_service
|
|
418
418
|
end
|
|
419
419
|
|
|
420
|
+
events.span_before_finish.subscribe do |event_span_op, _event_trace_op|
|
|
421
|
+
if event_span_op.service && event_span_op.service != @default_service
|
|
422
|
+
event_span_op.set_tag(Tracing::Metadata::Ext::TAG_BASE_SERVICE, @default_service)
|
|
423
|
+
end
|
|
424
|
+
end
|
|
425
|
+
|
|
420
426
|
events.trace_propagated.subscribe do |event_trace_op|
|
|
421
427
|
sample_trace(event_trace_op)
|
|
422
428
|
end
|
data/lib/datadog/version.rb
CHANGED
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.34.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: 2026-05-
|
|
11
|
+
date: 2026-05-27 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: msgpack
|
|
@@ -153,6 +153,7 @@ files:
|
|
|
153
153
|
- ext/datadog_profiling_native_extension/http_transport.c
|
|
154
154
|
- ext/datadog_profiling_native_extension/libdatadog_helpers.c
|
|
155
155
|
- ext/datadog_profiling_native_extension/libdatadog_helpers.h
|
|
156
|
+
- ext/datadog_profiling_native_extension/macos_sampler_thread.h
|
|
156
157
|
- ext/datadog_profiling_native_extension/native_extension_helpers.rb
|
|
157
158
|
- ext/datadog_profiling_native_extension/private_vm_api_access.c
|
|
158
159
|
- ext/datadog_profiling_native_extension/private_vm_api_access.h
|
|
@@ -470,7 +471,7 @@ files:
|
|
|
470
471
|
- lib/datadog/core/utils.rb
|
|
471
472
|
- lib/datadog/core/utils/array.rb
|
|
472
473
|
- lib/datadog/core/utils/at_fork_monkey_patch.rb
|
|
473
|
-
- lib/datadog/core/utils/
|
|
474
|
+
- lib/datadog/core/utils/base64_codec.rb
|
|
474
475
|
- lib/datadog/core/utils/duration.rb
|
|
475
476
|
- lib/datadog/core/utils/fnv.rb
|
|
476
477
|
- lib/datadog/core/utils/forking.rb
|
|
@@ -582,13 +583,17 @@ files:
|
|
|
582
583
|
- lib/datadog/opentelemetry/api/context.rb
|
|
583
584
|
- lib/datadog/opentelemetry/api/trace/span.rb
|
|
584
585
|
- lib/datadog/opentelemetry/configuration/settings.rb
|
|
586
|
+
- lib/datadog/opentelemetry/ext.rb
|
|
587
|
+
- lib/datadog/opentelemetry/logs.rb
|
|
585
588
|
- lib/datadog/opentelemetry/metrics.rb
|
|
586
589
|
- lib/datadog/opentelemetry/sdk/configurator.rb
|
|
587
590
|
- lib/datadog/opentelemetry/sdk/id_generator.rb
|
|
591
|
+
- lib/datadog/opentelemetry/sdk/logs_exporter.rb
|
|
588
592
|
- lib/datadog/opentelemetry/sdk/metrics_exporter.rb
|
|
589
593
|
- lib/datadog/opentelemetry/sdk/propagator.rb
|
|
590
594
|
- lib/datadog/opentelemetry/sdk/span_processor.rb
|
|
591
595
|
- lib/datadog/opentelemetry/sdk/trace/span.rb
|
|
596
|
+
- lib/datadog/opentelemetry/signal_configuration.rb
|
|
592
597
|
- lib/datadog/opentelemetry/trace.rb
|
|
593
598
|
- lib/datadog/profiling.rb
|
|
594
599
|
- lib/datadog/profiling/collectors/code_provenance.rb
|
|
@@ -619,10 +624,12 @@ files:
|
|
|
619
624
|
- lib/datadog/profiling/tasks/setup.rb
|
|
620
625
|
- lib/datadog/single_step_instrument.rb
|
|
621
626
|
- lib/datadog/symbol_database.rb
|
|
627
|
+
- lib/datadog/symbol_database/component.rb
|
|
622
628
|
- lib/datadog/symbol_database/configuration.rb
|
|
623
629
|
- lib/datadog/symbol_database/extractor.rb
|
|
624
630
|
- lib/datadog/symbol_database/file_hash.rb
|
|
625
631
|
- lib/datadog/symbol_database/logger.rb
|
|
632
|
+
- lib/datadog/symbol_database/remote.rb
|
|
626
633
|
- lib/datadog/symbol_database/scope.rb
|
|
627
634
|
- lib/datadog/symbol_database/scope_batcher.rb
|
|
628
635
|
- lib/datadog/symbol_database/service_version.rb
|
|
@@ -1130,8 +1137,8 @@ licenses:
|
|
|
1130
1137
|
- Apache-2.0
|
|
1131
1138
|
metadata:
|
|
1132
1139
|
allowed_push_host: https://rubygems.org
|
|
1133
|
-
changelog_uri: https://github.com/DataDog/dd-trace-rb/blob/v2.
|
|
1134
|
-
source_code_uri: https://github.com/DataDog/dd-trace-rb/tree/v2.
|
|
1140
|
+
changelog_uri: https://github.com/DataDog/dd-trace-rb/blob/v2.34.0/CHANGELOG.md
|
|
1141
|
+
source_code_uri: https://github.com/DataDog/dd-trace-rb/tree/v2.34.0
|
|
1135
1142
|
post_install_message: 'JRuby support in the datadog gem is deprecated. Details: https://dtdg.co/jruby-deprecation'
|
|
1136
1143
|
rdoc_options: []
|
|
1137
1144
|
require_paths:
|