datadog 2.47.0 → 2.48.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 (273) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +30 -1
  3. data/LICENSE-3rdparty.csv +1 -0
  4. data/ext/datadog_profiling_native_extension/collectors_stack.c +141 -101
  5. data/ext/datadog_profiling_native_extension/collectors_stack.h +9 -1
  6. data/ext/datadog_profiling_native_extension/collectors_thread_context.c +6 -1
  7. data/ext/datadog_profiling_native_extension/extconf.rb +7 -13
  8. data/ext/datadog_profiling_native_extension/native_extension_helpers.rb +3 -3
  9. data/ext/datadog_profiling_native_extension/private_vm_api_access.c +66 -13
  10. data/ext/datadog_profiling_native_extension/private_vm_api_access.h +5 -1
  11. data/ext/datadog_profiling_native_extension/profiling.c +1 -1
  12. data/ext/libdatadog_api/extconf.rb +9 -7
  13. data/ext/libdatadog_api/trace_exporter.c +34 -7
  14. data/ext/libdatadog_extconf_helpers.rb +1 -1
  15. data/lib/datadog/ai_guard/component.rb +1 -1
  16. data/lib/datadog/ai_guard/contrib/rack/request_middleware.rb +1 -9
  17. data/lib/datadog/ai_guard/contrib/rails/patcher.rb +1 -1
  18. data/lib/datadog/ai_guard/contrib/ruby_llm/message_adapter.rb +1 -1
  19. data/lib/datadog/ai_guard/contrib/ruby_llm/redaction_change_set.rb +3 -3
  20. data/lib/datadog/ai_guard/evaluation/client.rb +3 -3
  21. data/lib/datadog/ai_guard/evaluation.rb +2 -2
  22. data/lib/datadog/ai_guard/http_client.rb +3 -2
  23. data/lib/datadog/ai_guard/redaction.rb +1 -1
  24. data/lib/datadog/appsec/api_security/endpoint_collection/rails_collector.rb +1 -1
  25. data/lib/datadog/appsec/assets/waf_rules/README.md +3 -3
  26. data/lib/datadog/appsec/assets/waf_rules/recommended.json +5366 -1517
  27. data/lib/datadog/appsec/assets/waf_rules/strict.json +2 -2
  28. data/lib/datadog/appsec/autoload.rb +1 -1
  29. data/lib/datadog/appsec/component.rb +1 -1
  30. data/lib/datadog/appsec/compressed_json.rb +1 -1
  31. data/lib/datadog/appsec/configuration.rb +3 -3
  32. data/lib/datadog/appsec/context.rb +1 -1
  33. data/lib/datadog/appsec/contrib/active_record/instrumentation.rb +11 -1
  34. data/lib/datadog/appsec/contrib/active_record/patcher.rb +12 -4
  35. data/lib/datadog/appsec/contrib/aws_lambda/gateway/watcher.rb +2 -2
  36. data/lib/datadog/appsec/contrib/aws_lambda/waf_addresses.rb +1 -1
  37. data/lib/datadog/appsec/contrib/devise/configuration.rb +1 -1
  38. data/lib/datadog/appsec/contrib/devise/patches/signin_tracking_patch.rb +1 -1
  39. data/lib/datadog/appsec/contrib/devise/patches/signup_tracking_patch.rb +1 -1
  40. data/lib/datadog/appsec/contrib/devise/tracking_middleware.rb +1 -1
  41. data/lib/datadog/appsec/contrib/excon/ssrf_detection_middleware.rb +1 -1
  42. data/lib/datadog/appsec/contrib/faraday/ssrf_detection_middleware.rb +1 -1
  43. data/lib/datadog/appsec/contrib/graphql/gateway/multiplex.rb +7 -7
  44. data/lib/datadog/appsec/contrib/graphql/gateway/watcher.rb +1 -1
  45. data/lib/datadog/appsec/contrib/rack/gateway/watcher.rb +3 -3
  46. data/lib/datadog/appsec/contrib/rack/request_middleware.rb +5 -5
  47. data/lib/datadog/appsec/contrib/rails/gateway/watcher.rb +2 -2
  48. data/lib/datadog/appsec/contrib/rails/patcher.rb +2 -2
  49. data/lib/datadog/appsec/contrib/rest_client/request_ssrf_detection_patch.rb +1 -1
  50. data/lib/datadog/appsec/contrib/sinatra/gateway/watcher.rb +3 -3
  51. data/lib/datadog/appsec/contrib/sinatra/patcher.rb +1 -1
  52. data/lib/datadog/appsec/metrics/collector.rb +5 -5
  53. data/lib/datadog/appsec/metrics/telemetry_exporter.rb +3 -3
  54. data/lib/datadog/appsec/monitor/gateway/watcher.rb +2 -2
  55. data/lib/datadog/appsec/processor/rule_loader.rb +1 -1
  56. data/lib/datadog/appsec/response.rb +1 -1
  57. data/lib/datadog/appsec/security_engine/engine.rb +6 -6
  58. data/lib/datadog/appsec/security_engine/runner.rb +2 -2
  59. data/lib/datadog/appsec/trace_keeper.rb +1 -1
  60. data/lib/datadog/appsec.rb +1 -1
  61. data/lib/datadog/core/configuration/agent_settings_resolver.rb +14 -13
  62. data/lib/datadog/core/configuration/agentless_settings_resolver.rb +2 -2
  63. data/lib/datadog/core/configuration/components.rb +1 -1
  64. data/lib/datadog/core/configuration/settings.rb +5 -2
  65. data/lib/datadog/core/configuration/supported_configurations.rb +1 -0
  66. data/lib/datadog/core/configuration.rb +2 -2
  67. data/lib/datadog/core/crashtracking/component.rb +1 -1
  68. data/lib/datadog/core/diagnostics/environment_logger.rb +1 -1
  69. data/lib/datadog/core/environment/cgroup.rb +2 -2
  70. data/lib/datadog/core/environment/container.rb +3 -3
  71. data/lib/datadog/core/metrics/client.rb +6 -6
  72. data/lib/datadog/core/process_discovery.rb +1 -1
  73. data/lib/datadog/core/remote/tie/tracing.rb +4 -3
  74. data/lib/datadog/core/remote/transport/http.rb +2 -2
  75. data/lib/datadog/core/runtime/metrics.rb +14 -14
  76. data/lib/datadog/core/semaphore.rb +3 -1
  77. data/lib/datadog/core/telemetry/event/app_started.rb +9 -9
  78. data/lib/datadog/core/telemetry/logger.rb +1 -1
  79. data/lib/datadog/core/telemetry/logging.rb +1 -1
  80. data/lib/datadog/core/telemetry/request.rb +9 -3
  81. data/lib/datadog/core/telemetry/transport/http.rb +2 -2
  82. data/lib/datadog/core/telemetry/worker.rb +1 -1
  83. data/lib/datadog/core/transport/http/adapters/net.rb +1 -1
  84. data/lib/datadog/core/transport/http/adapters/unix_socket.rb +1 -1
  85. data/lib/datadog/core/transport/http/builder.rb +1 -1
  86. data/lib/datadog/core/transport/http.rb +3 -3
  87. data/lib/datadog/core/utils/at_fork_monkey_patch.rb +2 -2
  88. data/lib/datadog/core/workers/async.rb +1 -1
  89. data/lib/datadog/core/workers/runtime_metrics.rb +1 -1
  90. data/lib/datadog/data_streams/pathway_context.rb +1 -1
  91. data/lib/datadog/data_streams/processor.rb +48 -27
  92. data/lib/datadog/data_streams/transport/http.rb +1 -1
  93. data/lib/datadog/data_streams.rb +16 -0
  94. data/lib/datadog/di/capture_expression_evaluator.rb +48 -11
  95. data/lib/datadog/di/component.rb +3 -2
  96. data/lib/datadog/di/configuration.rb +19 -0
  97. data/lib/datadog/di/contrib/active_record.rb +1 -1
  98. data/lib/datadog/di/el/compiler.rb +4 -4
  99. data/lib/datadog/di/el/evaluator.rb +247 -43
  100. data/lib/datadog/di/el/expression.rb +36 -6
  101. data/lib/datadog/di/error.rb +16 -0
  102. data/lib/datadog/di/guardrails_telemetry/reason.rb +3 -2
  103. data/lib/datadog/di/instrumenter.rb +39 -10
  104. data/lib/datadog/di/probe_notification_builder.rb +58 -10
  105. data/lib/datadog/di/probe_notifier_worker.rb +1 -1
  106. data/lib/datadog/di/serializer.rb +20 -2
  107. data/lib/datadog/di.rb +27 -0
  108. data/lib/datadog/error_tracking/component.rb +1 -1
  109. data/lib/datadog/error_tracking/configuration.rb +1 -1
  110. data/lib/datadog/kit/appsec/events/v2.rb +6 -6
  111. data/lib/datadog/kit/appsec/events.rb +1 -1
  112. data/lib/datadog/kit/enable_core_dumps.rb +1 -1
  113. data/lib/datadog/kit/identity.rb +1 -1
  114. data/lib/datadog/open_feature/activation.rb +26 -1
  115. data/lib/datadog/open_feature/agentless/configuration_source.rb +94 -15
  116. data/lib/datadog/open_feature/component.rb +22 -2
  117. data/lib/datadog/open_feature/configuration/agentless_endpoint.rb +6 -0
  118. data/lib/datadog/open_feature/configuration.rb +4 -4
  119. data/lib/datadog/open_feature/evaluation_engine.rb +62 -4
  120. data/lib/datadog/open_feature/exposures/buffer.rb +4 -0
  121. data/lib/datadog/open_feature/exposures/reporter.rb +17 -4
  122. data/lib/datadog/open_feature/exposures/worker.rb +37 -6
  123. data/lib/datadog/open_feature/flag_evaluation/aggregator.rb +5 -5
  124. data/lib/datadog/open_feature/flag_evaluation/writer.rb +1 -1
  125. data/lib/datadog/open_feature/hooks/debug_logging_hook.rb +56 -0
  126. data/lib/datadog/open_feature/hooks/span_enrichment_hook.rb +2 -2
  127. data/lib/datadog/open_feature/metrics/flag_eval_metrics.rb +1 -1
  128. data/lib/datadog/open_feature/native_evaluator.rb +1 -1
  129. data/lib/datadog/open_feature/noop_evaluator.rb +1 -1
  130. data/lib/datadog/open_feature/provider.rb +50 -12
  131. data/lib/datadog/open_feature/remote.rb +8 -1
  132. data/lib/datadog/open_feature/resolution_details.rb +2 -2
  133. data/lib/datadog/open_feature/transport.rb +6 -6
  134. data/lib/datadog/opentelemetry/api/context.rb +3 -3
  135. data/lib/datadog/opentelemetry/logs.rb +5 -5
  136. data/lib/datadog/opentelemetry/metrics.rb +3 -3
  137. data/lib/datadog/opentelemetry/sdk/propagator.rb +3 -3
  138. data/lib/datadog/opentelemetry/sdk/span_processor.rb +2 -2
  139. data/lib/datadog/opentelemetry/sdk/trace/span.rb +1 -1
  140. data/lib/datadog/profiling/collectors/code_provenance.rb +3 -3
  141. data/lib/datadog/profiling/collectors/cpu_and_wall_time_worker.rb +4 -4
  142. data/lib/datadog/profiling/collectors/idle_sampling_helper.rb +1 -1
  143. data/lib/datadog/profiling/collectors/thread_context.rb +1 -1
  144. data/lib/datadog/profiling/component.rb +19 -19
  145. data/lib/datadog/profiling/exporter.rb +1 -1
  146. data/lib/datadog/profiling/http_transport.rb +3 -3
  147. data/lib/datadog/profiling/profiler.rb +2 -2
  148. data/lib/datadog/profiling/scheduler.rb +2 -2
  149. data/lib/datadog/profiling/tag_builder.rb +1 -1
  150. data/lib/datadog/symbol_database/extractor.rb +8 -8
  151. data/lib/datadog/symbol_database/uploader.rb +1 -1
  152. data/lib/datadog/tracing/buffer.rb +3 -3
  153. data/lib/datadog/tracing/client_ip.rb +1 -1
  154. data/lib/datadog/tracing/component.rb +8 -8
  155. data/lib/datadog/tracing/configuration/dynamic/option.rb +2 -2
  156. data/lib/datadog/tracing/configuration/settings.rb +3 -3
  157. data/lib/datadog/tracing/context.rb +1 -1
  158. data/lib/datadog/tracing/contrib/action_cable/instrumentation.rb +2 -2
  159. data/lib/datadog/tracing/contrib/active_job/data_streams.rb +27 -2
  160. data/lib/datadog/tracing/contrib/active_record/configuration/resolver.rb +2 -2
  161. data/lib/datadog/tracing/contrib/active_record/configuration/settings.rb +1 -1
  162. data/lib/datadog/tracing/contrib/active_record/utils.rb +1 -1
  163. data/lib/datadog/tracing/contrib/active_support/cache/instrumentation.rb +1 -1
  164. data/lib/datadog/tracing/contrib/active_support/configuration/settings.rb +1 -1
  165. data/lib/datadog/tracing/contrib/active_support/notifications/subscriber.rb +2 -2
  166. data/lib/datadog/tracing/contrib/active_support/notifications/subscription.rb +2 -2
  167. data/lib/datadog/tracing/contrib/aws/configuration/settings.rb +1 -1
  168. data/lib/datadog/tracing/contrib/aws/instrumentation.rb +1 -1
  169. data/lib/datadog/tracing/contrib/dalli/configuration/settings.rb +1 -1
  170. data/lib/datadog/tracing/contrib/dalli/instrumentation.rb +1 -1
  171. data/lib/datadog/tracing/contrib/delayed_job/plugin.rb +2 -2
  172. data/lib/datadog/tracing/contrib/elasticsearch/configuration/settings.rb +1 -1
  173. data/lib/datadog/tracing/contrib/elasticsearch/patcher.rb +3 -3
  174. data/lib/datadog/tracing/contrib/ethon/configuration/settings.rb +1 -1
  175. data/lib/datadog/tracing/contrib/ethon/easy_patch.rb +8 -8
  176. data/lib/datadog/tracing/contrib/ethon/multi_patch.rb +1 -1
  177. data/lib/datadog/tracing/contrib/excon/configuration/settings.rb +1 -1
  178. data/lib/datadog/tracing/contrib/excon/middleware.rb +7 -7
  179. data/lib/datadog/tracing/contrib/faraday/configuration/settings.rb +1 -1
  180. data/lib/datadog/tracing/contrib/faraday/middleware.rb +5 -5
  181. data/lib/datadog/tracing/contrib/grape/endpoint.rb +4 -4
  182. data/lib/datadog/tracing/contrib/graphql/patcher.rb +1 -1
  183. data/lib/datadog/tracing/contrib/graphql/unified_trace.rb +3 -3
  184. data/lib/datadog/tracing/contrib/grpc/configuration/settings.rb +1 -1
  185. data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/client.rb +2 -2
  186. data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/server.rb +1 -1
  187. data/lib/datadog/tracing/contrib/grpc.rb +1 -1
  188. data/lib/datadog/tracing/contrib/hanami/action_tracer.rb +1 -1
  189. data/lib/datadog/tracing/contrib/hanami/plugin.rb +1 -1
  190. data/lib/datadog/tracing/contrib/hanami/renderer_policy_tracing.rb +1 -1
  191. data/lib/datadog/tracing/contrib/hanami/router_tracing.rb +1 -1
  192. data/lib/datadog/tracing/contrib/http/configuration/settings.rb +1 -1
  193. data/lib/datadog/tracing/contrib/http/instrumentation.rb +6 -6
  194. data/lib/datadog/tracing/contrib/http.rb +1 -1
  195. data/lib/datadog/tracing/contrib/httpclient/configuration/settings.rb +1 -1
  196. data/lib/datadog/tracing/contrib/httpclient/instrumentation.rb +7 -7
  197. data/lib/datadog/tracing/contrib/httprb/configuration/settings.rb +1 -1
  198. data/lib/datadog/tracing/contrib/httprb/instrumentation.rb +5 -5
  199. data/lib/datadog/tracing/contrib/kafka/instrumentation/consumer.rb +2 -2
  200. data/lib/datadog/tracing/contrib/kafka/instrumentation/producer.rb +2 -2
  201. data/lib/datadog/tracing/contrib/karafka/monitor.rb +1 -1
  202. data/lib/datadog/tracing/contrib/karafka/patcher.rb +1 -1
  203. data/lib/datadog/tracing/contrib/karafka.rb +1 -1
  204. data/lib/datadog/tracing/contrib/lograge/patcher.rb +1 -1
  205. data/lib/datadog/tracing/contrib/mongodb/configuration/settings.rb +1 -1
  206. data/lib/datadog/tracing/contrib/mongodb/parsers.rb +1 -1
  207. data/lib/datadog/tracing/contrib/mongodb/subscribers.rb +1 -1
  208. data/lib/datadog/tracing/contrib/mysql2/configuration/settings.rb +1 -1
  209. data/lib/datadog/tracing/contrib/mysql2/instrumentation.rb +3 -3
  210. data/lib/datadog/tracing/contrib/opensearch/configuration/settings.rb +2 -2
  211. data/lib/datadog/tracing/contrib/opensearch/patcher.rb +3 -3
  212. data/lib/datadog/tracing/contrib/pg/configuration/settings.rb +1 -1
  213. data/lib/datadog/tracing/contrib/pg/instrumentation.rb +4 -4
  214. data/lib/datadog/tracing/contrib/presto/configuration/settings.rb +1 -1
  215. data/lib/datadog/tracing/contrib/presto/instrumentation.rb +4 -4
  216. data/lib/datadog/tracing/contrib/propagation/sql_comment.rb +1 -1
  217. data/lib/datadog/tracing/contrib/que/tracer.rb +1 -1
  218. data/lib/datadog/tracing/contrib/racecar/configuration/settings.rb +1 -1
  219. data/lib/datadog/tracing/contrib/racecar/events/batch.rb +1 -1
  220. data/lib/datadog/tracing/contrib/racecar/events/message.rb +1 -1
  221. data/lib/datadog/tracing/contrib/rack/middlewares.rb +3 -3
  222. data/lib/datadog/tracing/contrib/rack/patcher.rb +1 -1
  223. data/lib/datadog/tracing/contrib/rails/framework.rb +7 -7
  224. data/lib/datadog/tracing/contrib/rails/log_injection.rb +1 -1
  225. data/lib/datadog/tracing/contrib/rails/runner.rb +4 -4
  226. data/lib/datadog/tracing/contrib/redis/configuration/settings.rb +1 -1
  227. data/lib/datadog/tracing/contrib/redis/quantize.rb +1 -1
  228. data/lib/datadog/tracing/contrib/redis/tags.rb +1 -1
  229. data/lib/datadog/tracing/contrib/rest_client/configuration/settings.rb +1 -1
  230. data/lib/datadog/tracing/contrib/rest_client/request_patch.rb +8 -8
  231. data/lib/datadog/tracing/contrib/sequel/database.rb +1 -1
  232. data/lib/datadog/tracing/contrib/sequel/dataset.rb +1 -1
  233. data/lib/datadog/tracing/contrib/shoryuken/tracer.rb +1 -1
  234. data/lib/datadog/tracing/contrib/sidekiq/client_tracer.rb +2 -2
  235. data/lib/datadog/tracing/contrib/sidekiq/server_tracer.rb +2 -2
  236. data/lib/datadog/tracing/contrib/sidekiq.rb +1 -1
  237. data/lib/datadog/tracing/contrib/sinatra/tracer_middleware.rb +1 -1
  238. data/lib/datadog/tracing/contrib/status_range_env_parser.rb +1 -1
  239. data/lib/datadog/tracing/contrib/sucker_punch/instrumentation.rb +1 -1
  240. data/lib/datadog/tracing/contrib/trilogy/configuration/settings.rb +1 -1
  241. data/lib/datadog/tracing/contrib/trilogy/instrumentation.rb +3 -3
  242. data/lib/datadog/tracing/contrib/waterdrop/middleware.rb +2 -2
  243. data/lib/datadog/tracing/contrib/waterdrop.rb +1 -1
  244. data/lib/datadog/tracing/diagnostics/environment_logger.rb +1 -1
  245. data/lib/datadog/tracing/distributed/b3_multi.rb +1 -1
  246. data/lib/datadog/tracing/distributed/b3_single.rb +1 -1
  247. data/lib/datadog/tracing/distributed/baggage.rb +3 -3
  248. data/lib/datadog/tracing/distributed/datadog.rb +3 -3
  249. data/lib/datadog/tracing/distributed/propagation.rb +7 -7
  250. data/lib/datadog/tracing/distributed/trace_context.rb +1 -1
  251. data/lib/datadog/tracing/distributed/trace_state/open_telemetry.rb +1 -1
  252. data/lib/datadog/tracing/otel_thread_context.rb +3 -3
  253. data/lib/datadog/tracing/pipeline.rb +1 -1
  254. data/lib/datadog/tracing/sampling/priority_sampler.rb +1 -1
  255. data/lib/datadog/tracing/sampling/rule.rb +1 -1
  256. data/lib/datadog/tracing/sampling/rule_sampler.rb +1 -1
  257. data/lib/datadog/tracing/sampling/span/rule_parser.rb +2 -2
  258. data/lib/datadog/tracing/span_operation.rb +1 -1
  259. data/lib/datadog/tracing/trace_digest.rb +1 -1
  260. data/lib/datadog/tracing/trace_operation.rb +6 -6
  261. data/lib/datadog/tracing/tracer.rb +6 -6
  262. data/lib/datadog/tracing/transport/http/telemetry.rb +1 -1
  263. data/lib/datadog/tracing/transport/http.rb +2 -2
  264. data/lib/datadog/tracing/transport/io.rb +1 -1
  265. data/lib/datadog/tracing/transport/native.rb +3 -3
  266. data/lib/datadog/tracing/transport/statistics.rb +2 -2
  267. data/lib/datadog/tracing/transport/telemetry.rb +3 -1
  268. data/lib/datadog/tracing/transport/trace_formatter.rb +12 -12
  269. data/lib/datadog/tracing/transport/traces.rb +1 -1
  270. data/lib/datadog/tracing/utils.rb +1 -1
  271. data/lib/datadog/tracing/workers.rb +1 -1
  272. data/lib/datadog/version.rb +1 -1
  273. metadata +4 -3
