ddtrace 1.18.0 → 1.23.2
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 +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
|
|