datadog 2.35.0 → 2.37.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 +85 -1
- data/ext/datadog_profiling_native_extension/clock_id_from_mach.c +5 -12
- data/ext/datadog_profiling_native_extension/collectors_cpu_and_wall_time_worker.c +71 -31
- data/ext/datadog_profiling_native_extension/collectors_discrete_dynamic_sampler.c +1 -1
- data/ext/datadog_profiling_native_extension/collectors_idle_sampling_helper.c +18 -4
- data/ext/datadog_profiling_native_extension/collectors_stack.c +37 -18
- data/ext/datadog_profiling_native_extension/collectors_stack.h +8 -2
- data/ext/datadog_profiling_native_extension/collectors_thread_context.c +596 -341
- data/ext/datadog_profiling_native_extension/collectors_thread_context.h +11 -7
- data/ext/datadog_profiling_native_extension/datadog_ruby_common.c +7 -8
- data/ext/datadog_profiling_native_extension/datadog_ruby_common.h +0 -12
- data/ext/datadog_profiling_native_extension/extconf.rb +13 -2
- data/ext/datadog_profiling_native_extension/gvl_profiling_helper.c +4 -43
- data/ext/datadog_profiling_native_extension/gvl_profiling_helper.h +15 -47
- data/ext/datadog_profiling_native_extension/heap_recorder.c +44 -26
- data/ext/datadog_profiling_native_extension/private_vm_api_access.c +14 -35
- data/ext/datadog_profiling_native_extension/profiling.c +41 -4
- data/ext/datadog_profiling_native_extension/ruby_helpers.c +40 -34
- data/ext/datadog_profiling_native_extension/stack_recorder.c +24 -3
- data/ext/datadog_profiling_native_extension/stack_recorder.h +1 -0
- data/ext/datadog_profiling_native_extension/unsafe_api_calls_check.h +4 -2
- data/ext/libdatadog_api/datadog_ruby_common.c +7 -8
- data/ext/libdatadog_api/datadog_ruby_common.h +0 -12
- data/ext/libdatadog_api/di.c +76 -0
- data/ext/libdatadog_api/extconf.rb +6 -0
- data/ext/libdatadog_extconf_helpers.rb +1 -1
- data/lib/datadog/ai_guard/api_client.rb +6 -4
- data/lib/datadog/appsec/api_security/route_extractor.rb +13 -4
- data/lib/datadog/appsec/component.rb +1 -1
- data/lib/datadog/appsec/configuration.rb +13 -0
- data/lib/datadog/appsec/context.rb +4 -2
- data/lib/datadog/appsec/contrib/aws_lambda/waf_addresses.rb +37 -4
- data/lib/datadog/appsec/contrib/excon/ssrf_detection_middleware.rb +59 -4
- data/lib/datadog/appsec/contrib/faraday/ssrf_detection_middleware.rb +59 -5
- data/lib/datadog/appsec/contrib/graphql/gateway/multiplex.rb +64 -19
- data/lib/datadog/appsec/contrib/graphql/integration.rb +1 -0
- data/lib/datadog/appsec/contrib/rack/buffered_input.rb +83 -0
- data/lib/datadog/appsec/contrib/rack/gateway/request.rb +41 -3
- data/lib/datadog/appsec/contrib/rack/gateway/watcher.rb +24 -7
- data/lib/datadog/appsec/contrib/rack/input_peeker.rb +79 -0
- data/lib/datadog/appsec/contrib/rack/request_middleware.rb +21 -0
- data/lib/datadog/appsec/contrib/rails/gateway/request.rb +35 -1
- data/lib/datadog/appsec/contrib/rails/gateway/watcher.rb +17 -1
- data/lib/datadog/appsec/contrib/rest_client/request_ssrf_detection_patch.rb +60 -7
- data/lib/datadog/appsec/contrib/sinatra/gateway/watcher.rb +24 -3
- data/lib/datadog/appsec/default_header_tags.rb +10 -6
- data/lib/datadog/appsec/ext.rb +1 -0
- data/lib/datadog/appsec/metrics/collector.rb +18 -1
- data/lib/datadog/appsec/metrics/exporter.rb +9 -3
- data/lib/datadog/appsec/remote.rb +9 -3
- data/lib/datadog/appsec/route_normalizer/rails_route_pattern.rb +176 -0
- data/lib/datadog/appsec/route_normalizer/route_pattern.rb +378 -0
- data/lib/datadog/appsec/route_normalizer/route_text.rb +57 -0
- data/lib/datadog/appsec/route_normalizer.rb +80 -0
- data/lib/datadog/appsec/utils/http/body_reader.rb +61 -0
- data/lib/datadog/core/configuration/components.rb +83 -2
- data/lib/datadog/core/configuration/components_state.rb +6 -1
- data/lib/datadog/core/configuration/settings.rb +1 -5
- data/lib/datadog/core/configuration/supported_configurations.rb +4 -0
- data/lib/datadog/core/evp.rb +11 -0
- data/lib/datadog/core/remote/client/capabilities.rb +34 -7
- data/lib/datadog/core/remote/component.rb +1 -1
- data/lib/datadog/core/telemetry/event/app_started.rb +8 -22
- data/lib/datadog/core/utils/at_fork_monkey_patch.rb +1 -1
- data/lib/datadog/core/utils/forking.rb +3 -1
- data/lib/datadog/core/utils/spawn_monkey_patch.rb +3 -1
- data/lib/datadog/core.rb +3 -0
- data/lib/datadog/di/base.rb +7 -2
- data/lib/datadog/di/code_tracker.rb +5 -2
- data/lib/datadog/di/component.rb +110 -36
- data/lib/datadog/di/error.rb +10 -0
- data/lib/datadog/di/fatal_exceptions.rb +26 -0
- data/lib/datadog/di/instrumenter.rb +381 -165
- data/lib/datadog/di/probe.rb +14 -0
- data/lib/datadog/di/probe_file_loader.rb +8 -3
- data/lib/datadog/di/probe_manager.rb +67 -9
- data/lib/datadog/di/probe_notification_builder.rb +4 -1
- data/lib/datadog/di/probe_notifier_worker.rb +52 -32
- data/lib/datadog/di/redactor.rb +16 -1
- data/lib/datadog/di/remote.rb +175 -14
- data/lib/datadog/di/serializer.rb +12 -5
- data/lib/datadog/di/transport/input.rb +8 -4
- data/lib/datadog/di.rb +63 -0
- data/lib/datadog/error_tracking/collector.rb +2 -1
- data/lib/datadog/error_tracking/component.rb +2 -2
- data/lib/datadog/kit/appsec/events/v2.rb +60 -2
- data/lib/datadog/kit/tracing/method_tracer.rb +4 -1
- data/lib/datadog/open_feature/component.rb +29 -6
- data/lib/datadog/open_feature/configuration.rb +8 -0
- data/lib/datadog/open_feature/ext.rb +2 -0
- data/lib/datadog/open_feature/flag_evaluation/aggregator.rb +286 -0
- data/lib/datadog/open_feature/flag_evaluation/writer.rb +433 -0
- data/lib/datadog/open_feature/hooks/flag_eval_evp_hook.rb +101 -0
- data/lib/datadog/open_feature/hooks/{flag_eval_hook.rb → flag_eval_metrics_hook.rb} +1 -1
- data/lib/datadog/open_feature/native_evaluator.rb +22 -0
- data/lib/datadog/open_feature/provider.rb +59 -27
- data/lib/datadog/open_feature/transport.rb +55 -1
- data/lib/datadog/opentelemetry/sdk/logs_exporter.rb +5 -12
- data/lib/datadog/opentelemetry/sdk/metrics_exporter.rb +4 -11
- data/lib/datadog/opentelemetry/sdk/propagator.rb +9 -3
- data/lib/datadog/opentelemetry/sdk/span_processor.rb +4 -1
- data/lib/datadog/opentelemetry/sdk.rb +19 -0
- data/lib/datadog/profiling/collectors/cpu_and_wall_time_worker.rb +1 -1
- data/lib/datadog/profiling/collectors/idle_sampling_helper.rb +5 -3
- data/lib/datadog/profiling/collectors/thread_context.rb +1 -0
- data/lib/datadog/profiling/component.rb +13 -15
- data/lib/datadog/profiling/ext/dir_monkey_patches.rb +3 -3
- data/lib/datadog/ruby_version.rb +25 -0
- data/lib/datadog/symbol_database/component.rb +453 -128
- data/lib/datadog/symbol_database/configuration.rb +12 -4
- data/lib/datadog/symbol_database/extensions.rb +19 -0
- data/lib/datadog/symbol_database/extractor.rb +326 -150
- data/lib/datadog/symbol_database/file_hash.rb +3 -1
- data/lib/datadog/symbol_database/remote.rb +8 -3
- data/lib/datadog/symbol_database/scope_batcher.rb +7 -3
- data/lib/datadog/symbol_database/uploader.rb +9 -2
- data/lib/datadog/symbol_database.rb +22 -0
- data/lib/datadog/tracing/configuration/ext.rb +13 -0
- data/lib/datadog/tracing/configuration/settings.rb +17 -0
- data/lib/datadog/tracing/contrib/configuration/resolver.rb +7 -0
- data/lib/datadog/tracing/contrib/grpc/distributed/propagation.rb +2 -0
- data/lib/datadog/tracing/contrib/grpc.rb +1 -0
- data/lib/datadog/tracing/contrib/http/distributed/propagation.rb +2 -0
- data/lib/datadog/tracing/contrib/http.rb +1 -0
- data/lib/datadog/tracing/contrib/karafka/distributed/propagation.rb +2 -0
- data/lib/datadog/tracing/contrib/karafka.rb +1 -0
- data/lib/datadog/tracing/contrib/rack/middlewares.rb +3 -1
- data/lib/datadog/tracing/contrib/rack/route_inference.rb +3 -1
- data/lib/datadog/tracing/contrib/sidekiq/distributed/propagation.rb +2 -0
- data/lib/datadog/tracing/contrib/sidekiq.rb +1 -0
- data/lib/datadog/tracing/contrib/waterdrop/distributed/propagation.rb +2 -0
- data/lib/datadog/tracing/contrib/waterdrop.rb +1 -0
- data/lib/datadog/tracing/distributed/baggage.rb +2 -1
- data/lib/datadog/tracing/distributed/propagation.rb +33 -1
- data/lib/datadog/tracing/distributed/trace_context.rb +11 -2
- data/lib/datadog/tracing/ext.rb +9 -0
- data/lib/datadog/tracing/remote.rb +34 -3
- data/lib/datadog/tracing/trace_digest.rb +7 -0
- data/lib/datadog/tracing/trace_operation.rb +4 -1
- data/lib/datadog/tracing/tracer.rb +1 -0
- data/lib/datadog/version.rb +1 -1
- data/lib/datadog.rb +5 -1
- metadata +22 -6
|
@@ -387,6 +387,7 @@ module Datadog
|
|
|
387
387
|
origin: digest.trace_origin,
|
|
388
388
|
parent_span_id: digest.span_id,
|
|
389
389
|
sampling_priority: sampling_priority,
|
|
390
|
+
span_links: digest.span_links,
|
|
390
391
|
# Distributed tags are just regular trace tags with special meaning to Datadog
|
|
391
392
|
tags: digest.trace_distributed_tags,
|
|
392
393
|
trace_state: digest.trace_state,
|
data/lib/datadog/version.rb
CHANGED
data/lib/datadog.rb
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
# Load core first so shared helpers (e.g. Datadog::RubyVersion) are available at require-time
|
|
4
|
+
require_relative 'datadog/core'
|
|
5
|
+
|
|
3
6
|
# Load tracing
|
|
4
7
|
require_relative 'datadog/tracing'
|
|
5
8
|
require_relative 'datadog/tracing/contrib'
|
|
@@ -9,6 +12,7 @@ require_relative 'datadog/profiling'
|
|
|
9
12
|
require_relative 'datadog/ai_guard'
|
|
10
13
|
require_relative 'datadog/appsec'
|
|
11
14
|
require_relative 'datadog/di'
|
|
15
|
+
require_relative 'datadog/symbol_database/extensions'
|
|
12
16
|
require_relative 'datadog/data_streams'
|
|
13
17
|
require_relative 'datadog/open_feature'
|
|
14
18
|
|
|
@@ -16,7 +20,7 @@ require_relative 'datadog/open_feature'
|
|
|
16
20
|
# trace point. Activate DI automatically on supported Ruby versions but
|
|
17
21
|
# always load its settings so that, for example, turning DI off when
|
|
18
22
|
# we are on Ruby 2.5 does not produce exceptions.
|
|
19
|
-
require_relative 'datadog/di/boot' if
|
|
23
|
+
require_relative 'datadog/di/boot' if Datadog::RubyVersion.is?('>= 2.6') && RUBY_ENGINE != 'jruby'
|
|
20
24
|
|
|
21
25
|
require_relative 'datadog/error_tracking'
|
|
22
26
|
require_relative 'datadog/kit'
|
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.37.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: 36.0.0.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: 36.0.0.1.0
|
|
74
74
|
- !ruby/object:Gem::Dependency
|
|
75
75
|
name: logger
|
|
76
76
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -265,10 +265,12 @@ files:
|
|
|
265
265
|
- lib/datadog/appsec/contrib/graphql/integration.rb
|
|
266
266
|
- lib/datadog/appsec/contrib/graphql/patcher.rb
|
|
267
267
|
- lib/datadog/appsec/contrib/integration.rb
|
|
268
|
+
- lib/datadog/appsec/contrib/rack/buffered_input.rb
|
|
268
269
|
- lib/datadog/appsec/contrib/rack/ext.rb
|
|
269
270
|
- lib/datadog/appsec/contrib/rack/gateway/request.rb
|
|
270
271
|
- lib/datadog/appsec/contrib/rack/gateway/response.rb
|
|
271
272
|
- lib/datadog/appsec/contrib/rack/gateway/watcher.rb
|
|
273
|
+
- lib/datadog/appsec/contrib/rack/input_peeker.rb
|
|
272
274
|
- lib/datadog/appsec/contrib/rack/integration.rb
|
|
273
275
|
- lib/datadog/appsec/contrib/rack/patcher.rb
|
|
274
276
|
- lib/datadog/appsec/contrib/rack/request_body_middleware.rb
|
|
@@ -314,6 +316,10 @@ files:
|
|
|
314
316
|
- lib/datadog/appsec/rate_limiter.rb
|
|
315
317
|
- lib/datadog/appsec/remote.rb
|
|
316
318
|
- lib/datadog/appsec/response.rb
|
|
319
|
+
- lib/datadog/appsec/route_normalizer.rb
|
|
320
|
+
- lib/datadog/appsec/route_normalizer/rails_route_pattern.rb
|
|
321
|
+
- lib/datadog/appsec/route_normalizer/route_pattern.rb
|
|
322
|
+
- lib/datadog/appsec/route_normalizer/route_text.rb
|
|
317
323
|
- lib/datadog/appsec/sample_rate.rb
|
|
318
324
|
- lib/datadog/appsec/security_engine.rb
|
|
319
325
|
- lib/datadog/appsec/security_engine/engine.rb
|
|
@@ -326,6 +332,7 @@ files:
|
|
|
326
332
|
- lib/datadog/appsec/utils/hash_coercion.rb
|
|
327
333
|
- lib/datadog/appsec/utils/http.rb
|
|
328
334
|
- lib/datadog/appsec/utils/http/body.rb
|
|
335
|
+
- lib/datadog/appsec/utils/http/body_reader.rb
|
|
329
336
|
- lib/datadog/appsec/utils/http/media_range.rb
|
|
330
337
|
- lib/datadog/appsec/utils/http/media_type.rb
|
|
331
338
|
- lib/datadog/appsec/utils/http/url_encoded.rb
|
|
@@ -378,6 +385,7 @@ files:
|
|
|
378
385
|
- lib/datadog/core/environment/vm_cache.rb
|
|
379
386
|
- lib/datadog/core/environment/yjit.rb
|
|
380
387
|
- lib/datadog/core/error.rb
|
|
388
|
+
- lib/datadog/core/evp.rb
|
|
381
389
|
- lib/datadog/core/extensions.rb
|
|
382
390
|
- lib/datadog/core/feature_flags.rb
|
|
383
391
|
- lib/datadog/core/git/ext.rb
|
|
@@ -525,6 +533,7 @@ files:
|
|
|
525
533
|
- lib/datadog/di/el/expression.rb
|
|
526
534
|
- lib/datadog/di/error.rb
|
|
527
535
|
- lib/datadog/di/extensions.rb
|
|
536
|
+
- lib/datadog/di/fatal_exceptions.rb
|
|
528
537
|
- lib/datadog/di/instrumenter.rb
|
|
529
538
|
- lib/datadog/di/logger.rb
|
|
530
539
|
- lib/datadog/di/preload.rb
|
|
@@ -570,7 +579,10 @@ files:
|
|
|
570
579
|
- lib/datadog/open_feature/exposures/reporter.rb
|
|
571
580
|
- lib/datadog/open_feature/exposures/worker.rb
|
|
572
581
|
- lib/datadog/open_feature/ext.rb
|
|
573
|
-
- lib/datadog/open_feature/
|
|
582
|
+
- lib/datadog/open_feature/flag_evaluation/aggregator.rb
|
|
583
|
+
- lib/datadog/open_feature/flag_evaluation/writer.rb
|
|
584
|
+
- lib/datadog/open_feature/hooks/flag_eval_evp_hook.rb
|
|
585
|
+
- lib/datadog/open_feature/hooks/flag_eval_metrics_hook.rb
|
|
574
586
|
- lib/datadog/open_feature/metrics/flag_eval_metrics.rb
|
|
575
587
|
- lib/datadog/open_feature/native_evaluator.rb
|
|
576
588
|
- lib/datadog/open_feature/noop_evaluator.rb
|
|
@@ -586,6 +598,7 @@ files:
|
|
|
586
598
|
- lib/datadog/opentelemetry/ext.rb
|
|
587
599
|
- lib/datadog/opentelemetry/logs.rb
|
|
588
600
|
- lib/datadog/opentelemetry/metrics.rb
|
|
601
|
+
- lib/datadog/opentelemetry/sdk.rb
|
|
589
602
|
- lib/datadog/opentelemetry/sdk/configurator.rb
|
|
590
603
|
- lib/datadog/opentelemetry/sdk/id_generator.rb
|
|
591
604
|
- lib/datadog/opentelemetry/sdk/logs_exporter.rb
|
|
@@ -622,10 +635,12 @@ files:
|
|
|
622
635
|
- lib/datadog/profiling/tasks/exec.rb
|
|
623
636
|
- lib/datadog/profiling/tasks/help.rb
|
|
624
637
|
- lib/datadog/profiling/tasks/setup.rb
|
|
638
|
+
- lib/datadog/ruby_version.rb
|
|
625
639
|
- lib/datadog/single_step_instrument.rb
|
|
626
640
|
- lib/datadog/symbol_database.rb
|
|
627
641
|
- lib/datadog/symbol_database/component.rb
|
|
628
642
|
- lib/datadog/symbol_database/configuration.rb
|
|
643
|
+
- lib/datadog/symbol_database/extensions.rb
|
|
629
644
|
- lib/datadog/symbol_database/extractor.rb
|
|
630
645
|
- lib/datadog/symbol_database/file_hash.rb
|
|
631
646
|
- lib/datadog/symbol_database/logger.rb
|
|
@@ -1078,6 +1093,7 @@ files:
|
|
|
1078
1093
|
- lib/datadog/tracing/distributed/propagation_policy.rb
|
|
1079
1094
|
- lib/datadog/tracing/distributed/trace_context.rb
|
|
1080
1095
|
- lib/datadog/tracing/event.rb
|
|
1096
|
+
- lib/datadog/tracing/ext.rb
|
|
1081
1097
|
- lib/datadog/tracing/flush.rb
|
|
1082
1098
|
- lib/datadog/tracing/metadata.rb
|
|
1083
1099
|
- lib/datadog/tracing/metadata/analytics.rb
|
|
@@ -1137,8 +1153,8 @@ licenses:
|
|
|
1137
1153
|
- Apache-2.0
|
|
1138
1154
|
metadata:
|
|
1139
1155
|
allowed_push_host: https://rubygems.org
|
|
1140
|
-
changelog_uri: https://github.com/DataDog/dd-trace-rb/blob/v2.
|
|
1141
|
-
source_code_uri: https://github.com/DataDog/dd-trace-rb/tree/v2.
|
|
1156
|
+
changelog_uri: https://github.com/DataDog/dd-trace-rb/blob/v2.37.0/CHANGELOG.md
|
|
1157
|
+
source_code_uri: https://github.com/DataDog/dd-trace-rb/tree/v2.37.0
|
|
1142
1158
|
post_install_message: 'JRuby support in the datadog gem is deprecated. Details: https://dtdg.co/jruby-deprecation'
|
|
1143
1159
|
rdoc_options: []
|
|
1144
1160
|
require_paths:
|