@@ -17,7 +17,7 @@ module Datadog
17
17
  def rasp_enabled?
18
18
  # TODO this should take rasp_enabled flag from the settings in
19
19
  # the appsec component rather than reading global configuration.
20
- enabled? && Datadog.configuration.appsec.rasp_enabled
20
+ !!(enabled? && Datadog.configuration.appsec.rasp_enabled)
21
21
  end
22
22
 
23
23
  def active_context
@@ -60,16 +60,16 @@ module Datadog
60
60
  @configured_hostname = pick_from(
61
61
  DetectedConfiguration.new(
62
62
  friendly_name: "'c.agent.host'",
63
- value: settings.agent.host
63
+ value: settings.agent.host,
64
64
  ),
65
65
  DetectedConfiguration.new(
66
66
  friendly_name: "#{Datadog::Core::Configuration::Ext::Agent::ENV_DEFAULT_URL} environment variable",
67
- value: parsed_http_url&.hostname
67
+ value: parsed_http_url&.hostname,
68
68
  ),
69
69
  DetectedConfiguration.new(
70
70
  friendly_name: "#{Datadog::Core::Configuration::Ext::Agent::ENV_DEFAULT_HOST} environment variable",
71
- value: DATADOG_ENV[Datadog::Core::Configuration::Ext::Agent::ENV_DEFAULT_HOST]
72
- )
71
+ value: DATADOG_ENV[Datadog::Core::Configuration::Ext::Agent::ENV_DEFAULT_HOST],
72
+ ),
73
73
  )
