datadog 2.31.0 → 2.33.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 (202) hide show
  1. checksums.yaml +4 -4
  2. data/ext/datadog_profiling_native_extension/clock_id.h +9 -1
  3. data/ext/datadog_profiling_native_extension/clock_id_from_mach.c +73 -0
  4. data/ext/datadog_profiling_native_extension/clock_id_from_pthread.c +1 -1
  5. data/ext/datadog_profiling_native_extension/collectors_cpu_and_wall_time_worker.c +17 -7
  6. data/ext/datadog_profiling_native_extension/collectors_thread_context.c +16 -5
  7. data/ext/datadog_profiling_native_extension/collectors_thread_context.h +6 -0
  8. data/ext/datadog_profiling_native_extension/extconf.rb +8 -4
  9. data/ext/datadog_profiling_native_extension/http_transport.c +10 -5
  10. data/ext/datadog_profiling_native_extension/stack_recorder.c +3 -9
  11. data/ext/datadog_profiling_native_extension/time_helpers.h +1 -0
  12. data/ext/libdatadog_api/crashtracker.c +2 -0
  13. data/ext/libdatadog_api/di.c +48 -0
  14. data/ext/libdatadog_api/extconf.rb +7 -4
  15. data/ext/libdatadog_extconf_helpers.rb +38 -1
  16. data/lib/datadog/ai_guard/autoload.rb +10 -0
  17. data/lib/datadog/ai_guard/component.rb +1 -1
  18. data/lib/datadog/ai_guard/configuration.rb +105 -2
  19. data/lib/datadog/ai_guard/contrib/auto_instrument.rb +24 -0
  20. data/lib/datadog/ai_guard/contrib/rack/integration.rb +42 -0
  21. data/lib/datadog/ai_guard/contrib/rack/patcher.rb +26 -0
  22. data/lib/datadog/ai_guard/contrib/rack/request_middleware.rb +83 -0
  23. data/lib/datadog/ai_guard/contrib/rails/integration.rb +41 -0
  24. data/lib/datadog/ai_guard/contrib/rails/patcher.rb +97 -0
  25. data/lib/datadog/ai_guard/evaluation.rb +2 -0
  26. data/lib/datadog/ai_guard/ext.rb +2 -0
  27. data/lib/datadog/ai_guard.rb +8 -0
  28. data/lib/datadog/appsec/autoload.rb +1 -1
  29. data/lib/datadog/appsec/component.rb +1 -1
  30. data/lib/datadog/appsec/configuration.rb +414 -1
  31. data/lib/datadog/appsec/contrib/aws_lambda/gateway/watcher.rb +75 -0
  32. data/lib/datadog/appsec/contrib/aws_lambda/integration.rb +39 -0
  33. data/lib/datadog/appsec/contrib/aws_lambda/patcher.rb +30 -0
  34. data/lib/datadog/appsec/contrib/aws_lambda/waf_addresses.rb +111 -0
  35. data/lib/datadog/appsec/contrib/devise/patches/signin_tracking_patch.rb +2 -1
  36. data/lib/datadog/appsec/contrib/rack/gateway/request.rb +1 -1
  37. data/lib/datadog/appsec/contrib/rails/patcher.rb +2 -2
  38. data/lib/datadog/appsec/metrics/telemetry.rb +13 -1
  39. data/lib/datadog/appsec/security_engine/runner.rb +1 -1
  40. data/lib/datadog/appsec/trace_keeper.rb +18 -6
  41. data/lib/datadog/appsec/utils/http/url_encoded.rb +2 -2
  42. data/lib/datadog/appsec.rb +1 -0
  43. data/lib/datadog/core/configuration/components.rb +1 -1
  44. data/lib/datadog/core/configuration/settings.rb +13 -0
  45. data/lib/datadog/core/configuration/supported_configurations.rb +4 -0
  46. data/lib/datadog/core/configuration.rb +1 -1
  47. data/lib/datadog/core/contrib/rails/utils.rb +1 -1
  48. data/lib/datadog/core/crashtracking/component.rb +3 -3
  49. data/lib/datadog/core/diagnostics/environment_logger.rb +3 -1
  50. data/lib/datadog/core/environment/container.rb +2 -2
  51. data/lib/datadog/core/environment/ext.rb +1 -0
  52. data/lib/datadog/core/environment/socket.rb +13 -0
  53. data/lib/datadog/core/feature_flags.rb +1 -1
  54. data/lib/datadog/core/metrics/client.rb +5 -5
  55. data/lib/datadog/core/remote/client.rb +1 -1
  56. data/lib/datadog/core/remote/component.rb +2 -2
  57. data/lib/datadog/core/runtime/metrics.rb +1 -1
  58. data/lib/datadog/core/telemetry/emitter.rb +1 -1
  59. data/lib/datadog/core/telemetry/event/app_started.rb +2 -2
  60. data/lib/datadog/core/transport/http.rb +2 -0
  61. data/lib/datadog/core/utils.rb +1 -1
  62. data/lib/datadog/core/workers/async.rb +1 -1
  63. data/lib/datadog/core.rb +1 -1
  64. data/lib/datadog/data_streams/configuration.rb +40 -1
  65. data/lib/datadog/data_streams/pathway_context.rb +1 -1
  66. data/lib/datadog/data_streams/processor.rb +1 -1
  67. data/lib/datadog/data_streams.rb +1 -1
  68. data/lib/datadog/di/base.rb +8 -5
  69. data/lib/datadog/di/code_tracker.rb +179 -1
  70. data/lib/datadog/di/component.rb +1 -1
  71. data/lib/datadog/di/configuration.rb +235 -2
  72. data/lib/datadog/di/instrumenter.rb +46 -26
  73. data/lib/datadog/di/probe_builder.rb +1 -1
  74. data/lib/datadog/di/probe_file_loader.rb +2 -2
  75. data/lib/datadog/di/probe_manager.rb +6 -6
  76. data/lib/datadog/di/probe_notification_builder.rb +1 -1
  77. data/lib/datadog/di/probe_notifier_worker.rb +2 -2
  78. data/lib/datadog/di/remote.rb +6 -6
  79. data/lib/datadog/di/serializer.rb +1 -1
  80. data/lib/datadog/di/transport/input.rb +3 -3
  81. data/lib/datadog/error_tracking/configuration.rb +55 -2
  82. data/lib/datadog/kit/enable_core_dumps.rb +1 -1
  83. data/lib/datadog/open_feature/component.rb +18 -1
  84. data/lib/datadog/open_feature/evaluation_engine.rb +3 -3
  85. data/lib/datadog/open_feature/exposures/reporter.rb +1 -1
  86. data/lib/datadog/open_feature/exposures/worker.rb +1 -1
  87. data/lib/datadog/open_feature/hooks/flag_eval_hook.rb +49 -0
  88. data/lib/datadog/open_feature/metrics/flag_eval_metrics.rb +149 -0
  89. data/lib/datadog/open_feature/provider.rb +19 -1
  90. data/lib/datadog/open_feature/remote.rb +1 -1
  91. data/lib/datadog/open_feature/transport.rb +1 -1
  92. data/lib/datadog/opentelemetry/metrics.rb +13 -4
  93. data/lib/datadog/opentelemetry/sdk/configurator.rb +1 -1
  94. data/lib/datadog/opentelemetry/sdk/id_generator.rb +16 -10
  95. data/lib/datadog/opentelemetry/sdk/metrics_exporter.rb +1 -1
  96. data/lib/datadog/profiling/collectors/code_provenance.rb +35 -9
  97. data/lib/datadog/profiling/collectors/cpu_and_wall_time_worker.rb +31 -2
  98. data/lib/datadog/profiling/collectors/idle_sampling_helper.rb +8 -2
  99. data/lib/datadog/profiling/collectors/info.rb +16 -3
  100. data/lib/datadog/profiling/component.rb +3 -6
  101. data/lib/datadog/profiling/exporter.rb +37 -12
  102. data/lib/datadog/profiling/ext.rb +0 -2
  103. data/lib/datadog/profiling/flush.rb +21 -12
  104. data/lib/datadog/profiling/http_transport.rb +12 -1
  105. data/lib/datadog/profiling/load_native_extension.rb +1 -1
  106. data/lib/datadog/profiling/profiler.rb +13 -1
  107. data/lib/datadog/profiling/scheduler.rb +2 -2
  108. data/lib/datadog/profiling/stack_recorder.rb +0 -4
  109. data/lib/datadog/profiling/tasks/exec.rb +8 -3
  110. data/lib/datadog/profiling/tasks/help.rb +1 -0
  111. data/lib/datadog/profiling/tasks/setup.rb +2 -2
  112. data/lib/datadog/single_step_instrument.rb +1 -1
  113. data/lib/datadog/symbol_database/configuration.rb +65 -0
  114. data/lib/datadog/symbol_database/extractor.rb +906 -0
  115. data/lib/datadog/symbol_database/file_hash.rb +46 -0
  116. data/lib/datadog/symbol_database/logger.rb +43 -0
  117. data/lib/datadog/symbol_database/scope.rb +102 -0
  118. data/lib/datadog/symbol_database/scope_batcher.rb +280 -0
  119. data/lib/datadog/symbol_database/service_version.rb +57 -0
  120. data/lib/datadog/symbol_database/symbol.rb +66 -0
  121. data/lib/datadog/symbol_database/transport/http/endpoint.rb +28 -0
  122. data/lib/datadog/symbol_database/transport/http.rb +45 -0
  123. data/lib/datadog/symbol_database/transport.rb +54 -0
  124. data/lib/datadog/symbol_database/uploader.rb +169 -0
  125. data/lib/datadog/symbol_database.rb +49 -0
  126. data/lib/datadog/tracing/buffer.rb +3 -3
  127. data/lib/datadog/tracing/configuration/settings.rb +1 -1
  128. data/lib/datadog/tracing/contrib/action_pack/action_controller/instrumentation.rb +5 -3
  129. data/lib/datadog/tracing/contrib/action_view/events/render_template.rb +1 -1
  130. data/lib/datadog/tracing/contrib/active_job/events/discard.rb +1 -1
  131. data/lib/datadog/tracing/contrib/active_job/events/enqueue.rb +1 -1
  132. data/lib/datadog/tracing/contrib/active_job/events/enqueue_at.rb +1 -1
  133. data/lib/datadog/tracing/contrib/active_job/events/enqueue_retry.rb +1 -1
  134. data/lib/datadog/tracing/contrib/active_job/events/perform.rb +1 -1
  135. data/lib/datadog/tracing/contrib/active_job/events/retry_stopped.rb +1 -1
  136. data/lib/datadog/tracing/contrib/active_model_serializers/events/render.rb +1 -1
  137. data/lib/datadog/tracing/contrib/active_model_serializers/events/serialize.rb +1 -1
  138. data/lib/datadog/tracing/contrib/active_record/configuration/resolver.rb +2 -2
  139. data/lib/datadog/tracing/contrib/active_record/events/instantiation.rb +1 -1
  140. data/lib/datadog/tracing/contrib/active_record/events/sql.rb +1 -1
  141. data/lib/datadog/tracing/contrib/active_record/utils.rb +1 -1
  142. data/lib/datadog/tracing/contrib/active_support/cache/events/cache.rb +1 -1
  143. data/lib/datadog/tracing/contrib/active_support/notifications/subscription.rb +2 -2
  144. data/lib/datadog/tracing/contrib/aws/instrumentation.rb +1 -1
  145. data/lib/datadog/tracing/contrib/component.rb +1 -1
  146. data/lib/datadog/tracing/contrib/configuration/resolver.rb +7 -4
  147. data/lib/datadog/tracing/contrib/dalli/quantize.rb +1 -1
  148. data/lib/datadog/tracing/contrib/elasticsearch/patcher.rb +1 -1
  149. data/lib/datadog/tracing/contrib/excon/middleware.rb +2 -2
  150. data/lib/datadog/tracing/contrib/extensions.rb +9 -0
  151. data/lib/datadog/tracing/contrib/faraday/middleware.rb +2 -2
  152. data/lib/datadog/tracing/contrib/grape/endpoint.rb +5 -5
  153. data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/client.rb +2 -2
  154. data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/server.rb +2 -2
  155. data/lib/datadog/tracing/contrib/http/instrumentation.rb +2 -2
  156. data/lib/datadog/tracing/contrib/httpclient/instrumentation.rb +6 -2
  157. data/lib/datadog/tracing/contrib/httprb/instrumentation.rb +2 -2
  158. data/lib/datadog/tracing/contrib/kafka/instrumentation/consumer.rb +2 -2
  159. data/lib/datadog/tracing/contrib/kafka/instrumentation/producer.rb +2 -2
  160. data/lib/datadog/tracing/contrib/karafka/patcher.rb +1 -1
  161. data/lib/datadog/tracing/contrib/mongodb/subscribers.rb +3 -3
  162. data/lib/datadog/tracing/contrib/opensearch/patcher.rb +1 -1
  163. data/lib/datadog/tracing/contrib/presto/instrumentation.rb +3 -3
  164. data/lib/datadog/tracing/contrib/rack/configuration/settings.rb +6 -0
  165. data/lib/datadog/tracing/contrib/rack/ext.rb +27 -0
  166. data/lib/datadog/tracing/contrib/rack/patcher.rb +1 -1
  167. data/lib/datadog/tracing/contrib/rack/request_queue.rb +1 -1
  168. data/lib/datadog/tracing/contrib/rack/trace_proxy_middleware.rb +117 -1
  169. data/lib/datadog/tracing/contrib/rails/log_injection.rb +1 -1
  170. data/lib/datadog/tracing/contrib/rails/runner.rb +1 -1
  171. data/lib/datadog/tracing/contrib/rake/instrumentation.rb +2 -2
  172. data/lib/datadog/tracing/contrib/redis/quantize.rb +1 -1
  173. data/lib/datadog/tracing/contrib/redis/tags.rb +1 -1
  174. data/lib/datadog/tracing/contrib/sidekiq/utils.rb +1 -1
  175. data/lib/datadog/tracing/contrib/stripe/request.rb +1 -1
  176. data/lib/datadog/tracing/contrib.rb +8 -0
  177. data/lib/datadog/tracing/diagnostics/environment_logger.rb +3 -1
  178. data/lib/datadog/tracing/distributed/baggage.rb +59 -5
  179. data/lib/datadog/tracing/distributed/datadog.rb +11 -11
  180. data/lib/datadog/tracing/distributed/datadog_tags_codec.rb +1 -1
  181. data/lib/datadog/tracing/distributed/propagation.rb +2 -2
  182. data/lib/datadog/tracing/distributed/trace_context.rb +74 -32
  183. data/lib/datadog/tracing/event.rb +1 -1
  184. data/lib/datadog/tracing/metadata/tagging.rb +2 -2
  185. data/lib/datadog/tracing/pipeline.rb +1 -1
  186. data/lib/datadog/tracing/remote.rb +1 -1
  187. data/lib/datadog/tracing/sampling/rule.rb +1 -1
  188. data/lib/datadog/tracing/sampling/rule_sampler.rb +2 -2
  189. data/lib/datadog/tracing/sampling/span/rule_parser.rb +2 -2
  190. data/lib/datadog/tracing/span_operation.rb +3 -3
  191. data/lib/datadog/tracing/trace_operation.rb +4 -4
  192. data/lib/datadog/tracing/tracer.rb +6 -8
  193. data/lib/datadog/tracing/transport/io/client.rb +1 -1
  194. data/lib/datadog/tracing/workers.rb +2 -1
  195. data/lib/datadog/version.rb +1 -1
  196. metadata +33 -12
  197. data/ext/datadog_profiling_native_extension/clock_id_noop.c +0 -21
  198. data/lib/datadog/ai_guard/configuration/settings.rb +0 -113
  199. data/lib/datadog/appsec/configuration/settings.rb +0 -423
  200. data/lib/datadog/data_streams/configuration/settings.rb +0 -49
  201. data/lib/datadog/di/configuration/settings.rb +0 -243
  202. data/lib/datadog/error_tracking/configuration/settings.rb +0 -63
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.31.0
4
+ version: 2.33.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: 2026-04-20 00:00:00.000000000 Z
11
+ date: 2026-05-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: msgpack
@@ -64,14 +64,14 @@ dependencies:
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: 30.0.0.1.0
67
+ version: 33.0.0.1.0
68
68
  type: :runtime
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: 30.0.0.1.0
74
+ version: 33.0.0.1.0
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: logger
77
77
  requirement: !ruby/object:Gem::Requirement
