datadog 2.12.0 → 2.22.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 (570) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +348 -1
  3. data/README.md +0 -1
  4. data/ext/LIBDATADOG_DEVELOPMENT.md +60 -0
  5. data/ext/datadog_profiling_native_extension/collectors_cpu_and_wall_time_worker.c +63 -56
  6. data/ext/datadog_profiling_native_extension/collectors_discrete_dynamic_sampler.c +1 -1
  7. data/ext/datadog_profiling_native_extension/collectors_stack.c +263 -76
  8. data/ext/datadog_profiling_native_extension/collectors_stack.h +20 -3
  9. data/ext/datadog_profiling_native_extension/collectors_thread_context.c +78 -26
  10. data/ext/datadog_profiling_native_extension/collectors_thread_context.h +1 -0
  11. data/ext/datadog_profiling_native_extension/datadog_ruby_common.c +1 -4
  12. data/ext/datadog_profiling_native_extension/datadog_ruby_common.h +10 -0
  13. data/ext/datadog_profiling_native_extension/encoded_profile.c +79 -0
  14. data/ext/datadog_profiling_native_extension/encoded_profile.h +8 -0
  15. data/ext/datadog_profiling_native_extension/extconf.rb +10 -0
  16. data/ext/datadog_profiling_native_extension/heap_recorder.c +247 -364
  17. data/ext/datadog_profiling_native_extension/heap_recorder.h +4 -6
  18. data/ext/datadog_profiling_native_extension/http_transport.c +60 -94
  19. data/ext/datadog_profiling_native_extension/libdatadog_helpers.c +22 -0
  20. data/ext/datadog_profiling_native_extension/libdatadog_helpers.h +8 -5
  21. data/ext/datadog_profiling_native_extension/private_vm_api_access.c +41 -21
  22. data/ext/datadog_profiling_native_extension/private_vm_api_access.h +6 -4
  23. data/ext/datadog_profiling_native_extension/profiling.c +2 -0
  24. data/ext/datadog_profiling_native_extension/ruby_helpers.c +1 -13
  25. data/ext/datadog_profiling_native_extension/ruby_helpers.h +3 -11
  26. data/ext/datadog_profiling_native_extension/stack_recorder.c +173 -76
  27. data/ext/libdatadog_api/crashtracker.c +11 -12
  28. data/ext/libdatadog_api/crashtracker.h +5 -0
  29. data/ext/libdatadog_api/datadog_ruby_common.c +1 -4
  30. data/ext/libdatadog_api/datadog_ruby_common.h +10 -0
  31. data/ext/libdatadog_api/ddsketch.c +106 -0
  32. data/ext/libdatadog_api/extconf.rb +5 -3
  33. data/ext/libdatadog_api/init.c +18 -0
  34. data/ext/libdatadog_api/library_config.c +172 -0
  35. data/ext/libdatadog_api/library_config.h +25 -0
  36. data/ext/libdatadog_api/process_discovery.c +118 -0
  37. data/ext/libdatadog_api/process_discovery.h +5 -0
  38. data/ext/libdatadog_extconf_helpers.rb +15 -5
  39. data/lib/datadog/appsec/actions_handler/serializable_backtrace.rb +89 -0
  40. data/lib/datadog/appsec/actions_handler.rb +24 -2
  41. data/lib/datadog/appsec/anonymizer.rb +16 -0
  42. data/lib/datadog/appsec/api_security/endpoint_collection/grape_route_serializer.rb +26 -0
  43. data/lib/datadog/appsec/api_security/endpoint_collection/rails_collector.rb +59 -0
  44. data/lib/datadog/appsec/api_security/endpoint_collection/rails_route_serializer.rb +29 -0
  45. data/lib/datadog/appsec/api_security/endpoint_collection/sinatra_route_serializer.rb +26 -0
  46. data/lib/datadog/appsec/api_security/endpoint_collection.rb +10 -0
  47. data/lib/datadog/appsec/api_security/lru_cache.rb +56 -0
  48. data/lib/datadog/appsec/api_security/route_extractor.rb +75 -0
  49. data/lib/datadog/appsec/api_security/sampler.rb +59 -0
  50. data/lib/datadog/appsec/api_security.rb +23 -0
  51. data/lib/datadog/appsec/assets/waf_rules/README.md +44 -5
  52. data/lib/datadog/appsec/assets/waf_rules/recommended.json +601 -74
  53. data/lib/datadog/appsec/assets/waf_rules/strict.json +48 -75
  54. data/lib/datadog/appsec/autoload.rb +2 -2
  55. data/lib/datadog/appsec/component.rb +46 -71
  56. data/lib/datadog/appsec/compressed_json.rb +40 -0
  57. data/lib/datadog/appsec/configuration/settings.rb +162 -30
  58. data/lib/datadog/appsec/context.rb +30 -7
  59. data/lib/datadog/appsec/contrib/active_record/instrumentation.rb +35 -18
  60. data/lib/datadog/appsec/contrib/active_record/integration.rb +2 -2
  61. data/lib/datadog/appsec/contrib/active_record/patcher.rb +62 -11
  62. data/lib/datadog/appsec/contrib/auto_instrument.rb +1 -1
  63. data/lib/datadog/appsec/contrib/devise/configuration.rb +7 -31
  64. data/lib/datadog/appsec/contrib/devise/data_extractor.rb +78 -0
  65. data/lib/datadog/appsec/contrib/devise/ext.rb +22 -0
  66. data/lib/datadog/appsec/contrib/devise/integration.rb +1 -2
  67. data/lib/datadog/appsec/contrib/devise/patcher.rb +34 -23
  68. data/lib/datadog/appsec/contrib/devise/patches/signin_tracking_patch.rb +103 -0
  69. data/lib/datadog/appsec/contrib/devise/patches/signup_tracking_patch.rb +70 -0
  70. data/lib/datadog/appsec/contrib/devise/{patcher/rememberable_patch.rb → patches/skip_signin_tracking_patch.rb} +2 -2
  71. data/lib/datadog/appsec/contrib/devise/tracking_middleware.rb +106 -0
  72. data/lib/datadog/appsec/contrib/excon/integration.rb +1 -1
  73. data/lib/datadog/appsec/contrib/excon/ssrf_detection_middleware.rb +11 -12
  74. data/lib/datadog/appsec/contrib/faraday/integration.rb +1 -1
  75. data/lib/datadog/appsec/contrib/faraday/ssrf_detection_middleware.rb +10 -10
  76. data/lib/datadog/appsec/contrib/graphql/gateway/watcher.rb +10 -9
  77. data/lib/datadog/appsec/contrib/graphql/integration.rb +1 -1
  78. data/lib/datadog/appsec/contrib/rack/ext.rb +34 -0
  79. data/lib/datadog/appsec/contrib/rack/gateway/watcher.rb +53 -31
  80. data/lib/datadog/appsec/contrib/rack/integration.rb +1 -1
  81. data/lib/datadog/appsec/contrib/rack/request_middleware.rb +52 -44
  82. data/lib/datadog/appsec/contrib/rails/gateway/watcher.rb +35 -11
  83. data/lib/datadog/appsec/contrib/rails/integration.rb +1 -1
  84. data/lib/datadog/appsec/contrib/rails/patcher.rb +65 -47
  85. data/lib/datadog/appsec/contrib/rails/patches/process_action_patch.rb +27 -0
  86. data/lib/datadog/appsec/contrib/rails/patches/render_to_body_patch.rb +33 -0
  87. data/lib/datadog/appsec/contrib/rest_client/integration.rb +1 -1
  88. data/lib/datadog/appsec/contrib/rest_client/request_ssrf_detection_patch.rb +12 -12
  89. data/lib/datadog/appsec/contrib/sinatra/gateway/watcher.rb +45 -22
  90. data/lib/datadog/appsec/contrib/sinatra/integration.rb +1 -1
  91. data/lib/datadog/appsec/contrib/sinatra/patcher.rb +8 -18
  92. data/lib/datadog/appsec/contrib/sinatra/patches/json_patch.rb +31 -0
  93. data/lib/datadog/appsec/event.rb +91 -147
  94. data/lib/datadog/appsec/ext.rb +4 -2
  95. data/lib/datadog/appsec/instrumentation/gateway/argument.rb +23 -2
  96. data/lib/datadog/appsec/instrumentation/gateway/middleware.rb +24 -0
  97. data/lib/datadog/appsec/instrumentation/gateway.rb +17 -22
  98. data/lib/datadog/appsec/metrics/collector.rb +23 -3
  99. data/lib/datadog/appsec/metrics/telemetry.rb +2 -2
  100. data/lib/datadog/appsec/metrics/telemetry_exporter.rb +29 -0
  101. data/lib/datadog/appsec/metrics.rb +1 -0
  102. data/lib/datadog/appsec/monitor/gateway/watcher.rb +49 -14
  103. data/lib/datadog/appsec/processor/rule_loader.rb +30 -33
  104. data/lib/datadog/appsec/remote.rb +43 -59
  105. data/lib/datadog/appsec/response.rb +6 -6
  106. data/lib/datadog/appsec/security_engine/engine.rb +176 -0
  107. data/lib/datadog/appsec/security_engine/result.rb +44 -9
  108. data/lib/datadog/appsec/security_engine/runner.rb +44 -21
  109. data/lib/datadog/appsec/security_event.rb +37 -0
  110. data/lib/datadog/appsec/thread_safe_ref.rb +61 -0
  111. data/lib/datadog/appsec/trace_keeper.rb +24 -0
  112. data/lib/datadog/appsec/utils/hash_coercion.rb +23 -0
  113. data/lib/datadog/appsec/utils.rb +0 -2
  114. data/lib/datadog/appsec.rb +5 -15
  115. data/lib/datadog/auto_instrument_base.rb +2 -1
  116. data/lib/datadog/core/buffer/random.rb +18 -2
  117. data/lib/datadog/core/configuration/agent_settings.rb +52 -0
  118. data/lib/datadog/core/configuration/agent_settings_resolver.rb +8 -50
  119. data/lib/datadog/core/configuration/agentless_settings_resolver.rb +176 -0
  120. data/lib/datadog/core/configuration/components.rb +69 -37
  121. data/lib/datadog/core/configuration/components_state.rb +23 -0
  122. data/lib/datadog/core/configuration/config_helper.rb +100 -0
  123. data/lib/datadog/core/configuration/deprecations.rb +36 -0
  124. data/lib/datadog/core/configuration/ext.rb +4 -1
  125. data/lib/datadog/core/configuration/option.rb +117 -77
  126. data/lib/datadog/core/configuration/option_definition.rb +5 -14
  127. data/lib/datadog/core/configuration/options.rb +15 -13
  128. data/lib/datadog/core/configuration/settings.rb +117 -48
  129. data/lib/datadog/core/configuration/stable_config.rb +32 -0
  130. data/lib/datadog/core/configuration/supported_configurations.rb +337 -0
  131. data/lib/datadog/core/configuration.rb +40 -16
  132. data/lib/datadog/core/crashtracking/component.rb +3 -10
  133. data/lib/datadog/core/crashtracking/tag_builder.rb +4 -22
  134. data/lib/datadog/core/ddsketch.rb +21 -0
  135. data/lib/datadog/core/deprecations.rb +2 -2
  136. data/lib/datadog/core/diagnostics/environment_logger.rb +1 -1
  137. data/lib/datadog/core/encoding.rb +1 -1
  138. data/lib/datadog/core/environment/agent_info.rb +4 -3
  139. data/lib/datadog/core/environment/cgroup.rb +10 -12
  140. data/lib/datadog/core/environment/container.rb +38 -40
  141. data/lib/datadog/core/environment/ext.rb +6 -8
  142. data/lib/datadog/core/environment/git.rb +3 -2
  143. data/lib/datadog/core/environment/identity.rb +3 -3
  144. data/lib/datadog/core/environment/platform.rb +3 -3
  145. data/lib/datadog/core/environment/variable_helpers.rb +4 -4
  146. data/lib/datadog/core/environment/yjit.rb +2 -1
  147. data/lib/datadog/core/error.rb +11 -9
  148. data/lib/datadog/core/logger.rb +2 -2
  149. data/lib/datadog/core/metrics/client.rb +29 -29
  150. data/lib/datadog/core/metrics/logging.rb +5 -5
  151. data/lib/datadog/core/pin.rb +4 -8
  152. data/lib/datadog/core/process_discovery/tracer_memfd.rb +13 -0
  153. data/lib/datadog/core/process_discovery.rb +61 -0
  154. data/lib/datadog/core/rate_limiter.rb +4 -2
  155. data/lib/datadog/core/remote/client.rb +44 -35
  156. data/lib/datadog/core/remote/component.rb +12 -17
  157. data/lib/datadog/core/remote/configuration/digest.rb +7 -7
  158. data/lib/datadog/core/remote/configuration/path.rb +1 -1
  159. data/lib/datadog/core/remote/configuration/repository.rb +14 -1
  160. data/lib/datadog/core/remote/negotiation.rb +9 -9
  161. data/lib/datadog/core/remote/transport/config.rb +4 -3
  162. data/lib/datadog/core/remote/transport/http/client.rb +5 -4
  163. data/lib/datadog/core/remote/transport/http/config.rb +27 -37
  164. data/lib/datadog/core/remote/transport/http/negotiation.rb +7 -33
  165. data/lib/datadog/core/remote/transport/http.rb +25 -89
  166. data/lib/datadog/core/remote/transport/negotiation.rb +4 -3
  167. data/lib/datadog/core/runtime/ext.rb +0 -1
  168. data/lib/datadog/core/runtime/metrics.rb +12 -5
  169. data/lib/datadog/core/tag_builder.rb +56 -0
  170. data/lib/datadog/core/telemetry/component.rb +92 -52
  171. data/lib/datadog/core/telemetry/emitter.rb +23 -11
  172. data/lib/datadog/core/telemetry/event/app_client_configuration_change.rb +66 -0
  173. data/lib/datadog/core/telemetry/event/app_closing.rb +18 -0
  174. data/lib/datadog/core/telemetry/event/app_dependencies_loaded.rb +33 -0
  175. data/lib/datadog/core/telemetry/event/app_endpoints_loaded.rb +30 -0
  176. data/lib/datadog/core/telemetry/event/app_heartbeat.rb +18 -0
  177. data/lib/datadog/core/telemetry/event/app_integrations_change.rb +58 -0
  178. data/lib/datadog/core/telemetry/event/app_started.rb +287 -0
  179. data/lib/datadog/core/telemetry/event/base.rb +40 -0
  180. data/lib/datadog/core/telemetry/event/distributions.rb +18 -0
  181. data/lib/datadog/core/telemetry/event/generate_metrics.rb +43 -0
  182. data/lib/datadog/core/telemetry/event/log.rb +76 -0
  183. data/lib/datadog/core/telemetry/event/message_batch.rb +42 -0
  184. data/lib/datadog/core/telemetry/event/synth_app_client_configuration_change.rb +43 -0
  185. data/lib/datadog/core/telemetry/event.rb +18 -472
  186. data/lib/datadog/core/telemetry/http/adapters/net.rb +12 -97
  187. data/lib/datadog/core/telemetry/logger.rb +5 -4
  188. data/lib/datadog/core/telemetry/logging.rb +11 -5
  189. data/lib/datadog/core/telemetry/metric.rb +8 -8
  190. data/lib/datadog/core/telemetry/request.rb +4 -4
  191. data/lib/datadog/core/telemetry/transport/http/api.rb +43 -0
  192. data/lib/datadog/core/telemetry/transport/http/client.rb +49 -0
  193. data/lib/datadog/core/telemetry/transport/http/telemetry.rb +92 -0
  194. data/lib/datadog/core/telemetry/transport/http.rb +63 -0
  195. data/lib/datadog/core/telemetry/transport/telemetry.rb +51 -0
  196. data/lib/datadog/core/telemetry/worker.rb +90 -24
  197. data/lib/datadog/core/transport/http/adapters/net.rb +17 -2
  198. data/lib/datadog/core/transport/http/adapters/test.rb +2 -1
  199. data/lib/datadog/core/transport/http/api/instance.rb +17 -0
  200. data/lib/datadog/core/transport/http/api/spec.rb +17 -0
  201. data/lib/datadog/core/transport/http/builder.rb +19 -17
  202. data/lib/datadog/core/transport/http/env.rb +8 -0
  203. data/lib/datadog/core/transport/http.rb +75 -0
  204. data/lib/datadog/core/transport/response.rb +4 -1
  205. data/lib/datadog/core/utils/at_fork_monkey_patch.rb +6 -6
  206. data/lib/datadog/core/utils/duration.rb +32 -32
  207. data/lib/datadog/core/utils/forking.rb +2 -2
  208. data/lib/datadog/core/utils/network.rb +25 -6
  209. data/lib/datadog/core/utils/only_once_successful.rb +16 -5
  210. data/lib/datadog/core/utils/time.rb +20 -0
  211. data/lib/datadog/core/utils/truncation.rb +21 -0
  212. data/lib/datadog/core/utils.rb +7 -0
  213. data/lib/datadog/core/vendor/multipart-post/multipart/post/composite_read_io.rb +1 -1
  214. data/lib/datadog/core/vendor/multipart-post/multipart/post/multipartable.rb +8 -8
  215. data/lib/datadog/core/vendor/multipart-post/multipart/post/parts.rb +7 -7
  216. data/lib/datadog/core/worker.rb +1 -1
  217. data/lib/datadog/core/workers/async.rb +29 -12
  218. data/lib/datadog/core/workers/interval_loop.rb +12 -1
  219. data/lib/datadog/core/workers/runtime_metrics.rb +2 -2
  220. data/lib/datadog/core.rb +10 -0
  221. data/lib/datadog/di/boot.rb +43 -0
  222. data/lib/datadog/di/component.rb +21 -2
  223. data/lib/datadog/di/context.rb +70 -0
  224. data/lib/datadog/di/el/compiler.rb +164 -0
  225. data/lib/datadog/di/el/evaluator.rb +159 -0
  226. data/lib/datadog/di/el/expression.rb +42 -0
  227. data/lib/datadog/di/el.rb +5 -0
  228. data/lib/datadog/di/error.rb +25 -0
  229. data/lib/datadog/di/instrumenter.rb +132 -20
  230. data/lib/datadog/di/probe.rb +35 -15
  231. data/lib/datadog/di/probe_builder.rb +39 -1
  232. data/lib/datadog/di/probe_file_loader/railtie.rb +15 -0
  233. data/lib/datadog/di/probe_file_loader.rb +82 -0
  234. data/lib/datadog/di/probe_manager.rb +3 -2
  235. data/lib/datadog/di/probe_notification_builder.rb +61 -67
  236. data/lib/datadog/di/probe_notifier_worker.rb +25 -17
  237. data/lib/datadog/di/remote.rb +5 -5
  238. data/lib/datadog/di/serializer.rb +160 -8
  239. data/lib/datadog/di/transport/diagnostics.rb +4 -3
  240. data/lib/datadog/di/transport/http/api.rb +2 -12
  241. data/lib/datadog/di/transport/http/client.rb +4 -3
  242. data/lib/datadog/di/transport/http/diagnostics.rb +7 -34
  243. data/lib/datadog/di/transport/http/input.rb +18 -35
  244. data/lib/datadog/di/transport/http.rb +15 -77
  245. data/lib/datadog/di/transport/input.rb +14 -5
  246. data/lib/datadog/di/utils.rb +5 -0
  247. data/lib/datadog/di.rb +0 -34
  248. data/lib/datadog/error_tracking/collector.rb +87 -0
  249. data/lib/datadog/error_tracking/component.rb +167 -0
  250. data/lib/datadog/error_tracking/configuration/settings.rb +63 -0
  251. data/lib/datadog/error_tracking/configuration.rb +11 -0
  252. data/lib/datadog/error_tracking/ext.rb +18 -0
  253. data/lib/datadog/error_tracking/extensions.rb +16 -0
  254. data/lib/datadog/error_tracking/filters.rb +77 -0
  255. data/lib/datadog/error_tracking.rb +18 -0
  256. data/lib/datadog/kit/appsec/events/v2.rb +196 -0
  257. data/lib/datadog/kit/appsec/events.rb +17 -4
  258. data/lib/datadog/kit/identity.rb +22 -12
  259. data/lib/datadog/opentelemetry/api/baggage.rb +90 -0
  260. data/lib/datadog/opentelemetry/api/baggage.rbs +26 -0
  261. data/lib/datadog/opentelemetry/api/context.rb +21 -6
  262. data/lib/datadog/opentelemetry/sdk/configurator.rb +1 -1
  263. data/lib/datadog/opentelemetry/sdk/propagator.rb +4 -4
  264. data/lib/datadog/opentelemetry/sdk/span_processor.rb +8 -8
  265. data/lib/datadog/opentelemetry/sdk/trace/span.rb +15 -11
  266. data/lib/datadog/opentelemetry/trace.rb +4 -4
  267. data/lib/datadog/opentelemetry.rb +2 -1
  268. data/lib/datadog/profiling/collectors/code_provenance.rb +18 -9
  269. data/lib/datadog/profiling/collectors/cpu_and_wall_time_worker.rb +6 -0
  270. data/lib/datadog/profiling/collectors/idle_sampling_helper.rb +1 -0
  271. data/lib/datadog/profiling/collectors/info.rb +44 -0
  272. data/lib/datadog/profiling/collectors/thread_context.rb +17 -2
  273. data/lib/datadog/profiling/component.rb +8 -9
  274. data/lib/datadog/profiling/encoded_profile.rb +11 -0
  275. data/lib/datadog/profiling/exporter.rb +12 -7
  276. data/lib/datadog/profiling/ext.rb +2 -15
  277. data/lib/datadog/profiling/flush.rb +5 -8
  278. data/lib/datadog/profiling/http_transport.rb +8 -62
  279. data/lib/datadog/profiling/profiler.rb +2 -0
  280. data/lib/datadog/profiling/scheduler.rb +10 -2
  281. data/lib/datadog/profiling/sequence_tracker.rb +44 -0
  282. data/lib/datadog/profiling/stack_recorder.rb +9 -9
  283. data/lib/datadog/profiling/tag_builder.rb +7 -41
  284. data/lib/datadog/profiling/tasks/exec.rb +2 -2
  285. data/lib/datadog/profiling/tasks/setup.rb +2 -0
  286. data/lib/datadog/profiling.rb +13 -10
  287. data/lib/datadog/single_step_instrument.rb +9 -0
  288. data/lib/datadog/tracing/analytics.rb +1 -1
  289. data/lib/datadog/tracing/buffer.rb +7 -7
  290. data/lib/datadog/tracing/component.rb +21 -29
  291. data/lib/datadog/tracing/configuration/dynamic.rb +6 -8
  292. data/lib/datadog/tracing/configuration/ext.rb +8 -4
  293. data/lib/datadog/tracing/configuration/settings.rb +50 -12
  294. data/lib/datadog/tracing/context.rb +2 -2
  295. data/lib/datadog/tracing/context_provider.rb +1 -1
  296. data/lib/datadog/tracing/contrib/action_cable/event.rb +1 -1
  297. data/lib/datadog/tracing/contrib/action_cable/integration.rb +1 -1
  298. data/lib/datadog/tracing/contrib/action_mailer/integration.rb +1 -1
  299. data/lib/datadog/tracing/contrib/action_pack/action_controller/instrumentation.rb +19 -4
  300. data/lib/datadog/tracing/contrib/action_pack/action_dispatch/instrumentation.rb +19 -12
  301. data/lib/datadog/tracing/contrib/action_pack/ext.rb +2 -0
  302. data/lib/datadog/tracing/contrib/action_pack/integration.rb +1 -1
  303. data/lib/datadog/tracing/contrib/action_view/events/render_template.rb +1 -1
  304. data/lib/datadog/tracing/contrib/active_job/event.rb +8 -8
  305. data/lib/datadog/tracing/contrib/active_job/events/discard.rb +1 -1
  306. data/lib/datadog/tracing/contrib/active_job/events/enqueue.rb +1 -1
  307. data/lib/datadog/tracing/contrib/active_job/events/enqueue_at.rb +1 -1
  308. data/lib/datadog/tracing/contrib/active_job/events/enqueue_retry.rb +1 -1
  309. data/lib/datadog/tracing/contrib/active_job/events/perform.rb +1 -1
  310. data/lib/datadog/tracing/contrib/active_job/events/retry_stopped.rb +1 -1
  311. data/lib/datadog/tracing/contrib/active_job/integration.rb +1 -1
  312. data/lib/datadog/tracing/contrib/active_model_serializers/events/render.rb +1 -1
  313. data/lib/datadog/tracing/contrib/active_model_serializers/events/serialize.rb +3 -3
  314. data/lib/datadog/tracing/contrib/active_model_serializers/integration.rb +1 -2
  315. data/lib/datadog/tracing/contrib/active_record/configuration/resolver.rb +1 -1
  316. data/lib/datadog/tracing/contrib/active_record/events/instantiation.rb +1 -1
  317. data/lib/datadog/tracing/contrib/active_record/events/sql.rb +5 -5
  318. data/lib/datadog/tracing/contrib/active_record/integration.rb +2 -2
  319. data/lib/datadog/tracing/contrib/active_record/utils.rb +15 -15
  320. data/lib/datadog/tracing/contrib/active_support/cache/events/cache.rb +17 -8
  321. data/lib/datadog/tracing/contrib/active_support/cache/instrumentation.rb +33 -0
  322. data/lib/datadog/tracing/contrib/active_support/cache/patcher.rb +4 -0
  323. data/lib/datadog/tracing/contrib/active_support/cache/redis.rb +2 -4
  324. data/lib/datadog/tracing/contrib/active_support/configuration/settings.rb +13 -0
  325. data/lib/datadog/tracing/contrib/active_support/integration.rb +1 -1
  326. data/lib/datadog/tracing/contrib/active_support/notifications/event.rb +2 -1
  327. data/lib/datadog/tracing/contrib/active_support/notifications/subscription.rb +7 -9
  328. data/lib/datadog/tracing/contrib/aws/ext.rb +1 -1
  329. data/lib/datadog/tracing/contrib/aws/instrumentation.rb +12 -2
  330. data/lib/datadog/tracing/contrib/aws/parsed_context.rb +8 -2
  331. data/lib/datadog/tracing/contrib/aws/patcher.rb +5 -1
  332. data/lib/datadog/tracing/contrib/aws/service/base.rb +2 -1
  333. data/lib/datadog/tracing/contrib/aws/service/dynamodb.rb +1 -1
  334. data/lib/datadog/tracing/contrib/aws/service/eventbridge.rb +1 -1
  335. data/lib/datadog/tracing/contrib/aws/service/kinesis.rb +1 -1
  336. data/lib/datadog/tracing/contrib/aws/service/s3.rb +1 -1
  337. data/lib/datadog/tracing/contrib/aws/service/sns.rb +1 -1
  338. data/lib/datadog/tracing/contrib/aws/service/sqs.rb +1 -1
  339. data/lib/datadog/tracing/contrib/aws/service/states.rb +1 -1
  340. data/lib/datadog/tracing/contrib/aws/services.rb +7 -7
  341. data/lib/datadog/tracing/contrib/component.rb +2 -2
  342. data/lib/datadog/tracing/contrib/concurrent_ruby/async_patch.rb +1 -1
  343. data/lib/datadog/tracing/contrib/concurrent_ruby/context_composite_executor_service.rb +1 -1
  344. data/lib/datadog/tracing/contrib/concurrent_ruby/future_patch.rb +1 -1
  345. data/lib/datadog/tracing/contrib/concurrent_ruby/integration.rb +1 -1
  346. data/lib/datadog/tracing/contrib/concurrent_ruby/promises_future_patch.rb +1 -1
  347. data/lib/datadog/tracing/contrib/configurable.rb +6 -6
  348. data/lib/datadog/tracing/contrib/configuration/resolvers/pattern_resolver.rb +4 -4
  349. data/lib/datadog/tracing/contrib/configuration/settings.rb +1 -1
  350. data/lib/datadog/tracing/contrib/dalli/ext.rb +3 -2
  351. data/lib/datadog/tracing/contrib/dalli/integration.rb +1 -1
  352. data/lib/datadog/tracing/contrib/delayed_job/integration.rb +1 -1
  353. data/lib/datadog/tracing/contrib/elasticsearch/ext.rb +3 -2
  354. data/lib/datadog/tracing/contrib/elasticsearch/integration.rb +4 -4
  355. data/lib/datadog/tracing/contrib/elasticsearch/patcher.rb +51 -53
  356. data/lib/datadog/tracing/contrib/elasticsearch/quantize.rb +5 -5
  357. data/lib/datadog/tracing/contrib/ethon/easy_patch.rb +6 -7
  358. data/lib/datadog/tracing/contrib/ethon/ext.rb +3 -2
  359. data/lib/datadog/tracing/contrib/ethon/integration.rb +1 -1
  360. data/lib/datadog/tracing/contrib/excon/ext.rb +3 -2
  361. data/lib/datadog/tracing/contrib/excon/integration.rb +1 -1
  362. data/lib/datadog/tracing/contrib/excon/middleware.rb +7 -5
  363. data/lib/datadog/tracing/contrib/ext.rb +4 -3
  364. data/lib/datadog/tracing/contrib/extensions.rb +9 -9
  365. data/lib/datadog/tracing/contrib/faraday/ext.rb +3 -2
  366. data/lib/datadog/tracing/contrib/faraday/integration.rb +1 -1
  367. data/lib/datadog/tracing/contrib/faraday/middleware.rb +9 -5
  368. data/lib/datadog/tracing/contrib/grape/endpoint.rb +8 -8
  369. data/lib/datadog/tracing/contrib/grape/integration.rb +1 -1
  370. data/lib/datadog/tracing/contrib/graphql/configuration/settings.rb +7 -0
  371. data/lib/datadog/tracing/contrib/graphql/ext.rb +1 -0
  372. data/lib/datadog/tracing/contrib/graphql/integration.rb +1 -1
  373. data/lib/datadog/tracing/contrib/graphql/patcher.rb +2 -2
  374. data/lib/datadog/tracing/contrib/graphql/unified_trace.rb +84 -48
  375. data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/client.rb +15 -9
  376. data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/server.rb +3 -3
  377. data/lib/datadog/tracing/contrib/grpc/distributed/fetcher.rb +1 -1
  378. data/lib/datadog/tracing/contrib/grpc/distributed/propagation.rb +3 -0
  379. data/lib/datadog/tracing/contrib/grpc/integration.rb +1 -1
  380. data/lib/datadog/tracing/contrib/hanami/ext.rb +2 -2
  381. data/lib/datadog/tracing/contrib/hanami/integration.rb +1 -1
  382. data/lib/datadog/tracing/contrib/hanami/renderer_policy_tracing.rb +1 -1
  383. data/lib/datadog/tracing/contrib/hanami/router_tracing.rb +9 -11
  384. data/lib/datadog/tracing/contrib/http/circuit_breaker.rb +0 -15
  385. data/lib/datadog/tracing/contrib/http/distributed/fetcher.rb +4 -4
  386. data/lib/datadog/tracing/contrib/http/distributed/propagation.rb +4 -1
  387. data/lib/datadog/tracing/contrib/http/ext.rb +3 -2
  388. data/lib/datadog/tracing/contrib/http/instrumentation.rb +11 -15
  389. data/lib/datadog/tracing/contrib/httpclient/ext.rb +3 -2
  390. data/lib/datadog/tracing/contrib/httpclient/instrumentation.rb +9 -19
  391. data/lib/datadog/tracing/contrib/httpclient/integration.rb +1 -1
  392. data/lib/datadog/tracing/contrib/httprb/ext.rb +3 -2
  393. data/lib/datadog/tracing/contrib/httprb/instrumentation.rb +11 -19
  394. data/lib/datadog/tracing/contrib/httprb/integration.rb +1 -1
  395. data/lib/datadog/tracing/contrib/kafka/event.rb +1 -1
  396. data/lib/datadog/tracing/contrib/kafka/events/connection/request.rb +1 -1
  397. data/lib/datadog/tracing/contrib/kafka/events/consumer/process_batch.rb +1 -1
  398. data/lib/datadog/tracing/contrib/kafka/events/consumer/process_message.rb +1 -1
  399. data/lib/datadog/tracing/contrib/kafka/events/consumer_group/heartbeat.rb +1 -1
  400. data/lib/datadog/tracing/contrib/kafka/events/consumer_group/join_group.rb +1 -1
  401. data/lib/datadog/tracing/contrib/kafka/events/consumer_group/leave_group.rb +1 -1
  402. data/lib/datadog/tracing/contrib/kafka/events/consumer_group/sync_group.rb +1 -1
  403. data/lib/datadog/tracing/contrib/kafka/events/produce_operation/send_messages.rb +1 -1
  404. data/lib/datadog/tracing/contrib/kafka/events/producer/deliver_messages.rb +1 -1
  405. data/lib/datadog/tracing/contrib/kafka/integration.rb +1 -1
  406. data/lib/datadog/tracing/contrib/karafka/configuration/settings.rb +27 -0
  407. data/lib/datadog/tracing/contrib/karafka/distributed/propagation.rb +48 -0
  408. data/lib/datadog/tracing/contrib/karafka/ext.rb +27 -0
  409. data/lib/datadog/tracing/contrib/karafka/integration.rb +45 -0
  410. data/lib/datadog/tracing/contrib/karafka/monitor.rb +66 -0
  411. data/lib/datadog/tracing/contrib/karafka/patcher.rb +71 -0
  412. data/lib/datadog/tracing/contrib/karafka.rb +37 -0
  413. data/lib/datadog/tracing/contrib/lograge/instrumentation.rb +1 -1
  414. data/lib/datadog/tracing/contrib/lograge/integration.rb +1 -1
  415. data/lib/datadog/tracing/contrib/lograge/patcher.rb +4 -2
  416. data/lib/datadog/tracing/contrib/mongodb/configuration/settings.rb +9 -1
  417. data/lib/datadog/tracing/contrib/mongodb/ext.rb +2 -1
  418. data/lib/datadog/tracing/contrib/mongodb/integration.rb +1 -1
  419. data/lib/datadog/tracing/contrib/mongodb/parsers.rb +1 -1
  420. data/lib/datadog/tracing/contrib/mongodb/subscribers.rb +23 -6
  421. data/lib/datadog/tracing/contrib/mysql2/ext.rb +1 -1
  422. data/lib/datadog/tracing/contrib/mysql2/instrumentation.rb +16 -6
  423. data/lib/datadog/tracing/contrib/mysql2/integration.rb +1 -1
  424. data/lib/datadog/tracing/contrib/opensearch/configuration/settings.rb +17 -0
  425. data/lib/datadog/tracing/contrib/opensearch/ext.rb +12 -2
  426. data/lib/datadog/tracing/contrib/opensearch/integration.rb +1 -2
  427. data/lib/datadog/tracing/contrib/opensearch/patcher.rb +68 -66
  428. data/lib/datadog/tracing/contrib/opensearch/quantize.rb +5 -5
  429. data/lib/datadog/tracing/contrib/patcher.rb +12 -11
  430. data/lib/datadog/tracing/contrib/pg/integration.rb +1 -1
  431. data/lib/datadog/tracing/contrib/presto/ext.rb +1 -1
  432. data/lib/datadog/tracing/contrib/presto/instrumentation.rb +3 -3
  433. data/lib/datadog/tracing/contrib/presto/integration.rb +1 -1
  434. data/lib/datadog/tracing/contrib/propagation/sql_comment/comment.rb +1 -1
  435. data/lib/datadog/tracing/contrib/propagation/sql_comment.rb +1 -1
  436. data/lib/datadog/tracing/contrib/que/integration.rb +1 -1
  437. data/lib/datadog/tracing/contrib/racecar/event.rb +1 -1
  438. data/lib/datadog/tracing/contrib/racecar/events/batch.rb +2 -2
  439. data/lib/datadog/tracing/contrib/racecar/events/consume.rb +1 -1
  440. data/lib/datadog/tracing/contrib/racecar/events/message.rb +2 -2
  441. data/lib/datadog/tracing/contrib/racecar/integration.rb +1 -1
  442. data/lib/datadog/tracing/contrib/rack/header_collection.rb +1 -1
  443. data/lib/datadog/tracing/contrib/rack/header_tagging.rb +32 -32
  444. data/lib/datadog/tracing/contrib/rack/integration.rb +1 -1
  445. data/lib/datadog/tracing/contrib/rack/middlewares.rb +21 -17
  446. data/lib/datadog/tracing/contrib/rack/patcher.rb +1 -1
  447. data/lib/datadog/tracing/contrib/rack/request_queue.rb +4 -3
  448. data/lib/datadog/tracing/contrib/rack/trace_proxy_middleware.rb +7 -1
  449. data/lib/datadog/tracing/contrib/rails/configuration/settings.rb +1 -1
  450. data/lib/datadog/tracing/contrib/rails/ext.rb +2 -1
  451. data/lib/datadog/tracing/contrib/rails/integration.rb +2 -2
  452. data/lib/datadog/tracing/contrib/rails/log_injection.rb +1 -1
  453. data/lib/datadog/tracing/contrib/rails/middlewares.rb +1 -1
  454. data/lib/datadog/tracing/contrib/rails/patcher.rb +4 -1
  455. data/lib/datadog/tracing/contrib/rails/runner.rb +62 -40
  456. data/lib/datadog/tracing/contrib/rake/instrumentation.rb +4 -4
  457. data/lib/datadog/tracing/contrib/rake/integration.rb +1 -1
  458. data/lib/datadog/tracing/contrib/redis/configuration/resolver.rb +2 -2
  459. data/lib/datadog/tracing/contrib/redis/ext.rb +3 -2
  460. data/lib/datadog/tracing/contrib/redis/integration.rb +2 -2
  461. data/lib/datadog/tracing/contrib/redis/patcher.rb +4 -4
  462. data/lib/datadog/tracing/contrib/redis/quantize.rb +1 -1
  463. data/lib/datadog/tracing/contrib/redis/tags.rb +1 -1
  464. data/lib/datadog/tracing/contrib/redis/trace_middleware.rb +4 -4
  465. data/lib/datadog/tracing/contrib/registry.rb +1 -1
  466. data/lib/datadog/tracing/contrib/resque/integration.rb +1 -1
  467. data/lib/datadog/tracing/contrib/resque/resque_job.rb +1 -1
  468. data/lib/datadog/tracing/contrib/rest_client/ext.rb +3 -2
  469. data/lib/datadog/tracing/contrib/rest_client/integration.rb +1 -1
  470. data/lib/datadog/tracing/contrib/rest_client/request_patch.rb +8 -6
  471. data/lib/datadog/tracing/contrib/roda/instrumentation.rb +1 -1
  472. data/lib/datadog/tracing/contrib/roda/integration.rb +1 -1
  473. data/lib/datadog/tracing/contrib/semantic_logger/instrumentation.rb +1 -1
  474. data/lib/datadog/tracing/contrib/semantic_logger/integration.rb +1 -1
  475. data/lib/datadog/tracing/contrib/sequel/database.rb +5 -5
  476. data/lib/datadog/tracing/contrib/sequel/dataset.rb +1 -1
  477. data/lib/datadog/tracing/contrib/sequel/integration.rb +1 -1
  478. data/lib/datadog/tracing/contrib/sequel/utils.rb +1 -1
  479. data/lib/datadog/tracing/contrib/shoryuken/integration.rb +1 -1
  480. data/lib/datadog/tracing/contrib/sidekiq/client_tracer.rb +6 -1
  481. data/lib/datadog/tracing/contrib/sidekiq/distributed/propagation.rb +3 -0
  482. data/lib/datadog/tracing/contrib/sidekiq/ext.rb +1 -0
  483. data/lib/datadog/tracing/contrib/sidekiq/integration.rb +1 -1
  484. data/lib/datadog/tracing/contrib/sidekiq/server_tracer.rb +5 -2
  485. data/lib/datadog/tracing/contrib/sidekiq/utils.rb +1 -1
  486. data/lib/datadog/tracing/contrib/sinatra/integration.rb +1 -1
  487. data/lib/datadog/tracing/contrib/sinatra/tracer_middleware.rb +38 -40
  488. data/lib/datadog/tracing/contrib/sneakers/integration.rb +1 -1
  489. data/lib/datadog/tracing/contrib/span_attribute_schema.rb +1 -1
  490. data/lib/datadog/tracing/contrib/stripe/integration.rb +1 -1
  491. data/lib/datadog/tracing/contrib/stripe/request.rb +1 -1
  492. data/lib/datadog/tracing/contrib/sucker_punch/integration.rb +1 -1
  493. data/lib/datadog/tracing/contrib/support.rb +28 -0
  494. data/lib/datadog/tracing/contrib/trilogy/ext.rb +1 -1
  495. data/lib/datadog/tracing/contrib/trilogy/integration.rb +1 -1
  496. data/lib/datadog/tracing/contrib/utils/quantization/hash.rb +11 -11
  497. data/lib/datadog/tracing/contrib/utils/quantization/http.rb +6 -6
  498. data/lib/datadog/tracing/contrib.rb +1 -0
  499. data/lib/datadog/tracing/correlation.rb +9 -2
  500. data/lib/datadog/tracing/diagnostics/environment_logger.rb +8 -2
  501. data/lib/datadog/tracing/distributed/b3_multi.rb +1 -1
  502. data/lib/datadog/tracing/distributed/b3_single.rb +2 -2
  503. data/lib/datadog/tracing/distributed/baggage.rb +196 -0
  504. data/lib/datadog/tracing/distributed/datadog.rb +8 -7
  505. data/lib/datadog/tracing/distributed/datadog_tags_codec.rb +11 -13
  506. data/lib/datadog/tracing/distributed/helpers.rb +1 -1
  507. data/lib/datadog/tracing/distributed/none.rb +4 -2
  508. data/lib/datadog/tracing/distributed/propagation.rb +28 -4
  509. data/lib/datadog/tracing/distributed/propagation_policy.rb +42 -0
  510. data/lib/datadog/tracing/distributed/trace_context.rb +22 -16
  511. data/lib/datadog/tracing/event.rb +5 -7
  512. data/lib/datadog/tracing/flush.rb +1 -1
  513. data/lib/datadog/tracing/metadata/analytics.rb +1 -1
  514. data/lib/datadog/tracing/metadata/errors.rb +4 -4
  515. data/lib/datadog/tracing/metadata/ext.rb +13 -0
  516. data/lib/datadog/tracing/metadata/metastruct.rb +36 -0
  517. data/lib/datadog/tracing/metadata/metastruct_tagging.rb +42 -0
  518. data/lib/datadog/tracing/metadata/tagging.rb +4 -4
  519. data/lib/datadog/tracing/metadata.rb +2 -0
  520. data/lib/datadog/tracing/pipeline/span_filter.rb +3 -1
  521. data/lib/datadog/tracing/pipeline/span_processor.rb +3 -1
  522. data/lib/datadog/tracing/pipeline.rb +1 -1
  523. data/lib/datadog/tracing/sampling/ext.rb +0 -2
  524. data/lib/datadog/tracing/sampling/rate_sampler.rb +2 -1
  525. data/lib/datadog/tracing/sampling/rule_sampler.rb +30 -30
  526. data/lib/datadog/tracing/sampling/span/rule.rb +0 -1
  527. data/lib/datadog/tracing/sampling/span/rule_parser.rb +1 -1
  528. data/lib/datadog/tracing/sampling/span/sampler.rb +0 -7
  529. data/lib/datadog/tracing/span.rb +11 -2
  530. data/lib/datadog/tracing/span_event.rb +11 -11
  531. data/lib/datadog/tracing/span_link.rb +12 -12
  532. data/lib/datadog/tracing/span_operation.rb +76 -26
  533. data/lib/datadog/tracing/sync_writer.rb +5 -4
  534. data/lib/datadog/tracing/trace_digest.rb +29 -24
  535. data/lib/datadog/tracing/trace_operation.rb +121 -97
  536. data/lib/datadog/tracing/trace_segment.rb +8 -6
  537. data/lib/datadog/tracing/tracer.rb +90 -43
  538. data/lib/datadog/tracing/transport/http/api.rb +2 -10
  539. data/lib/datadog/tracing/transport/http/client.rb +6 -5
  540. data/lib/datadog/tracing/transport/http/traces.rb +15 -43
  541. data/lib/datadog/tracing/transport/http.rb +13 -75
  542. data/lib/datadog/tracing/transport/io/client.rb +5 -5
  543. data/lib/datadog/tracing/transport/io/traces.rb +4 -4
  544. data/lib/datadog/tracing/transport/serializable_trace.rb +3 -1
  545. data/lib/datadog/tracing/transport/statistics.rb +1 -1
  546. data/lib/datadog/tracing/transport/trace_formatter.rb +7 -0
  547. data/lib/datadog/tracing/transport/traces.rb +31 -14
  548. data/lib/datadog/tracing/utils.rb +1 -1
  549. data/lib/datadog/tracing/workers/trace_writer.rb +16 -16
  550. data/lib/datadog/tracing/workers.rb +2 -2
  551. data/lib/datadog/tracing/writer.rb +4 -4
  552. data/lib/datadog/tracing.rb +16 -3
  553. data/lib/datadog/version.rb +1 -1
  554. data/lib/datadog.rb +8 -2
  555. metadata +115 -24
  556. data/ext/libdatadog_api/macos_development.md +0 -26
  557. data/lib/datadog/appsec/assets/waf_rules/processors.json +0 -92
  558. data/lib/datadog/appsec/assets/waf_rules/scanners.json +0 -114
  559. data/lib/datadog/appsec/contrib/devise/event.rb +0 -54
  560. data/lib/datadog/appsec/contrib/devise/patcher/authenticatable_patch.rb +0 -72
  561. data/lib/datadog/appsec/contrib/devise/patcher/registration_controller_patch.rb +0 -47
  562. data/lib/datadog/appsec/contrib/devise/resource.rb +0 -35
  563. data/lib/datadog/appsec/contrib/devise/tracking.rb +0 -57
  564. data/lib/datadog/appsec/processor/rule_merger.rb +0 -170
  565. data/lib/datadog/appsec/processor.rb +0 -107
  566. data/lib/datadog/appsec/utils/trace_operation.rb +0 -15
  567. data/lib/datadog/core/telemetry/http/env.rb +0 -20
  568. data/lib/datadog/core/telemetry/http/ext.rb +0 -28
  569. data/lib/datadog/core/telemetry/http/response.rb +0 -70
  570. data/lib/datadog/core/telemetry/http/transport.rb +0 -90
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: datadog
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.12.0
4
+ version: 2.22.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Datadog, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-02-27 00:00:00.000000000 Z
11
+ date: 2025-10-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: msgpack
@@ -31,6 +31,9 @@ dependencies:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '3.4'
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: 3.4.1
34
37
  type: :runtime
