ddtrace 1.19.0 → 1.21.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 +93 -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 +237 -65
- 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_thread_context.c +92 -2
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/extconf.rb +5 -2
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/helpers.h +4 -0
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/http_transport.c +10 -14
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/native_extension_helpers.rb +4 -4
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/private_vm_api_access.c +14 -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 +17 -1
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/ruby_helpers.c +10 -0
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/ruby_helpers.h +2 -0
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/time_helpers.h +2 -0
- data/lib/datadog/appsec/contrib/rack/request_middleware.rb +2 -1
- data/lib/datadog/core/configuration/components.rb +5 -5
- data/lib/datadog/core/configuration/option.rb +1 -1
- data/lib/datadog/core/configuration/settings.rb +107 -46
- 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/git/ext.rb +2 -23
- 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/worker.rb +7 -4
- 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/cpu_and_wall_time_worker.rb +6 -2
- data/lib/datadog/profiling/collectors/info.rb +101 -0
- data/lib/datadog/profiling/component.rb +14 -30
- data/lib/datadog/profiling/exporter.rb +19 -5
- 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 +5 -5
- data/lib/datadog/profiling/native_extension.rb +1 -1
- 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 +2 -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/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/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/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/endpoint.rb +5 -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 +1 -0
- data/lib/datadog/tracing/contrib/mysql2/ext.rb +1 -0
- 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 +37 -6
- 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/rails/patcher.rb +16 -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/sinatra/tracer.rb +6 -3
- 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/metadata/ext.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 +1 -1
- metadata +62 -50
- data/ext/ddtrace_profiling_native_extension/pid_controller.c +0 -57
- data/ext/ddtrace_profiling_native_extension/pid_controller.h +0 -45
- 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_dynamic_sampling_rate.c +0 -0
- /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_dynamic_sampling_rate.h +0 -0
- /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_gc_profiling_helper.c +0 -0
- /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_gc_profiling_helper.h +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}/collectors_stack.c +0 -0
- /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_stack.h +0 -0
- /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_thread_context.h +0 -0
- /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/heap_recorder.c +0 -0
- /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/heap_recorder.h +0 -0
- /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/libdatadog_helpers.c +0 -0
- /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/libdatadog_helpers.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}/stack_recorder.c +0 -0
- /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/stack_recorder.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: 223ae0480854efa00a669acefedd34748a08bec69b0a10fdfa3d49112d30ea13
|
|
4
|
+
data.tar.gz: e6013cf6647797fbefd898c11760a13140fd1427ec069ce3a797f3367ebc8f4b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f868c1ce84455bd994da7b662ce29686238a40d2a31c5828fe21ba33bae4d9756b7e54e2e4a69028f299ad7c2cdd3f49485d690135c9213db83a94d0d044fae1
|
|
7
|
+
data.tar.gz: 8cee7869c4f9fe4bb5c07a000d11741199e65b02a8c31bbbe9e1d7f94cb5e46d68adfd43449ebe3645f0ff127094620234eafd1cb84d2bdbfb1534738faaf6aa
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,63 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [1.21.0] - 2024-03-14
|
|
6
|
+
|
|
7
|
+
### Highlights
|
|
8
|
+
Allocation profiling is now in beta, and timeline profiling is enabled by default.
|
|
9
|
+
For more details, check the [release notes](https://github.com/DataDog/dd-trace-rb/releases/tag/v1.21.0)
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
* APM source code integration ([#3463][])
|
|
14
|
+
* Core: Reduce startup logs verbosity ([#3468][])
|
|
15
|
+
* Tracing: Add Concurrent::Async instrumentation ([#3427][])
|
|
16
|
+
* Profiling: System info support ([#3357][])
|
|
17
|
+
* Profiling: Add bin/ddprofrb ([#3501][])
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
|
|
21
|
+
* Bump datadog-ci dependency to 0.8.1 ([#3518][])
|
|
22
|
+
* Upgrade to libdatadog 6 ([#3455][])
|
|
23
|
+
* Core: Allow suppressing error logs for Core::Remote::Negotiation ([#3495][])
|
|
24
|
+
* Tracing: Add `http.route` tag to rack ([#3345][])
|
|
25
|
+
* Tracing: Logs deprecation warning for `use` removal ([#3438][])
|
|
26
|
+
* Profiling: Allocation sampling overhead improvements ([#3434][], [#3440][])
|
|
27
|
+
* Profiling: Enable timeline by default ([#3428][])
|
|
28
|
+
* Profiling: Rename Profiling files to reflect "datadog" instead of "ddtrace" ([#3502][])
|
|
29
|
+
* Profiling: Replace `profiling.advanced.experimental_allocation_enabled` with `profiling.allocation_enabled` and remove experimental warning ([#3520][])
|
|
30
|
+
|
|
31
|
+
### Fixed
|
|
32
|
+
|
|
33
|
+
* Core: Fix rare remote configuration worker thread leak ([#3519][])
|
|
34
|
+
* Tracing: Fix `Datadog::Tracing.reject!` with correct metrics ([#3491][])
|
|
35
|
+
* Tracing: Guard PG result with `nil` check ([#3511][])
|
|
36
|
+
* Profiling: Add workaround for Ruby VM bug causing crash in gc_finalize_deferred ([#3473][])
|
|
37
|
+
* Profiling: Fix missing profiling code hotspots when using ddtrace+otel ([#3466][])
|
|
38
|
+
* Profiling: Stop worker on clock failure ([#3439][])
|
|
39
|
+
* Profiling: Upgrade libdatadog to fix incorrect platform detection for x86_64-linux-gnu/aarch64-linux-gnu ([#3503][])
|
|
40
|
+
|
|
41
|
+
## [1.20.0] - 2024-02-05
|
|
42
|
+
|
|
43
|
+
### Added
|
|
44
|
+
|
|
45
|
+
* Tracing: Add `Trilogy` instrumentation ([#3274][])
|
|
46
|
+
* Rack: Add remote configuration boot tags ([#3315][])
|
|
47
|
+
* Faraday: Add `on_error` option ([#3431][])
|
|
48
|
+
* Profiling: Add dynamic allocation sampling ([#3395][])
|
|
49
|
+
|
|
50
|
+
### Changed
|
|
51
|
+
|
|
52
|
+
* Bump `datadog-ci` dependency to 0.7.0 ([#3408][])
|
|
53
|
+
* Improve performance of gathering ClassCount metric ([#3386][])
|
|
54
|
+
|
|
55
|
+
### Fixed
|
|
56
|
+
|
|
57
|
+
* OpenTelemetry: Fix internal loading ([#3400][])
|
|
58
|
+
* Core: Fix logger deadlock ([#3426][])
|
|
59
|
+
* Rack: Fix missing active trace ([#3420][])
|
|
60
|
+
* Redis: Fix instance configuration ([#3278][])
|
|
61
|
+
|
|
5
62
|
## [1.19.0] - 2024-01-10
|
|
6
63
|
|
|
7
64
|
### Highlights
|
|
@@ -2707,7 +2764,9 @@ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.3.1
|
|
|
2707
2764
|
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
2708
2765
|
|
|
2709
2766
|
|
|
2710
|
-
[Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v1.
|
|
2767
|
+
[Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v1.21.0...master
|
|
2768
|
+
[1.21.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.20.0...v1.21.0
|
|
2769
|
+
[1.20.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.19.0...v1.20.0
|
|
2711
2770
|
[1.19.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.18.0...v1.19.0
|
|
2712
2771
|
[1.18.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.17.0...v1.18.0
|
|
2713
2772
|
[1.17.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.16.2...v1.17.0
|
|
@@ -3936,6 +3995,8 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
|
3936
3995
|
[#3270]: https://github.com/DataDog/dd-trace-rb/issues/3270
|
|
3937
3996
|
[#3271]: https://github.com/DataDog/dd-trace-rb/issues/3271
|
|
3938
3997
|
[#3273]: https://github.com/DataDog/dd-trace-rb/issues/3273
|
|
3998
|
+
[#3274]: https://github.com/DataDog/dd-trace-rb/issues/3274
|
|
3999
|
+
[#3278]: https://github.com/DataDog/dd-trace-rb/issues/3278
|
|
3939
4000
|
[#3279]: https://github.com/DataDog/dd-trace-rb/issues/3279
|
|
3940
4001
|
[#3280]: https://github.com/DataDog/dd-trace-rb/issues/3280
|
|
3941
4002
|
[#3281]: https://github.com/DataDog/dd-trace-rb/issues/3281
|
|
@@ -3948,16 +4009,19 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
|
3948
4009
|
[#3308]: https://github.com/DataDog/dd-trace-rb/issues/3308
|
|
3949
4010
|
[#3310]: https://github.com/DataDog/dd-trace-rb/issues/3310
|
|
3950
4011
|
[#3313]: https://github.com/DataDog/dd-trace-rb/issues/3313
|
|
4012
|
+
[#3315]: https://github.com/DataDog/dd-trace-rb/issues/3315
|
|
3951
4013
|
[#3316]: https://github.com/DataDog/dd-trace-rb/issues/3316
|
|
3952
4014
|
[#3317]: https://github.com/DataDog/dd-trace-rb/issues/3317
|
|
3953
4015
|
[#3320]: https://github.com/DataDog/dd-trace-rb/issues/3320
|
|
3954
4016
|
[#3328]: https://github.com/DataDog/dd-trace-rb/issues/3328
|
|
3955
4017
|
[#3329]: https://github.com/DataDog/dd-trace-rb/issues/3329
|
|
3956
4018
|
[#3333]: https://github.com/DataDog/dd-trace-rb/issues/3333
|
|
4019
|
+
[#3345]: https://github.com/DataDog/dd-trace-rb/issues/3345
|
|
3957
4020
|
[#3349]: https://github.com/DataDog/dd-trace-rb/issues/3349
|
|
3958
4021
|
[#3352]: https://github.com/DataDog/dd-trace-rb/issues/3352
|
|
3959
4022
|
[#3354]: https://github.com/DataDog/dd-trace-rb/issues/3354
|
|
3960
4023
|
[#3356]: https://github.com/DataDog/dd-trace-rb/issues/3356
|
|
4024
|
+
[#3357]: https://github.com/DataDog/dd-trace-rb/issues/3357
|
|
3961
4025
|
[#3360]: https://github.com/DataDog/dd-trace-rb/issues/3360
|
|
3962
4026
|
[#3361]: https://github.com/DataDog/dd-trace-rb/issues/3361
|
|
3963
4027
|
[#3362]: https://github.com/DataDog/dd-trace-rb/issues/3362
|
|
@@ -3965,6 +4029,33 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
|
3965
4029
|
[#3366]: https://github.com/DataDog/dd-trace-rb/issues/3366
|
|
3966
4030
|
[#3373]: https://github.com/DataDog/dd-trace-rb/issues/3373
|
|
3967
4031
|
[#3374]: https://github.com/DataDog/dd-trace-rb/issues/3374
|
|
4032
|
+
[#3386]: https://github.com/DataDog/dd-trace-rb/issues/3386
|
|
4033
|
+
[#3395]: https://github.com/DataDog/dd-trace-rb/issues/3395
|
|
4034
|
+
[#3400]: https://github.com/DataDog/dd-trace-rb/issues/3400
|
|
4035
|
+
[#3408]: https://github.com/DataDog/dd-trace-rb/issues/3408
|
|
4036
|
+
[#3420]: https://github.com/DataDog/dd-trace-rb/issues/3420
|
|
4037
|
+
[#3426]: https://github.com/DataDog/dd-trace-rb/issues/3426
|
|
4038
|
+
[#3427]: https://github.com/DataDog/dd-trace-rb/issues/3427
|
|
4039
|
+
[#3428]: https://github.com/DataDog/dd-trace-rb/issues/3428
|
|
4040
|
+
[#3431]: https://github.com/DataDog/dd-trace-rb/issues/3431
|
|
4041
|
+
[#3434]: https://github.com/DataDog/dd-trace-rb/issues/3434
|
|
4042
|
+
[#3438]: https://github.com/DataDog/dd-trace-rb/issues/3438
|
|
4043
|
+
[#3439]: https://github.com/DataDog/dd-trace-rb/issues/3439
|
|
4044
|
+
[#3440]: https://github.com/DataDog/dd-trace-rb/issues/3440
|
|
4045
|
+
[#3455]: https://github.com/DataDog/dd-trace-rb/issues/3455
|
|
4046
|
+
[#3463]: https://github.com/DataDog/dd-trace-rb/issues/3463
|
|
4047
|
+
[#3466]: https://github.com/DataDog/dd-trace-rb/issues/3466
|
|
4048
|
+
[#3468]: https://github.com/DataDog/dd-trace-rb/issues/3468
|
|
4049
|
+
[#3473]: https://github.com/DataDog/dd-trace-rb/issues/3473
|
|
4050
|
+
[#3491]: https://github.com/DataDog/dd-trace-rb/issues/3491
|
|
4051
|
+
[#3495]: https://github.com/DataDog/dd-trace-rb/issues/3495
|
|
4052
|
+
[#3501]: https://github.com/DataDog/dd-trace-rb/issues/3501
|
|
4053
|
+
[#3502]: https://github.com/DataDog/dd-trace-rb/issues/3502
|
|
4054
|
+
[#3503]: https://github.com/DataDog/dd-trace-rb/issues/3503
|
|
4055
|
+
[#3511]: https://github.com/DataDog/dd-trace-rb/issues/3511
|
|
4056
|
+
[#3518]: https://github.com/DataDog/dd-trace-rb/issues/3518
|
|
4057
|
+
[#3519]: https://github.com/DataDog/dd-trace-rb/issues/3519
|
|
4058
|
+
[#3520]: https://github.com/DataDog/dd-trace-rb/issues/3520
|
|
3968
4059
|
[@AdrianLC]: https://github.com/AdrianLC
|
|
3969
4060
|
[@Azure7111]: https://github.com/Azure7111
|
|
3970
4061
|
[@BabyGroot]: https://github.com/BabyGroot
|
|
@@ -4116,4 +4207,4 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
|
4116
4207
|
[@y-yagi]: https://github.com/y-yagi
|
|
4117
4208
|
[@yujideveloper]: https://github.com/yujideveloper
|
|
4118
4209
|
[@yukimurasawa]: https://github.com/yukimurasawa
|
|
4119
|
-
[@zachmccormick]: https://github.com/zachmccormick
|
|
4210
|
+
[@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
|
|