74
74
  end
75
75
 
@@ -88,7 +88,7 @@ module Datadog
88
88
  try_parsing_as_integer(
89
89
  friendly_name: "#{Datadog::Core::Configuration::Ext::Agent::ENV_DEFAULT_PORT} environment variable",
90
90
  value: DATADOG_ENV[Datadog::Core::Configuration::Ext::Agent::ENV_DEFAULT_PORT],
91
- )
91
+ ),
92
92
  )
93
93
  end
94
94
 
@@ -103,7 +103,7 @@ module Datadog
103
103
  DetectedConfiguration.new(
104
104
  friendly_name: "#{Datadog::Core::Configuration::Ext::Agent::ENV_DEFAULT_URL} environment variable",
105
105
  value: parsed_url_ssl?,
106
- )
106
+ ),
107
107
  )
108
108
  end
109
109
 
@@ -119,7 +119,7 @@ module Datadog
119
119
  friendly_name: "#{Datadog::Core::Configuration::Ext::Agent::ENV_DEFAULT_TIMEOUT_SECONDS} " \
120
120
  "environment variable",
121
121
  value: DATADOG_ENV[Datadog::Core::Configuration::Ext::Agent::ENV_DEFAULT_TIMEOUT_SECONDS],
122
- )
122
+ ),
123
123
  )