35
38
  prerelease: false
36
39
  version_requirements: !ruby/object:Gem::Requirement
@@ -38,34 +41,37 @@ dependencies:
38
41
  - - "~>"
39
42
  - !ruby/object:Gem::Version
40
43
  version: '3.4'
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 3.4.1
41
47
  - !ruby/object:Gem::Dependency
42
48
  name: libddwaf
43
49
  requirement: !ruby/object:Gem::Requirement
44
50
  requirements:
45
51
  - - "~>"
46
52
  - !ruby/object:Gem::Version
47
- version: 1.18.0.0.1
53
+ version: 1.25.1.1.0
48
54
  type: :runtime
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
51
57
  requirements:
52
58
  - - "~>"
53
59
  - !ruby/object:Gem::Version
54
- version: 1.18.0.0.1
60
+ version: 1.25.1.1.0
55
61
  - !ruby/object:Gem::Dependency
56
62
  name: libdatadog
57
63
  requirement: !ruby/object:Gem::Requirement
58
64
  requirements:
59
65
  - - "~>"
60
66
  - !ruby/object:Gem::Version
61
- version: 16.0.1.1.0
67
+ version: 22.0.1.1.0
62
68
  type: :runtime
63
69
  prerelease: false
64
70
  version_requirements: !ruby/object:Gem::Requirement