@@ -124,8 +124,8 @@ files:
124
124
  - ext/LIBDATADOG_DEVELOPMENT.md
125
125
  - ext/datadog_profiling_native_extension/NativeExtensionDesign.md
126
126
  - ext/datadog_profiling_native_extension/clock_id.h
127
+ - ext/datadog_profiling_native_extension/clock_id_from_mach.c
127
128
  - ext/datadog_profiling_native_extension/clock_id_from_pthread.c
128
- - ext/datadog_profiling_native_extension/clock_id_noop.c
129
129
  - ext/datadog_profiling_native_extension/collectors_cpu_and_wall_time_worker.c
130
130
  - ext/datadog_profiling_native_extension/collectors_discrete_dynamic_sampler.c
131
131
  - ext/datadog_profiling_native_extension/collectors_discrete_dynamic_sampler.h
@@ -187,11 +187,17 @@ files:
187
187
  - lib/datadog.rb
188
188
  - lib/datadog/ai_guard.rb
189
189
  - lib/datadog/ai_guard/api_client.rb
190
+ - lib/datadog/ai_guard/autoload.rb
190
191
  - lib/datadog/ai_guard/component.rb
191
192
  - lib/datadog/ai_guard/configuration.rb
192
193
  - lib/datadog/ai_guard/configuration/ext.rb