124
124
  end
125
125
 
@@ -129,12 +129,12 @@ module Datadog
129
129
  @configured_uds_path = pick_from(
130
130
  DetectedConfiguration.new(
131
131
  friendly_name: "'c.agent.uds_path'",
132
- value: settings.agent.uds_path
132
+ value: settings.agent.uds_path,
133
133
  ),
134
134
  DetectedConfiguration.new(
135
135
  friendly_name: "#{Datadog::Core::Configuration::Ext::Agent::ENV_DEFAULT_URL} environment variable",
136
- value: parsed_url_uds_path
137
- )
136
+ value: parsed_url_uds_path,
137
+ ),
138
138
  )
139
139
  end
140
140
 
@@ -239,7 +239,7 @@ module Datadog
239
239
  friendly_name: "configuration of hostname/port for http/https use",
240
240
  value: "hostname: '#{hostname}', port: '#{port}'",
241
241
  ),
242
- ]
242
+ ],
243
243
  )
244
244
  end
245
245
 
@@ -269,7 +269,7 @@ module Datadog
269
269
  log_warning(
270
270
  "Invalid URI scheme '#{parsed.scheme}' for #{Datadog::Core::Configuration::Ext::Agent::ENV_DEFAULT_URL} " \
271
271
  "environment variable ('#{unparsed_url_from_env}'). " \
272
- "Ignoring the contents of #{Datadog::Core::Configuration::Ext::Agent::ENV_DEFAULT_URL}."
272
+ "Ignoring the contents of #{Datadog::Core::Configuration::Ext::Agent::ENV_DEFAULT_URL}.",
273
273
  )
274
274
  # rubocop:enable Layout/LineLength
275
275
 
@@ -297,7 +297,8 @@ module Datadog
297
297
  "Configuration mismatch: values differ between " \
298
298
  "#{detected_configurations_in_priority_order
299
299
  .map { |config| "#{config.friendly_name} (#{config.value.inspect})" }.join(" and ")}" \
300
- ". Using #{detected_configurations_in_priority_order.first.value.inspect} and ignoring other configuration."
300
+ ". Using #{detected_configurations_in_priority_order.first.value.inspect} and ignoring " \
301
+ "other configuration.",
301
302
  )
302
303
  end
303
304
 
@@ -48,7 +48,7 @@ module Datadog
48
48
  host_prefix: host_prefix,
49
49
  url_override: url_override,
50
50
  url_override_source: url_override_source,
51
- logger: logger
51
+ logger: logger,
52
52
  ).send(:call)
53
53
  end
54
54
 
@@ -162,7 +162,7 @@ module Datadog
162
162
  else
163
163
  log_warning(
164
164
  "Invalid URI scheme '#{parsed.scheme}' for #{url_override_source}. " \
165
- "Ignoring the contents of #{url_override_source}."
165
+ "Ignoring the contents of #{url_override_source}.",
166
166
  )
167
167
  nil
168
168
  end
@@ -129,7 +129,7 @@ module Datadog
129
129
  logger: logger,
130
130
  settings: settings,
131
131
  agent_settings: agent_settings,
132
- agent_info: agent_info
132
+ agent_info: agent_info,
133
133
  )
134
134
  rescue => e
135
135
  logger.warn("Failed to initialize Data Streams Monitoring: #{e.class}: #{e.message}")
@@ -519,7 +519,7 @@ module Datadog
519
519
  Datadog.logger.warn(
520
520
  "The profiling.advanced.preview_gvl_enabled setting has been deprecated for removal and " \
521
521
  "no longer does anything. Please remove it from your Datadog.configure block. " \
522
- "GVL profiling is now controlled by the profiling.advanced.gvl_enabled setting instead."
522
+ "GVL profiling is now controlled by the profiling.advanced.gvl_enabled setting instead.",
523
523
  )
524
524
  end
525
525
  end
@@ -646,10 +646,13 @@ module Datadog
646
646
  end
647
647
 
648
648
  # Whether the profiler samples include the class/module name in stack frames, like `Foo::Bar#baz`, or not (`baz`)
649
+ #
650
+ # @default `DD_PROFILING_EXPERIMENTAL_SHOW_CLASSES_ENABLED` environment variable as a boolean, otherwise `true`
649
651
  option :experimental_show_classes_enabled do |o|
650
652
  o.type :bool
651
653
  o.env "DD_PROFILING_EXPERIMENTAL_SHOW_CLASSES_ENABLED"
652
- o.default false
654
+ # Keep in sync with latest_show_classes in collectors_thread_context.c
655
+ o.default true
653
656
  end
654
657
  end
655
658
 
@@ -53,6 +53,7 @@ module Datadog
53
53
  "DD_DISABLE_DATADOG_RAILS",
54
54
  "DD_DYNAMIC_INSTRUMENTATION_CAPTURE_TIMEOUT_MS",
55
55
  "DD_DYNAMIC_INSTRUMENTATION_ENABLED",
56
+ "DD_DYNAMIC_INSTRUMENTATION_EVALUATION_TIMEOUT_MS",
56
57
  "DD_DYNAMIC_INSTRUMENTATION_MAX_TIME_TO_SERIALIZE",
57
58
  "DD_DYNAMIC_INSTRUMENTATION_PROBE_FILE",
58
59
  "DD_DYNAMIC_INSTRUMENTATION_REDACTED_IDENTIFIERS",
@@ -90,7 +90,7 @@ module Datadog
90
90
  replace_components!(configuration, @components)
91
91
  else
92
92
  build_components(configuration)
93
- end
93
+ end,
94
94
  )
95
95
  end
96
96
 
@@ -240,7 +240,7 @@ module Datadog
240
240
  logger_without_components.error(
241
241
  "Detected deadlock during datadog initialization: #{e.class}: #{e.message}. " \
242
242
  "Please report this at https://github.com/datadog/dd-trace-rb/blob/master/CONTRIBUTING.md#found-a-bug" \
243
- "\n\tSource:\n\t#{Array(e.backtrace).join("\n\t")}"
243
+ "\n\tSource:\n\t#{Array(e.backtrace).join("\n\t")}",
244
244
  )
245
245
  nil
246
246
  end
@@ -37,7 +37,7 @@ module Datadog
37
37
  agent_base_url: agent_base_url,
38
38
  ld_library_path: ld_library_path,
39
39
  path_to_crashtracking_receiver_binary: path_to_crashtracking_receiver_binary,
40
- logger: logger
40
+ logger: logger,
41
41
  ).tap(&:start)
42
42
  end
43
43
 
@@ -53,7 +53,7 @@ module Datadog
53
53
  end
54
54
  rescue => e
55
55
  logger.warn(
56
- "Failed to collect core environment information: #{e.class}: #{e.message} Location: #{Array(e.backtrace).first}"
56
+ "Failed to collect core environment information: #{e.class}: #{e.message} Location: #{Array(e.backtrace).first}",
57
57
  )
58
58
  end
59
59
  end
@@ -15,7 +15,7 @@ module Datadog
15
15
  :hierarchy,
16
16
  :controllers,
17
17
  :path,
18
- :inode
18
+ :inode,
19
19
  )
20
20
 
21
21
  module_function
@@ -52,7 +52,7 @@ module Datadog
52
52
  hierarchy,
53
53
  controllers,
54
54
  path,
55
- inode_for(controllers, path)
55
+ inode_for(controllers, path),
56
56
  )
57
57
  end
58
58
 
@@ -27,7 +27,7 @@ module Datadog
27
27
  :platform,
28
28
  :task_uid,
29
29
  :container_id,
30
- :inode
30
+ :inode,
31
31
  )
32
32
 
33
33
  module_function
@@ -108,7 +108,7 @@ module Datadog
108
108
  end
109
109
  rescue => e
110
110
  Datadog.logger.debug(
111
- "Error while checking cgroup namespace. Cause: #{e.class}: #{e.message} Location: #{Array(e.backtrace).first}"
111
+ "Error while checking cgroup namespace. Cause: #{e.class}: #{e.message} Location: #{Array(e.backtrace).first}",
112
112
  )
113
113
  false
114
114
  end
@@ -172,7 +172,7 @@ module Datadog
172
172
  @entry = Entry.new # Empty entry if no valid cgroup entry is found
173
173
  rescue => e
174
174
  Datadog.logger.debug(
175
- "Error while reading container entry. Cause: #{e.class}: #{e.message} Location: #{Array(e.backtrace).first}"
175
+ "Error while reading container entry. Cause: #{e.class}: #{e.message} Location: #{Array(e.backtrace).first}",
176
176
  )
177
177
  @entry = Entry.new unless defined?(@entry)
178
178
  @entry
@@ -101,7 +101,7 @@ module Datadog
101
101
  statsd.count(stat, value, metric_options(options))
102
102
  rescue => e
103
103
  logger.error(
104
- "Failed to send count stat. Cause: #{e.class}: #{e.message} Source: #{Array(e.backtrace).first}"
104
+ "Failed to send count stat. Cause: #{e.class}: #{e.message} Source: #{Array(e.backtrace).first}",
105
105
  )
106
106
  telemetry.report(e, description: "Failed to send count stat")
107
107
  end
@@ -115,7 +115,7 @@ module Datadog
115
115
  statsd.distribution(stat, value, metric_options(options))
116
116
  rescue => e
117
117
  logger.error(
118
- "Failed to send distribution stat. Cause: #{e.class}: #{e.message} Source: #{Array(e.backtrace).first}"
118
+ "Failed to send distribution stat. Cause: #{e.class}: #{e.message} Source: #{Array(e.backtrace).first}",
119
119
  )
120
120
  telemetry.report(e, description: "Failed to send distribution stat")
121
121
  end
@@ -128,7 +128,7 @@ module Datadog
128
128
  statsd.increment(stat, metric_options(options))
129
129
  rescue => e
130
130
  logger.error(
131
- "Failed to send increment stat. Cause: #{e.class}: #{e.message} Source: #{Array(e.backtrace).first}"
131
+ "Failed to send increment stat. Cause: #{e.class}: #{e.message} Source: #{Array(e.backtrace).first}",
132
132
  )
133
133
  telemetry.report(e, description: "Failed to send increment stat")
134
134
  end
@@ -142,7 +142,7 @@ module Datadog
142
142
  statsd.gauge(stat, value, metric_options(options))
143
143
  rescue => e
144
144
  logger.error(
145
- "Failed to send gauge stat. Cause: #{e.class}: #{e.message} Source: #{Array(e.backtrace).first}"
145
+ "Failed to send gauge stat. Cause: #{e.class}: #{e.message} Source: #{Array(e.backtrace).first}",
146
146
  )
147
147
  telemetry.report(e, description: "Failed to send gauge stat")
148
148
  end
@@ -162,7 +162,7 @@ module Datadog
162
162
  rescue => e
163
163
  # TODO: Likely to be redundant, since `distribution` handles its own errors.
164
164
  logger.error(
165
- "Failed to send time stat. Cause: #{e.class}: #{e.message} Source: #{Array(e.backtrace).first}"
165
+ "Failed to send time stat. Cause: #{e.class}: #{e.message} Source: #{Array(e.backtrace).first}",
166
166
  )
167
167
  telemetry.report(e, description: "Failed to send time stat")
168
168
  end
@@ -196,7 +196,7 @@ module Datadog
196
196
  IGNORED_STATSD_ONLY_ONCE.run do
197
197
  logger.warn(
198
198
  "Ignoring user-supplied statsd instance as currently-installed version of dogstastd-ruby is incompatible. " \
199
- "To fix this, ensure that you have `gem 'dogstatsd-ruby', '~> 5.3'` on your Gemfile or gems.rb file."
199
+ "To fix this, ensure that you have `gem 'dogstatsd-ruby', '~> 5.3'` on your Gemfile or gems.rb file.",
200
200
  )
201
201
  end
202
202
  end
@@ -26,7 +26,7 @@ module Datadog
26
26
  @file_descriptor = _native_store_tracer_metadata(
27
27
  Datadog.logger,
28
28
  settings.tracing.otel_thread_context_enabled,
29
- **metadata
29
+ **metadata,
30
30
  )
31
31
  end
32
32
 
@@ -13,13 +13,14 @@ module Datadog
13
13
  return if boot.nil?
14
14
  return if span.nil?
15
15
 
16
- return if Datadog::Core::Remote.active_remote.nil?
16
+ remote = Datadog::Core::Remote.active_remote
17
+ return if remote.nil?
17
18
 
18
19
  # TODO: this is not thread-consistent
19
- ready = Datadog::Core::Remote.active_remote.healthy
20
+ ready = remote.healthy
20
21
  status = ready ? "ready" : "disconnected"
21
22
 
22
- span.set_tag("_dd.rc.client_id", Datadog::Core::Remote.active_remote.client.id)
23
+ span.set_tag("_dd.rc.client_id", remote.client.id)
23
24
  span.set_tag("_dd.rc.status", status)
24
25
 
25
26
  if boot.barrier != :pass
@@ -40,7 +40,7 @@ module Datadog
40
40
  Core::Transport::HTTP.build(
41
41
  agent_settings: agent_settings,
42
42
  logger: logger,
43
- headers: headers
43
+ headers: headers,
44
44
  ) do |transport|
45
45
  transport.api "root", ROOT
46
46
 
@@ -59,7 +59,7 @@ module Datadog
59
59
  Core::Transport::HTTP.build(
60
60
  agent_settings: agent_settings,
61
61
  logger: logger,
62
- headers: headers
62
+ headers: headers,
63
63
  ) do |transport|
64
64
  transport.api "v7", V7
65
65
 
@@ -67,23 +67,23 @@ module Datadog
67
67
  # Only on Ruby < 3.2
68
68
  gauge_if_not_nil(
69
69
  Core::Runtime::Ext::Metrics::METRIC_GLOBAL_CONSTANT_STATE,
70
- Core::Environment::VMCache.global_constant_state
70
+ Core::Environment::VMCache.global_constant_state,
71
71
  )
72
72
 
73
73
  # Only on Ruby 2.x
74
74
  gauge_if_not_nil(
75
75
  Core::Runtime::Ext::Metrics::METRIC_GLOBAL_METHOD_STATE,
76
- Core::Environment::VMCache.global_method_state
76
+ Core::Environment::VMCache.global_method_state,
77
77
  )
78
78
 
79
79
  # Only on Ruby >= 3.2
80
80
  gauge_if_not_nil(
81
81
  Core::Runtime::Ext::Metrics::METRIC_CONSTANT_CACHE_INVALIDATIONS,
82
- Core::Environment::VMCache.constant_cache_invalidations
82
+ Core::Environment::VMCache.constant_cache_invalidations,
83
83
  )
