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
@@ -95,7 +95,7 @@ module Datadog
95
95
  %(
96
96
  Rack :middleware_names requires you to also pass :application.
97
97
  Middleware names have NOT been patched; please provide :application.
98
- e.g. use: :rack, middleware_names: true, application: my_rack_app)
98
+ e.g. use: :rack, middleware_names: true, application: my_rack_app),
99
99
  )
100
100
  end
101
101
  end
@@ -64,7 +64,7 @@ module Datadog
64
64
  service_name: rails_config[:service_name],
65
65
  middleware_names: rails_config[:middleware_names],
66
66
  distributed_tracing: rails_config[:distributed_tracing],
67
- request_queuing: rails_config[:request_queuing]
67
+ request_queuing: rails_config[:request_queuing],
68
68
  )
69
69
  end
70
70
 
@@ -85,7 +85,7 @@ module Datadog
85
85
 
86
86
  datadog_config.tracing.instrument(
87
87
  :action_mailer,
88
- service_name: rails_config[:service_name]
88
+ service_name: rails_config[:service_name],
89
89
  )
90
90
  end
91
91
 
@@ -94,7 +94,7 @@ module Datadog
94
94
 
95
95
  datadog_config.tracing.instrument(
96
96
  :action_pack,
97
- service_name: rails_config[:service_name]
97
+ service_name: rails_config[:service_name],
98
98
  )
99
99
  end
100
100
 
@@ -103,7 +103,7 @@ module Datadog
103
103
 
104
104
  datadog_config.tracing.instrument(
105
105
  :action_view,
106
- service_name: rails_config[:service_name]
106
+ service_name: rails_config[:service_name],
107
107
  )
108
108
  end
109
109
 
@@ -112,7 +112,7 @@ module Datadog
112
112
 
113
113
  datadog_config.tracing.instrument(
114
114
  :active_job,
115
- service_name: rails_config[:service_name]
115
+ service_name: rails_config[:service_name],
116
116
  )
117
117
  end
118
118
 
@@ -127,7 +127,7 @@ module Datadog
127
127
 
128
128
  if datadog_config.tracing.log_injection
129
129
  datadog_config.tracing.instrument(
130
- :lograge
130
+ :lograge,
131
131
  )
132
132
  end
133
133
  end
@@ -137,7 +137,7 @@ module Datadog
137
137
 
138
138
  if datadog_config.tracing.log_injection
139
139
  datadog_config.tracing.instrument(
140
- :semantic_logger
140
+ :semantic_logger,
141
141
  )
142
142
  end
143
143
  end
@@ -18,7 +18,7 @@ module Datadog
18
18
  app_config.log_tags << proc { Tracing.log_correlation if Datadog.configuration.tracing.log_injection }
19
19
  rescue => e
20
20
  Datadog.logger.warn(
21
- "Unable to add Datadog Trace context to ActiveSupport::TaggedLogging: #{e.class}: #{e.message}"
21
+ "Unable to add Datadog Trace context to ActiveSupport::TaggedLogging: #{e.class}: #{e.message}",
22
22
  )
23
23
  false
24
24
  end
@@ -56,12 +56,12 @@ module Datadog
56
56
  Tracing::Metadata::Ext::TAG_SVC_SRC => Ext::TAG_COMPONENT,
57
57
  Tracing::Metadata::Ext::TAG_COMPONENT => Ext::TAG_COMPONENT,
58
58
  Tracing::Metadata::Ext::TAG_OPERATION => operation,
59
- }
59
+ },
60
60
  ) do |span|
61
61
  if source
62
62
  span.set_tag(
63
63
  Ext::TAG_RUNNER_SOURCE,
64
- Core::Utils.truncate(source, MAX_TAG_VALUE_SIZE)
64
+ Core::Utils.truncate(source, MAX_TAG_VALUE_SIZE),
65
65
  )
66
66
  end
67
67
  Contrib::Analytics.set_rate!(span, Datadog.configuration.tracing[:rails])
@@ -98,12 +98,12 @@ module Datadog
98
98
  Tracing::Metadata::Ext::TAG_SVC_SRC => Ext::TAG_COMPONENT,
99
99
  Tracing::Metadata::Ext::TAG_COMPONENT => Ext::TAG_COMPONENT,
