datadog 2.21.0 → 2.22.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 +48 -1
- data/ext/LIBDATADOG_DEVELOPMENT.md +60 -0
- data/ext/datadog_profiling_native_extension/collectors_discrete_dynamic_sampler.c +1 -1
- data/ext/libdatadog_api/ddsketch.c +106 -0
- data/ext/libdatadog_api/init.c +3 -0
- data/ext/libdatadog_api/library_config.c +35 -27
- data/ext/libdatadog_api/process_discovery.c +19 -13
- data/ext/libdatadog_extconf_helpers.rb +1 -1
- data/lib/datadog/appsec/api_security/endpoint_collection/grape_route_serializer.rb +26 -0
- data/lib/datadog/appsec/api_security/endpoint_collection/rails_collector.rb +59 -0
- data/lib/datadog/appsec/api_security/endpoint_collection/rails_route_serializer.rb +29 -0
- data/lib/datadog/appsec/api_security/endpoint_collection/sinatra_route_serializer.rb +26 -0
- data/lib/datadog/appsec/api_security/endpoint_collection.rb +10 -0
- data/lib/datadog/appsec/assets/waf_rules/README.md +30 -36
- data/lib/datadog/appsec/assets/waf_rules/recommended.json +359 -4
- data/lib/datadog/appsec/assets/waf_rules/strict.json +43 -2
- data/lib/datadog/appsec/compressed_json.rb +1 -1
- data/lib/datadog/appsec/configuration/settings.rb +9 -0
- data/lib/datadog/appsec/contrib/active_record/instrumentation.rb +3 -1
- data/lib/datadog/appsec/contrib/excon/ssrf_detection_middleware.rb +3 -2
- data/lib/datadog/appsec/contrib/faraday/ssrf_detection_middleware.rb +3 -1
- data/lib/datadog/appsec/contrib/graphql/gateway/watcher.rb +3 -1
- data/lib/datadog/appsec/contrib/rack/gateway/watcher.rb +9 -4
- data/lib/datadog/appsec/contrib/rack/request_middleware.rb +5 -1
- data/lib/datadog/appsec/contrib/rails/gateway/watcher.rb +7 -2
- data/lib/datadog/appsec/contrib/rails/patcher.rb +30 -0
- data/lib/datadog/appsec/contrib/rest_client/request_ssrf_detection_patch.rb +3 -1
- data/lib/datadog/appsec/contrib/sinatra/gateway/watcher.rb +10 -4
- data/lib/datadog/appsec/event.rb +12 -14
- data/lib/datadog/appsec/metrics/collector.rb +19 -3
- data/lib/datadog/appsec/metrics/telemetry_exporter.rb +2 -1
- data/lib/datadog/appsec/monitor/gateway/watcher.rb +4 -4
- data/lib/datadog/appsec/remote.rb +25 -13
- data/lib/datadog/appsec/security_engine/result.rb +28 -9
- data/lib/datadog/appsec/security_engine/runner.rb +17 -7
- data/lib/datadog/appsec/security_event.rb +5 -7
- data/lib/datadog/core/configuration/components.rb +14 -6
- data/lib/datadog/core/configuration/stable_config.rb +10 -0
- data/lib/datadog/core/configuration/supported_configurations.rb +2 -0
- data/lib/datadog/core/configuration.rb +1 -1
- data/lib/datadog/core/ddsketch.rb +21 -0
- data/lib/datadog/core/environment/yjit.rb +2 -1
- data/lib/datadog/core/pin.rb +4 -8
- data/lib/datadog/core/process_discovery.rb +4 -2
- data/lib/datadog/core/remote/component.rb +4 -6
- data/lib/datadog/core/telemetry/component.rb +11 -0
- data/lib/datadog/core/telemetry/emitter.rb +6 -6
- data/lib/datadog/core/telemetry/event/app_endpoints_loaded.rb +30 -0
- data/lib/datadog/core/telemetry/event.rb +1 -0
- data/lib/datadog/core/transport/response.rb +4 -1
- data/lib/datadog/core/utils/network.rb +19 -0
- data/lib/datadog/di/boot.rb +1 -0
- data/lib/datadog/di/component.rb +14 -0
- data/lib/datadog/di/context.rb +70 -0
- data/lib/datadog/di/el/compiler.rb +164 -0
- data/lib/datadog/di/el/evaluator.rb +159 -0
- data/lib/datadog/di/el/expression.rb +42 -0
- data/lib/datadog/di/el.rb +5 -0
- data/lib/datadog/di/error.rb +25 -0
- data/lib/datadog/di/instrumenter.rb +101 -32
- data/lib/datadog/di/probe.rb +35 -15
- data/lib/datadog/di/probe_builder.rb +39 -1
- data/lib/datadog/di/probe_manager.rb +3 -2
- data/lib/datadog/di/probe_notification_builder.rb +50 -51
- data/lib/datadog/di/serializer.rb +151 -7
- data/lib/datadog/tracing/component.rb +6 -17
- data/lib/datadog/tracing/configuration/dynamic.rb +2 -2
- data/lib/datadog/tracing/configuration/settings.rb +3 -3
- data/lib/datadog/tracing/contrib/component.rb +2 -2
- data/lib/datadog/tracing/contrib/graphql/configuration/settings.rb +7 -0
- data/lib/datadog/tracing/contrib/graphql/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/graphql/unified_trace.rb +53 -28
- data/lib/datadog/tracing/metadata/ext.rb +8 -0
- data/lib/datadog/version.rb +1 -1
- metadata +22 -9
- data/ext/libdatadog_api/macos_development.md +0 -26
@@ -82,6 +82,14 @@ module Datadog
|
|
82
82
|
TAG_MSG = 'error.message'
|
83
83
|
TAG_STACK = 'error.stack'
|
84
84
|
TAG_TYPE = 'error.type'
|
85
|
+
|
86
|
+
# From https://opentelemetry.io/docs/specs/semconv/registry/attributes/exception/#exception-stacktrace
|
87
|
+
ATTRIBUTE_MESSAGE = 'exception.message'
|
88
|
+
ATTRIBUTE_STACKTRACE = 'exception.stacktrace'
|
89
|
+
ATTRIBUTE_TYPE = 'exception.type'
|
90
|
+
|
91
|
+
# From https://opentelemetry.io/docs/specs/semconv/exceptions/exceptions-spans/#exception-event
|
92
|
+
EVENT_NAME = 'exception'
|
85
93
|
end
|
86
94
|
|
87
95
|
# @public_api
|
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.22.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-
|
11
|
+
date: 2025-10-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: msgpack
|
@@ -50,28 +50,28 @@ dependencies:
|
|
50
50
|
requirements:
|
51
51
|
- - "~>"
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: 1.
|
53
|
+
version: 1.25.1.1.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.25.1.1.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: 22.0.1.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: 22.0.1.1.0
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
76
|
name: logger
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
@@ -107,6 +107,7 @@ files:
|
|
107
107
|
- NOTICE
|
108
108
|
- README.md
|
109
109
|
- bin/ddprofrb
|
110
|
+
- ext/LIBDATADOG_DEVELOPMENT.md
|
110
111
|
- ext/datadog_profiling_native_extension/NativeExtensionDesign.md
|
111
112
|
- ext/datadog_profiling_native_extension/clock_id.h
|
112
113
|
- ext/datadog_profiling_native_extension/clock_id_from_pthread.c
|
@@ -155,11 +156,11 @@ files:
|
|
155
156
|
- ext/libdatadog_api/crashtracker.h
|
156
157
|
- ext/libdatadog_api/datadog_ruby_common.c
|
157
158
|
- ext/libdatadog_api/datadog_ruby_common.h
|
159
|
+
- ext/libdatadog_api/ddsketch.c
|
158
160
|
- ext/libdatadog_api/extconf.rb
|
159
161
|
- ext/libdatadog_api/init.c
|
160
162
|
- ext/libdatadog_api/library_config.c
|
161
163
|
- ext/libdatadog_api/library_config.h
|
162
|
-
- ext/libdatadog_api/macos_development.md
|
163
164
|
- ext/libdatadog_api/process_discovery.c
|
164
165
|
- ext/libdatadog_api/process_discovery.h
|
165
166
|
- ext/libdatadog_extconf_helpers.rb
|
@@ -169,6 +170,11 @@ files:
|
|
169
170
|
- lib/datadog/appsec/actions_handler/serializable_backtrace.rb
|
170
171
|
- lib/datadog/appsec/anonymizer.rb
|
171
172
|
- lib/datadog/appsec/api_security.rb
|
173
|
+
- lib/datadog/appsec/api_security/endpoint_collection.rb
|
174
|
+
- lib/datadog/appsec/api_security/endpoint_collection/grape_route_serializer.rb
|
175
|
+
- lib/datadog/appsec/api_security/endpoint_collection/rails_collector.rb
|
176
|
+
- lib/datadog/appsec/api_security/endpoint_collection/rails_route_serializer.rb
|
177
|
+
- lib/datadog/appsec/api_security/endpoint_collection/sinatra_route_serializer.rb
|
172
178
|
- lib/datadog/appsec/api_security/lru_cache.rb
|
173
179
|
- lib/datadog/appsec/api_security/route_extractor.rb
|
174
180
|
- lib/datadog/appsec/api_security/sampler.rb
|
@@ -298,6 +304,7 @@ files:
|
|
298
304
|
- lib/datadog/core/contrib/rails/utils.rb
|
299
305
|
- lib/datadog/core/crashtracking/component.rb
|
300
306
|
- lib/datadog/core/crashtracking/tag_builder.rb
|
307
|
+
- lib/datadog/core/ddsketch.rb
|
301
308
|
- lib/datadog/core/deprecations.rb
|
302
309
|
- lib/datadog/core/diagnostics/environment_logger.rb
|
303
310
|
- lib/datadog/core/diagnostics/health.rb
|
@@ -366,6 +373,7 @@ files:
|
|
366
373
|
- lib/datadog/core/telemetry/event/app_client_configuration_change.rb
|
367
374
|
- lib/datadog/core/telemetry/event/app_closing.rb
|
368
375
|
- lib/datadog/core/telemetry/event/app_dependencies_loaded.rb
|
376
|
+
- lib/datadog/core/telemetry/event/app_endpoints_loaded.rb
|
369
377
|
- lib/datadog/core/telemetry/event/app_heartbeat.rb
|
370
378
|
- lib/datadog/core/telemetry/event/app_integrations_change.rb
|
371
379
|
- lib/datadog/core/telemetry/event/app_started.rb
|
@@ -441,9 +449,14 @@ files:
|
|
441
449
|
- lib/datadog/di/component.rb
|
442
450
|
- lib/datadog/di/configuration.rb
|
443
451
|
- lib/datadog/di/configuration/settings.rb
|
452
|
+
- lib/datadog/di/context.rb
|
444
453
|
- lib/datadog/di/contrib.rb
|
445
454
|
- lib/datadog/di/contrib/active_record.rb
|
446
455
|
- lib/datadog/di/contrib/railtie.rb
|
456
|
+
- lib/datadog/di/el.rb
|
457
|
+
- lib/datadog/di/el/compiler.rb
|
458
|
+
- lib/datadog/di/el/evaluator.rb
|
459
|
+
- lib/datadog/di/el/expression.rb
|
447
460
|
- lib/datadog/di/error.rb
|
448
461
|
- lib/datadog/di/extensions.rb
|
449
462
|
- lib/datadog/di/instrumenter.rb
|
@@ -1007,8 +1020,8 @@ licenses:
|
|
1007
1020
|
- Apache-2.0
|
1008
1021
|
metadata:
|
1009
1022
|
allowed_push_host: https://rubygems.org
|
1010
|
-
changelog_uri: https://github.com/DataDog/dd-trace-rb/blob/v2.
|
1011
|
-
source_code_uri: https://github.com/DataDog/dd-trace-rb/tree/v2.
|
1023
|
+
changelog_uri: https://github.com/DataDog/dd-trace-rb/blob/v2.22.0/CHANGELOG.md
|
1024
|
+
source_code_uri: https://github.com/DataDog/dd-trace-rb/tree/v2.22.0
|
1012
1025
|
post_install_message:
|
1013
1026
|
rdoc_options: []
|
1014
1027
|
require_paths:
|
@@ -1,26 +0,0 @@
|
|
1
|
-
# Developing on macOS
|
2
|
-
|
3
|
-
As of this writing (August 2024), the libdatadog builds on rubygems.org only support Linux.
|
4
|
-
|
5
|
-
We don't officially support using libdatadog for Ruby on other platforms yet, but it is possible to use it for local development on macOS.
|
6
|
-
(**Note that you don't need these instructions if you develop inside docker.**)
|
7
|
-
|
8
|
-
Here's how you can do so:
|
9
|
-
|
10
|
-
1. [Install rust](https://www.rust-lang.org/tools/install)
|
11
|
-
2. Install `cbindgen`: `cargo install cbindgen`
|
12
|
-
3. Clone [libdatadog](https://github.com/datadog/libdatadog)
|
13
|
-
4. Create a folder for building into based on your ruby platform:
|
14
|
-
|
15
|
-
```
|
16
|
-
export DD_RUBY_PLATFORM=`ruby -e 'puts Gem::Platform.local.to_s'`
|
17
|
-
mkdir -p my-libdatadog-build/$DD_RUBY_PLATFORM
|
18
|
-
```
|
19
|
-
|
20
|
-
5. From inside of the libdatadog repo, build libdatadog into this folder: `./build-profiling-ffi.sh my-libdatadog-build/$DD_RUBY_PLATFORM`
|
21
|
-
6. Tell Ruby where to find libdatadog: `export LIBDATADOG_VENDOR_OVERRIDE=/full/path/to/my-libdatadog-build/` (Notice no platform here)
|
22
|
-
7. From dd-trace-rb, run `bundle exec rake clean compile`
|
23
|
-
|
24
|
-
If you additionally want to run the profiler test suite, also remember to `export DD_PROFILING_MACOS_TESTING=true` and re-run `rake clean compile`.
|
25
|
-
|
26
|
-
These instructions can quickly get outdated, so feel free to open an issue if they're not working (and/or ping @ivoanjo).
|