65
71
  requirements:
66
72
  - - "~>"
67
73
  - !ruby/object:Gem::Version
68
- version: 16.0.1.1.0
74
+ version: 22.0.1.1.0
69
75
  - !ruby/object:Gem::Dependency
70
76
  name: logger
71
77
  requirement: !ruby/object:Gem::Requirement
@@ -101,6 +107,7 @@ files:
101
107
  - NOTICE
102
108
  - README.md
103
109
  - bin/ddprofrb
110
+ - ext/LIBDATADOG_DEVELOPMENT.md
104
111
  - ext/datadog_profiling_native_extension/NativeExtensionDesign.md
105
112
  - ext/datadog_profiling_native_extension/clock_id.h
106
113
  - ext/datadog_profiling_native_extension/clock_id_from_pthread.c
@@ -120,6 +127,8 @@ files:
120
127
  - ext/datadog_profiling_native_extension/collectors_thread_context.h
121
128
  - ext/datadog_profiling_native_extension/datadog_ruby_common.c
122
129
  - ext/datadog_profiling_native_extension/datadog_ruby_common.h
130
+ - ext/datadog_profiling_native_extension/encoded_profile.c
131
+ - ext/datadog_profiling_native_extension/encoded_profile.h
123
132
  - ext/datadog_profiling_native_extension/extconf.rb
124
133
  - ext/datadog_profiling_native_extension/gvl_profiling_helper.c
125
134
  - ext/datadog_profiling_native_extension/gvl_profiling_helper.h
@@ -144,25 +153,41 @@ files:
144
153
  - ext/datadog_profiling_native_extension/unsafe_api_calls_check.c
145
154
  - ext/datadog_profiling_native_extension/unsafe_api_calls_check.h
146
155
  - ext/libdatadog_api/crashtracker.c
156
+ - ext/libdatadog_api/crashtracker.h
147
157
  - ext/libdatadog_api/datadog_ruby_common.c
148
158
  - ext/libdatadog_api/datadog_ruby_common.h
159
+ - ext/libdatadog_api/ddsketch.c
149
160
  - ext/libdatadog_api/extconf.rb
150
- - ext/libdatadog_api/macos_development.md
161
+ - ext/libdatadog_api/init.c
162
+ - ext/libdatadog_api/library_config.c
163
+ - ext/libdatadog_api/library_config.h
164
+ - ext/libdatadog_api/process_discovery.c
165
+ - ext/libdatadog_api/process_discovery.h
151
166
  - ext/libdatadog_extconf_helpers.rb
152
167
  - lib/datadog.rb
153
168
  - lib/datadog/appsec.rb
154
169
  - lib/datadog/appsec/actions_handler.rb
170
+ - lib/datadog/appsec/actions_handler/serializable_backtrace.rb
171
+ - lib/datadog/appsec/anonymizer.rb
172
+ - lib/datadog/appsec/api_security.rb
173
+ - lib/datadog/appsec/api_security/endpoint_collection.rb
174
+ - lib/datadog/appsec/api_security/endpoint_collection/grape_route_serializer.rb
175
+ - lib/datadog/appsec/api_security/endpoint_collection/rails_collector.rb
176
+ - lib/datadog/appsec/api_security/endpoint_collection/rails_route_serializer.rb
177
+ - lib/datadog/appsec/api_security/endpoint_collection/sinatra_route_serializer.rb
178
+ - lib/datadog/appsec/api_security/lru_cache.rb
179
+ - lib/datadog/appsec/api_security/route_extractor.rb
180
+ - lib/datadog/appsec/api_security/sampler.rb
155
181
  - lib/datadog/appsec/assets.rb
156
182
  - lib/datadog/appsec/assets/blocked.html
157
183
  - lib/datadog/appsec/assets/blocked.json
158
184
  - lib/datadog/appsec/assets/blocked.text
159
185
  - lib/datadog/appsec/assets/waf_rules/README.md