100
100
  Tracing::Metadata::Ext::TAG_OPERATION => operation,
101
- }
101
+ },
102
102
  ) do |span|
103
103
  if source
104
104
  span.set_tag(
105
105
  Ext::TAG_RUNNER_SOURCE,
106
- Core::Utils.truncate(source, MAX_TAG_VALUE_SIZE)
106
+ Core::Utils.truncate(source, MAX_TAG_VALUE_SIZE),
107
107
  )
108
108
  end
109
109
  Contrib::Analytics.set_rate!(span, Datadog.configuration.tracing[:rails])
@@ -40,7 +40,7 @@ module Datadog
40
40
  o.default do
41
41
  Contrib::SpanAttributeSchema.fetch_service_name(
42
42
  Ext::ENV_SERVICE_NAME,
43
- Ext::DEFAULT_PEER_SERVICE_NAME
43
+ Ext::DEFAULT_PEER_SERVICE_NAME,
44
44
  )
45
45
  end
46
46
  end
@@ -28,7 +28,7 @@ module Datadog
28
28
  DEBUG
29
29
  LATENCY
30
30
  MEMORY
31
- ]
31
+ ],
32
32
  ).freeze
33
33
 
34
34
  module_function
@@ -17,7 +17,7 @@ module Datadog
17
17
  if datadog_configuration[:peer_service]
18
18
  span.set_tag(
19
19
  Tracing::Metadata::Ext::TAG_PEER_SERVICE,
20
- datadog_configuration[:peer_service]
20
+ datadog_configuration[:peer_service],
21
21
  )
22
22
  end
23
23
 
@@ -39,7 +39,7 @@ module Datadog
39
39
  o.default do
40
40
  Contrib::SpanAttributeSchema.fetch_service_name(
41
41
  Ext::ENV_SERVICE_NAME,
42
- Ext::DEFAULT_PEER_SERVICE_NAME
42
+ Ext::DEFAULT_PEER_SERVICE_NAME,
43
43
  )
44
44
  end
45
45
  end
@@ -28,7 +28,7 @@ module Datadog
28
28
  datadog_trace_request(uri) do |_span, trace|
29
29
  if Tracing::Distributed::PropagationPolicy.enabled?(
30
30
  global_config: datadog_configuration,
31
- trace: trace
31
+ trace: trace,
32
32
  )
33
33
  Contrib::HTTP.inject(trace, processed_headers)
34
34
  end
@@ -44,13 +44,13 @@ module Datadog
44
44
  span.resource = Contrib::Utils::Quantization::HTTP.client_resource(
45
45
  http_method,
46
46
  path,
47
- enabled: Datadog.configuration.tracing.http_client_resource_name_quantize
47
+ enabled: Datadog.configuration.tracing.http_client_resource_name_quantize,
48
48
  )
49
49
 
50
50
  if datadog_configuration[:peer_service]
51
51
  span.set_tag(
52
52
  Tracing::Metadata::Ext::TAG_PEER_SERVICE,
53
- datadog_configuration[:peer_service]
53
+ datadog_configuration[:peer_service],
54
54
  )
55
55
  end
56
56
 
@@ -70,8 +70,8 @@ module Datadog
70
70
  span.set_tag(Tracing::Metadata::Ext::NET::TAG_TARGET_PORT, uri.port)
71
71
  span.set_tags(
72
72
  Datadog.configuration.tracing.header_tags.request_tags(
73
- Core::Utils::Hash::CaseInsensitiveWrapper.new(processed_headers)
74
- )
73
+ Core::Utils::Hash::CaseInsensitiveWrapper.new(processed_headers),
74
+ ),
75
75
  )
76
76
 
77
77
  Contrib::SpanAttributeSchema.set_peer_service!(span, Ext::PEER_SERVICE_SOURCES)
@@ -81,7 +81,7 @@ module Datadog
81
81
  span = Tracing.trace(
82
82
  Ext::SPAN_REQUEST,
83
83
  service: datadog_configuration[:split_by_domain] ? uri.host : datadog_configuration[:service_name],
84
- type: Tracing::Metadata::Ext::HTTP::TYPE_OUTBOUND
84
+ type: Tracing::Metadata::Ext::HTTP::TYPE_OUTBOUND,
85
85
  )
