ddtrace 1.18.0 → 1.23.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +228 -2
- data/LICENSE-3rdparty.csv +1 -1
- data/bin/ddprofrb +15 -0
- data/bin/ddtracerb +3 -1
- data/ext/{ddtrace_profiling_loader/ddtrace_profiling_loader.c → datadog_profiling_loader/datadog_profiling_loader.c} +2 -2
- data/ext/{ddtrace_profiling_loader → datadog_profiling_loader}/extconf.rb +3 -3
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_cpu_and_wall_time_worker.c +312 -117
- data/ext/datadog_profiling_native_extension/collectors_discrete_dynamic_sampler.c +422 -0
- data/ext/datadog_profiling_native_extension/collectors_discrete_dynamic_sampler.h +101 -0
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_dynamic_sampling_rate.c +22 -14
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_dynamic_sampling_rate.h +4 -0
- data/ext/datadog_profiling_native_extension/collectors_gc_profiling_helper.c +156 -0
- data/ext/datadog_profiling_native_extension/collectors_gc_profiling_helper.h +5 -0
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_stack.c +43 -102
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_stack.h +10 -3
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_thread_context.c +272 -136
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_thread_context.h +2 -1
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/extconf.rb +28 -7
- data/ext/datadog_profiling_native_extension/heap_recorder.c +1047 -0
- data/ext/datadog_profiling_native_extension/heap_recorder.h +166 -0
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/helpers.h +6 -0
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/http_transport.c +15 -19
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/libdatadog_helpers.c +20 -0
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/libdatadog_helpers.h +11 -0
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/native_extension_helpers.rb +50 -4
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/private_vm_api_access.c +19 -0
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/private_vm_api_access.h +4 -0
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/profiling.c +18 -1
- data/ext/datadog_profiling_native_extension/ruby_helpers.c +267 -0
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/ruby_helpers.h +33 -0
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/stack_recorder.c +476 -58
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/stack_recorder.h +3 -0
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/time_helpers.h +2 -0
- data/lib/datadog/appsec/contrib/devise/tracking.rb +8 -0
- data/lib/datadog/appsec/contrib/rack/request_middleware.rb +45 -14
- data/lib/datadog/appsec/event.rb +1 -1
- data/lib/datadog/auto_instrument.rb +3 -0
- data/lib/datadog/core/configuration/components.rb +7 -6
- data/lib/datadog/core/configuration/option.rb +8 -6
- data/lib/datadog/core/configuration/settings.rb +259 -60
- data/lib/datadog/core/configuration.rb +20 -4
- data/lib/datadog/core/diagnostics/environment_logger.rb +4 -3
- data/lib/datadog/core/environment/class_count.rb +6 -6
- data/lib/datadog/core/environment/git.rb +25 -0
- data/lib/datadog/core/environment/identity.rb +18 -48
- data/lib/datadog/core/environment/platform.rb +7 -1
- data/lib/datadog/core/git/ext.rb +2 -23
- data/lib/datadog/core/remote/client/capabilities.rb +1 -1
- data/lib/datadog/core/remote/component.rb +25 -12
- data/lib/datadog/core/remote/ext.rb +1 -0
- data/lib/datadog/core/remote/negotiation.rb +2 -2
- data/lib/datadog/core/remote/tie/tracing.rb +39 -0
- data/lib/datadog/core/remote/tie.rb +27 -0
- data/lib/datadog/core/remote/transport/http/config.rb +1 -1
- data/lib/datadog/core/remote/worker.rb +7 -4
- data/lib/datadog/core/telemetry/client.rb +18 -10
- data/lib/datadog/core/telemetry/emitter.rb +9 -13
- data/lib/datadog/core/telemetry/event.rb +247 -56
- data/lib/datadog/core/telemetry/ext.rb +4 -0
- data/lib/datadog/core/telemetry/heartbeat.rb +1 -3
- data/lib/datadog/core/telemetry/http/ext.rb +4 -1
- data/lib/datadog/core/telemetry/http/response.rb +4 -0
- data/lib/datadog/core/telemetry/http/transport.rb +9 -4
- data/lib/datadog/core/telemetry/request.rb +59 -0
- data/lib/datadog/core/transport/ext.rb +2 -0
- data/lib/datadog/core/utils/url.rb +25 -0
- data/lib/datadog/opentelemetry/sdk/propagator.rb +3 -2
- data/lib/datadog/opentelemetry.rb +3 -0
- data/lib/datadog/profiling/collectors/code_provenance.rb +10 -4
- data/lib/datadog/profiling/collectors/cpu_and_wall_time_worker.rb +36 -12
- data/lib/datadog/profiling/collectors/info.rb +101 -0
- data/lib/datadog/profiling/component.rb +210 -34
- data/lib/datadog/profiling/exporter.rb +23 -6
- data/lib/datadog/profiling/ext.rb +2 -0
- data/lib/datadog/profiling/flush.rb +6 -3
- data/lib/datadog/profiling/http_transport.rb +5 -1
- data/lib/datadog/profiling/load_native_extension.rb +19 -6
- data/lib/datadog/profiling/native_extension.rb +1 -1
- data/lib/datadog/profiling/scheduler.rb +4 -6
- data/lib/datadog/profiling/stack_recorder.rb +19 -4
- data/lib/datadog/profiling/tag_builder.rb +5 -0
- data/lib/datadog/profiling/tasks/exec.rb +3 -3
- data/lib/datadog/profiling/tasks/help.rb +3 -3
- data/lib/datadog/profiling.rb +13 -2
- data/lib/datadog/tracing/configuration/ext.rb +0 -1
- data/lib/datadog/tracing/configuration/settings.rb +2 -1
- data/lib/datadog/tracing/contrib/action_cable/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/action_cable/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/action_mailer/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/action_mailer/events/deliver.rb +1 -1
- data/lib/datadog/tracing/contrib/action_mailer/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/action_pack/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/action_pack/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/action_view/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/action_view/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/active_job/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/active_job/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/active_model_serializers/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/active_model_serializers/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/active_record/configuration/resolver.rb +11 -4
- data/lib/datadog/tracing/contrib/active_record/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/active_record/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/active_support/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/active_support/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/analytics.rb +0 -1
- data/lib/datadog/tracing/contrib/aws/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/aws/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/concurrent_ruby/async_patch.rb +20 -0
- data/lib/datadog/tracing/contrib/concurrent_ruby/patcher.rb +11 -1
- data/lib/datadog/tracing/contrib/configurable.rb +1 -1
- data/lib/datadog/tracing/contrib/dalli/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/dalli/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/delayed_job/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/delayed_job/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/elasticsearch/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/elasticsearch/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/ethon/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/ethon/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/excon/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/excon/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/extensions.rb +6 -2
- data/lib/datadog/tracing/contrib/faraday/configuration/settings.rb +7 -0
- data/lib/datadog/tracing/contrib/faraday/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/faraday/middleware.rb +1 -1
- data/lib/datadog/tracing/contrib/grape/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/grape/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/graphql/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/graphql/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/grpc/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/grpc/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/http/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/http/distributed/fetcher.rb +2 -2
- data/lib/datadog/tracing/contrib/http/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/httpclient/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/httpclient/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/httprb/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/httprb/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/kafka/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/kafka/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/mongodb/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/mongodb/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/mysql2/configuration/settings.rb +5 -0
- data/lib/datadog/tracing/contrib/mysql2/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/mysql2/instrumentation.rb +2 -1
- data/lib/datadog/tracing/contrib/opensearch/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/opensearch/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/pg/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/pg/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/pg/instrumentation.rb +11 -4
- data/lib/datadog/tracing/contrib/presto/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/presto/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/qless/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/qless/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/que/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/que/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/racecar/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/racecar/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/rack/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/rack/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/rack/middlewares.rb +9 -2
- data/lib/datadog/tracing/contrib/rails/auto_instrument_railtie.rb +0 -2
- data/lib/datadog/tracing/contrib/rails/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/rails/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/rake/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/rake/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/redis/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/redis/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/redis/instrumentation.rb +2 -2
- data/lib/datadog/tracing/contrib/redis/patcher.rb +34 -21
- data/lib/datadog/tracing/contrib/resque/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/resque/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/rest_client/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/rest_client/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/roda/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/roda/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/sequel/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/sequel/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/shoryuken/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/shoryuken/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/sidekiq/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/sidekiq/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/sinatra/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/sinatra/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/sneakers/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/sneakers/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/stripe/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/stripe/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/sucker_punch/configuration/settings.rb +1 -0
- data/lib/datadog/tracing/contrib/sucker_punch/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/trilogy/configuration/settings.rb +58 -0
- data/lib/datadog/tracing/contrib/trilogy/ext.rb +27 -0
- data/lib/datadog/tracing/contrib/trilogy/instrumentation.rb +94 -0
- data/lib/datadog/tracing/contrib/trilogy/integration.rb +43 -0
- data/lib/datadog/tracing/contrib/trilogy/patcher.rb +31 -0
- data/lib/datadog/tracing/contrib.rb +1 -0
- data/lib/datadog/tracing/sampling/matcher.rb +23 -3
- data/lib/datadog/tracing/sampling/rule.rb +7 -2
- data/lib/datadog/tracing/sampling/rule_sampler.rb +2 -0
- data/lib/datadog/tracing/trace_operation.rb +1 -2
- data/lib/datadog/tracing/transport/http.rb +1 -0
- data/lib/datadog/tracing/transport/trace_formatter.rb +31 -0
- data/lib/datadog/tracing.rb +8 -2
- data/lib/ddtrace/version.rb +2 -2
- metadata +71 -61
- data/ext/ddtrace_profiling_native_extension/pid_controller.c +0 -57
- data/ext/ddtrace_profiling_native_extension/pid_controller.h +0 -45
- data/ext/ddtrace_profiling_native_extension/ruby_helpers.c +0 -110
- data/lib/datadog/core/telemetry/collector.rb +0 -240
- data/lib/datadog/core/telemetry/v1/app_event.rb +0 -52
- data/lib/datadog/core/telemetry/v1/application.rb +0 -92
- data/lib/datadog/core/telemetry/v1/configuration.rb +0 -25
- data/lib/datadog/core/telemetry/v1/dependency.rb +0 -43
- data/lib/datadog/core/telemetry/v1/host.rb +0 -59
- data/lib/datadog/core/telemetry/v1/integration.rb +0 -64
- data/lib/datadog/core/telemetry/v1/product.rb +0 -36
- data/lib/datadog/core/telemetry/v1/telemetry_request.rb +0 -106
- data/lib/datadog/core/telemetry/v2/app_client_configuration_change.rb +0 -41
- data/lib/datadog/core/telemetry/v2/request.rb +0 -29
- data/lib/datadog/profiling/diagnostics/environment_logger.rb +0 -39
- /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/NativeExtensionDesign.md +0 -0
- /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/clock_id.h +0 -0
- /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/clock_id_from_pthread.c +0 -0
- /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/clock_id_noop.c +0 -0
- /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_idle_sampling_helper.c +0 -0
- /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_idle_sampling_helper.h +0 -0
- /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/setup_signal_handler.c +0 -0
- /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/setup_signal_handler.h +0 -0
- /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/time_helpers.c +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 836f8f52564c86b8ee1a4681309d3d168b1689f3742dfed4d1a8171e23852ffa
|
4
|
+
data.tar.gz: f0ad632313b36e6550e33f952da8e7ea89349fd8abc2122f41d649292a700028
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1021b4efd906f5cf362e27be17249ce82fad3100b62b9a39ba2fd65d508c07ac520cb94971d6986a5171d1575a7fc8e219ed2dc4785166d0bd0ec774cd447d19
|
7
|
+
data.tar.gz: 6ef6b7f391bb98e8e7f039cd72d6df56ee821df539803d3398ef7aaebe2c414eef87f4c2f0cf361ef3a066faf0490bb4b75831563a17729d11115c84243ab349
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,152 @@
|
|
2
2
|
|
3
3
|
## [Unreleased]
|
4
4
|
|
5
|
+
## [1.23.2] - 2024-06-13
|
6
|
+
|
7
|
+
### Fixed
|
8
|
+
|
9
|
+
* Profiling: Fix rpath for linking to libdatadog when loading from extension dir ([#3683][])
|
10
|
+
|
11
|
+
## [1.23.1] - 2024-06-06
|
12
|
+
|
13
|
+
### Fixed
|
14
|
+
|
15
|
+
* AppSec: Fix undefined method error when Tracing disabled ([#3650][])
|
16
|
+
|
17
|
+
## [1.23.0] - 2024-05-09
|
18
|
+
|
19
|
+
### Added
|
20
|
+
|
21
|
+
* Profiling: Enable endpoint profiling for Sidekiq and similar background job processors ([#3619][])
|
22
|
+
|
23
|
+
### Fixed
|
24
|
+
|
25
|
+
* Fix no such file or directory issue when using single step instrumentation ([#3623][])
|
26
|
+
* Fix error during telemetry debug logging attempt ([#3618][])
|
27
|
+
|
28
|
+
## [1.22.0] - 2024-04-16
|
29
|
+
|
30
|
+
### Added
|
31
|
+
|
32
|
+
* Tracing: Add sampling rules by trace resouce and tags ([#3587][], [#3585][])
|
33
|
+
* Appsec: Add WAF vendor header support ([#3528][])
|
34
|
+
|
35
|
+
### Changed
|
36
|
+
|
37
|
+
* Upgrade `Telemetry` to V2 ([#3551][])
|
38
|
+
* Upgrade to libdatadog 7 ([#3536][])
|
39
|
+
* Profiling: Enable Garbage Collection profiling by default ([#3558][])
|
40
|
+
* Profiling: Skip heap samples with age 0 ([#3573][])
|
41
|
+
* Profiling: Support falling back into extension directory when loading profiler ([#3582][])
|
42
|
+
|
43
|
+
### Fixed
|
44
|
+
|
45
|
+
* Appsec: Fix MIME-style newlines with strict base64 encoding ([#3565][])
|
46
|
+
|
47
|
+
## [2.0.0.beta1] - 2024-03-22
|
48
|
+
|
49
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v2.0.0.beta1
|
50
|
+
|
51
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v1.21.1...v2.0.0.beta1
|
52
|
+
|
53
|
+
See https://github.com/DataDog/dd-trace-rb/blob/v2.0.0.beta1/docs/UpgradeGuide2.md.
|
54
|
+
|
55
|
+
## [1.21.1] - 2024-03-20
|
56
|
+
|
57
|
+
### Added
|
58
|
+
|
59
|
+
* Backports auto instrument shim with `datadog/auto_instrument` ([#3535][])
|
60
|
+
|
61
|
+
### Fixed
|
62
|
+
|
63
|
+
* Fix ActiveRecord resolving invalid string ([#3523][])
|
64
|
+
* Revert `http.route` tagging to fix instrumentation failure for Rails 7.1 apps ([#3539][])
|
65
|
+
* Fix wrong permissions on released gem files ([#3531][])
|
66
|
+
|
67
|
+
## [1.21.0] - 2024-03-14
|
68
|
+
|
69
|
+
### Highlights
|
70
|
+
Allocation profiling is now in beta, and timeline profiling is enabled by default.
|
71
|
+
For more details, check the [release notes](https://github.com/DataDog/dd-trace-rb/releases/tag/v1.21.0)
|
72
|
+
|
73
|
+
### Added
|
74
|
+
|
75
|
+
* APM source code integration ([#3463][])
|
76
|
+
* Core: Reduce startup logs verbosity ([#3468][])
|
77
|
+
* Tracing: Add Concurrent::Async instrumentation ([#3427][])
|
78
|
+
* Profiling: System info support ([#3357][])
|
79
|
+
* Profiling: Add bin/ddprofrb ([#3501][])
|
80
|
+
|
81
|
+
### Changed
|
82
|
+
|
83
|
+
* Bump datadog-ci dependency to 0.8.1 ([#3518][])
|
84
|
+
* Upgrade to libdatadog 6 ([#3455][])
|
85
|
+
* Core: Allow suppressing error logs for Core::Remote::Negotiation ([#3495][])
|
86
|
+
* Tracing: Add `http.route` tag to rack ([#3345][])
|
87
|
+
* Tracing: Logs deprecation warning for `use` removal ([#3438][])
|
88
|
+
* Profiling: Allocation sampling overhead improvements ([#3434][], [#3440][])
|
89
|
+
* Profiling: Enable timeline by default ([#3428][])
|
90
|
+
* Profiling: Rename Profiling files to reflect "datadog" instead of "ddtrace" ([#3502][])
|
91
|
+
* Profiling: Replace `profiling.advanced.experimental_allocation_enabled` with `profiling.allocation_enabled` and remove experimental warning ([#3520][])
|
92
|
+
|
93
|
+
### Fixed
|
94
|
+
|
95
|
+
* Core: Fix rare remote configuration worker thread leak ([#3519][])
|
96
|
+
* Tracing: Fix `Datadog::Tracing.reject!` with correct metrics ([#3491][])
|
97
|
+
* Tracing: Guard PG result with `nil` check ([#3511][])
|
98
|
+
* Profiling: Add workaround for Ruby VM bug causing crash in gc_finalize_deferred ([#3473][])
|
99
|
+
* Profiling: Fix missing profiling code hotspots when using ddtrace+otel ([#3466][])
|
100
|
+
* Profiling: Stop worker on clock failure ([#3439][])
|
101
|
+
* Profiling: Upgrade libdatadog to fix incorrect platform detection for x86_64-linux-gnu/aarch64-linux-gnu ([#3503][])
|
102
|
+
|
103
|
+
## [1.20.0] - 2024-02-05
|
104
|
+
|
105
|
+
### Added
|
106
|
+
|
107
|
+
* Tracing: Add `Trilogy` instrumentation ([#3274][])
|
108
|
+
* Rack: Add remote configuration boot tags ([#3315][])
|
109
|
+
* Faraday: Add `on_error` option ([#3431][])
|
110
|
+
* Profiling: Add dynamic allocation sampling ([#3395][])
|
111
|
+
|
112
|
+
### Changed
|
113
|
+
|
114
|
+
* Bump `datadog-ci` dependency to 0.7.0 ([#3408][])
|
115
|
+
* Improve performance of gathering ClassCount metric ([#3386][])
|
116
|
+
|
117
|
+
### Fixed
|
118
|
+
|
119
|
+
* OpenTelemetry: Fix internal loading ([#3400][])
|
120
|
+
* Core: Fix logger deadlock ([#3426][])
|
121
|
+
* Rack: Fix missing active trace ([#3420][])
|
122
|
+
* Redis: Fix instance configuration ([#3278][])
|
123
|
+
|
124
|
+
## [1.19.0] - 2024-01-10
|
125
|
+
|
126
|
+
### Highlights
|
127
|
+
Alpha support for memory profiling has been added. For more details, check the [release notes](https://github.com/DataDog/dd-trace-rb/releases/tag/v1.19.0)
|
128
|
+
|
129
|
+
### Added
|
130
|
+
* Tracing: Add `on_error` settings for `mysql2` ([#3316][])
|
131
|
+
* Core: Add install_signature to app-started telemetry event ([#3349][])
|
132
|
+
* Profiling: Heap Profiling ([#3281][]) ([#3287][]) ([#3328][]) ([#3329][]) ([#3333][]) ([#3360][])
|
133
|
+
* Profiling: Redesign GC profiling to add timeline support and reduce overhead ([#3313][])
|
134
|
+
* Core: Use Ruby 3.3 stable for CI testing ([#3354][])
|
135
|
+
|
136
|
+
### Changed
|
137
|
+
* Core: Bump `datadog-ci` dependency to 0.6.0 ([#3361][])
|
138
|
+
* Core: Bump debase-ruby_core_source dependency to 3.3.1 ([#3373][])
|
139
|
+
* Docs: Backport "List Ruby 3.3 as supported in the docs" to master branch ([#3374][])
|
140
|
+
* Profiling: Import upstream `rb_profile_frames` fix ([#3352][])
|
141
|
+
* Profiling: Allow the dynamic sampling rate overhead target to be set ([#3310][])
|
142
|
+
* Profiling: Split profiling tests into ractor and non-ractor suites. ([#3320][])
|
143
|
+
|
144
|
+
### Fixed
|
145
|
+
* Docs: Fix `pg` doc markdown format ([#3317][])
|
146
|
+
* Tracing: Fix recursive `require` in Railtie ([#3365][])
|
147
|
+
* Profiling: Fix issues stemming from rb_gc_force_recycle ([#3366][])
|
148
|
+
* Profiling: Fix Ruby 3.3 CI being broken in master due to profiler ([#3356][])
|
149
|
+
* Profiling: Fix "no signals" workaround detection when mariadb is in use ([#3362][])
|
150
|
+
|
5
151
|
## [1.18.0] - 2023-12-07
|
6
152
|
|
7
153
|
### Added
|
@@ -2680,7 +2826,16 @@ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.3.1
|
|
2680
2826
|
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
2681
2827
|
|
2682
2828
|
|
2683
|
-
[Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v1.
|
2829
|
+
[Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v1.23.2...master
|
2830
|
+
[1.23.2]: https://github.com/DataDog/dd-trace-rb/compare/v1.23.1...v1.23.2
|
2831
|
+
[1.23.1]: https://github.com/DataDog/dd-trace-rb/compare/v1.23.0...v1.23.1
|
2832
|
+
[1.23.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.22.0...v1.23.0
|
2833
|
+
[1.22.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.21.1...v1.22.0
|
2834
|
+
[2.0.0.beta1]: https://github.com/DataDog/dd-trace-rb/compare/v1.21.1...v2.0.0.beta1
|
2835
|
+
[1.21.1]: https://github.com/DataDog/dd-trace-rb/compare/v1.21.0...v1.21.1
|
2836
|
+
[1.21.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.20.0...v1.21.0
|
2837
|
+
[1.20.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.19.0...v1.20.0
|
2838
|
+
[1.19.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.18.0...v1.19.0
|
2684
2839
|
[1.18.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.17.0...v1.18.0
|
2685
2840
|
[1.17.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.16.2...v1.17.0
|
2686
2841
|
[1.16.2]: https://github.com/DataDog/dd-trace-rb/compare/v1.16.1...v1.16.2
|
@@ -3908,14 +4063,85 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
3908
4063
|
[#3270]: https://github.com/DataDog/dd-trace-rb/issues/3270
|
3909
4064
|
[#3271]: https://github.com/DataDog/dd-trace-rb/issues/3271
|
3910
4065
|
[#3273]: https://github.com/DataDog/dd-trace-rb/issues/3273
|
4066
|
+
[#3274]: https://github.com/DataDog/dd-trace-rb/issues/3274
|
4067
|
+
[#3278]: https://github.com/DataDog/dd-trace-rb/issues/3278
|
3911
4068
|
[#3279]: https://github.com/DataDog/dd-trace-rb/issues/3279
|
3912
4069
|
[#3280]: https://github.com/DataDog/dd-trace-rb/issues/3280
|
4070
|
+
[#3281]: https://github.com/DataDog/dd-trace-rb/issues/3281
|
3913
4071
|
[#3284]: https://github.com/DataDog/dd-trace-rb/issues/3284
|
3914
4072
|
[#3286]: https://github.com/DataDog/dd-trace-rb/issues/3286
|
4073
|
+
[#3287]: https://github.com/DataDog/dd-trace-rb/issues/3287
|
3915
4074
|
[#3289]: https://github.com/DataDog/dd-trace-rb/issues/3289
|
3916
4075
|
[#3303]: https://github.com/DataDog/dd-trace-rb/issues/3303
|
3917
4076
|
[#3307]: https://github.com/DataDog/dd-trace-rb/issues/3307
|
3918
4077
|
[#3308]: https://github.com/DataDog/dd-trace-rb/issues/3308
|
4078
|
+
[#3310]: https://github.com/DataDog/dd-trace-rb/issues/3310
|
4079
|
+
[#3313]: https://github.com/DataDog/dd-trace-rb/issues/3313
|
4080
|
+
[#3315]: https://github.com/DataDog/dd-trace-rb/issues/3315
|
4081
|
+
[#3316]: https://github.com/DataDog/dd-trace-rb/issues/3316
|
4082
|
+
[#3317]: https://github.com/DataDog/dd-trace-rb/issues/3317
|
4083
|
+
[#3320]: https://github.com/DataDog/dd-trace-rb/issues/3320
|
4084
|
+
[#3328]: https://github.com/DataDog/dd-trace-rb/issues/3328
|
4085
|
+
[#3329]: https://github.com/DataDog/dd-trace-rb/issues/3329
|
4086
|
+
[#3333]: https://github.com/DataDog/dd-trace-rb/issues/3333
|
4087
|
+
[#3345]: https://github.com/DataDog/dd-trace-rb/issues/3345
|
4088
|
+
[#3349]: https://github.com/DataDog/dd-trace-rb/issues/3349
|
4089
|
+
[#3352]: https://github.com/DataDog/dd-trace-rb/issues/3352
|
4090
|
+
[#3354]: https://github.com/DataDog/dd-trace-rb/issues/3354
|
4091
|
+
[#3356]: https://github.com/DataDog/dd-trace-rb/issues/3356
|
4092
|
+
[#3357]: https://github.com/DataDog/dd-trace-rb/issues/3357
|
4093
|
+
[#3360]: https://github.com/DataDog/dd-trace-rb/issues/3360
|
4094
|
+
[#3361]: https://github.com/DataDog/dd-trace-rb/issues/3361
|
4095
|
+
[#3362]: https://github.com/DataDog/dd-trace-rb/issues/3362
|
4096
|
+
[#3365]: https://github.com/DataDog/dd-trace-rb/issues/3365
|
4097
|
+
[#3366]: https://github.com/DataDog/dd-trace-rb/issues/3366
|
4098
|
+
[#3373]: https://github.com/DataDog/dd-trace-rb/issues/3373
|
4099
|
+
[#3374]: https://github.com/DataDog/dd-trace-rb/issues/3374
|
4100
|
+
[#3386]: https://github.com/DataDog/dd-trace-rb/issues/3386
|
4101
|
+
[#3395]: https://github.com/DataDog/dd-trace-rb/issues/3395
|
4102
|
+
[#3400]: https://github.com/DataDog/dd-trace-rb/issues/3400
|
4103
|
+
[#3408]: https://github.com/DataDog/dd-trace-rb/issues/3408
|
4104
|
+
[#3420]: https://github.com/DataDog/dd-trace-rb/issues/3420
|
4105
|
+
[#3426]: https://github.com/DataDog/dd-trace-rb/issues/3426
|
4106
|
+
[#3427]: https://github.com/DataDog/dd-trace-rb/issues/3427
|
4107
|
+
[#3428]: https://github.com/DataDog/dd-trace-rb/issues/3428
|
4108
|
+
[#3431]: https://github.com/DataDog/dd-trace-rb/issues/3431
|
4109
|
+
[#3434]: https://github.com/DataDog/dd-trace-rb/issues/3434
|
4110
|
+
[#3438]: https://github.com/DataDog/dd-trace-rb/issues/3438
|
4111
|
+
[#3439]: https://github.com/DataDog/dd-trace-rb/issues/3439
|
4112
|
+
[#3440]: https://github.com/DataDog/dd-trace-rb/issues/3440
|
4113
|
+
[#3455]: https://github.com/DataDog/dd-trace-rb/issues/3455
|
4114
|
+
[#3463]: https://github.com/DataDog/dd-trace-rb/issues/3463
|
4115
|
+
[#3466]: https://github.com/DataDog/dd-trace-rb/issues/3466
|
4116
|
+
[#3468]: https://github.com/DataDog/dd-trace-rb/issues/3468
|
4117
|
+
[#3473]: https://github.com/DataDog/dd-trace-rb/issues/3473
|
4118
|
+
[#3491]: https://github.com/DataDog/dd-trace-rb/issues/3491
|
4119
|
+
[#3495]: https://github.com/DataDog/dd-trace-rb/issues/3495
|
4120
|
+
[#3501]: https://github.com/DataDog/dd-trace-rb/issues/3501
|
4121
|
+
[#3502]: https://github.com/DataDog/dd-trace-rb/issues/3502
|
4122
|
+
[#3503]: https://github.com/DataDog/dd-trace-rb/issues/3503
|
4123
|
+
[#3511]: https://github.com/DataDog/dd-trace-rb/issues/3511
|
4124
|
+
[#3518]: https://github.com/DataDog/dd-trace-rb/issues/3518
|
4125
|
+
[#3519]: https://github.com/DataDog/dd-trace-rb/issues/3519
|
4126
|
+
[#3520]: https://github.com/DataDog/dd-trace-rb/issues/3520
|
4127
|
+
[#3523]: https://github.com/DataDog/dd-trace-rb/issues/3523
|
4128
|
+
[#3528]: https://github.com/DataDog/dd-trace-rb/issues/3528
|
4129
|
+
[#3531]: https://github.com/DataDog/dd-trace-rb/issues/3531
|
4130
|
+
[#3535]: https://github.com/DataDog/dd-trace-rb/issues/3535
|
4131
|
+
[#3536]: https://github.com/DataDog/dd-trace-rb/issues/3536
|
4132
|
+
[#3539]: https://github.com/DataDog/dd-trace-rb/issues/3539
|
4133
|
+
[#3551]: https://github.com/DataDog/dd-trace-rb/issues/3551
|
4134
|
+
[#3558]: https://github.com/DataDog/dd-trace-rb/issues/3558
|
4135
|
+
[#3565]: https://github.com/DataDog/dd-trace-rb/issues/3565
|
4136
|
+
[#3573]: https://github.com/DataDog/dd-trace-rb/issues/3573
|
4137
|
+
[#3582]: https://github.com/DataDog/dd-trace-rb/issues/3582
|
4138
|
+
[#3585]: https://github.com/DataDog/dd-trace-rb/issues/3585
|
4139
|
+
[#3587]: https://github.com/DataDog/dd-trace-rb/issues/3587
|
4140
|
+
[#3618]: https://github.com/DataDog/dd-trace-rb/issues/3618
|
4141
|
+
[#3619]: https://github.com/DataDog/dd-trace-rb/issues/3619
|
4142
|
+
[#3623]: https://github.com/DataDog/dd-trace-rb/issues/3623
|
4143
|
+
[#3650]: https://github.com/DataDog/dd-trace-rb/issues/3650
|
4144
|
+
[#3683]: https://github.com/DataDog/dd-trace-rb/issues/3683
|
3919
4145
|
[@AdrianLC]: https://github.com/AdrianLC
|
3920
4146
|
[@Azure7111]: https://github.com/Azure7111
|
3921
4147
|
[@BabyGroot]: https://github.com/BabyGroot
|
@@ -4067,4 +4293,4 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
4067
4293
|
[@y-yagi]: https://github.com/y-yagi
|
4068
4294
|
[@yujideveloper]: https://github.com/yujideveloper
|
4069
4295
|
[@yukimurasawa]: https://github.com/yukimurasawa
|
4070
|
-
[@zachmccormick]: https://github.com/zachmccormick
|
4296
|
+
[@zachmccormick]: https://github.com/zachmccormick
|
data/LICENSE-3rdparty.csv
CHANGED
@@ -2,7 +2,7 @@ Component,Origin,License,Copyright
|
|
2
2
|
lib/datadog/core/vendor/multipart-post,https://github.com/socketry/multipart-post,MIT,"Copyright (c) 2007-2013 Nick Sieger."
|
3
3
|
lib/datadog/tracing/contrib/active_record/vendor,https://github.com/rails/rails/,MIT,"Copyright (c) 2005-2018 David Heinemeier Hansson"
|
4
4
|
lib/datadog/tracing/contrib/utils/quantization/http.rb,https://github.com/ruby/uri,BSD-2-Clause,"Copyright (C) 1993-2013 Yukihiro Matsumoto. All rights reserved."
|
5
|
-
ext/
|
5
|
+
ext/datadog_profiling_native_extension/private_vm_api_access,https://github.com/ruby/ruby,BSD-2-Clause,"Copyright (C) 1993-2013 Yukihiro Matsumoto. All rights reserved."
|
6
6
|
msgpack,https://rubygems.org/gems/msgpack,Apache-2.0,"Copyright (c) 2008-2015 Sadayuki Furuhashi"
|
7
7
|
debase-ruby_core_source,https://rubygems.org/gems/debase-ruby_core_source,MIT for gem and BSD-2-Clause for Ruby sources,"Copyright (c) 2012 Gabriel Horner. Files from Ruby sources are Copyright (C) 1993-2013 Yukihiro Matsumoto. All rights reserved."
|
8
8
|
lib/datadog/core/vendor/ipaddr,https://github.com/ruby/ipaddr/blob/master/lib/ipaddr.rb,BSD 2-Clause "Simplified" License,"Copyright (c) 2002 Hajimu UMEMOTO <ume@mahoroba.org> Copyright (c) 2007-2017 Akinori MUSHA <knu@iDaemons.org>"
|
data/bin/ddprofrb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require 'datadog/profiling/tasks/exec'
|
3
|
+
require 'datadog/profiling/tasks/help'
|
4
|
+
|
5
|
+
command = ARGV.shift
|
6
|
+
|
7
|
+
case command
|
8
|
+
when 'exec'
|
9
|
+
Datadog::Profiling::Tasks::Exec.new(ARGV).run
|
10
|
+
when 'help', '--help'
|
11
|
+
Datadog::Profiling::Tasks::Help.new.run
|
12
|
+
else
|
13
|
+
puts "Command '#{command}' is not valid for ddprofrb."
|
14
|
+
Datadog::Profiling::Tasks::Help.new.run
|
15
|
+
end
|
data/bin/ddtracerb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
Kernel.warn 'WARNING: Use of `ddtracerb` is deprecated, and will be removed in 2.0. Use `ddprofrb` instead.'
|
3
|
+
|
2
4
|
require 'datadog/profiling/tasks/exec'
|
3
5
|
require 'datadog/profiling/tasks/help'
|
4
6
|
|
@@ -10,6 +12,6 @@ when 'exec'
|
|
10
12
|
when 'help', '--help'
|
11
13
|
Datadog::Profiling::Tasks::Help.new.run
|
12
14
|
else
|
13
|
-
puts "Command '#{command}' is not valid for
|
15
|
+
puts "Command '#{command}' is not valid for ddtracerb."
|
14
16
|
Datadog::Profiling::Tasks::Help.new.run
|
15
17
|
end
|
@@ -14,7 +14,7 @@
|
|
14
14
|
// up other's symbols (`RTLD_DEEPBIND`).
|
15
15
|
//
|
16
16
|
// But Ruby's extension loading mechanism is not configurable -- there's no way to tell it to use different flags when
|
17
|
-
// calling `dlopen`. To get around this, this file (
|
17
|
+
// calling `dlopen`. To get around this, this file (datadog_profiling_loader.c) introduces another extension
|
18
18
|
// (profiling loader) which has only a single responsibility: mimic Ruby's extension loading mechanism, but when calling
|
19
19
|
// `dlopen` use a different set of flags.
|
20
20
|
// This idea was shamelessly stolen from @lloeki's work in https://github.com/rubyjs/mini_racer/pull/179, big thanks!
|
@@ -48,7 +48,7 @@ static void unload_failed_library(void *handle);
|
|
48
48
|
|
49
49
|
#define DDTRACE_EXPORT __attribute__ ((visibility ("default")))
|
50
50
|
|
51
|
-
void DDTRACE_EXPORT
|
51
|
+
void DDTRACE_EXPORT Init_datadog_profiling_loader(void) {
|
52
52
|
VALUE datadog_module = rb_define_module("Datadog");
|
53
53
|
VALUE profiling_module = rb_define_module_under(datadog_module, "Profiling");
|
54
54
|
VALUE loader_module = rb_define_module_under(profiling_module, "Loader");
|
@@ -3,7 +3,7 @@
|
|
3
3
|
|
4
4
|
if RUBY_ENGINE != 'ruby' || Gem.win_platform?
|
5
5
|
$stderr.puts(
|
6
|
-
'WARN: Skipping build of
|
6
|
+
'WARN: Skipping build of Datadog profiling loader. See Datadog profiling native extension note for details.'
|
7
7
|
)
|
8
8
|
|
9
9
|
File.write('Makefile', 'all install clean: # dummy makefile that does nothing')
|
@@ -46,7 +46,7 @@ add_compiler_flag '-Werror-implicit-function-declaration'
|
|
46
46
|
add_compiler_flag '-Wunused-parameter'
|
47
47
|
|
48
48
|
# The native extension is not intended to expose any symbols/functions for other native libraries to use;
|
49
|
-
# the sole exception being `
|
49
|
+
# the sole exception being `Init_datadog_profiling_loader` which needs to be visible for Ruby to call it when
|
50
50
|
# it `dlopen`s the library.
|
51
51
|
#
|
52
52
|
# By setting this compiler flag, we tell it to assume that everything is private unless explicitly stated.
|
@@ -64,7 +64,7 @@ add_compiler_flag '-Wextra'
|
|
64
64
|
# This makes it easier for development (avoids "oops I forgot to rebuild when I switched my Ruby") and ensures that
|
65
65
|
# the wrong library is never loaded.
|
66
66
|
# When requiring, we need to use the exact same string, including the version and the platform.
|
67
|
-
EXTENSION_NAME = "
|
67
|
+
EXTENSION_NAME = "datadog_profiling_loader.#{RUBY_VERSION}_#{RUBY_PLATFORM}".freeze
|
68
68
|
|
69
69
|
create_makefile(EXTENSION_NAME)
|
70
70
|
|