84
84
  gauge_if_not_nil(
85
85
  Core::Runtime::Ext::Metrics::METRIC_CONSTANT_CACHE_MISSES,
86
- Core::Environment::VMCache.constant_cache_misses
86
+ Core::Environment::VMCache.constant_cache_misses,
87
87
  )
88
88
  end
89
89
  end
@@ -163,43 +163,43 @@ module Datadog
163
163
  if Core::Environment::YJIT.available?
164
164
  gauge_if_not_nil(
165
165
  Core::Runtime::Ext::Metrics::METRIC_YJIT_CODE_GC_COUNT,
166
- Core::Environment::YJIT.code_gc_count
166
+ Core::Environment::YJIT.code_gc_count,
167
167
  )
168
168
  gauge_if_not_nil(
169
169
  Core::Runtime::Ext::Metrics::METRIC_YJIT_CODE_REGION_SIZE,
170
- Core::Environment::YJIT.code_region_size
170
+ Core::Environment::YJIT.code_region_size,
171
171
  )
172
172
  gauge_if_not_nil(
173
173
  Core::Runtime::Ext::Metrics::METRIC_YJIT_FREED_CODE_SIZE,
174
- Core::Environment::YJIT.freed_code_size
174
+ Core::Environment::YJIT.freed_code_size,
175
175
  )
176
176
  gauge_if_not_nil(
177
177
  Core::Runtime::Ext::Metrics::METRIC_YJIT_FREED_PAGE_COUNT,
178
- Core::Environment::YJIT.freed_page_count
178
+ Core::Environment::YJIT.freed_page_count,
179
179
  )
180
180
  gauge_if_not_nil(
181
181
  Core::Runtime::Ext::Metrics::METRIC_YJIT_INLINE_CODE_SIZE,
182
- Core::Environment::YJIT.inline_code_size
182
+ Core::Environment::YJIT.inline_code_size,
183
183
  )
184
184
  gauge_if_not_nil(
185
185
  Core::Runtime::Ext::Metrics::METRIC_YJIT_LIVE_PAGE_COUNT,
186
- Core::Environment::YJIT.live_page_count
186
+ Core::Environment::YJIT.live_page_count,
187
187
  )
188
188
  gauge_if_not_nil(
189
189
  Core::Runtime::Ext::Metrics::METRIC_YJIT_OBJECT_SHAPE_COUNT,
190
- Core::Environment::YJIT.object_shape_count
190
+ Core::Environment::YJIT.object_shape_count,
191
191
  )
192
192
  gauge_if_not_nil(
193
193
  Core::Runtime::Ext::Metrics::METRIC_YJIT_OUTLINED_CODE_SIZE,
194
- Core::Environment::YJIT.outlined_code_size
194
+ Core::Environment::YJIT.outlined_code_size,
195
195
  )
196
196
  gauge_if_not_nil(
197
197
  Core::Runtime::Ext::Metrics::METRIC_YJIT_YJIT_ALLOC_SIZE,
198
- Core::Environment::YJIT.yjit_alloc_size
198
+ Core::Environment::YJIT.yjit_alloc_size,
199
199
  )
200
200
  gauge_if_not_nil(
201
201
  Core::Runtime::Ext::Metrics::METRIC_YJIT_RATIO_IN_YJIT,
202
- Core::Environment::YJIT.ratio_in_yjit
202
+ Core::Environment::YJIT.ratio_in_yjit,
203
203
  )
204
204
  end
205
205
  end
@@ -20,7 +20,9 @@ module Datadog
20
20
 
21
21
  def wait(timeout = nil)
22
22
  wake_lock.synchronize do
23
- wake.wait(wake_lock, timeout)
23
+ # ConditionVariable#wait accepts Numeric seconds at runtime; the
24
+ # bundled core signatures only model the Timeouts module form.
25
+ wake.wait(wake_lock, timeout) # steep:ignore ArgumentTypeMismatch
24
26
  end
25
27
  end
26
28
 
@@ -85,12 +85,12 @@ module Datadog
85
85
  conf_value(
86
86
  "DD_GIT_REPOSITORY_URL",
87
87
  Core::Environment::Git.git_repository_url,
88
- (Core::Environment::Git.git_repository_url ? Configuration::Option::Precedence::ENVIRONMENT : Configuration::Option::Precedence::DEFAULT)
88
+ (Core::Environment::Git.git_repository_url ? Configuration::Option::Precedence::ENVIRONMENT : Configuration::Option::Precedence::DEFAULT),
89
89
  ),
90
90
  conf_value(
91
91
  "DD_GIT_COMMIT_SHA",
92
92
  Core::Environment::Git.git_commit_sha,
93
- (Core::Environment::Git.git_commit_sha ? Configuration::Option::Precedence::ENVIRONMENT : Configuration::Option::Precedence::DEFAULT)
93
+ (Core::Environment::Git.git_commit_sha ? Configuration::Option::Precedence::ENVIRONMENT : Configuration::Option::Precedence::DEFAULT),
94
94
  ),
95
95
 
96
96
  # Mix of env var, programmatic and default config, so we use unknown
@@ -102,13 +102,13 @@ module Datadog
102
102
  list << conf_value(
103
103
  "tracing.auto_instrument.enabled",
104
104
  auto_instrument_enabled,
105
- auto_instrument_enabled ? Configuration::Option::Precedence::PROGRAMMATIC : Configuration::Option::Precedence::DEFAULT
105
+ auto_instrument_enabled ? Configuration::Option::Precedence::PROGRAMMATIC : Configuration::Option::Precedence::DEFAULT,
106
106
  )
107
107
  opentelemetry_enabled = !defined?(Datadog::OpenTelemetry::LOADED).nil?
108
108
  list << conf_value(
109
109
  "tracing.opentelemetry.enabled",
110
110
  opentelemetry_enabled,
111
- opentelemetry_enabled ? Configuration::Option::Precedence::PROGRAMMATIC : Configuration::Option::Precedence::DEFAULT
111
+ opentelemetry_enabled ? Configuration::Option::Precedence::PROGRAMMATIC : Configuration::Option::Precedence::DEFAULT,
112
112
  )
113
113
 
114
114
  # Track ssi configurations
@@ -124,17 +124,17 @@ module Datadog
124
124
  conf_value(
125
125
  "instrumentation_source",
126
126
  instrumentation_source,
127
- (instrumentation_source == "ssi") ? Configuration::Option::Precedence::PROGRAMMATIC : Configuration::Option::Precedence::DEFAULT
127
+ (instrumentation_source == "ssi") ? Configuration::Option::Precedence::PROGRAMMATIC : Configuration::Option::Precedence::DEFAULT,
128
128
  ),