86
86
 
87
87
  trace = Tracing.active_trace
@@ -96,8 +96,8 @@ module Datadog
96
96
 
97
97
  span.set_tags(
98
98
  Datadog.configuration.tracing.header_tags.response_tags(
99
- Core::Utils::Hash::CaseInsensitiveWrapper.new(response.net_http_res.to_hash)
100
- )
99
+ Core::Utils::Hash::CaseInsensitiveWrapper.new(response.net_http_res.to_hash),
100
+ ),
101
101
  )
102
102
  end
103
103
  end
@@ -27,7 +27,7 @@ module Datadog
27
27
  || Datadog.configuration.tracing[:sequel][:service_name] \
28
28
  || Contrib::SpanAttributeSchema.fetch_service_name(
29
29
  "",
30
- adapter_name
30
+ adapter_name,
31
31
  )
32
32
  span.set_tag(Tracing::Metadata::Ext::TAG_SVC_SRC, Ext::TAG_COMPONENT)
33
33
  span.resource = opts[:query]
@@ -44,7 +44,7 @@ module Datadog
44
44
  || Datadog.configuration.tracing[:sequel][:service_name] \
45
45
  || Contrib::SpanAttributeSchema.fetch_service_name(
46
46
  "",
47
- adapter_name
47
+ adapter_name,
48
48
  )
49
49
  span.set_tag(Tracing::Metadata::Ext::TAG_SVC_SRC, Ext::TAG_COMPONENT)
50
50
  span.resource = opts[:query]
@@ -18,7 +18,7 @@ module Datadog
18
18
  Ext::SPAN_JOB,
19
19
  service: @shoryuken_service,
20
20
  type: Tracing::Metadata::Ext::AppTypes::TYPE_WORKER,
21
- on_error: @on_error
21
+ on_error: @on_error,
22
22
  ) do |span|
23
23
  span.set_tag(Tracing::Metadata::Ext::TAG_SVC_SRC, Ext::TAG_COMPONENT)
24
24
  span.set_tag(Contrib::Ext::Messaging::TAG_SYSTEM, Ext::TAG_MESSAGING_SYSTEM)
@@ -27,7 +27,7 @@ module Datadog
27
27
  span.set_tag(Datadog::Tracing::Metadata::Ext::TAG_SVC_SRC, Ext::TAG_COMPONENT)
28
28
  if Tracing::Distributed::PropagationPolicy.enabled?(
29
29
  global_config: configuration,
30
- trace: trace_op
30
+ trace: trace_op,
31
31
  )
32
32
  Sidekiq.inject(trace_op, job)
33
33
  end
@@ -41,7 +41,7 @@ module Datadog
41
41
 
42
42
  span.set_tag(
43
43
  Datadog::Tracing::Metadata::Ext::TAG_KIND,
44
- Datadog::Tracing::Metadata::Ext::SpanKind::TAG_PRODUCER
44
+ Datadog::Tracing::Metadata::Ext::SpanKind::TAG_PRODUCER,
45
45
  )
46
46
 
47
47
  # Set analytics sample rate
@@ -34,7 +34,7 @@ module Datadog
34
34
  Ext::SPAN_JOB,
35
35
  service: @sidekiq_service,
36
36
  type: Datadog::Tracing::Metadata::Ext::AppTypes::TYPE_WORKER,
37
- on_error: @on_error
37
+ on_error: @on_error,
38
38
  ) do |span|
39
39
  span.set_tag(Datadog::Tracing::Metadata::Ext::TAG_SVC_SRC, Ext::TAG_COMPONENT)
40
40
  span.resource = resource
@@ -46,7 +46,7 @@ module Datadog
46
46
 
47
47
  span.set_tag(
48
48
  Datadog::Tracing::Metadata::Ext::TAG_KIND,
49
- Datadog::Tracing::Metadata::Ext::SpanKind::TAG_CONSUMER
49
+ Datadog::Tracing::Metadata::Ext::SpanKind::TAG_CONSUMER,
50
50
  )
51
51
 
52
52
  # Set analytics sample rate
@@ -29,7 +29,7 @@ module Datadog
29
29
  propagation_style_inject: tracing.propagation_style_inject,