193
- - lib/datadog/ai_guard/configuration/settings.rb
194
+ - lib/datadog/ai_guard/contrib/auto_instrument.rb
194
195
  - lib/datadog/ai_guard/contrib/integration.rb
196
+ - lib/datadog/ai_guard/contrib/rack/integration.rb
197
+ - lib/datadog/ai_guard/contrib/rack/patcher.rb
198
+ - lib/datadog/ai_guard/contrib/rack/request_middleware.rb
199
+ - lib/datadog/ai_guard/contrib/rails/integration.rb
200
+ - lib/datadog/ai_guard/contrib/rails/patcher.rb
195
201
  - lib/datadog/ai_guard/contrib/ruby_llm/chat_instrumentation.rb
196
202
  - lib/datadog/ai_guard/contrib/ruby_llm/integration.rb
197
203
  - lib/datadog/ai_guard/contrib/ruby_llm/patcher.rb
@@ -227,12 +233,15 @@ files:
227
233
  - lib/datadog/appsec/component.rb
228
234
  - lib/datadog/appsec/compressed_json.rb
229
235
  - lib/datadog/appsec/configuration.rb
230
- - lib/datadog/appsec/configuration/settings.rb
231
236
  - lib/datadog/appsec/context.rb
232
237
  - lib/datadog/appsec/contrib/active_record/instrumentation.rb
