ddtrace 1.20.0 → 1.23.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.
Files changed (115) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +130 -1
  3. data/LICENSE-3rdparty.csv +1 -1
  4. data/bin/ddprofrb +15 -0
  5. data/bin/ddtracerb +3 -1
  6. data/ext/{ddtrace_profiling_loader/ddtrace_profiling_loader.c → datadog_profiling_loader/datadog_profiling_loader.c} +2 -2
  7. data/ext/{ddtrace_profiling_loader → datadog_profiling_loader}/extconf.rb +3 -3
  8. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_cpu_and_wall_time_worker.c +226 -61
  9. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_discrete_dynamic_sampler.c +145 -72
  10. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_discrete_dynamic_sampler.h +17 -5
  11. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_thread_context.c +115 -14
  12. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/extconf.rb +2 -2
  13. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/heap_recorder.c +81 -4
  14. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/heap_recorder.h +12 -1
  15. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/http_transport.c +15 -19
  16. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/native_extension_helpers.rb +4 -4
  17. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/private_vm_api_access.c +14 -0
  18. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/private_vm_api_access.h +4 -0
  19. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/profiling.c +1 -1
  20. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/ruby_helpers.c +10 -0
  21. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/ruby_helpers.h +5 -0
  22. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/stack_recorder.c +161 -62
  23. data/lib/datadog/appsec/contrib/rack/request_middleware.rb +43 -13
  24. data/lib/datadog/appsec/event.rb +1 -1
  25. data/lib/datadog/auto_instrument.rb +3 -0
  26. data/lib/datadog/core/configuration/components.rb +7 -6
  27. data/lib/datadog/core/configuration/option.rb +8 -6
  28. data/lib/datadog/core/configuration/settings.rb +130 -63
  29. data/lib/datadog/core/configuration.rb +20 -4
  30. data/lib/datadog/core/diagnostics/environment_logger.rb +4 -3
  31. data/lib/datadog/core/environment/git.rb +25 -0
  32. data/lib/datadog/core/environment/identity.rb +18 -48
  33. data/lib/datadog/core/environment/platform.rb +7 -1
  34. data/lib/datadog/core/git/ext.rb +2 -23
  35. data/lib/datadog/core/remote/client/capabilities.rb +1 -1
  36. data/lib/datadog/core/remote/negotiation.rb +2 -2
  37. data/lib/datadog/core/remote/transport/http/config.rb +1 -1
  38. data/lib/datadog/core/remote/worker.rb +7 -4
  39. data/lib/datadog/core/telemetry/client.rb +18 -10
  40. data/lib/datadog/core/telemetry/emitter.rb +9 -13
  41. data/lib/datadog/core/telemetry/event.rb +247 -57
  42. data/lib/datadog/core/telemetry/ext.rb +1 -0
  43. data/lib/datadog/core/telemetry/heartbeat.rb +1 -3
  44. data/lib/datadog/core/telemetry/http/ext.rb +4 -1
  45. data/lib/datadog/core/telemetry/http/response.rb +4 -0
  46. data/lib/datadog/core/telemetry/http/transport.rb +9 -4
  47. data/lib/datadog/core/telemetry/request.rb +59 -0
  48. data/lib/datadog/core/transport/ext.rb +2 -0
  49. data/lib/datadog/core/utils/url.rb +25 -0
  50. data/lib/datadog/profiling/collectors/code_provenance.rb +10 -4
  51. data/lib/datadog/profiling/collectors/cpu_and_wall_time_worker.rb +31 -0
  52. data/lib/datadog/profiling/collectors/info.rb +101 -0
  53. data/lib/datadog/profiling/component.rb +34 -28
  54. data/lib/datadog/profiling/exporter.rb +23 -6
  55. data/lib/datadog/profiling/ext.rb +2 -0
  56. data/lib/datadog/profiling/flush.rb +6 -3
  57. data/lib/datadog/profiling/http_transport.rb +5 -1
  58. data/lib/datadog/profiling/load_native_extension.rb +19 -6
  59. data/lib/datadog/profiling/native_extension.rb +1 -1
  60. data/lib/datadog/profiling/stack_recorder.rb +6 -2
  61. data/lib/datadog/profiling/tag_builder.rb +5 -0
  62. data/lib/datadog/profiling/tasks/exec.rb +3 -3
  63. data/lib/datadog/profiling/tasks/help.rb +3 -3
  64. data/lib/datadog/profiling.rb +13 -2
  65. data/lib/datadog/tracing/contrib/action_mailer/events/deliver.rb +1 -1
  66. data/lib/datadog/tracing/contrib/active_record/configuration/resolver.rb +11 -4
  67. data/lib/datadog/tracing/contrib/concurrent_ruby/async_patch.rb +20 -0
  68. data/lib/datadog/tracing/contrib/concurrent_ruby/patcher.rb +11 -1
  69. data/lib/datadog/tracing/contrib/configurable.rb +1 -1
  70. data/lib/datadog/tracing/contrib/extensions.rb +6 -2
  71. data/lib/datadog/tracing/contrib/pg/instrumentation.rb +11 -4
  72. data/lib/datadog/tracing/sampling/matcher.rb +23 -3
  73. data/lib/datadog/tracing/sampling/rule.rb +7 -2
  74. data/lib/datadog/tracing/sampling/rule_sampler.rb +2 -0
  75. data/lib/datadog/tracing/trace_operation.rb +1 -2
  76. data/lib/datadog/tracing/transport/http.rb +1 -0
  77. data/lib/datadog/tracing/transport/trace_formatter.rb +31 -0
  78. data/lib/ddtrace/version.rb +1 -1
  79. metadata +58 -65
  80. data/ext/ddtrace_profiling_native_extension/pid_controller.c +0 -57
  81. data/ext/ddtrace_profiling_native_extension/pid_controller.h +0 -45
  82. data/lib/datadog/core/telemetry/collector.rb +0 -250
  83. data/lib/datadog/core/telemetry/v1/app_event.rb +0 -59
  84. data/lib/datadog/core/telemetry/v1/application.rb +0 -92
  85. data/lib/datadog/core/telemetry/v1/configuration.rb +0 -25
  86. data/lib/datadog/core/telemetry/v1/dependency.rb +0 -43
  87. data/lib/datadog/core/telemetry/v1/host.rb +0 -59
  88. data/lib/datadog/core/telemetry/v1/install_signature.rb +0 -38
  89. data/lib/datadog/core/telemetry/v1/integration.rb +0 -64
  90. data/lib/datadog/core/telemetry/v1/product.rb +0 -36
  91. data/lib/datadog/core/telemetry/v1/telemetry_request.rb +0 -106
  92. data/lib/datadog/core/telemetry/v2/app_client_configuration_change.rb +0 -41
  93. data/lib/datadog/core/telemetry/v2/request.rb +0 -29
  94. data/lib/datadog/profiling/diagnostics/environment_logger.rb +0 -39
  95. /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/NativeExtensionDesign.md +0 -0
  96. /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/clock_id.h +0 -0
  97. /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/clock_id_from_pthread.c +0 -0
  98. /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/clock_id_noop.c +0 -0
  99. /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_dynamic_sampling_rate.c +0 -0
  100. /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_dynamic_sampling_rate.h +0 -0
  101. /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_gc_profiling_helper.c +0 -0
  102. /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_gc_profiling_helper.h +0 -0
  103. /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_idle_sampling_helper.c +0 -0
  104. /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_idle_sampling_helper.h +0 -0
  105. /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_stack.c +0 -0
  106. /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_stack.h +0 -0
  107. /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_thread_context.h +0 -0
  108. /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/helpers.h +0 -0
  109. /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/libdatadog_helpers.c +0 -0
  110. /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/libdatadog_helpers.h +0 -0
  111. /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/setup_signal_handler.c +0 -0
  112. /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/setup_signal_handler.h +0 -0
  113. /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/stack_recorder.h +0 -0
  114. /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/time_helpers.c +0 -0
  115. /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/time_helpers.h +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1baa733b2ad3335ab214de620e849f1eab598effb15d24f336aa20147e6e34be
4
- data.tar.gz: 684bbf501475346f6e2a32b5a9284d59e193344e23d63b912624de77ac8bbbad
3
+ metadata.gz: b5e8a3ccb932af75df7d30d6fe59edc8277e21ee34a9562f7c2c8bfba1ea7521
4
+ data.tar.gz: 1508bf7e56a24af598aad666665be6cd0a7b97c9cbf3bbcc95a3fda36b67c07a
5
5
  SHA512:
6
- metadata.gz: a10dcafb4ff9e9655e06e149ae83a872a0b614f44d69db15ed120f6aa6990f858bb94897d7b8fe30c1b41fe74dc71f054bdf7f0387ded0c0b66058d0d9a15492
7
- data.tar.gz: 87be0dc85c2fc044a0f95096d147dbc79dda101babad85bfdfd29a37c42cd9cb70180fdedae00ff95321fe6eec0e4d61a6aaab852c9c6d3f10fc39ff7f06d87c
6
+ metadata.gz: afccca8d070d1dfd472af2390da1b343dff3199c42a71e742f10e29e91ddb27a6fa709490adcd639e6914f792b8e8565f667ff5d916f9f0f6690d69b8d8b0b54
7
+ data.tar.gz: 581022bd8d146fe01e9dac70a309e58d503d48ed8420b845a6b91200796ce9a0b1c2bc29fb58382ddc546abd00785d2f6ee42863e1bc6df517052a566352604e
data/CHANGELOG.md CHANGED
@@ -2,6 +2,92 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [1.23.0] - 2024-05-09
6
+
7
+ ### Added
8
+
9
+ * Profiling: Enable endpoint profiling for Sidekiq and similar background job processors ([#3619][])
10
+
11
+ ### Fixed
12
+
13
+ * Fix no such file or directory issue when using single step instrumentation ([#3623][])
14
+ * Fix error during telemetry debug logging attempt ([#3618][])
15
+
16
+ ## [1.22.0] - 2024-04-16
17
+
18
+ ### Added
19
+
20
+ * Tracing: Add sampling rules by trace resouce and tags ([#3587][], [#3585][])
21
+ * Appsec: Add WAF vendor header support ([#3528][])
22
+
23
+ ### Changed
24
+
25
+ * Upgrade `Telemetry` to V2 ([#3551][])
26
+ * Upgrade to libdatadog 7 ([#3536][])
27
+ * Profiling: Enable Garbage Collection profiling by default ([#3558][])
28
+ * Profiling: Skip heap samples with age 0 ([#3573][])
29
+ * Profiling: Support falling back into extension directory when loading profiler ([#3582][])
30
+
31
+ ### Fixed
32
+
33
+ * Appsec: Fix MIME-style newlines with strict base64 encoding ([#3565][])
34
+
35
+ ## [2.0.0.beta1] - 2024-03-22
36
+
37
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v2.0.0.beta1
38
+
39
+ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v1.21.1...v2.0.0.beta1
40
+
41
+ See https://github.com/DataDog/dd-trace-rb/blob/v2.0.0.beta1/docs/UpgradeGuide2.md.
42
+
43
+ ## [1.21.1] - 2024-03-20
44
+
45
+ ### Added
46
+
47
+ * Backports auto instrument shim with `datadog/auto_instrument` ([#3535][])
48
+
49
+ ### Fixed
50
+
51
+ * Fix ActiveRecord resolving invalid string ([#3523][])
52
+ * Revert `http.route` tagging to fix instrumentation failure for Rails 7.1 apps ([#3539][])
53
+ * Fix wrong permissions on released gem files ([#3531][])
54
+
55
+ ## [1.21.0] - 2024-03-14
56
+
57
+ ### Highlights
58
+ Allocation profiling is now in beta, and timeline profiling is enabled by default.
59
+ For more details, check the [release notes](https://github.com/DataDog/dd-trace-rb/releases/tag/v1.21.0)
60
+
61
+ ### Added
62
+
63
+ * APM source code integration ([#3463][])
64
+ * Core: Reduce startup logs verbosity ([#3468][])
65
+ * Tracing: Add Concurrent::Async instrumentation ([#3427][])
66
+ * Profiling: System info support ([#3357][])
67
+ * Profiling: Add bin/ddprofrb ([#3501][])
68
+
69
+ ### Changed
70
+
71
+ * Bump datadog-ci dependency to 0.8.1 ([#3518][])
72
+ * Upgrade to libdatadog 6 ([#3455][])
73
+ * Core: Allow suppressing error logs for Core::Remote::Negotiation ([#3495][])
74
+ * Tracing: Add `http.route` tag to rack ([#3345][])
75
+ * Tracing: Logs deprecation warning for `use` removal ([#3438][])
76
+ * Profiling: Allocation sampling overhead improvements ([#3434][], [#3440][])
77
+ * Profiling: Enable timeline by default ([#3428][])
78
+ * Profiling: Rename Profiling files to reflect "datadog" instead of "ddtrace" ([#3502][])
79
+ * Profiling: Replace `profiling.advanced.experimental_allocation_enabled` with `profiling.allocation_enabled` and remove experimental warning ([#3520][])
80
+
81
+ ### Fixed
82
+
83
+ * Core: Fix rare remote configuration worker thread leak ([#3519][])
84
+ * Tracing: Fix `Datadog::Tracing.reject!` with correct metrics ([#3491][])
85
+ * Tracing: Guard PG result with `nil` check ([#3511][])
86
+ * Profiling: Add workaround for Ruby VM bug causing crash in gc_finalize_deferred ([#3473][])
87
+ * Profiling: Fix missing profiling code hotspots when using ddtrace+otel ([#3466][])
88
+ * Profiling: Stop worker on clock failure ([#3439][])
89
+ * Profiling: Upgrade libdatadog to fix incorrect platform detection for x86_64-linux-gnu/aarch64-linux-gnu ([#3503][])
90
+
5
91
  ## [1.20.0] - 2024-02-05
6
92
 
7
93
  ### Added
@@ -2728,7 +2814,12 @@ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.3.1
2728
2814
  Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2729
2815
 
2730
2816
 
2731
- [Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v1.20.0...master
2817
+ [Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v1.22.0...master
2818
+ [1.23.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.22.0...v1.23.0
2819
+ [1.22.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.21.1...v1.22.0
2820
+ [2.0.0.beta1]: https://github.com/DataDog/dd-trace-rb/compare/v1.21.1...v2.0.0.beta1
2821
+ [1.21.1]: https://github.com/DataDog/dd-trace-rb/compare/v1.21.0...v1.21.1
2822
+ [1.21.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.20.0...v1.21.0
2732
2823
  [1.20.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.19.0...v1.20.0
2733
2824
  [1.19.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.18.0...v1.19.0
2734
2825
  [1.18.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.17.0...v1.18.0
@@ -3979,10 +4070,12 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
3979
4070
  [#3328]: https://github.com/DataDog/dd-trace-rb/issues/3328
3980
4071
  [#3329]: https://github.com/DataDog/dd-trace-rb/issues/3329
3981
4072
  [#3333]: https://github.com/DataDog/dd-trace-rb/issues/3333
4073
+ [#3345]: https://github.com/DataDog/dd-trace-rb/issues/3345
3982
4074
  [#3349]: https://github.com/DataDog/dd-trace-rb/issues/3349
3983
4075
  [#3352]: https://github.com/DataDog/dd-trace-rb/issues/3352
3984
4076
  [#3354]: https://github.com/DataDog/dd-trace-rb/issues/3354
3985
4077
  [#3356]: https://github.com/DataDog/dd-trace-rb/issues/3356
4078
+ [#3357]: https://github.com/DataDog/dd-trace-rb/issues/3357
3986
4079
  [#3360]: https://github.com/DataDog/dd-trace-rb/issues/3360
3987
4080
  [#3361]: https://github.com/DataDog/dd-trace-rb/issues/3361
3988
4081
  [#3362]: https://github.com/DataDog/dd-trace-rb/issues/3362
@@ -3996,7 +4089,43 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
3996
4089
  [#3408]: https://github.com/DataDog/dd-trace-rb/issues/3408
3997
4090
  [#3420]: https://github.com/DataDog/dd-trace-rb/issues/3420
3998
4091
  [#3426]: https://github.com/DataDog/dd-trace-rb/issues/3426
4092
+ [#3427]: https://github.com/DataDog/dd-trace-rb/issues/3427
4093
+ [#3428]: https://github.com/DataDog/dd-trace-rb/issues/3428
3999
4094
  [#3431]: https://github.com/DataDog/dd-trace-rb/issues/3431
4095
+ [#3434]: https://github.com/DataDog/dd-trace-rb/issues/3434
4096
+ [#3438]: https://github.com/DataDog/dd-trace-rb/issues/3438
4097
+ [#3439]: https://github.com/DataDog/dd-trace-rb/issues/3439
4098
+ [#3440]: https://github.com/DataDog/dd-trace-rb/issues/3440
4099
+ [#3455]: https://github.com/DataDog/dd-trace-rb/issues/3455
4100
+ [#3463]: https://github.com/DataDog/dd-trace-rb/issues/3463
4101
+ [#3466]: https://github.com/DataDog/dd-trace-rb/issues/3466
4102
+ [#3468]: https://github.com/DataDog/dd-trace-rb/issues/3468
4103
+ [#3473]: https://github.com/DataDog/dd-trace-rb/issues/3473
4104
+ [#3491]: https://github.com/DataDog/dd-trace-rb/issues/3491
4105
+ [#3495]: https://github.com/DataDog/dd-trace-rb/issues/3495
4106
+ [#3501]: https://github.com/DataDog/dd-trace-rb/issues/3501
4107
+ [#3502]: https://github.com/DataDog/dd-trace-rb/issues/3502
4108
+ [#3503]: https://github.com/DataDog/dd-trace-rb/issues/3503
4109
+ [#3511]: https://github.com/DataDog/dd-trace-rb/issues/3511
4110
+ [#3518]: https://github.com/DataDog/dd-trace-rb/issues/3518
4111
+ [#3519]: https://github.com/DataDog/dd-trace-rb/issues/3519
4112
+ [#3520]: https://github.com/DataDog/dd-trace-rb/issues/3520
4113
+ [#3523]: https://github.com/DataDog/dd-trace-rb/issues/3523
4114
+ [#3528]: https://github.com/DataDog/dd-trace-rb/issues/3528
4115
+ [#3531]: https://github.com/DataDog/dd-trace-rb/issues/3531
4116
+ [#3535]: https://github.com/DataDog/dd-trace-rb/issues/3535
4117
+ [#3536]: https://github.com/DataDog/dd-trace-rb/issues/3536
4118
+ [#3539]: https://github.com/DataDog/dd-trace-rb/issues/3539
4119
+ [#3551]: https://github.com/DataDog/dd-trace-rb/issues/3551
4120
+ [#3558]: https://github.com/DataDog/dd-trace-rb/issues/3558
4121
+ [#3565]: https://github.com/DataDog/dd-trace-rb/issues/3565
4122
+ [#3573]: https://github.com/DataDog/dd-trace-rb/issues/3573
4123
+ [#3582]: https://github.com/DataDog/dd-trace-rb/issues/3582
4124
+ [#3585]: https://github.com/DataDog/dd-trace-rb/issues/3585
4125
+ [#3587]: https://github.com/DataDog/dd-trace-rb/issues/3587
4126
+ [#3618]: https://github.com/DataDog/dd-trace-rb/issues/3618
4127
+ [#3619]: https://github.com/DataDog/dd-trace-rb/issues/3619
4128
+ [#3623]: https://github.com/DataDog/dd-trace-rb/issues/3623
4000
4129
  [@AdrianLC]: https://github.com/AdrianLC
4001
4130
  [@Azure7111]: https://github.com/Azure7111
4002
4131
  [@BabyGroot]: https://github.com/BabyGroot
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/ddtrace_profiling_native_extension/private_vm_api_access,https://github.com/ruby/ruby,BSD-2-Clause,"Copyright (C) 1993-2013 Yukihiro Matsumoto. All rights reserved."
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 ddtrace."
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 (ddtrace_profiling_loader.c) introduces another extension
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 Init_ddtrace_profiling_loader(void) {
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 ddtrace profiling loader. See ddtrace profiling native extension note for details.'
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 `Init_ddtrace_profiling_loader` which needs to be visible for Ruby to call it when
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 = "ddtrace_profiling_loader.#{RUBY_VERSION}_#{RUBY_PLATFORM}".freeze
67
+ EXTENSION_NAME = "datadog_profiling_loader.#{RUBY_VERSION}_#{RUBY_PLATFORM}".freeze
68
68
 
69
69
  create_makefile(EXTENSION_NAME)
70
70