30
30
  propagation_style_extract: tracing.propagation_style_extract,
31
31
  propagation_behavior_extract: tracing.propagation_behavior_extract,
32
- propagation_extract_first: tracing.propagation_extract_first
32
+ propagation_extract_first: tracing.propagation_extract_first,
33
33
  )
34
34
  end
35
35
  end
@@ -26,7 +26,7 @@ module Datadog
26
26
  Tracing.trace(
27
27
  Ext::SPAN_REQUEST,
28
28
  service: configuration[:service_name],
29
- type: Tracing::Metadata::Ext::HTTP::TYPE_INBOUND
29
+ type: Tracing::Metadata::Ext::HTTP::TYPE_INBOUND,
30
30
  ) do |span|
31
31
  span.set_tag(Tracing::Metadata::Ext::TAG_SVC_SRC, Ext::TAG_COMPONENT)
32
32
  # this is kept nil until we set a correct one (either in the route or with a fallback in the ensure below)
@@ -19,7 +19,7 @@ module Datadog
19
19
  when 2 then array << (Integer(v.first)..Integer(v.last))
20
20
  else
21
21
  Datadog.logger.debug(
22
- "Invalid error_status_codes configuration: Unable to parse #{value}, containing #{v}."
22
+ "Invalid error_status_codes configuration: Unable to parse #{value}, containing #{v}.",
23
23
  )
24
24
  next
25
25
  end
@@ -32,7 +32,7 @@ module Datadog
32
32
  if Datadog::Tracing::Contrib::Analytics.enabled?(datadog_configuration[:analytics_enabled])
33
33
  Datadog::Tracing::Contrib::Analytics.set_sample_rate(
34
34
  span,
35
- datadog_configuration[:analytics_sample_rate]
35
+ datadog_configuration[:analytics_sample_rate],
36
36
  )
37
37
  end
38
38
 
@@ -35,7 +35,7 @@ module Datadog
35
35
  o.default do
36
36
  Contrib::SpanAttributeSchema.fetch_service_name(
37
37
  Ext::ENV_SERVICE_NAME,
38
- Ext::DEFAULT_PEER_SERVICE_NAME
38
+ Ext::DEFAULT_PEER_SERVICE_NAME,
39
39
  )
40
40
  end
41
41
  end
@@ -30,7 +30,7 @@ module Datadog
30
30
  if datadog_configuration[:peer_service]
31
31
  span.set_tag(
32
32
  Tracing::Metadata::Ext::TAG_PEER_SERVICE,
33
- datadog_configuration[:peer_service]
33
+ datadog_configuration[:peer_service],
34
34
  )
35
35
  end
36
36
 
@@ -55,7 +55,7 @@ module Datadog
55
55
  propagation_mode = Contrib::Propagation::SqlComment::Mode.new(
56
56
  comment_propagation,
57
57
  datadog_configuration[:append_comment],
58
- datadog_configuration[:inject_sql_basehash]
58
+ datadog_configuration[:inject_sql_basehash],
59
59
  )
60
60
 
61
61
  Contrib::Propagation::SqlComment.annotate!(span, propagation_mode)
@@ -63,7 +63,7 @@ module Datadog
63
63
  sql,
64
64
  span,
65
65
  trace_op,
66
- propagation_mode
66
+ propagation_mode,
67
67
  )
68
68
 
69
69
  super(sql)
@@ -14,7 +14,7 @@ module Datadog
14
14
 
15
15
  if trace_op && Datadog::Tracing::Distributed::PropagationPolicy.enabled?(
16
16
  global_config: configuration,
17
- trace: trace_op
17
+ trace: trace_op,
18
18
  )
19
19
  WaterDrop.inject(trace_op.to_digest, message[:headers] ||= {})
20
20
  end
@@ -23,7 +23,7 @@ module Datadog
23
23
  Datadog::DataStreams.set_produce_checkpoint(
24
24
  type: "kafka",
25
25
  destination: message[:topic],
26
- auto_instrumentation: true
26
+ auto_instrumentation: true,
27
27
  ) do |key, value|
28
28
  message[:headers] ||= {}
29
29
  message[:headers][key] = value
@@ -33,7 +33,7 @@ module Datadog
33
33
  propagation_style_inject: tracing.propagation_style_inject,