129
129
  conf_value(
130
130
  "DD_INJECT_FORCE",
131
131
  Core::Environment::VariableHelpers.env_to_bool("DD_INJECT_FORCE", false),
132
- (DATADOG_ENV.key?("DD_INJECT_FORCE") ? Configuration::Option::Precedence::ENVIRONMENT : Configuration::Option::Precedence::DEFAULT)
132
+ (DATADOG_ENV.key?("DD_INJECT_FORCE") ? Configuration::Option::Precedence::ENVIRONMENT : Configuration::Option::Precedence::DEFAULT),
133
133
  ),
134
134
  conf_value(
135
135
  "DD_INJECTION_ENABLED",
136
136
  DATADOG_ENV["DD_INJECTION_ENABLED"] || "",
137
- (DATADOG_ENV.key?("DD_INJECTION_ENABLED") ? Configuration::Option::Precedence::ENVIRONMENT : Configuration::Option::Precedence::DEFAULT)
137
+ (DATADOG_ENV.key?("DD_INJECTION_ENABLED") ? Configuration::Option::Precedence::ENVIRONMENT : Configuration::Option::Precedence::DEFAULT),
138
138
  ),
139
139
  )
140
140
 
@@ -144,13 +144,13 @@ module Datadog
144
144
  "tracing.writer_options.buffer_size",
145
145
  # Steep: Value is always a hash for writer_options (ensured by o.type :hash)
146
146
  to_telemetry_value(value[:buffer_size]), # steep:ignore NoMethod
147
- precedence
147
+ precedence,
148
148
  )
149
149
  list << conf_value(
150
150
  "tracing.writer_options.flush_interval",
151
151
  # Steep: Value is always a hash for writer_options (ensured by o.type :hash)
152
152
  to_telemetry_value(value[:flush_interval]), # steep:ignore NoMethod
153
- precedence
153
+ precedence,
154
154
  )
155
155
  end
156
156
 
@@ -42,7 +42,7 @@ module Datadog
42
42
  telemetry
43
43
  else
44
44
  Datadog.logger.warn(
45
- "Failed to send telemetry before components initialization or within components lifecycle"
45
+ "Failed to send telemetry before components initialization or within components lifecycle",
46
46
  )
47
47
  nil
48
48
  end
@@ -63,7 +63,7 @@ module Datadog
63
63
  event = Event::Log.new(
64
64
  message: message,
65
65
  level: level,
66
- stack_trace: DatadogStackTrace.from(exception)
66
+ stack_trace: DatadogStackTrace.from(exception),
67
67
  )
68
68
 
69
69
  log!(event)
@@ -28,6 +28,14 @@ module Datadog
28
28
 
29
29
  private
30
30
 
31
+ # The `ci` settings member exists only when the datadog-ci gem is
32
+ # loaded, so check for it before reading.
33
+ def datadog_ci_enabled?(config)
34
+ return false unless defined?(::Datadog::CI::VERSION) && config.respond_to?(:ci)
35
+
36
+ config.ci.enabled # steep:ignore NoMethod
37
+ end
38
+
31
39
  def application
32
40
  config = Datadog.configuration
33
41
 
@@ -38,9 +46,7 @@ module Datadog
38
46
  #
39
47
  # This code checks that Datadog::CI is loaded and ci mode is enabled and adds
40
48
  # "-ci-X.Y.Z" suffix to the tracer version.
41
- if defined?(::Datadog::CI::VERSION) && config.respond_to?(:ci) && config.ci.enabled
42
- tracer_version = "#{tracer_version}-ci-#{::Datadog::CI::VERSION::STRING}"
43
- end
49
+ tracer_version = "#{tracer_version}-ci-#{::Datadog::CI::VERSION::STRING}" if datadog_ci_enabled?(config)
44
50
 
45
51
  app = {
46
52
  env: config.env,
@@ -33,7 +33,7 @@ module Datadog
33
33
  Core::Transport::HTTP.build(
34
34
  logger: logger,
35
35
  agent_settings: agent_settings,
36
- headers: headers
36
+ headers: headers,
37
37
  ) do |transport|
38
38
  transport.api "agentless_telemetry", AGENTLESS_TELEMETRY
39
39
  # Call block to apply any customization, if provided
@@ -53,7 +53,7 @@ module Datadog
53
53
  Core::Transport::HTTP.build(
54
54
  logger: logger,
55
55
  agent_settings: agent_settings,
56
- headers: headers
56
+ headers: headers,
57
57
  ) do |transport|
58
58
  transport.api "agent_telemetry", AGENT_TELEMETRY
59
59
 
@@ -286,7 +286,7 @@ module Datadog
286
286
  # 2) don't want to keep a permanent reference to in any case.
287
287
  # Therefore we have this +reset!+ method that changes the
288
288
  # event type while keeping the payload.
289
- @initial_event.reset! # steep:ignore NoMethod
289
+ @initial_event.reset!
290
290
  end
291
291
 
292
292
  if enabled? && !worker.nil?
@@ -69,7 +69,7 @@ module Datadog
69
69
  post = ::Datadog::Core::Vendor::Net::HTTP::Post::Multipart.new(
70
70
  env.path,
71
71
  env.form,
72
- env.headers
72
+ env.headers,
73
73
  )
74
74
  end
75
75
 
@@ -37,7 +37,7 @@ module Datadog
37
37
  connection = HTTP.new(
38
38
  uds_path,
39
39
  read_timeout: timeout,
40
- continue_timeout: timeout
40
+ continue_timeout: timeout,
41
41
  )
42
42
 
43
43
  connection.start(&block)
@@ -114,7 +114,7 @@ module Datadog
114
114
  instances[key] = API::Instance.new(
115
115
  spec,
116
116
  adapter,
117
- api_options
117
+ api_options,
118
118
  )
119
119
 
120
120
  # Configure fallback, if provided.
@@ -15,15 +15,15 @@ module Datadog
15
15
  # Add adapters to registry
16
16
  Builder::REGISTRY.set(
17
17
  Core::Transport::HTTP::Adapters::Net,
18
- Core::Configuration::Ext::Agent::HTTP::ADAPTER
18
+ Core::Configuration::Ext::Agent::HTTP::ADAPTER,
19
19
  )
20
20
  Builder::REGISTRY.set(
21
21
  Core::Transport::HTTP::Adapters::Test,
22
- Core::Transport::Ext::Test::ADAPTER
22
+ Core::Transport::Ext::Test::ADAPTER,
23
23
  )
24
24
  Builder::REGISTRY.set(
25
25
  Core::Transport::HTTP::Adapters::UnixSocket,
26
- Core::Transport::Ext::UnixSocket::ADAPTER
26
+ Core::Transport::Ext::UnixSocket::ADAPTER,
27
27
  )
28
28
 
29
29
  module_function