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
@@ -207,7 +207,7 @@ module Datadog
207
207
  trace_otel_threshold: trace_otel_threshold,
208
208
  trace_otel_unknown_fields: trace_otel_unknown_fields,
209
209
  span_remote: span_remote,
210
- baggage: baggage, **field_value_pairs
210
+ baggage: baggage, **field_value_pairs,
211
211
  )
212
212
  end
213
213
  end
@@ -266,7 +266,7 @@ module Datadog
266
266
  start_time: start_time,
267
267
  tags: tags,
268
268
  type: type,
269
- id: id
269
+ id: id,
270
270
  )
271
271
 
272
272
  # Start span measurement
@@ -327,7 +327,7 @@ module Datadog
327
327
  tags: tags,
328
328
  trace_id: trace_id,
329
329
  type: type,
330
- id: id
330
+ id: id,
331
331
  )
332
332
  rescue => e
333
333
  logger.debug { "Failed to build new span: #{e.class}: #{e.message}" }
@@ -422,7 +422,7 @@ module Datadog
422
422
  trace_otel_threshold: open_telemetry.threshold,
423
423
  trace_otel_unknown_fields: open_telemetry.unknown_fields,
424
424
  span_remote: @remote_parent && @active_span.nil?,
425
- baggage: (@baggage.nil? || @baggage.empty?) ? nil : @baggage
425
+ baggage: (@baggage.nil? || @baggage.empty?) ? nil : @baggage,
426
426
  ).freeze
427
427
  end
428
428
 
@@ -433,7 +433,7 @@ module Datadog
433
433
 
434
434
  Correlation::Identifier.new(
435
435
  trace_id: @id,
436
- span_id: span_id
436
+ span_id: span_id,
437
437
  )
438
438
  end
439
439
 
@@ -460,7 +460,7 @@ module Datadog
460
460
  tags: meta.dup,
461
461
  metrics: metrics.dup,
462
462
  remote_parent: @remote_parent,
463
- distributed_sampling_priority: @distributed_sampling_priority
463
+ distributed_sampling_priority: @distributed_sampling_priority,
464
464
  )
465
465
  end
466
466
 
@@ -640,7 +640,7 @@ module Datadog
640
640
  metrics: metrics,
641
641
  root_span_id: (!partial) ? root_span&.id : nil,
642
642
  profiling_enabled: @profiling_enabled,
643
- apm_tracing_enabled: @apm_tracing_enabled
643
+ apm_tracing_enabled: @apm_tracing_enabled,
644
644
  )
645
645
  end
646
646
 
@@ -59,7 +59,7 @@ module Datadog
59
59
  otel_thread_context: nil,
60
60
  sampler: Sampling::PrioritySampler.new(
61
61
  base_sampler: Sampling::AllSampler.new,
62
- post_sampler: Sampling::RuleSampler.new
62
+ post_sampler: Sampling::RuleSampler.new,
63
63
  ),
64
64
  span_sampler: Sampling::Span::Sampler.new,
65
65
  tags: {},
@@ -80,7 +80,7 @@ module Datadog
80
80
  @otel_thread_context = otel_thread_context
81
81
 
82
82
  @provider = context_provider || DefaultContextProvider.new(
83
- otel_thread_context: otel_thread_context
83
+ otel_thread_context: otel_thread_context,
84
84
  )
85
85
  end
86
86
 
@@ -195,7 +195,7 @@ module Datadog
195
195
  tags: tags,
196
196
  type: type,
197
197
  _trace: trace,
198
- id: id
198
+ id: id,
199
199
  )
200
200
  end
201
201
  end
@@ -406,7 +406,7 @@ module Datadog
406
406
  distributed_sampling_priority: !!sampling_priority,
407
407
  tracer: self,
408
408
  baggage: digest.baggage,
409
- auto_finish: auto_finish
409
+ auto_finish: auto_finish,
410
410
  )
411
411
  else
412
412
  TraceOperation.new(
@@ -416,7 +416,7 @@ module Datadog
416
416
  apm_tracing_enabled: apm_tracing_enabled,
417
417
  remote_parent: false,
418
418
  tracer: self,
419
- auto_finish: auto_finish
419
+ auto_finish: auto_finish,
420
420
  )