34
34
  propagation_style_extract: tracing.propagation_style_extract,
35
35
  propagation_behavior_extract: tracing.propagation_behavior_extract,
36
- propagation_extract_first: tracing.propagation_extract_first
36
+ propagation_extract_first: tracing.propagation_extract_first,
37
37
  )
38
38
  end
39
39
  end
@@ -25,7 +25,7 @@ module Datadog
25
25
  end
26
26
  rescue => e
27
27
  logger.warn(
28
- "Failed to collect tracing environment information: #{e.class}: #{e.message} Location: #{Array(e.backtrace).first}"
28
+ "Failed to collect tracing environment information: #{e.class}: #{e.message} Location: #{Array(e.backtrace).first}",
29
29
  )
30
30
  end
31
31
  end
@@ -35,7 +35,7 @@ module Datadog
35
35
 
36
36
  if digest.trace_sampling_priority
37
37
  sampling_priority = Helpers.clamp_sampling_priority(
38
- digest.trace_sampling_priority
38
+ digest.trace_sampling_priority,
39
39
  )
40
40
  data[@sampled_key] = sampling_priority.to_s
41
41
  end
@@ -32,7 +32,7 @@ module Datadog
32
32
 
33
33
  if digest.trace_sampling_priority
34
34
  sampling_priority = Helpers.clamp_sampling_priority(
35
- digest.trace_sampling_priority
35
+ digest.trace_sampling_priority,
36
36
  )
37
37
  value += "-#{sampling_priority}"
38
38
  end
@@ -44,7 +44,7 @@ module Datadog
44
44
  record_telemetry_metric(
45
45
  "context_header.truncated",
46
46
  1,
47
- {"header_style" => "baggage", "truncation_reason" => "baggage_item_count_exceeded"}
47
+ {"header_style" => "baggage", "truncation_reason" => "baggage_item_count_exceeded"},
48
48
  )
49
49
  baggage_items = baggage_items.first(DD_TRACE_BAGGAGE_MAX_ITEMS)
50
50
  end
@@ -61,7 +61,7 @@ module Datadog
61
61
  record_telemetry_metric(
62
62
  "context_header.truncated",
63
63
  1,
64
- {"header_style" => "baggage", "truncation_reason" => "baggage_byte_count_exceeded"}
64
+ {"header_style" => "baggage", "truncation_reason" => "baggage_byte_count_exceeded"},
65
65
  )
66
66
  break # stop adding items when size limit is reached
67
67
  end
@@ -99,7 +99,7 @@ module Datadog
99
99
 
100
100
  TraceDigest.new(
101
101
  baggage: baggage,
102
- trace_distributed_tags: baggage_tags
102
+ trace_distributed_tags: baggage_tags,
103
103
  )
104
104
  end
105
105
 
@@ -137,7 +137,7 @@ module Datadog
137
137
  rescue => e
138
138
  set_tags_propagation_error(reason: "encoding_error")
139
139
  ::Datadog.logger.warn(
140
- "Failed to inject x-datadog-tags: #{e.class}: #{e.message} at #{Array(e.backtrace).first}"
140
+ "Failed to inject x-datadog-tags: #{e.class}: #{e.message} at #{Array(e.backtrace).first}",
141
141
  )
142
142
  nil
143
143
  end
@@ -164,7 +164,7 @@ module Datadog
164
164
  rescue => e
165
165
  set_tags_propagation_error(reason: "decoding_error")
166
166
  ::Datadog.logger.warn(
167
- "Failed to extract x-datadog-tags: #{e.class}: #{e.message} at #{Array(e.backtrace).first}"
167
+ "Failed to extract x-datadog-tags: #{e.class}: #{e.message} at #{Array(e.backtrace).first}",
168
168
  )
169
169
  nil
170
170
  end
@@ -188,7 +188,7 @@ module Datadog
188
188
  ::Datadog.logger.warn(
189
189
  "Failed to #{scenario} x-datadog-tags: tags are too large for configured limit (bytesize:#{size} >= " \
190
190
  "limit:#{max_length}). This limit can be configured " \
191
- "through the DD_TRACE_X_DATADOG_TAGS_MAX_LENGTH environment variable."
191
+ "through the DD_TRACE_X_DATADOG_TAGS_MAX_LENGTH environment variable.",
192
192
  )
193
193
 
194
194
  true
@@ -81,11 +81,11 @@ module Datadog
81
81
  rescue => e
82
82
  result = nil
83
83
  ::Datadog.logger.error(
84
- "Error injecting distributed trace data. Cause: #{e.class}: #{e.message} Location: #{Array(e.backtrace).first}"
84
+ "Error injecting distributed trace data. Cause: #{e.class}: #{e.message} Location: #{Array(e.backtrace).first}",
85
85
  )
86
86
  ::Datadog::Core::Telemetry::Logger.report(
87
87
  e,
88
- description: "Error injecting distributed trace data with #{propagator.class.name}"
88
+ description: "Error injecting distributed trace data with #{propagator.class.name}",
89
89
  )
90
90
  end
91
91
 
@@ -149,13 +149,13 @@ module Datadog
149
149
  trace_otel_random_value: tracecontext_digest.trace_otel_random_value,
150
150
  trace_otel_threshold: tracecontext_digest.trace_otel_threshold,
151
151
  trace_otel_unknown_fields: tracecontext_digest.trace_otel_unknown_fields,
152
- trace_distributed_tags: distributed_tags
152
+ trace_distributed_tags: distributed_tags,
153
153
  )
154
154
  end
155
155
  rescue => e
156
156
  # TODO: Not to report Telemetry logs for now
157
157
  ::Datadog.logger.error(
158
- "Error extracting distributed trace data. Cause: #{e.class}: #{e.message} Location: #{Array(e.backtrace).first}"
158
+ "Error extracting distributed trace data. Cause: #{e.class}: #{e.message} Location: #{Array(e.backtrace).first}",
159
159
  )
160
160
  end
161
161
  # Handle baggage after all other styles if present
@@ -171,7 +171,7 @@ module Datadog
171
171
  attributes: {
172
172
  "reason" => "propagation_behavior_extract",
173
173
  "context_headers" => extracted_style_name,
174
- }
174
+ },
175
175
  )
176
176
  baggage_tags = extracted_trace_digest.trace_distributed_tags&.select { |k, _| k.start_with?("baggage.") }
177
177
  baggage_tags = nil if baggage_tags&.empty?
@@ -192,7 +192,7 @@ module Datadog
192
192
  if digest
193
193
  extracted_trace_digest.merge(
194
194
  baggage: digest.baggage,
195
- trace_distributed_tags: digest.trace_distributed_tags
195
+ trace_distributed_tags: digest.trace_distributed_tags,
196
196
  )
197
197
  else
198
198
  extracted_trace_digest
@@ -207,7 +207,7 @@ module Datadog
207
207
  dd_propagator = @propagation_style_extract.find { |propagator| propagator.is_a?(Datadog) }
208
208
  if tracecontext_tags&.fetch(
209
209
  Tracing::Metadata::Ext::Distributed::TAG_DD_PARENT_ID,
210
- Tracing::Metadata::Ext::Distributed::DD_PARENT_ID_DEFAULT
210
+ Tracing::Metadata::Ext::Distributed::DD_PARENT_ID_DEFAULT,
211
211
  ) != Tracing::Metadata::Ext::Distributed::DD_PARENT_ID_DEFAULT
212
212
  # tracecontext headers contain a p value, ensure this value is sent to backend
213
213
  tracecontext_tags[Tracing::Metadata::Ext::Distributed::TAG_DD_PARENT_ID]
@@ -87,7 +87,7 @@ module Datadog
87
87
  build_traceparent_string(
88
88
  digest.trace_id,
89
89
  digest.span_id || 0, # Fall back to zero (invalid) if not present
90
- build_trace_flags(digest)
90
+ build_trace_flags(digest),
91
91
  )
92
92
  end
93
93
 
@@ -85,7 +85,7 @@ module Datadog
85
85
  outbound_random_value = reconcile_random_value(
86
86
  random_value_for(trace_id),
87
87
  outbound_threshold,
88
- !!trace_kept
88
+ !!trace_kept,
89
89
  )
90
90
  self.class.new(
91
91
  random_value: format_random_value(outbound_random_value),
@@ -26,7 +26,7 @@ module Datadog
26
26
  set(
27
27
  trace_id: event_trace_op.id,
28
28
  span_id: event_span_op.id,
29
- local_root_span_id: event_trace_op.send(:root_span).id
29
+ local_root_span_id: event_trace_op.send(:root_span).id,
30
30
  )
31
31
  end
32
32
 
@@ -75,14 +75,14 @@ module Datadog
75
75
  set(
76
76
  trace_id: trace_op.id,
77
77
  span_id: active_span.id,
78
- local_root_span_id: trace_op.send(:root_span).id
78
+ local_root_span_id: trace_op.send(:root_span).id,
79
79
  )
80
80
  elsif trace_op.parent_span_id && trace_op.parent_span_id != 0
81
81
  # Active distributed trace context, before first local trace is created
82
82
  set(
83
83
  trace_id: trace_op.id,
84
84
  span_id: trace_op.parent_span_id,
85
- local_root_span_id: UNKNOWN_LOCAL_ROOT_SPAN_ID
85
+ local_root_span_id: UNKNOWN_LOCAL_ROOT_SPAN_ID,
86
86
  )
87
87
  else
88
88
  clear
@@ -51,7 +51,7 @@ module Datadog
51
51
  end
52
52
  rescue => e
53
53
  Datadog.logger.debug(
54
- "trace dropped entirely due to `Pipeline.before_flush` error: #{e.class}: #{e.message}"
54
+ "trace dropped entirely due to `Pipeline.before_flush` error: #{e.class}: #{e.message}",
55
55
  )
56
56
 
57
57
  nil
@@ -68,7 +68,7 @@ module Datadog
68
68
  # full control over the sampling decision.
69
69
  trace.set_tag(
70
70
  Tracing::Metadata::Ext::Distributed::TAG_DECISION_MAKER,
71
- Sampling::Ext::Decision::MANUAL
71
+ Sampling::Ext::Decision::MANUAL,
72
72
  )
73
73
  end
74
74
  else
@@ -34,7 +34,7 @@ module Datadog
34
34
  @matcher.match?(trace)
35
35
  rescue => e
36
36
  Datadog.logger.error(
37
- "Matcher failed. Cause: #{e.class}: #{e.message} Source: #{Array(e.backtrace).first}"
37
+ "Matcher failed. Cause: #{e.class}: #{e.message} Source: #{Array(e.backtrace).first}",
38
38
  )
39
39
  Datadog::Core::Telemetry::Logger.report(e, description: "Matcher failed")
40
40
  nil
@@ -133,7 +133,7 @@ module Datadog
133
133
  apply_rule!(trace, rule)
134
134
  rescue => e
135
135
  Datadog.logger.error(
136
- "Rule sampling failed. Cause: #{e.class}: #{e.message} Source: #{Array(e.backtrace).first}"
136
+ "Rule sampling failed. Cause: #{e.class}: #{e.message} Source: #{Array(e.backtrace).first}",
137
137
  )
138
138
  Datadog::Core::Telemetry::Logger.report(e, description: "Rule sampling failed")
139
139
 
@@ -29,7 +29,7 @@ module Datadog
29
29
  rescue => e
30
30
  Datadog.logger.warn(
31
31
  "Error parsing Span Sampling Rules `#{rules.inspect}`: " \
32
- "#{e.class}: #{e.message} at #{Array(e.backtrace).first}"
32
+ "#{e.class}: #{e.message} at #{Array(e.backtrace).first}",
33
33
  )
34
34
  return nil
35
35
  end
@@ -61,7 +61,7 @@ module Datadog
61
61
  rescue => e
62
62
  Datadog.logger.warn(
63
63
  "Cannot parse Span Sampling Rule #{hash.inspect}: " \
64
- "#{e.class}: #{e.message} at #{Array(e.backtrace).first}"
64
+ "#{e.class}: #{e.message} at #{Array(e.backtrace).first}",
65
65
  )
66
66
  return nil
67
67
  end
@@ -535,7 +535,7 @@ module Datadog
535
535
  trace_id: @trace_id,
536
536
  links: @links,
537
537
  events: @span_events,
538
- service_entry: parent.nil? || (service && parent.service != service)
538
+ service_entry: parent.nil? || (service && parent.service != service),
539
539
  )
540
540
  end
541
541