233
238
  - lib/datadog/appsec/contrib/active_record/integration.rb
234
239
  - lib/datadog/appsec/contrib/active_record/patcher.rb
235
240
  - lib/datadog/appsec/contrib/auto_instrument.rb
241
+ - lib/datadog/appsec/contrib/aws_lambda/gateway/watcher.rb
242
+ - lib/datadog/appsec/contrib/aws_lambda/integration.rb
243
+ - lib/datadog/appsec/contrib/aws_lambda/patcher.rb
244
+ - lib/datadog/appsec/contrib/aws_lambda/waf_addresses.rb
236
245
  - lib/datadog/appsec/contrib/devise/configuration.rb
237
246
  - lib/datadog/appsec/contrib/devise/data_extractor.rb
238
247
  - lib/datadog/appsec/contrib/devise/ext.rb
@@ -492,7 +501,6 @@ files:
492
501
  - lib/datadog/core/workers/runtime_metrics.rb
493
502
  - lib/datadog/data_streams.rb
494
503
  - lib/datadog/data_streams/configuration.rb
495
- - lib/datadog/data_streams/configuration/settings.rb
496
504
  - lib/datadog/data_streams/ext.rb
497
505
  - lib/datadog/data_streams/extensions.rb
498
506
  - lib/datadog/data_streams/pathway_context.rb