421
421
  end
422
422
  end
@@ -516,7 +516,7 @@ module Datadog
516
516
  start_time: start_time,
517
517
  tags: resolve_tags(tags, service),
518
518
  type: type,
519
- id: id
519
+ id: id,
520
520
  )
521
521
 
522
522
  span.start(start_time)
@@ -36,7 +36,7 @@ module Datadog
36
36
 
37
37
  def serialization_failed
38
38
  @reporter.record(chunks_dropped_serialization_error: @remaining_chunks,
39
- spans_dropped_serialization_error: @remaining_spans,)
39
+ spans_dropped_serialization_error: @remaining_spans)
40
40
  end
41
41
 
42
42
  def sent(request, response, chunks, spans, bytes, fallback:)
@@ -15,7 +15,7 @@ module Datadog
15
15
  V4 = Traces::API::Endpoint.new(
16
16
  "/v0.4/traces",
17
17
  Core::Encoding::MsgpackEncoder,
18
- service_rates: true
18
+ service_rates: true,
19
19
  )
20
20
 
21
21
  V3 = Traces::API::Endpoint.new(
@@ -35,7 +35,7 @@ module Datadog
35
35
  Core::Transport::HTTP.build(
36
36
  agent_settings: agent_settings,
37
37
  logger: logger,
38
- headers: headers
38
+ headers: headers,
39
39
  ) do |transport|
40
40
  transport.api "v0.4", V4, fallback: "v0.3", default: true
41
41
  transport.api "v0.3", V3
@@ -21,7 +21,7 @@ module Datadog
21
21
  def default(options = {})
22
22
  new(
23
23
  options.fetch(:out, $stdout),
24
- options.fetch(:encoder, Core::Encoding::JSONEncoder)
24
+ options.fetch(:encoder, Core::Encoding::JSONEncoder),
25
25
  )
26
26
  end
27
27
  end
@@ -104,7 +104,7 @@ module Datadog
104
104
  env: env,
105
105
  service: service,
106
106
  version: version,
107
- client_computed_stats: !Datadog.configuration.apm.tracing.enabled
107
+ client_computed_stats: !Datadog.configuration.apm.tracing.enabled,
108
108
  )
109
109
  @exporter = exporter
110
110
 
@@ -208,7 +208,7 @@ module Datadog
208
208
  @fork_hooks = Core::Utils::AtForkMonkeyPatch.at_fork_blocks(
209
209
  before: before_hook,
210
210
  parent: parent_hook,
211
- child: child_hook
211
+ child: child_hook,
212
212
  )
213
213
  remove_fork_hooks = self.class.send(:fork_hooks_remover, @fork_hooks)
214
214
 
@@ -221,7 +221,7 @@ module Datadog
221
221
  # them through its matching completion stage.
222
222
  ObjectSpace.define_finalizer(
223
223
  self,
224
- remove_fork_hooks
224
+ remove_fork_hooks,
225
225
  )
226
226
  end
227
227
 
@@ -25,7 +25,7 @@ module Datadog
25
25
 
26
26
  # Send health metrics
27
27
  Datadog.health_metrics.send_metrics(
28
- metrics_for_response(response).values
28
+ metrics_for_response(response).values,
29
29
  )
30
30
  end
31
31
 
@@ -42,7 +42,7 @@ module Datadog
42
42
 
43
43
  # Send health metrics
44
44
  Datadog.health_metrics.send_metrics(
45
- metrics_for_exception(exception).values
45
+ metrics_for_exception(exception).values,
46
46
  )
47
47
  end
48
48
 
@@ -21,10 +21,12 @@ module Datadog
21
21
  chunks_dropped_serialization_error: ["trace_chunks_dropped", ["reason:serialization_error"]],
22
22
  chunks_dropped_send_failure: ["trace_chunks_dropped", ["reason:send_failure"]],
23
23
  chunks_dropped_payload_too_large: ["trace_chunks_dropped", ["reason:payload_too_large"]],