160
- - lib/datadog/appsec/assets/waf_rules/processors.json
161
186
  - lib/datadog/appsec/assets/waf_rules/recommended.json
162
- - lib/datadog/appsec/assets/waf_rules/scanners.json
163
187
  - lib/datadog/appsec/assets/waf_rules/strict.json
164
188
  - lib/datadog/appsec/autoload.rb
165
189
  - lib/datadog/appsec/component.rb
190
+ - lib/datadog/appsec/compressed_json.rb
166
191
  - lib/datadog/appsec/configuration.rb
167
192
  - lib/datadog/appsec/configuration/settings.rb
168
193
  - lib/datadog/appsec/context.rb
@@ -171,15 +196,14 @@ files:
171
196
  - lib/datadog/appsec/contrib/active_record/patcher.rb
172
197
  - lib/datadog/appsec/contrib/auto_instrument.rb
173
198
  - lib/datadog/appsec/contrib/devise/configuration.rb
174
- - lib/datadog/appsec/contrib/devise/event.rb
199
+ - lib/datadog/appsec/contrib/devise/data_extractor.rb
175
200
  - lib/datadog/appsec/contrib/devise/ext.rb
176
201
  - lib/datadog/appsec/contrib/devise/integration.rb
177
202
  - lib/datadog/appsec/contrib/devise/patcher.rb
178
- - lib/datadog/appsec/contrib/devise/patcher/authenticatable_patch.rb
179
- - lib/datadog/appsec/contrib/devise/patcher/registration_controller_patch.rb
180
- - lib/datadog/appsec/contrib/devise/patcher/rememberable_patch.rb
181
- - lib/datadog/appsec/contrib/devise/resource.rb
182
- - lib/datadog/appsec/contrib/devise/tracking.rb
203
+ - lib/datadog/appsec/contrib/devise/patches/signin_tracking_patch.rb
204
+ - lib/datadog/appsec/contrib/devise/patches/signup_tracking_patch.rb
205
+ - lib/datadog/appsec/contrib/devise/patches/skip_signin_tracking_patch.rb
206
+ - lib/datadog/appsec/contrib/devise/tracking_middleware.rb
183
207
  - lib/datadog/appsec/contrib/excon/integration.rb
184
208
  - lib/datadog/appsec/contrib/excon/patcher.rb
185
209
  - lib/datadog/appsec/contrib/excon/ssrf_detection_middleware.rb
@@ -208,6 +232,8 @@ files:
208
232
  - lib/datadog/appsec/contrib/rails/gateway/watcher.rb
209
233
  - lib/datadog/appsec/contrib/rails/integration.rb
210
234
  - lib/datadog/appsec/contrib/rails/patcher.rb
235
+ - lib/datadog/appsec/contrib/rails/patches/process_action_patch.rb
236
+ - lib/datadog/appsec/contrib/rails/patches/render_to_body_patch.rb
211
237
  - lib/datadog/appsec/contrib/rails/request.rb
212
238
  - lib/datadog/appsec/contrib/rails/request_middleware.rb
213
239
  - lib/datadog/appsec/contrib/rest_client/integration.rb
@@ -219,6 +245,7 @@ files:
219
245
  - lib/datadog/appsec/contrib/sinatra/gateway/watcher.rb
220
246
  - lib/datadog/appsec/contrib/sinatra/integration.rb
221
247
  - lib/datadog/appsec/contrib/sinatra/patcher.rb
248
+ - lib/datadog/appsec/contrib/sinatra/patches/json_patch.rb
222
249
  - lib/datadog/appsec/contrib/sinatra/request_middleware.rb
223
250
  - lib/datadog/appsec/event.rb
224
251
  - lib/datadog/appsec/ext.rb
@@ -226,27 +253,31 @@ files:
226
253
  - lib/datadog/appsec/instrumentation.rb
227
254
  - lib/datadog/appsec/instrumentation/gateway.rb
228
255
  - lib/datadog/appsec/instrumentation/gateway/argument.rb
256
+ - lib/datadog/appsec/instrumentation/gateway/middleware.rb
229
257
  - lib/datadog/appsec/metrics.rb
230
258
  - lib/datadog/appsec/metrics/collector.rb
231
259
  - lib/datadog/appsec/metrics/exporter.rb
232
260
  - lib/datadog/appsec/metrics/telemetry.rb
261
+ - lib/datadog/appsec/metrics/telemetry_exporter.rb
233
262
  - lib/datadog/appsec/monitor.rb
234
263
  - lib/datadog/appsec/monitor/gateway/watcher.rb
235
- - lib/datadog/appsec/processor.rb
236
264
  - lib/datadog/appsec/processor/rule_loader.rb
237
- - lib/datadog/appsec/processor/rule_merger.rb
238
265
  - lib/datadog/appsec/rate_limiter.rb
239
266
  - lib/datadog/appsec/remote.rb
240
267
  - lib/datadog/appsec/response.rb
241
268
  - lib/datadog/appsec/sample_rate.rb
242
269
  - lib/datadog/appsec/security_engine.rb
270
+ - lib/datadog/appsec/security_engine/engine.rb
243
271
  - lib/datadog/appsec/security_engine/result.rb
244
272
  - lib/datadog/appsec/security_engine/runner.rb
273
+ - lib/datadog/appsec/security_event.rb
274
+ - lib/datadog/appsec/thread_safe_ref.rb
275
+ - lib/datadog/appsec/trace_keeper.rb
245
276
  - lib/datadog/appsec/utils.rb
277
+ - lib/datadog/appsec/utils/hash_coercion.rb
246
278
  - lib/datadog/appsec/utils/http.rb
247
279
  - lib/datadog/appsec/utils/http/media_range.rb
248
280
  - lib/datadog/appsec/utils/http/media_type.rb
249
- - lib/datadog/appsec/utils/trace_operation.rb
250
281
  - lib/datadog/auto_instrument.rb
251
282
  - lib/datadog/auto_instrument_base.rb
252
283
  - lib/datadog/core.rb
@@ -255,17 +286,25 @@ files:
255
286
  - lib/datadog/core/buffer/thread_safe.rb
256
287
  - lib/datadog/core/chunker.rb
257
288
  - lib/datadog/core/configuration.rb
289
+ - lib/datadog/core/configuration/agent_settings.rb
258
290
  - lib/datadog/core/configuration/agent_settings_resolver.rb
291
+ - lib/datadog/core/configuration/agentless_settings_resolver.rb
259
292
  - lib/datadog/core/configuration/base.rb
260
293
  - lib/datadog/core/configuration/components.rb
294
+ - lib/datadog/core/configuration/components_state.rb
295
+ - lib/datadog/core/configuration/config_helper.rb
296
+ - lib/datadog/core/configuration/deprecations.rb
261
297
  - lib/datadog/core/configuration/ext.rb
262
298
  - lib/datadog/core/configuration/option.rb
263
299
  - lib/datadog/core/configuration/option_definition.rb
264
300
  - lib/datadog/core/configuration/options.rb
265
301
  - lib/datadog/core/configuration/settings.rb