@@ -506,7 +514,6 @@ files:
506
514
  - lib/datadog/di/code_tracker.rb
507
515
  - lib/datadog/di/component.rb
508
516
  - lib/datadog/di/configuration.rb
509
- - lib/datadog/di/configuration/settings.rb
510
517
  - lib/datadog/di/context.rb
511
518
  - lib/datadog/di/contrib.rb
512
519
  - lib/datadog/di/contrib/active_record.rb
@@ -542,7 +549,6 @@ files:
542
549
  - lib/datadog/error_tracking/collector.rb
543
550
  - lib/datadog/error_tracking/component.rb
544
551
  - lib/datadog/error_tracking/configuration.rb
545
- - lib/datadog/error_tracking/configuration/settings.rb
546
552
  - lib/datadog/error_tracking/ext.rb
547
553
  - lib/datadog/error_tracking/extensions.rb
548
554
  - lib/datadog/error_tracking/filters.rb
@@ -563,6 +569,8 @@ files:
563
569
  - lib/datadog/open_feature/exposures/reporter.rb
564
570
  - lib/datadog/open_feature/exposures/worker.rb
565
571
  - lib/datadog/open_feature/ext.rb
572
+ - lib/datadog/open_feature/hooks/flag_eval_hook.rb
573
+ - lib/datadog/open_feature/metrics/flag_eval_metrics.rb
566
574
  - lib/datadog/open_feature/native_evaluator.rb
567
575
  - lib/datadog/open_feature/noop_evaluator.rb
568
576
  - lib/datadog/open_feature/provider.rb
@@ -610,6 +618,19 @@ files:
610
618
  - lib/datadog/profiling/tasks/help.rb
611
619
  - lib/datadog/profiling/tasks/setup.rb
612
620
  - lib/datadog/single_step_instrument.rb
621
+ - lib/datadog/symbol_database.rb
622
+ - lib/datadog/symbol_database/configuration.rb
623
+ - lib/datadog/symbol_database/extractor.rb
624
+ - lib/datadog/symbol_database/file_hash.rb
625
+ - lib/datadog/symbol_database/logger.rb
626
+ - lib/datadog/symbol_database/scope.rb
627
+ - lib/datadog/symbol_database/scope_batcher.rb
628
+ - lib/datadog/symbol_database/service_version.rb
629
+ - lib/datadog/symbol_database/symbol.rb
630
+ - lib/datadog/symbol_database/transport.rb
631
+ - lib/datadog/symbol_database/transport/http.rb
632
+ - lib/datadog/symbol_database/transport/http/endpoint.rb
633
+ - lib/datadog/symbol_database/uploader.rb
613
634
  - lib/datadog/tracing.rb
614
635
  - lib/datadog/tracing/analytics.rb
615
636
  - lib/datadog/tracing/buffer.rb
@@ -1109,8 +1130,8 @@ licenses:
1109
1130
  - Apache-2.0
1110
1131
  metadata:
1111
1132
  allowed_push_host: https://rubygems.org
1112
- changelog_uri: https://github.com/DataDog/dd-trace-rb/blob/v2.31.0/CHANGELOG.md
1113
- source_code_uri: https://github.com/DataDog/dd-trace-rb/tree/v2.31.0
1133
+ changelog_uri: https://github.com/DataDog/dd-trace-rb/blob/v2.33.0/CHANGELOG.md
1134
+ source_code_uri: https://github.com/DataDog/dd-trace-rb/tree/v2.33.0
1114
1135
  post_install_message: 'JRuby support in the datadog gem is deprecated. Details: https://dtdg.co/jruby-deprecation'
1115
1136
  rdoc_options: []
1116
1137
  require_paths:
@@ -1,21 +0,0 @@
1
- #include "extconf.h"
2
-
3
- // This file is the dual of clock_id_from_pthread.c for systems where that info
4
- // is not available.
5
- #ifndef HAVE_PTHREAD_GETCPUCLOCKID
6
-
7
- #include "clock_id.h"
8
- #include "helpers.h"
9
- #include "datadog_ruby_common.h"
10
-
11
- void self_test_clock_id(void) { } // Nothing to check
12
-
13
- thread_cpu_time_id thread_cpu_time_id_for(DDTRACE_UNUSED VALUE _thread) {
14
- return (thread_cpu_time_id) {.valid = false};
15
- }
16
-
17
- thread_cpu_time thread_cpu_time_for(DDTRACE_UNUSED thread_cpu_time_id _time_id) {
18
- return (thread_cpu_time) {.valid = false};
19
- }
20
-
21
- #endif
@@ -1,113 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "uri"
4
- require_relative "ext"
5
-
6
- module Datadog
7
- module AIGuard
8
- module Configuration
9
- # AI Guard specific settings
10
- module Settings
11
- def self.extended(base)
12
- base = base.singleton_class unless base.is_a?(Class)
13
- add_settings!(base)
14
- end
15
-
16
- def self.add_settings!(base)
17
- base.class_eval do
18
- # AI Guard specific configurations.
19
- # @public_api
20
- #
21
- # Steep does not update `self` for this `class_eval` block.
22
- # @type self: Datadog::Core::Configuration::Base::_DslContext
23
- settings :ai_guard do
24
- # Enable AI Guard.
25
- #
26
- # You can use this option to skip calls to AI Guard API without having to remove library as a whole.
27
- #
28
- # @default `DD_AI_GUARD_ENABLED`, otherwise `false`
29
- # @return [Boolean]
30
- option :enabled do |o|
31
- o.type :bool
32
- o.env Ext::ENV_AI_GUARD_ENABLED
33
- o.default false
34
- end
35
-
36
- define_method(:instrument) do |integration_name|
37
- return unless enabled # steep:ignore
38
-
39
- if (registered_integration = Datadog::AIGuard::Contrib::Integration.registry[integration_name])
40
- klass = registered_integration.klass
41
- if klass.loaded? && klass.compatible?
42
- instance = klass.new
43
- instance.patcher.patch unless instance.patcher.patched?
44
- end
45
- end
46
- end
47
-
48
- # AI Guard API endpoint path.
49
- #
50
- # @default `DD_AI_GUARD_ENDPOINT`, otherwise `nil`
51
- # @return [String, nil]
52
- option :endpoint do |o|
53
- o.type :string, nilable: true
54
- o.env Ext::ENV_AI_GUARD_ENDPOINT
55
-
56
- o.setter do |value|
57
- next unless value
58
-
59
- uri = URI(value.to_s)
60
- raise ArgumentError, "Please provide an absolute URI that includes a protocol" unless uri.absolute?
61
-
62
- uri.to_s.delete_suffix("/")
63
- end
64
- end
65
-
66
- # Datadog Application key.
67
- #
68
- # @default `DD_APP_KEY` environment variable, otherwise `nil`
69
- # @return [String, nil]
70
- option :app_key do |o|
71
- o.type :string, nilable: true
72
- o.env Ext::ENV_APP_KEY
73
- end
74
-
75
- # Request timeout in milliseconds.
76
- #
77
- # @default `DD_AI_GUARD_TIMEOUT`, otherwise 10 000 ms
78
- # @return [Integer]
79
- option :timeout_ms do |o|
80
- o.type :int
81
- o.env Ext::ENV_AI_GUARD_TIMEOUT
82
- o.default 10_000
83
- end
84
-
85
- # Maximum content size in bytes.
86
- # Content that exceeds the maximum allowed size is truncated before
87
- # being stored in the current span context.
88
- #
89
- # @default `DD_AI_GUARD_MAX_CONTENT_SIZE`, otherwise 524 228 bytes
90
- # @return [Integer]
91
- option :max_content_size_bytes do |o|
92
- o.type :int
93
- o.env Ext::ENV_AI_GUARD_MAX_CONTENT_SIZE
94
- o.default 512 * 1024
95
- end
96
-
97
- # Maximum number of messages.
98
- # Older messages are omitted once the message limit is reached.
99
- #
100
- # @default `DD_AI_GUARD_MAX_MESSAGES_LENGTH`, otherwise 16 messages
101
- # @return [Integer]
102
- option :max_messages_length do |o|
103
- o.type :int
104
- o.env Ext::ENV_AI_GUARD_MAX_MESSAGES_LENGTH
105
- o.default 16
106
- end
107
- end
108
- end
109
- end
110
- end
111
- end
112
- end
113
- end