24
+ chunks_dropped_cancelled: ["trace_chunks_dropped", ["reason:cancelled"]],
24
25
  spans_enqueued_for_serialization: ["spans_enqueued_for_serialization", []],
25
26
  spans_dropped_serialization_error: ["spans_dropped", ["reason:serialization_error"]],
26
27
  spans_dropped_api_error: ["spans_dropped", ["reason:api_error"]],
27
28
  spans_dropped_payload_too_large: ["spans_dropped", ["reason:payload_too_large"]],
29
+ spans_dropped_cancelled: ["spans_dropped", ["reason:cancelled"]],
28
30
  }.freeze #: Hash[Symbol, [String, Array[String]]]
29
31
 
30
32
  attr_writer :client
@@ -50,7 +52,7 @@ module Datadog
50
52
  responses = observations.fetch(:responses_count, 0)
51
53
  if responses > 0
52
54
  client.inc("tracers", "trace_api.responses", responses,
53
- tags: @source_tags + ["status_code:#{observations.fetch(:status_code)}"],)
55
+ tags: @source_tags + ["status_code:#{observations.fetch(:status_code)}"])
54
56
  end
55
57
  nil
56
58
  rescue
@@ -101,7 +101,7 @@ module Datadog
101
101
 
102
102
  root_span.set_tag(
103
103
  Tracing::Metadata::Ext::Sampling::TAG_AGENT_RATE,
104
- trace.agent_sample_rate
104
+ trace.agent_sample_rate,
105
105
  )
106
106
  end
107
107
 
@@ -110,7 +110,7 @@ module Datadog
110
110
 
111
111
  root_span.set_tag(
112
112
  Tracing::Metadata::Ext::NET::TAG_HOSTNAME,
113
- trace.hostname
113
+ trace.hostname,
114
114
  )
115
115
  end
116
116
 
@@ -120,7 +120,7 @@ module Datadog
120
120
 
121
121
  root_span.set_tag(
122
122
  Tracing::Metadata::Ext::Distributed::TAG_KNUTH_SAMPLING_RATE,
123
- format("%.6f", (rate * 1e6).round / 1e6).sub(/\.?0+\z/, "")
123
+ format("%.6f", (rate * 1e6).round / 1e6).sub(/\.?0+\z/, ""),
124
124
  )
125
125
  end
126
126
 
@@ -129,7 +129,7 @@ module Datadog
129
129
 
130
130
  root_span.set_tag(
131
131
  Core::Runtime::Ext::TAG_LANG,
132
- trace.lang
132
+ trace.lang,
133
133
  )
134
134
  end
135
135
 
@@ -138,7 +138,7 @@ module Datadog
138
138
 
139
139
  root_span.set_tag(
140
140
  Tracing::Metadata::Ext::Distributed::TAG_ORIGIN,
141
- trace.origin
141
+ trace.origin,
142
142
  )
143
143
  end
144
144
 
@@ -153,7 +153,7 @@ module Datadog
153
153
 
154
154
  root_span.set_tag(
155
155
  Tracing::Metadata::Ext::Sampling::TAG_RATE_LIMITER_RATE,
156
- trace.rate_limiter_rate
156
+ trace.rate_limiter_rate,
157
157
  )
158
158
  end
159
159
 
@@ -162,7 +162,7 @@ module Datadog
162
162
 
163
163
  root_span.set_tag(
164
164
  Tracing::Metadata::Ext::Sampling::TAG_RULE_SAMPLE_RATE,
165
- trace.rule_sample_rate
165
+ trace.rule_sample_rate,
166
166
  )
167
167
  end
168
168
 
@@ -171,7 +171,7 @@ module Datadog
171
171
 
172
172
  root_span.set_tag(
173
173
  Core::Runtime::Ext::TAG_ID,
174
- trace.runtime_id
174
+ trace.runtime_id,
175
175
  )
176
176
  end
177
177
 
@@ -180,7 +180,7 @@ module Datadog
180
180
 
181
181
  root_span.set_tag(
182
182
  Tracing::Metadata::Ext::Sampling::TAG_SAMPLE_RATE,
183
- trace.sample_rate
183
+ trace.sample_rate,
184
184
  )