302
+ - lib/datadog/core/configuration/stable_config.rb
303
+ - lib/datadog/core/configuration/supported_configurations.rb
266
304
  - lib/datadog/core/contrib/rails/utils.rb
267
305
  - lib/datadog/core/crashtracking/component.rb
268
306
  - lib/datadog/core/crashtracking/tag_builder.rb
307
+ - lib/datadog/core/ddsketch.rb
269
308
  - lib/datadog/core/deprecations.rb
270
309
  - lib/datadog/core/diagnostics/environment_logger.rb
271
310
  - lib/datadog/core/diagnostics/health.rb
@@ -298,6 +337,8 @@ files:
298
337
  - lib/datadog/core/metrics/metric.rb
299
338
  - lib/datadog/core/metrics/options.rb
300
339
  - lib/datadog/core/pin.rb
340
+ - lib/datadog/core/process_discovery.rb
341
+ - lib/datadog/core/process_discovery/tracer_memfd.rb
301
342
  - lib/datadog/core/rate_limiter.rb
302
343
  - lib/datadog/core/remote.rb
303
344
  - lib/datadog/core/remote/client.rb
@@ -325,23 +366,39 @@ files:
325
366
  - lib/datadog/core/runtime/ext.rb
326
367
  - lib/datadog/core/runtime/metrics.rb
327
368
  - lib/datadog/core/semaphore.rb
369
+ - lib/datadog/core/tag_builder.rb
328
370
  - lib/datadog/core/telemetry/component.rb
329
371
  - lib/datadog/core/telemetry/emitter.rb
330
372
  - lib/datadog/core/telemetry/event.rb
373
+ - lib/datadog/core/telemetry/event/app_client_configuration_change.rb
374
+ - lib/datadog/core/telemetry/event/app_closing.rb
375
+ - lib/datadog/core/telemetry/event/app_dependencies_loaded.rb
376
+ - lib/datadog/core/telemetry/event/app_endpoints_loaded.rb
377
+ - lib/datadog/core/telemetry/event/app_heartbeat.rb
378
+ - lib/datadog/core/telemetry/event/app_integrations_change.rb
379
+ - lib/datadog/core/telemetry/event/app_started.rb
380
+ - lib/datadog/core/telemetry/event/base.rb
381
+ - lib/datadog/core/telemetry/event/distributions.rb
382
+ - lib/datadog/core/telemetry/event/generate_metrics.rb
383
+ - lib/datadog/core/telemetry/event/log.rb
384
+ - lib/datadog/core/telemetry/event/message_batch.rb
385
+ - lib/datadog/core/telemetry/event/synth_app_client_configuration_change.rb
331
386
  - lib/datadog/core/telemetry/ext.rb
332
387
  - lib/datadog/core/telemetry/http/adapters/net.rb
333
- - lib/datadog/core/telemetry/http/env.rb
334
- - lib/datadog/core/telemetry/http/ext.rb
335
- - lib/datadog/core/telemetry/http/response.rb
336
- - lib/datadog/core/telemetry/http/transport.rb
337
388
  - lib/datadog/core/telemetry/logger.rb
338
389
  - lib/datadog/core/telemetry/logging.rb
339
390
  - lib/datadog/core/telemetry/metric.rb
340
391
  - lib/datadog/core/telemetry/metrics_collection.rb
341
392
  - lib/datadog/core/telemetry/metrics_manager.rb
342
393
  - lib/datadog/core/telemetry/request.rb
394
+ - lib/datadog/core/telemetry/transport/http.rb
395
+ - lib/datadog/core/telemetry/transport/http/api.rb
396
+ - lib/datadog/core/telemetry/transport/http/client.rb
397
+ - lib/datadog/core/telemetry/transport/http/telemetry.rb
398
+ - lib/datadog/core/telemetry/transport/telemetry.rb
343
399
  - lib/datadog/core/telemetry/worker.rb
344
400
  - lib/datadog/core/transport/ext.rb
401
+ - lib/datadog/core/transport/http.rb
345
402
  - lib/datadog/core/transport/http/adapters/net.rb
346
403
  - lib/datadog/core/transport/http/adapters/registry.rb
347
404
  - lib/datadog/core/transport/http/adapters/test.rb
@@ -369,6 +426,7 @@ files:
369
426
  - lib/datadog/core/utils/safe_dup.rb
370
427
  - lib/datadog/core/utils/sequence.rb
371
428
  - lib/datadog/core/utils/time.rb
429
+ - lib/datadog/core/utils/truncation.rb
372
430
  - lib/datadog/core/utils/url.rb
373
431
  - lib/datadog/core/vendor/multipart-post/LICENSE
374
432
  - lib/datadog/core/vendor/multipart-post/multipart.rb
@@ -386,13 +444,19 @@ files:
386
444
  - lib/datadog/core/workers/runtime_metrics.rb
387
445
  - lib/datadog/di.rb
388
446
  - lib/datadog/di/base.rb
447
+ - lib/datadog/di/boot.rb
389
448
  - lib/datadog/di/code_tracker.rb
390
449
  - lib/datadog/di/component.rb
391
450
  - lib/datadog/di/configuration.rb
392
451
  - lib/datadog/di/configuration/settings.rb
452
+ - lib/datadog/di/context.rb
393
453
  - lib/datadog/di/contrib.rb
394
454
  - lib/datadog/di/contrib/active_record.rb
395
455
  - lib/datadog/di/contrib/railtie.rb
456
+ - lib/datadog/di/el.rb
457
+ - lib/datadog/di/el/compiler.rb
458
+ - lib/datadog/di/el/evaluator.rb
459
+ - lib/datadog/di/el/expression.rb
396
460
  - lib/datadog/di/error.rb
397
461
  - lib/datadog/di/extensions.rb
398
462
  - lib/datadog/di/instrumenter.rb
@@ -400,6 +464,8 @@ files:
400
464
  - lib/datadog/di/preload.rb
401
465
  - lib/datadog/di/probe.rb
402
466
  - lib/datadog/di/probe_builder.rb
467
+ - lib/datadog/di/probe_file_loader.rb
468
+ - lib/datadog/di/probe_file_loader/railtie.rb
403
469
  - lib/datadog/di/probe_manager.rb
404
470
  - lib/datadog/di/probe_notification_builder.rb
405
471
  - lib/datadog/di/probe_notifier_worker.rb
@@ -414,11 +480,22 @@ files:
414
480
  - lib/datadog/di/transport/http/input.rb
415
481
  - lib/datadog/di/transport/input.rb
416
482
  - lib/datadog/di/utils.rb
483
+ - lib/datadog/error_tracking.rb
484
+ - lib/datadog/error_tracking/collector.rb
485
+ - lib/datadog/error_tracking/component.rb
486
+ - lib/datadog/error_tracking/configuration.rb
487
+ - lib/datadog/error_tracking/configuration/settings.rb
488
+ - lib/datadog/error_tracking/ext.rb
489
+ - lib/datadog/error_tracking/extensions.rb
490
+ - lib/datadog/error_tracking/filters.rb
417
491
  - lib/datadog/kit.rb
418
492
  - lib/datadog/kit/appsec/events.rb
493
+ - lib/datadog/kit/appsec/events/v2.rb
419
494
  - lib/datadog/kit/enable_core_dumps.rb
420
495
  - lib/datadog/kit/identity.rb
421
496
  - lib/datadog/opentelemetry.rb
497
+ - lib/datadog/opentelemetry/api/baggage.rb
498
+ - lib/datadog/opentelemetry/api/baggage.rbs
422
499
  - lib/datadog/opentelemetry/api/context.rb
423
500
  - lib/datadog/opentelemetry/api/trace/span.rb
424
501
  - lib/datadog/opentelemetry/sdk/configurator.rb
@@ -436,6 +513,7 @@ files:
436
513
  - lib/datadog/profiling/collectors/stack.rb
437
514
  - lib/datadog/profiling/collectors/thread_context.rb
438
515
  - lib/datadog/profiling/component.rb
516
+ - lib/datadog/profiling/encoded_profile.rb
439
517
  - lib/datadog/profiling/exporter.rb
440
518
  - lib/datadog/profiling/ext.rb
441
519
  - lib/datadog/profiling/ext/dir_monkey_patches.rb
@@ -446,6 +524,7 @@ files:
446
524
  - lib/datadog/profiling/preload.rb
447
525
  - lib/datadog/profiling/profiler.rb
448
526
  - lib/datadog/profiling/scheduler.rb
527
+ - lib/datadog/profiling/sequence_tracker.rb
449
528
  - lib/datadog/profiling/stack_recorder.rb
450
529
  - lib/datadog/profiling/tag_builder.rb
451
530
  - lib/datadog/profiling/tasks/exec.rb
@@ -686,6 +765,13 @@ files:
686
765
  - lib/datadog/tracing/contrib/kafka/ext.rb
687
766
  - lib/datadog/tracing/contrib/kafka/integration.rb
688
767
  - lib/datadog/tracing/contrib/kafka/patcher.rb
768
+ - lib/datadog/tracing/contrib/karafka.rb
769
+ - lib/datadog/tracing/contrib/karafka/configuration/settings.rb
770
+ - lib/datadog/tracing/contrib/karafka/distributed/propagation.rb
771
+ - lib/datadog/tracing/contrib/karafka/ext.rb
772
+ - lib/datadog/tracing/contrib/karafka/integration.rb
773
+ - lib/datadog/tracing/contrib/karafka/monitor.rb
774
+ - lib/datadog/tracing/contrib/karafka/patcher.rb
689
775
  - lib/datadog/tracing/contrib/lograge/configuration/settings.rb
690
776
  - lib/datadog/tracing/contrib/lograge/ext.rb
691
777
  - lib/datadog/tracing/contrib/lograge/instrumentation.rb
@@ -848,6 +934,7 @@ files:
848
934
  - lib/datadog/tracing/contrib/sucker_punch/instrumentation.rb
849
935
  - lib/datadog/tracing/contrib/sucker_punch/integration.rb
850
936
  - lib/datadog/tracing/contrib/sucker_punch/patcher.rb
937
+ - lib/datadog/tracing/contrib/support.rb
851
938
  - lib/datadog/tracing/contrib/trilogy/configuration/settings.rb
852
939
  - lib/datadog/tracing/contrib/trilogy/ext.rb
853
940
  - lib/datadog/tracing/contrib/trilogy/instrumentation.rb
@@ -862,12 +949,14 @@ files:
862
949
  - lib/datadog/tracing/diagnostics/health.rb
863
950
  - lib/datadog/tracing/distributed/b3_multi.rb
864
951
  - lib/datadog/tracing/distributed/b3_single.rb
952
+ - lib/datadog/tracing/distributed/baggage.rb
865
953
  - lib/datadog/tracing/distributed/datadog.rb
866
954
  - lib/datadog/tracing/distributed/datadog_tags_codec.rb
867
955
  - lib/datadog/tracing/distributed/fetcher.rb
868
956
  - lib/datadog/tracing/distributed/helpers.rb
869
957
  - lib/datadog/tracing/distributed/none.rb
870
958
  - lib/datadog/tracing/distributed/propagation.rb
959
+ - lib/datadog/tracing/distributed/propagation_policy.rb
871
960
  - lib/datadog/tracing/distributed/trace_context.rb
872
961
  - lib/datadog/tracing/event.rb
873
962
  - lib/datadog/tracing/flush.rb
@@ -875,6 +964,8 @@ files:
875
964
  - lib/datadog/tracing/metadata/analytics.rb
876
965
  - lib/datadog/tracing/metadata/errors.rb
877
966
  - lib/datadog/tracing/metadata/ext.rb
967
+ - lib/datadog/tracing/metadata/metastruct.rb
968
+ - lib/datadog/tracing/metadata/metastruct_tagging.rb
878
969
  - lib/datadog/tracing/metadata/tagging.rb
879
970
  - lib/datadog/tracing/pipeline.rb
880
971
  - lib/datadog/tracing/pipeline/span_filter.rb
@@ -929,8 +1020,8 @@ licenses:
929
1020
  - Apache-2.0
930
1021
  metadata:
931
1022
  allowed_push_host: https://rubygems.org
932
- changelog_uri: https://github.com/DataDog/dd-trace-rb/blob/v2.12.0/CHANGELOG.md
933
- source_code_uri: https://github.com/DataDog/dd-trace-rb/tree/v2.12.0
1023
+ changelog_uri: https://github.com/DataDog/dd-trace-rb/blob/v2.22.0/CHANGELOG.md
1024
+ source_code_uri: https://github.com/DataDog/dd-trace-rb/tree/v2.22.0
934
1025
  post_install_message:
935
1026
  rdoc_options: []
936
1027
  require_paths:
@@ -1,26 +0,0 @@
1
- # Developing on macOS
2
-
3
- As of this writing (August 2024), the libdatadog builds on rubygems.org only support Linux.
4
-
5
- We don't officially support using libdatadog for Ruby on other platforms yet, but it is possible to use it for local development on macOS.
6
- (**Note that you don't need these instructions if you develop inside docker.**)
7
-
8
- Here's how you can do so:
9
-
10
- 1. [Install rust](https://www.rust-lang.org/tools/install)
11
- 2. Install `cbindgen`: `cargo install cbindgen`
12
- 3. Clone [libdatadog](https://github.com/datadog/libdatadog)
13
- 4. Create a folder for building into based on your ruby platform:
14
-
15
- ```
16
- export DD_RUBY_PLATFORM=`ruby -e 'puts Gem::Platform.local.to_s'`
17
- mkdir -p my-libdatadog-build/$DD_RUBY_PLATFORM
18
- ```
19
-
20
- 5. Build libdatadog into this folder: `./build-profiling-ffi.sh my-libdatadog-build/$DD_RUBY_PLATFORM`
21
- 6. Tell the Ruby where to find libdatadog: `export LIBDATADOG_VENDOR_OVERRIDE=/full/path/to/my-libdatadog-build/` (Notice no platform here)
22
- 7. Run `bundle exec rake clean compile`
23
-
24
- If you additionally want to run the profiler test suite, also remember to `export DD_PROFILING_MACOS_TESTING=true` and re-run `rake clean compile`.
25
-
26
- These instructions can quickly get outdated, so feel free to open an issue if they're not working (and/or ping @ivoanjo).
@@ -1,92 +0,0 @@
1
- [
2
- {
3
- "id": "processor-001",
4
- "generator": "extract_schema",
5
- "conditions": [
6
- {
7
- "operator": "equals",
8
- "parameters": {
9
- "inputs": [
10
- {
11
- "address": "waf.context.processor",
12
- "key_path": [
13
- "extract-schema"
14
- ]
15
- }
16
- ],
17
- "type": "boolean",
18
- "value": true
19
- }
20
- }
21
- ],
22
- "parameters": {
23
- "mappings": [
24
- {
25
- "inputs": [
26
- {
27
- "address": "server.request.body"
28
- }
29
- ],
30
- "output": "_dd.appsec.s.req.body"
31
- },
32
- {
33
- "inputs": [
34
- {
35
- "address": "server.request.headers.no_cookies"
36
- }
37
- ],
38
- "output": "_dd.appsec.s.req.headers"
39
- },
40
- {
41
- "inputs": [
42
- {
43
- "address": "server.request.query"
44
- }
45
- ],
46
- "output": "_dd.appsec.s.req.query"
47
- },
48
- {
49
- "inputs": [
50
- {
51
- "address": "server.request.path_params"
52
- }
53
- ],
54
- "output": "_dd.appsec.s.req.params"
55
- },
56
- {
57
- "inputs": [
58
- {
59
- "address": "server.request.cookies"
60
- }
61
- ],
62
- "output": "_dd.appsec.s.req.cookies"
63
- },
64
- {
65
- "inputs": [
66
- {
67
- "address": "server.response.headers.no_cookies"
68
- }
69
- ],
70
- "output": "_dd.appsec.s.res.headers"
71
- },
72
- {
73
- "inputs": [
74
- {
75
- "address": "server.response.body"
76
- }
77
- ],
78
- "output": "_dd.appsec.s.res.body"
79
- }
80
- ],
81
- "scanners": [
82
- {
83
- "tags": {
84
- "category": "pii"
85
- }
86
- }
87
- ]
88
- },
89
- "evaluate": false,
90
- "output": true
91
- }
92
- ]
@@ -1,114 +0,0 @@
1
- [
2
- {
3
- "id": "d962f7ddb3f55041e39195a60ff79d4814a7c331",
4
- "name": "US Passport Scanner",
5
- "key": {
6
- "operator": "match_regex",
7
- "parameters": {
8
- "regex": "passport",
9
- "options": {
10
- "case_sensitive": false,
11
- "min_length": 8
12
- }
13
- }
14
- },
15
- "value": {
16
- "operator": "match_regex",
17
- "parameters": {
18
- "regex": "\\b[0-9A-Z]{9}\\b|\\b[0-9]{6}[A-Z][0-9]{2}\\b",
19
- "options": {
20
- "case_sensitive": false,
21
- "min_length": 8
22
- }
23
- }
24
- },
25
- "tags": {
26
- "type": "passport_number",
27
- "category": "pii"
28
- }
29
- },
30
- {
31
- "id": "ac6d683cbac77f6e399a14990793dd8fd0fca333",
32
- "name": "US Vehicle Identification Number Scanner",
33
- "key": {
34
- "operator": "match_regex",
35
- "parameters": {
36
- "regex": "vehicle[_\\s-]*identification[_\\s-]*number|vin",
37
- "options": {
38
- "case_sensitive": false,
39
- "min_length": 3
40
- }
41
- }
42
- },
43
- "value": {
44
- "operator": "match_regex",
45
- "parameters": {
46
- "regex": "\\b[A-HJ-NPR-Z0-9]{17}\\b",
47
- "options": {
48
- "case_sensitive": false,
49
- "min_length": 17
50
- }
51
- }
52
- },
53
- "tags": {
54
- "type": "vin",
55
- "category": "pii"
56
- }
57
- },
58
- {
59
- "id": "de0899e0cbaaa812bb624cf04c912071012f616d",
60
- "name": "UK National Insurance Number Scanner",
61
- "key": {
62
- "operator": "match_regex",
63
- "parameters": {
64
- "regex": "national[\\s_]?(?:insurance(?:\\s+number)?)?|NIN|NI[\\s_]?number|insurance[\\s_]?number",
65
- "options": {
66
- "case_sensitive": false,
67
- "min_length": 3
68
- }
69
- }
70
- },
71
- "value": {
72
- "operator": "match_regex",
73
- "parameters": {
74
- "regex": "\\b[A-Z]{2}\\d{6}[A-Z]?\\b",
75
- "options": {
76
- "case_sensitive": false,
77
- "min_length": 8
78
- }
79
- }
80
- },
81
- "tags": {
82
- "type": "uk_nin",
83
- "category": "pii"
84
- }
85
- },
86
- {
87
- "id": "450239afc250a19799b6c03dc0e16fd6a4b2a1af",
88
- "name": "Canadian Social Insurance Number Scanner",
89
- "key": {
90
- "operator": "match_regex",
91
- "parameters": {
92
- "regex": "social[\\s_]?(?:insurance(?:\\s+number)?)?|SIN|Canadian[\\s_]?(?:social[\\s_]?(?:insurance)?|insurance[\\s_]?number)?",
93
- "options": {
94
- "case_sensitive": false,
95
- "min_length": 3
96
- }
97
- }
98
- },
99
- "value": {
100
- "operator": "match_regex",
101
- "parameters": {
102
- "regex": "\\b\\d{3}-\\d{3}-\\d{3}\\b",
103
- "options": {
104
- "case_sensitive": false,
105
- "min_length": 11
106
- }
107
- }
108
- },
109
- "tags": {
110
- "type": "canadian_sin",
111
- "category": "pii"
112
- }
113
- }
114
- ]