185
185
  end
186
186
 
@@ -195,7 +195,7 @@ module Datadog
195
195
 
196
196
  root_span.set_metric(
197
197
  Tracing::Metadata::Ext::Distributed::TAG_SAMPLING_PRIORITY,
198
- trace.sampling_priority
198
+ trace.sampling_priority,
199
199
  )
200
200
  end
201
201
 
@@ -209,7 +209,7 @@ module Datadog
209
209
  return if trace.profiling_enabled.nil?
210
210
 
211
211
  root_span.set_tag(
212
- Tracing::Metadata::Ext::TAG_PROFILING_ENABLED, trace.profiling_enabled ? 1 : 0
212
+ Tracing::Metadata::Ext::TAG_PROFILING_ENABLED, trace.profiling_enabled ? 1 : 0,
213
213
  )
214
214
  end
215
215
 
@@ -236,7 +236,7 @@ module Datadog
236
236
 
237
237
  first_span.set_tag(
238
238
  Core::Environment::Ext::TAG_PROCESS_TAGS,
239
- Core::Environment::Process.serialized
239
+ Core::Environment::Process.serialized,
240
240
  )
241
241
  end
242
242
 
@@ -120,7 +120,7 @@ module Datadog
120
120
  encoder,
121
121
  trace,
122
122
  logger: logger,
123
- native_events_supported: @native_events_supported
123
+ native_events_supported: @native_events_supported,
124
124
  )
125
125
  rescue
126
126
  @batch&.serialization_failed
@@ -78,7 +78,7 @@ module Datadog
78
78
 
79
79
  concatenate(
80
80
  Core::Utils::Time.now.to_i << 32,
81
- Utils.next_id
81
+ Utils.next_id,
82
82
  )
83
83
  end
84
84
 
@@ -59,7 +59,7 @@ module Datadog
59
59
  # a fatal exception
60
60
  logger.warn(
61
61
  "Error during traces flush: dropped #{traces.length} items. " \
62
- "Cause: #{e.class}: #{e.message} Location: #{Array(e.backtrace).first}"
62
+ "Cause: #{e.class}: #{e.message} Location: #{Array(e.backtrace).first}",
63
63
  )
64
64
  end
65
65
  end
@@ -3,7 +3,7 @@
3
3
  module Datadog
4
4
  module VERSION
5
5
  MAJOR = 2
6
- MINOR = 47
6
+ MINOR = 48
7
7
  PATCH = 0
8
8
  PRE = nil
9
9
  BUILD = nil
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: datadog
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.47.0
4
+ version: 2.48.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Datadog, Inc.
@@ -610,6 +610,7 @@ files:
610
610
  - lib/datadog/open_feature/ext.rb
611
611
  - lib/datadog/open_feature/flag_evaluation/aggregator.rb
612
612
  - lib/datadog/open_feature/flag_evaluation/writer.rb
613
+ - lib/datadog/open_feature/hooks/debug_logging_hook.rb
613
614
  - lib/datadog/open_feature/hooks/evaluation_telemetry_opt_out_hook.rb
614
615
  - lib/datadog/open_feature/hooks/flag_eval_evp_hook.rb
615
616
  - lib/datadog/open_feature/hooks/flag_eval_metrics_hook.rb
@@ -1199,8 +1200,8 @@ licenses:
1199
1200
  - Apache-2.0
1200
1201
  metadata:
1201
1202
  allowed_push_host: https://rubygems.org
1202
- changelog_uri: https://github.com/DataDog/dd-trace-rb/blob/v2.47.0/CHANGELOG.md
1203
- source_code_uri: https://github.com/DataDog/dd-trace-rb/tree/v2.47.0
1203
+ changelog_uri: https://github.com/DataDog/dd-trace-rb/blob/v2.48.0/CHANGELOG.md
1204
+ source_code_uri: https://github.com/DataDog/dd-trace-rb/tree/v2.48.0
1204
1205
  post_install_message: 'JRuby support in the datadog gem is deprecated. Details: https://dtdg.co/jruby-deprecation'
1205
1206
  rdoc_options: []
1206
1207
  require_paths: