ddtrace 0.38.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (433) hide show
  1. checksums.yaml +7 -0
  2. data/.circleci/config.yml +492 -0
  3. data/.circleci/images/primary/Dockerfile-2.0.0 +73 -0
  4. data/.circleci/images/primary/Dockerfile-2.1.10 +73 -0
  5. data/.circleci/images/primary/Dockerfile-2.2.10 +73 -0
  6. data/.circleci/images/primary/Dockerfile-2.3.8 +75 -0
  7. data/.circleci/images/primary/Dockerfile-2.4.6 +73 -0
  8. data/.circleci/images/primary/Dockerfile-2.5.6 +73 -0
  9. data/.circleci/images/primary/Dockerfile-2.6.4 +73 -0
  10. data/.circleci/images/primary/Dockerfile-2.7.0 +73 -0
  11. data/.circleci/images/primary/Dockerfile-jruby-9.2 +77 -0
  12. data/.dockerignore +1 -0
  13. data/.env +26 -0
  14. data/.github/CODEOWNERS +1 -0
  15. data/.gitignore +61 -0
  16. data/.gitlab-ci.yml +26 -0
  17. data/.rspec +1 -0
  18. data/.rubocop.yml +85 -0
  19. data/.yardopts +5 -0
  20. data/Appraisals +961 -0
  21. data/CHANGELOG.md +1402 -0
  22. data/CONTRIBUTING.md +85 -0
  23. data/Gemfile +7 -0
  24. data/LICENSE +6 -0
  25. data/LICENSE.Apache +200 -0
  26. data/LICENSE.BSD3 +24 -0
  27. data/NOTICE +4 -0
  28. data/README.md +23 -0
  29. data/Rakefile +753 -0
  30. data/benchmarks/postgres_database.yml +9 -0
  31. data/benchmarks/sidekiq_test.rb +154 -0
  32. data/ddtrace.gemspec +71 -0
  33. data/docker-compose.yml +370 -0
  34. data/docs/DevelopmentGuide.md +195 -0
  35. data/docs/GettingStarted.md +2224 -0
  36. data/lib/ddtrace.rb +76 -0
  37. data/lib/ddtrace/analytics.rb +36 -0
  38. data/lib/ddtrace/augmentation.rb +13 -0
  39. data/lib/ddtrace/augmentation/method_wrapper.rb +20 -0
  40. data/lib/ddtrace/augmentation/method_wrapping.rb +38 -0
  41. data/lib/ddtrace/augmentation/shim.rb +102 -0
  42. data/lib/ddtrace/buffer.rb +119 -0
  43. data/lib/ddtrace/chunker.rb +34 -0
  44. data/lib/ddtrace/configuration.rb +53 -0
  45. data/lib/ddtrace/configuration/base.rb +84 -0
  46. data/lib/ddtrace/configuration/components.rb +154 -0
  47. data/lib/ddtrace/configuration/dependency_resolver.rb +24 -0
  48. data/lib/ddtrace/configuration/option.rb +64 -0
  49. data/lib/ddtrace/configuration/option_definition.rb +123 -0
  50. data/lib/ddtrace/configuration/option_definition_set.rb +18 -0
  51. data/lib/ddtrace/configuration/option_set.rb +6 -0
  52. data/lib/ddtrace/configuration/options.rb +112 -0
  53. data/lib/ddtrace/configuration/pin_setup.rb +31 -0
  54. data/lib/ddtrace/configuration/settings.rb +273 -0
  55. data/lib/ddtrace/context.rb +305 -0
  56. data/lib/ddtrace/context_flush.rb +69 -0
  57. data/lib/ddtrace/context_provider.rb +50 -0
  58. data/lib/ddtrace/contrib/action_cable/configuration/settings.rb +25 -0
  59. data/lib/ddtrace/contrib/action_cable/event.rb +65 -0
  60. data/lib/ddtrace/contrib/action_cable/events.rb +33 -0
  61. data/lib/ddtrace/contrib/action_cable/events/broadcast.rb +49 -0
  62. data/lib/ddtrace/contrib/action_cable/events/perform_action.rb +55 -0
  63. data/lib/ddtrace/contrib/action_cable/events/transmit.rb +50 -0
  64. data/lib/ddtrace/contrib/action_cable/ext.rb +23 -0
  65. data/lib/ddtrace/contrib/action_cable/instrumentation.rb +31 -0
  66. data/lib/ddtrace/contrib/action_cable/integration.rb +38 -0
  67. data/lib/ddtrace/contrib/action_cable/patcher.rb +27 -0
  68. data/lib/ddtrace/contrib/action_pack/action_controller/instrumentation.rb +148 -0
  69. data/lib/ddtrace/contrib/action_pack/action_controller/patcher.rb +25 -0
  70. data/lib/ddtrace/contrib/action_pack/configuration/settings.rb +27 -0
  71. data/lib/ddtrace/contrib/action_pack/ext.rb +16 -0
  72. data/lib/ddtrace/contrib/action_pack/integration.rb +38 -0
  73. data/lib/ddtrace/contrib/action_pack/patcher.rb +23 -0
  74. data/lib/ddtrace/contrib/action_pack/utils.rb +36 -0
  75. data/lib/ddtrace/contrib/action_view/configuration/settings.rb +26 -0
  76. data/lib/ddtrace/contrib/action_view/event.rb +39 -0
  77. data/lib/ddtrace/contrib/action_view/events.rb +30 -0
  78. data/lib/ddtrace/contrib/action_view/events/render_partial.rb +45 -0
  79. data/lib/ddtrace/contrib/action_view/events/render_template.rb +48 -0
  80. data/lib/ddtrace/contrib/action_view/ext.rb +17 -0
  81. data/lib/ddtrace/contrib/action_view/instrumentation/partial_renderer.rb +74 -0
  82. data/lib/ddtrace/contrib/action_view/instrumentation/template_renderer.rb +167 -0
  83. data/lib/ddtrace/contrib/action_view/integration.rb +45 -0
  84. data/lib/ddtrace/contrib/action_view/patcher.rb +47 -0
  85. data/lib/ddtrace/contrib/action_view/utils.rb +32 -0
  86. data/lib/ddtrace/contrib/active_model_serializers/configuration/settings.rb +25 -0
  87. data/lib/ddtrace/contrib/active_model_serializers/event.rb +68 -0
  88. data/lib/ddtrace/contrib/active_model_serializers/events.rb +30 -0
  89. data/lib/ddtrace/contrib/active_model_serializers/events/render.rb +32 -0
  90. data/lib/ddtrace/contrib/active_model_serializers/events/serialize.rb +35 -0
  91. data/lib/ddtrace/contrib/active_model_serializers/ext.rb +17 -0
  92. data/lib/ddtrace/contrib/active_model_serializers/integration.rb +40 -0
  93. data/lib/ddtrace/contrib/active_model_serializers/patcher.rb +29 -0
  94. data/lib/ddtrace/contrib/active_record/configuration/resolver.rb +45 -0
  95. data/lib/ddtrace/contrib/active_record/configuration/settings.rb +30 -0
  96. data/lib/ddtrace/contrib/active_record/event.rb +30 -0
  97. data/lib/ddtrace/contrib/active_record/events.rb +30 -0
  98. data/lib/ddtrace/contrib/active_record/events/instantiation.rb +60 -0
  99. data/lib/ddtrace/contrib/active_record/events/sql.rb +64 -0
  100. data/lib/ddtrace/contrib/active_record/ext.rb +21 -0
  101. data/lib/ddtrace/contrib/active_record/integration.rb +46 -0
  102. data/lib/ddtrace/contrib/active_record/patcher.rb +23 -0
  103. data/lib/ddtrace/contrib/active_record/utils.rb +76 -0
  104. data/lib/ddtrace/contrib/active_support/cache/instrumentation.rb +157 -0
  105. data/lib/ddtrace/contrib/active_support/cache/patcher.rb +48 -0
  106. data/lib/ddtrace/contrib/active_support/cache/redis.rb +47 -0
  107. data/lib/ddtrace/contrib/active_support/configuration/settings.rb +25 -0
  108. data/lib/ddtrace/contrib/active_support/ext.rb +21 -0
  109. data/lib/ddtrace/contrib/active_support/integration.rb +40 -0
  110. data/lib/ddtrace/contrib/active_support/notifications/event.rb +64 -0
  111. data/lib/ddtrace/contrib/active_support/notifications/subscriber.rb +66 -0
  112. data/lib/ddtrace/contrib/active_support/notifications/subscription.rb +159 -0
  113. data/lib/ddtrace/contrib/active_support/patcher.rb +23 -0
  114. data/lib/ddtrace/contrib/analytics.rb +24 -0
  115. data/lib/ddtrace/contrib/aws/configuration/settings.rb +25 -0
  116. data/lib/ddtrace/contrib/aws/ext.rb +20 -0
  117. data/lib/ddtrace/contrib/aws/instrumentation.rb +56 -0
  118. data/lib/ddtrace/contrib/aws/integration.rb +42 -0
  119. data/lib/ddtrace/contrib/aws/parsed_context.rb +56 -0
  120. data/lib/ddtrace/contrib/aws/patcher.rb +49 -0
  121. data/lib/ddtrace/contrib/aws/services.rb +115 -0
  122. data/lib/ddtrace/contrib/concurrent_ruby/configuration/settings.rb +15 -0
  123. data/lib/ddtrace/contrib/concurrent_ruby/context_composite_executor_service.rb +41 -0
  124. data/lib/ddtrace/contrib/concurrent_ruby/ext.rb +11 -0
  125. data/lib/ddtrace/contrib/concurrent_ruby/future_patch.rb +23 -0
  126. data/lib/ddtrace/contrib/concurrent_ruby/integration.rb +38 -0
  127. data/lib/ddtrace/contrib/concurrent_ruby/patcher.rb +28 -0
  128. data/lib/ddtrace/contrib/configurable.rb +76 -0
  129. data/lib/ddtrace/contrib/configuration/resolver.rb +16 -0
  130. data/lib/ddtrace/contrib/configuration/resolvers/pattern_resolver.rb +39 -0
  131. data/lib/ddtrace/contrib/configuration/settings.rb +53 -0
  132. data/lib/ddtrace/contrib/dalli/configuration/settings.rb +25 -0
  133. data/lib/ddtrace/contrib/dalli/ext.rb +17 -0
  134. data/lib/ddtrace/contrib/dalli/instrumentation.rb +50 -0
  135. data/lib/ddtrace/contrib/dalli/integration.rb +38 -0
  136. data/lib/ddtrace/contrib/dalli/patcher.rb +63 -0
  137. data/lib/ddtrace/contrib/dalli/quantize.rb +22 -0
  138. data/lib/ddtrace/contrib/delayed_job/configuration/settings.rb +25 -0
  139. data/lib/ddtrace/contrib/delayed_job/ext.rb +18 -0
  140. data/lib/ddtrace/contrib/delayed_job/integration.rb +38 -0
  141. data/lib/ddtrace/contrib/delayed_job/patcher.rb +28 -0
  142. data/lib/ddtrace/contrib/delayed_job/plugin.rb +61 -0
  143. data/lib/ddtrace/contrib/elasticsearch/configuration/settings.rb +26 -0
  144. data/lib/ddtrace/contrib/elasticsearch/ext.rb +19 -0
  145. data/lib/ddtrace/contrib/elasticsearch/integration.rb +39 -0
  146. data/lib/ddtrace/contrib/elasticsearch/patcher.rb +117 -0
  147. data/lib/ddtrace/contrib/elasticsearch/quantize.rb +80 -0
  148. data/lib/ddtrace/contrib/ethon/configuration/settings.rb +27 -0
  149. data/lib/ddtrace/contrib/ethon/easy_patch.rb +148 -0
  150. data/lib/ddtrace/contrib/ethon/ext.rb +15 -0
  151. data/lib/ddtrace/contrib/ethon/integration.rb +43 -0
  152. data/lib/ddtrace/contrib/ethon/multi_patch.rb +80 -0
  153. data/lib/ddtrace/contrib/ethon/patcher.rb +25 -0
  154. data/lib/ddtrace/contrib/excon/configuration/settings.rb +28 -0
  155. data/lib/ddtrace/contrib/excon/ext.rb +14 -0
  156. data/lib/ddtrace/contrib/excon/integration.rb +43 -0
  157. data/lib/ddtrace/contrib/excon/middleware.rb +157 -0
  158. data/lib/ddtrace/contrib/excon/patcher.rb +27 -0
  159. data/lib/ddtrace/contrib/extensions.rb +93 -0
  160. data/lib/ddtrace/contrib/faraday/configuration/settings.rb +33 -0
  161. data/lib/ddtrace/contrib/faraday/connection.rb +18 -0
  162. data/lib/ddtrace/contrib/faraday/ext.rb +14 -0
  163. data/lib/ddtrace/contrib/faraday/integration.rb +43 -0
  164. data/lib/ddtrace/contrib/faraday/middleware.rb +83 -0
  165. data/lib/ddtrace/contrib/faraday/patcher.rb +80 -0
  166. data/lib/ddtrace/contrib/faraday/rack_builder.rb +18 -0
  167. data/lib/ddtrace/contrib/grape/configuration/settings.rb +27 -0
  168. data/lib/ddtrace/contrib/grape/endpoint.rb +208 -0
  169. data/lib/ddtrace/contrib/grape/ext.rb +19 -0
  170. data/lib/ddtrace/contrib/grape/instrumentation.rb +33 -0
  171. data/lib/ddtrace/contrib/grape/integration.rb +39 -0
  172. data/lib/ddtrace/contrib/grape/patcher.rb +73 -0
  173. data/lib/ddtrace/contrib/graphql/configuration/settings.rb +27 -0
  174. data/lib/ddtrace/contrib/graphql/ext.rb +13 -0
  175. data/lib/ddtrace/contrib/graphql/integration.rb +39 -0
  176. data/lib/ddtrace/contrib/graphql/patcher.rb +60 -0
  177. data/lib/ddtrace/contrib/grpc/configuration/settings.rb +25 -0
  178. data/lib/ddtrace/contrib/grpc/datadog_interceptor.rb +74 -0
  179. data/lib/ddtrace/contrib/grpc/datadog_interceptor/client.rb +54 -0
  180. data/lib/ddtrace/contrib/grpc/datadog_interceptor/server.rb +76 -0
  181. data/lib/ddtrace/contrib/grpc/ext.rb +15 -0
  182. data/lib/ddtrace/contrib/grpc/integration.rb +38 -0
  183. data/lib/ddtrace/contrib/grpc/intercept_with_datadog.rb +49 -0
  184. data/lib/ddtrace/contrib/grpc/patcher.rb +68 -0
  185. data/lib/ddtrace/contrib/http/circuit_breaker.rb +39 -0
  186. data/lib/ddtrace/contrib/http/configuration/settings.rb +27 -0
  187. data/lib/ddtrace/contrib/http/ext.rb +14 -0
  188. data/lib/ddtrace/contrib/http/instrumentation.rb +175 -0
  189. data/lib/ddtrace/contrib/http/integration.rb +45 -0
  190. data/lib/ddtrace/contrib/http/patcher.rb +26 -0
  191. data/lib/ddtrace/contrib/http_annotation_helper.rb +10 -0
  192. data/lib/ddtrace/contrib/httprb/configuration/settings.rb +27 -0
  193. data/lib/ddtrace/contrib/httprb/ext.rb +14 -0
  194. data/lib/ddtrace/contrib/httprb/instrumentation.rb +163 -0
  195. data/lib/ddtrace/contrib/httprb/integration.rb +43 -0
  196. data/lib/ddtrace/contrib/httprb/patcher.rb +35 -0
  197. data/lib/ddtrace/contrib/integration.rb +16 -0
  198. data/lib/ddtrace/contrib/kafka/configuration/settings.rb +25 -0
  199. data/lib/ddtrace/contrib/kafka/consumer_event.rb +14 -0
  200. data/lib/ddtrace/contrib/kafka/consumer_group_event.rb +14 -0
  201. data/lib/ddtrace/contrib/kafka/event.rb +51 -0
  202. data/lib/ddtrace/contrib/kafka/events.rb +44 -0
  203. data/lib/ddtrace/contrib/kafka/events/connection/request.rb +34 -0
  204. data/lib/ddtrace/contrib/kafka/events/consumer/process_batch.rb +41 -0
  205. data/lib/ddtrace/contrib/kafka/events/consumer/process_message.rb +39 -0
  206. data/lib/ddtrace/contrib/kafka/events/consumer_group/heartbeat.rb +39 -0
  207. data/lib/ddtrace/contrib/kafka/events/consumer_group/join_group.rb +29 -0
  208. data/lib/ddtrace/contrib/kafka/events/consumer_group/leave_group.rb +29 -0
  209. data/lib/ddtrace/contrib/kafka/events/consumer_group/sync_group.rb +29 -0
  210. data/lib/ddtrace/contrib/kafka/events/produce_operation/send_messages.rb +32 -0
  211. data/lib/ddtrace/contrib/kafka/events/producer/deliver_messages.rb +35 -0
  212. data/lib/ddtrace/contrib/kafka/ext.rb +38 -0
  213. data/lib/ddtrace/contrib/kafka/integration.rb +39 -0
  214. data/lib/ddtrace/contrib/kafka/patcher.rb +26 -0
  215. data/lib/ddtrace/contrib/mongodb/configuration/settings.rb +28 -0
  216. data/lib/ddtrace/contrib/mongodb/ext.rb +20 -0
  217. data/lib/ddtrace/contrib/mongodb/instrumentation.rb +67 -0
  218. data/lib/ddtrace/contrib/mongodb/integration.rb +38 -0
  219. data/lib/ddtrace/contrib/mongodb/parsers.rb +68 -0
  220. data/lib/ddtrace/contrib/mongodb/patcher.rb +31 -0
  221. data/lib/ddtrace/contrib/mongodb/subscribers.rb +108 -0
  222. data/lib/ddtrace/contrib/mysql2/configuration/settings.rb +25 -0
  223. data/lib/ddtrace/contrib/mysql2/ext.rb +15 -0
  224. data/lib/ddtrace/contrib/mysql2/instrumentation.rb +60 -0
  225. data/lib/ddtrace/contrib/mysql2/integration.rb +38 -0
  226. data/lib/ddtrace/contrib/mysql2/patcher.rb +27 -0
  227. data/lib/ddtrace/contrib/patchable.rb +59 -0
  228. data/lib/ddtrace/contrib/patcher.rb +62 -0
  229. data/lib/ddtrace/contrib/presto/configuration/settings.rb +25 -0
  230. data/lib/ddtrace/contrib/presto/ext.rb +25 -0
  231. data/lib/ddtrace/contrib/presto/instrumentation.rb +107 -0
  232. data/lib/ddtrace/contrib/presto/integration.rb +38 -0
  233. data/lib/ddtrace/contrib/presto/patcher.rb +30 -0
  234. data/lib/ddtrace/contrib/racecar/configuration/settings.rb +25 -0
  235. data/lib/ddtrace/contrib/racecar/event.rb +71 -0
  236. data/lib/ddtrace/contrib/racecar/events.rb +30 -0
  237. data/lib/ddtrace/contrib/racecar/events/batch.rb +27 -0
  238. data/lib/ddtrace/contrib/racecar/events/message.rb +27 -0
  239. data/lib/ddtrace/contrib/racecar/ext.rb +21 -0
  240. data/lib/ddtrace/contrib/racecar/integration.rb +39 -0
  241. data/lib/ddtrace/contrib/racecar/patcher.rb +26 -0
  242. data/lib/ddtrace/contrib/rack/configuration/settings.rb +41 -0
  243. data/lib/ddtrace/contrib/rack/ext.rb +18 -0
  244. data/lib/ddtrace/contrib/rack/integration.rb +38 -0
  245. data/lib/ddtrace/contrib/rack/middlewares.rb +290 -0
  246. data/lib/ddtrace/contrib/rack/patcher.rb +107 -0
  247. data/lib/ddtrace/contrib/rack/request_queue.rb +39 -0
  248. data/lib/ddtrace/contrib/rails/configuration/settings.rb +83 -0
  249. data/lib/ddtrace/contrib/rails/ext.rb +13 -0
  250. data/lib/ddtrace/contrib/rails/framework.rb +124 -0
  251. data/lib/ddtrace/contrib/rails/integration.rb +44 -0
  252. data/lib/ddtrace/contrib/rails/middlewares.rb +38 -0
  253. data/lib/ddtrace/contrib/rails/patcher.rb +74 -0
  254. data/lib/ddtrace/contrib/rails/railtie.rb +17 -0
  255. data/lib/ddtrace/contrib/rails/utils.rb +20 -0
  256. data/lib/ddtrace/contrib/rake/configuration/settings.rb +27 -0
  257. data/lib/ddtrace/contrib/rake/ext.rb +18 -0
  258. data/lib/ddtrace/contrib/rake/instrumentation.rb +88 -0
  259. data/lib/ddtrace/contrib/rake/integration.rb +38 -0
  260. data/lib/ddtrace/contrib/rake/patcher.rb +30 -0
  261. data/lib/ddtrace/contrib/redis/configuration/resolver.rb +36 -0
  262. data/lib/ddtrace/contrib/redis/configuration/settings.rb +25 -0
  263. data/lib/ddtrace/contrib/redis/ext.rb +18 -0
  264. data/lib/ddtrace/contrib/redis/integration.rb +42 -0
  265. data/lib/ddtrace/contrib/redis/patcher.rb +97 -0
  266. data/lib/ddtrace/contrib/redis/quantize.rb +47 -0
  267. data/lib/ddtrace/contrib/redis/tags.rb +38 -0
  268. data/lib/ddtrace/contrib/redis/vendor/resolver.rb +159 -0
  269. data/lib/ddtrace/contrib/registerable.rb +33 -0
  270. data/lib/ddtrace/contrib/registry.rb +42 -0
  271. data/lib/ddtrace/contrib/resque/configuration/settings.rb +26 -0
  272. data/lib/ddtrace/contrib/resque/ext.rb +14 -0
  273. data/lib/ddtrace/contrib/resque/integration.rb +47 -0
  274. data/lib/ddtrace/contrib/resque/patcher.rb +29 -0
  275. data/lib/ddtrace/contrib/resque/resque_job.rb +80 -0
  276. data/lib/ddtrace/contrib/rest_client/configuration/settings.rb +26 -0
  277. data/lib/ddtrace/contrib/rest_client/ext.rb +14 -0
  278. data/lib/ddtrace/contrib/rest_client/integration.rb +38 -0
  279. data/lib/ddtrace/contrib/rest_client/patcher.rb +23 -0
  280. data/lib/ddtrace/contrib/rest_client/request_patch.rb +89 -0
  281. data/lib/ddtrace/contrib/sequel/configuration/settings.rb +23 -0
  282. data/lib/ddtrace/contrib/sequel/database.rb +61 -0
  283. data/lib/ddtrace/contrib/sequel/dataset.rb +62 -0
  284. data/lib/ddtrace/contrib/sequel/ext.rb +15 -0
  285. data/lib/ddtrace/contrib/sequel/integration.rb +38 -0
  286. data/lib/ddtrace/contrib/sequel/patcher.rb +33 -0
  287. data/lib/ddtrace/contrib/sequel/utils.rb +46 -0
  288. data/lib/ddtrace/contrib/shoryuken/configuration/settings.rb +24 -0
  289. data/lib/ddtrace/contrib/shoryuken/ext.rb +18 -0
  290. data/lib/ddtrace/contrib/shoryuken/integration.rb +39 -0
  291. data/lib/ddtrace/contrib/shoryuken/patcher.rb +24 -0
  292. data/lib/ddtrace/contrib/shoryuken/tracer.rb +49 -0
  293. data/lib/ddtrace/contrib/sidekiq/client_tracer.rb +43 -0
  294. data/lib/ddtrace/contrib/sidekiq/configuration/settings.rb +31 -0
  295. data/lib/ddtrace/contrib/sidekiq/ext.rb +24 -0
  296. data/lib/ddtrace/contrib/sidekiq/integration.rb +38 -0
  297. data/lib/ddtrace/contrib/sidekiq/patcher.rb +41 -0
  298. data/lib/ddtrace/contrib/sidekiq/server_tracer.rb +67 -0
  299. data/lib/ddtrace/contrib/sidekiq/tracing.rb +45 -0
  300. data/lib/ddtrace/contrib/sinatra/configuration/settings.rb +34 -0
  301. data/lib/ddtrace/contrib/sinatra/env.rb +58 -0
  302. data/lib/ddtrace/contrib/sinatra/ext.rb +24 -0
  303. data/lib/ddtrace/contrib/sinatra/headers.rb +31 -0
  304. data/lib/ddtrace/contrib/sinatra/integration.rb +38 -0
  305. data/lib/ddtrace/contrib/sinatra/patcher.rb +28 -0
  306. data/lib/ddtrace/contrib/sinatra/tracer.rb +150 -0
  307. data/lib/ddtrace/contrib/sinatra/tracer_middleware.rb +78 -0
  308. data/lib/ddtrace/contrib/sucker_punch/configuration/settings.rb +25 -0
  309. data/lib/ddtrace/contrib/sucker_punch/exception_handler.rb +26 -0
  310. data/lib/ddtrace/contrib/sucker_punch/ext.rb +18 -0
  311. data/lib/ddtrace/contrib/sucker_punch/instrumentation.rb +84 -0
  312. data/lib/ddtrace/contrib/sucker_punch/integration.rb +38 -0
  313. data/lib/ddtrace/contrib/sucker_punch/patcher.rb +42 -0
  314. data/lib/ddtrace/correlation.rb +38 -0
  315. data/lib/ddtrace/diagnostics/environment_logger.rb +278 -0
  316. data/lib/ddtrace/diagnostics/health.rb +33 -0
  317. data/lib/ddtrace/distributed_tracing/headers/b3.rb +44 -0
  318. data/lib/ddtrace/distributed_tracing/headers/b3_single.rb +56 -0
  319. data/lib/ddtrace/distributed_tracing/headers/datadog.rb +42 -0
  320. data/lib/ddtrace/distributed_tracing/headers/headers.rb +70 -0
  321. data/lib/ddtrace/distributed_tracing/headers/helpers.rb +45 -0
  322. data/lib/ddtrace/encoding.rb +69 -0
  323. data/lib/ddtrace/environment.rb +31 -0
  324. data/lib/ddtrace/error.rb +27 -0
  325. data/lib/ddtrace/event.rb +52 -0
  326. data/lib/ddtrace/ext/analytics.rb +12 -0
  327. data/lib/ddtrace/ext/app_types.rb +11 -0
  328. data/lib/ddtrace/ext/correlation.rb +11 -0
  329. data/lib/ddtrace/ext/diagnostics.rb +35 -0
  330. data/lib/ddtrace/ext/distributed.rb +33 -0
  331. data/lib/ddtrace/ext/environment.rb +16 -0
  332. data/lib/ddtrace/ext/errors.rb +10 -0
  333. data/lib/ddtrace/ext/forced_tracing.rb +25 -0
  334. data/lib/ddtrace/ext/http.rb +46 -0
  335. data/lib/ddtrace/ext/manual_tracing.rb +9 -0
  336. data/lib/ddtrace/ext/metrics.rb +15 -0
  337. data/lib/ddtrace/ext/net.rb +10 -0
  338. data/lib/ddtrace/ext/priority.rb +16 -0
  339. data/lib/ddtrace/ext/runtime.rb +26 -0
  340. data/lib/ddtrace/ext/sampling.rb +16 -0
  341. data/lib/ddtrace/ext/sql.rb +8 -0
  342. data/lib/ddtrace/ext/transport.rb +17 -0
  343. data/lib/ddtrace/forced_tracing.rb +36 -0
  344. data/lib/ddtrace/logger.rb +40 -0
  345. data/lib/ddtrace/metrics.rb +222 -0
  346. data/lib/ddtrace/monkey.rb +58 -0
  347. data/lib/ddtrace/opentelemetry/extensions.rb +13 -0
  348. data/lib/ddtrace/opentelemetry/span.rb +33 -0
  349. data/lib/ddtrace/opentracer.rb +40 -0
  350. data/lib/ddtrace/opentracer/binary_propagator.rb +24 -0
  351. data/lib/ddtrace/opentracer/carrier.rb +6 -0
  352. data/lib/ddtrace/opentracer/distributed_headers.rb +52 -0
  353. data/lib/ddtrace/opentracer/global_tracer.rb +15 -0
  354. data/lib/ddtrace/opentracer/propagator.rb +22 -0
  355. data/lib/ddtrace/opentracer/rack_propagator.rb +60 -0
  356. data/lib/ddtrace/opentracer/scope.rb +15 -0
  357. data/lib/ddtrace/opentracer/scope_manager.rb +6 -0
  358. data/lib/ddtrace/opentracer/span.rb +98 -0
  359. data/lib/ddtrace/opentracer/span_context.rb +14 -0
  360. data/lib/ddtrace/opentracer/span_context_factory.rb +23 -0
  361. data/lib/ddtrace/opentracer/text_map_propagator.rb +75 -0
  362. data/lib/ddtrace/opentracer/thread_local_scope.rb +30 -0
  363. data/lib/ddtrace/opentracer/thread_local_scope_manager.rb +40 -0
  364. data/lib/ddtrace/opentracer/tracer.rb +208 -0
  365. data/lib/ddtrace/patcher.rb +47 -0
  366. data/lib/ddtrace/pin.rb +138 -0
  367. data/lib/ddtrace/pipeline.rb +46 -0
  368. data/lib/ddtrace/pipeline/span_filter.rb +38 -0
  369. data/lib/ddtrace/pipeline/span_processor.rb +20 -0
  370. data/lib/ddtrace/propagation/grpc_propagator.rb +61 -0
  371. data/lib/ddtrace/propagation/http_propagator.rb +75 -0
  372. data/lib/ddtrace/quantization/hash.rb +103 -0
  373. data/lib/ddtrace/quantization/http.rb +86 -0
  374. data/lib/ddtrace/runtime/cgroup.rb +44 -0
  375. data/lib/ddtrace/runtime/class_count.rb +17 -0
  376. data/lib/ddtrace/runtime/container.rb +73 -0
  377. data/lib/ddtrace/runtime/gc.rb +16 -0
  378. data/lib/ddtrace/runtime/identity.rb +41 -0
  379. data/lib/ddtrace/runtime/metrics.rb +96 -0
  380. data/lib/ddtrace/runtime/object_space.rb +19 -0
  381. data/lib/ddtrace/runtime/socket.rb +14 -0
  382. data/lib/ddtrace/runtime/thread_count.rb +16 -0
  383. data/lib/ddtrace/sampler.rb +292 -0
  384. data/lib/ddtrace/sampling.rb +2 -0
  385. data/lib/ddtrace/sampling/matcher.rb +57 -0
  386. data/lib/ddtrace/sampling/rate_limiter.rb +127 -0
  387. data/lib/ddtrace/sampling/rule.rb +61 -0
  388. data/lib/ddtrace/sampling/rule_sampler.rb +125 -0
  389. data/lib/ddtrace/span.rb +307 -0
  390. data/lib/ddtrace/sync_writer.rb +67 -0
  391. data/lib/ddtrace/tracer.rb +439 -0
  392. data/lib/ddtrace/transport/http.rb +91 -0
  393. data/lib/ddtrace/transport/http/adapters/net.rb +120 -0
  394. data/lib/ddtrace/transport/http/adapters/registry.rb +24 -0
  395. data/lib/ddtrace/transport/http/adapters/test.rb +81 -0
  396. data/lib/ddtrace/transport/http/adapters/unix_socket.rb +68 -0
  397. data/lib/ddtrace/transport/http/api.rb +46 -0
  398. data/lib/ddtrace/transport/http/api/endpoint.rb +27 -0
  399. data/lib/ddtrace/transport/http/api/fallbacks.rb +22 -0
  400. data/lib/ddtrace/transport/http/api/instance.rb +33 -0
  401. data/lib/ddtrace/transport/http/api/map.rb +14 -0
  402. data/lib/ddtrace/transport/http/api/spec.rb +15 -0
  403. data/lib/ddtrace/transport/http/builder.rb +163 -0
  404. data/lib/ddtrace/transport/http/client.rb +50 -0
  405. data/lib/ddtrace/transport/http/env.rb +48 -0
  406. data/lib/ddtrace/transport/http/response.rb +26 -0
  407. data/lib/ddtrace/transport/http/statistics.rb +30 -0
  408. data/lib/ddtrace/transport/http/traces.rb +143 -0
  409. data/lib/ddtrace/transport/io.rb +26 -0
  410. data/lib/ddtrace/transport/io/client.rb +76 -0
  411. data/lib/ddtrace/transport/io/response.rb +25 -0
  412. data/lib/ddtrace/transport/io/traces.rb +91 -0
  413. data/lib/ddtrace/transport/parcel.rb +13 -0
  414. data/lib/ddtrace/transport/request.rb +13 -0
  415. data/lib/ddtrace/transport/response.rb +60 -0
  416. data/lib/ddtrace/transport/statistics.rb +72 -0
  417. data/lib/ddtrace/transport/traces.rb +183 -0
  418. data/lib/ddtrace/utils.rb +65 -0
  419. data/lib/ddtrace/utils/database.rb +25 -0
  420. data/lib/ddtrace/utils/time.rb +14 -0
  421. data/lib/ddtrace/vendor/active_record/connection_specification.rb +301 -0
  422. data/lib/ddtrace/version.rb +12 -0
  423. data/lib/ddtrace/worker.rb +20 -0
  424. data/lib/ddtrace/workers.rb +117 -0
  425. data/lib/ddtrace/workers/async.rb +165 -0
  426. data/lib/ddtrace/workers/loop.rb +105 -0
  427. data/lib/ddtrace/workers/polling.rb +48 -0
  428. data/lib/ddtrace/workers/queue.rb +39 -0
  429. data/lib/ddtrace/workers/runtime_metrics.rb +47 -0
  430. data/lib/ddtrace/workers/trace_writer.rb +202 -0
  431. data/lib/ddtrace/writer.rb +175 -0
  432. data/tasks/release_gem.rake +28 -0
  433. metadata +815 -0
@@ -0,0 +1,175 @@
1
+ require 'json'
2
+
3
+ require 'ddtrace/ext/net'
4
+ require 'ddtrace/runtime/socket'
5
+
6
+ require 'ddtrace/transport/http'
7
+ require 'ddtrace/transport/io'
8
+ require 'ddtrace/encoding'
9
+ require 'ddtrace/workers'
10
+ require 'ddtrace/diagnostics/environment_logger'
11
+
12
+ module Datadog
13
+ # Processor that sends traces and metadata to the agent
14
+ class Writer
15
+ attr_reader \
16
+ :priority_sampler,
17
+ :transport,
18
+ :worker
19
+
20
+ def initialize(options = {})
21
+ # writer and transport parameters
22
+ @buff_size = options.fetch(:buffer_size, Workers::AsyncTransport::DEFAULT_BUFFER_MAX_SIZE)
23
+ @flush_interval = options.fetch(:flush_interval, Workers::AsyncTransport::DEFAULT_FLUSH_INTERVAL)
24
+ transport_options = options.fetch(:transport_options, {})
25
+
26
+ # priority sampling
27
+ if options[:priority_sampler]
28
+ @priority_sampler = options[:priority_sampler]
29
+ transport_options[:api_version] ||= Transport::HTTP::API::V4
30
+ end
31
+
32
+ # transport and buffers
33
+ @transport = options.fetch(:transport) do
34
+ Transport::HTTP.default(transport_options)
35
+ end
36
+
37
+ # handles the thread creation after an eventual fork
38
+ @mutex_after_fork = Mutex.new
39
+ @pid = nil
40
+
41
+ @traces_flushed = 0
42
+
43
+ # one worker for traces
44
+ @worker = nil
45
+ end
46
+
47
+ def start
48
+ @mutex_after_fork.synchronize do
49
+ pid = Process.pid
50
+ return if @worker && pid == @pid
51
+ @pid = pid
52
+ start_worker
53
+ true
54
+ end
55
+ end
56
+
57
+ # spawns a worker for spans; they share the same transport which is thread-safe
58
+ def start_worker
59
+ @trace_handler = ->(items, transport) { send_spans(items, transport) }
60
+ @worker = Datadog::Workers::AsyncTransport.new(
61
+ transport: @transport,
62
+ buffer_size: @buff_size,
63
+ on_trace: @trace_handler,
64
+ interval: @flush_interval
65
+ )
66
+
67
+ @worker.start
68
+ end
69
+
70
+ def stop
71
+ @mutex_after_fork.synchronize { stop_worker }
72
+ end
73
+
74
+ def stop_worker
75
+ return if @worker.nil?
76
+ @worker.stop
77
+ @worker = nil
78
+ true
79
+ end
80
+
81
+ private :start_worker, :stop_worker
82
+
83
+ # flush spans to the trace-agent, handles spans only
84
+ def send_spans(traces, transport)
85
+ return true if traces.empty?
86
+
87
+ # Inject hostname if configured to do so
88
+ inject_hostname!(traces) if Datadog.configuration.report_hostname
89
+
90
+ # Send traces and get responses
91
+ responses = transport.send_traces(traces)
92
+
93
+ # Tally up successful flushes
94
+ responses.reject { |x| x.internal_error? || x.server_error? }.each do |response|
95
+ @traces_flushed += response.trace_count
96
+ end
97
+
98
+ # Update priority sampler
99
+ update_priority_sampler(responses.last)
100
+
101
+ record_environment_information!(responses)
102
+
103
+ # Return if server error occurred.
104
+ !responses.find(&:server_error?)
105
+ end
106
+
107
+ # enqueue the trace for submission to the API
108
+ def write(trace, services = nil)
109
+ unless services.nil?
110
+ Datadog::Patcher.do_once('Writer#write') do
111
+ Datadog.logger.warn(%(
112
+ write: Writing services has been deprecated and no longer need to be provided.
113
+ write(traces, services) can be updated to write(traces)
114
+ ))
115
+ end
116
+ end
117
+
118
+ # In multiprocess environments, the main process initializes the +Writer+ instance and if
119
+ # the process forks (i.e. a web server like Unicorn or Puma with multiple workers) the new
120
+ # processes will share the same +Writer+ until the first write (COW). Because of that,
121
+ # each process owns a different copy of the +@buffer+ after each write and so the
122
+ # +AsyncTransport+ will not send data to the trace agent.
123
+ #
124
+ # This check ensures that if a process doesn't own the current +Writer+, async workers
125
+ # will be initialized again (but only once for each process).
126
+ start if @worker.nil? || @pid != Process.pid
127
+
128
+ # TODO: Remove this, and have the tracer pump traces directly to runtime metrics
129
+ # instead of working through the trace writer.
130
+ # Associate root span with runtime metrics
131
+ if Datadog.configuration.runtime_metrics.enabled && !trace.empty?
132
+ Datadog.runtime_metrics.associate_with_span(trace.first)
133
+ end
134
+
135
+ worker_local = @worker
136
+
137
+ if worker_local
138
+ worker_local.enqueue_trace(trace)
139
+ else
140
+ Datadog.logger.debug('Writer either failed to start or was stopped before #write could complete')
141
+ end
142
+ end
143
+
144
+ # stats returns a dictionary of stats about the writer.
145
+ def stats
146
+ {
147
+ traces_flushed: @traces_flushed,
148
+ transport: @transport.stats
149
+ }
150
+ end
151
+
152
+ private
153
+
154
+ def inject_hostname!(traces)
155
+ traces.each do |trace|
156
+ next if trace.first.nil?
157
+
158
+ hostname = Datadog::Runtime::Socket.hostname
159
+ unless hostname.nil? || hostname.empty?
160
+ trace.first.set_tag(Ext::NET::TAG_HOSTNAME, hostname)
161
+ end
162
+ end
163
+ end
164
+
165
+ def update_priority_sampler(response)
166
+ return unless response && !response.internal_error? && priority_sampler && response.service_rates
167
+
168
+ priority_sampler.update(response.service_rates)
169
+ end
170
+
171
+ def record_environment_information!(responses)
172
+ Diagnostics::EnvironmentLogger.log!(responses)
173
+ end
174
+ end
175
+ end
@@ -0,0 +1,28 @@
1
+ desc 'create a new indexed repository'
2
+ task :'release:gem' do
3
+ raise 'Missing environment variable S3_DIR' if !S3_DIR || S3_DIR.empty?
4
+ # load existing deployed gems
5
+ sh "aws s3 cp --exclude 'docs/*' --recursive s3://#{S3_BUCKET}/#{S3_DIR}/ ./rubygems/"
6
+
7
+ # create folders
8
+ sh 'mkdir -p ./gems'
9
+ sh 'mkdir -p ./rubygems/gems'
10
+
11
+ # build the gem
12
+ Rake::Task['build'].execute
13
+
14
+ # copy the output in the indexed folder
15
+ sh 'cp pkg/*.gem ./rubygems/gems/'
16
+
17
+ # generate the gems index
18
+ sh 'gem generate_index -v --no-modern -d ./rubygems'
19
+
20
+ # remove all local repository gems to limit files needed to be uploaded
21
+ sh 'rm -f ./rubygems/gems/*'
22
+
23
+ # re-add new gems
24
+ sh 'cp pkg/*.gem ./rubygems/gems/'
25
+
26
+ # deploy a static gem registry
27
+ sh "aws s3 cp --recursive ./rubygems/ s3://#{S3_BUCKET}/#{S3_DIR}/"
28
+ end
metadata ADDED
@@ -0,0 +1,815 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ddtrace
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.38.0
5
+ platform: ruby
6
+ authors:
7
+ - Datadog, Inc.
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2020-07-21 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: msgpack
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: dogstatsd-ruby
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 3.3.0
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 3.3.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: opentracing
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 0.4.1
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 0.4.1
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '10.5'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '10.5'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rubocop
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '='
74
+ - !ruby/object:Gem::Version
75
+ version: 0.49.1
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '='
81
+ - !ruby/object:Gem::Version
82
+ version: 0.49.1
83
+ - !ruby/object:Gem::Dependency
84
+ name: rspec
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '3.0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '3.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rspec-collection_matchers
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '1.1'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '1.1'
111
+ - !ruby/object:Gem::Dependency
112
+ name: minitest
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '='
116
+ - !ruby/object:Gem::Version
117
+ version: 5.10.1
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '='
123
+ - !ruby/object:Gem::Version
124
+ version: 5.10.1
125
+ - !ruby/object:Gem::Dependency
126
+ name: minitest-around
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - '='
130
+ - !ruby/object:Gem::Version
131
+ version: 0.5.0
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - '='
137
+ - !ruby/object:Gem::Version
138
+ version: 0.5.0
139
+ - !ruby/object:Gem::Dependency
140
+ name: minitest-stub_any_instance
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - '='
144
+ - !ruby/object:Gem::Version
145
+ version: 1.0.2
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - '='
151
+ - !ruby/object:Gem::Version
152
+ version: 1.0.2
153
+ - !ruby/object:Gem::Dependency
154
+ name: appraisal
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '2.2'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '2.2'
167
+ - !ruby/object:Gem::Dependency
168
+ name: yard
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: '0.9'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: '0.9'
181
+ - !ruby/object:Gem::Dependency
182
+ name: webmock
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: '2.0'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: '2.0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: builder
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: sqlite3
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - "~>"
214
+ - !ruby/object:Gem::Version
215
+ version: 1.3.6
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - "~>"
221
+ - !ruby/object:Gem::Version
222
+ version: 1.3.6
223
+ - !ruby/object:Gem::Dependency
224
+ name: climate_control
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - "~>"
228
+ - !ruby/object:Gem::Version
229
+ version: 0.2.0
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - "~>"
235
+ - !ruby/object:Gem::Version
236
+ version: 0.2.0
237
+ - !ruby/object:Gem::Dependency
238
+ name: addressable
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - "~>"
242
+ - !ruby/object:Gem::Version
243
+ version: 2.4.0
244
+ type: :development
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - "~>"
249
+ - !ruby/object:Gem::Version
250
+ version: 2.4.0
251
+ - !ruby/object:Gem::Dependency
252
+ name: benchmark-ips
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - "~>"
256
+ - !ruby/object:Gem::Version
257
+ version: '2.8'
258
+ type: :development
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - "~>"
263
+ - !ruby/object:Gem::Version
264
+ version: '2.8'
265
+ - !ruby/object:Gem::Dependency
266
+ name: benchmark-memory
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - "~>"
270
+ - !ruby/object:Gem::Version
271
+ version: '0.1'
272
+ type: :development
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - "~>"
277
+ - !ruby/object:Gem::Version
278
+ version: '0.1'
279
+ - !ruby/object:Gem::Dependency
280
+ name: memory_profiler
281
+ requirement: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - "~>"
284
+ - !ruby/object:Gem::Version
285
+ version: '0.9'
286
+ type: :development
287
+ prerelease: false
288
+ version_requirements: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - "~>"
291
+ - !ruby/object:Gem::Version
292
+ version: '0.9'
293
+ - !ruby/object:Gem::Dependency
294
+ name: redcarpet
295
+ requirement: !ruby/object:Gem::Requirement
296
+ requirements:
297
+ - - "~>"
298
+ - !ruby/object:Gem::Version
299
+ version: '3.4'
300
+ type: :development
301
+ prerelease: false
302
+ version_requirements: !ruby/object:Gem::Requirement
303
+ requirements:
304
+ - - "~>"
305
+ - !ruby/object:Gem::Version
306
+ version: '3.4'
307
+ - !ruby/object:Gem::Dependency
308
+ name: pry
309
+ requirement: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - "~>"
312
+ - !ruby/object:Gem::Version
313
+ version: 0.10.4
314
+ type: :development
315
+ prerelease: false
316
+ version_requirements: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - "~>"
319
+ - !ruby/object:Gem::Version
320
+ version: 0.10.4
321
+ - !ruby/object:Gem::Dependency
322
+ name: pry-stack_explorer
323
+ requirement: !ruby/object:Gem::Requirement
324
+ requirements:
325
+ - - "~>"
326
+ - !ruby/object:Gem::Version
327
+ version: 0.4.9.2
328
+ type: :development
329
+ prerelease: false
330
+ version_requirements: !ruby/object:Gem::Requirement
331
+ requirements:
332
+ - - "~>"
333
+ - !ruby/object:Gem::Version
334
+ version: 0.4.9.2
335
+ - !ruby/object:Gem::Dependency
336
+ name: warning
337
+ requirement: !ruby/object:Gem::Requirement
338
+ requirements:
339
+ - - "~>"
340
+ - !ruby/object:Gem::Version
341
+ version: '1'
342
+ type: :development
343
+ prerelease: false
344
+ version_requirements: !ruby/object:Gem::Requirement
345
+ requirements:
346
+ - - "~>"
347
+ - !ruby/object:Gem::Version
348
+ version: '1'
349
+ description: |
350
+ ddtrace is Datadog’s tracing client for Ruby. It is used to trace requests
351
+ as they flow across web servers, databases and microservices so that developers
352
+ have great visiblity into bottlenecks and troublesome requests.
353
+ email:
354
+ - dev@datadoghq.com
355
+ executables: []
356
+ extensions: []
357
+ extra_rdoc_files: []
358
+ files:
359
+ - ".circleci/config.yml"
360
+ - ".circleci/images/primary/Dockerfile-2.0.0"
361
+ - ".circleci/images/primary/Dockerfile-2.1.10"
362
+ - ".circleci/images/primary/Dockerfile-2.2.10"
363
+ - ".circleci/images/primary/Dockerfile-2.3.8"
364
+ - ".circleci/images/primary/Dockerfile-2.4.6"
365
+ - ".circleci/images/primary/Dockerfile-2.5.6"
366
+ - ".circleci/images/primary/Dockerfile-2.6.4"
367
+ - ".circleci/images/primary/Dockerfile-2.7.0"
368
+ - ".circleci/images/primary/Dockerfile-jruby-9.2"
369
+ - ".dockerignore"
370
+ - ".env"
371
+ - ".github/CODEOWNERS"
372
+ - ".gitignore"
373
+ - ".gitlab-ci.yml"
374
+ - ".rspec"
375
+ - ".rubocop.yml"
376
+ - ".yardopts"
377
+ - Appraisals
378
+ - CHANGELOG.md
379
+ - CONTRIBUTING.md
380
+ - Gemfile
381
+ - LICENSE
382
+ - LICENSE.Apache
383
+ - LICENSE.BSD3
384
+ - NOTICE
385
+ - README.md
386
+ - Rakefile
387
+ - benchmarks/postgres_database.yml
388
+ - benchmarks/sidekiq_test.rb
389
+ - ddtrace.gemspec
390
+ - docker-compose.yml
391
+ - docs/DevelopmentGuide.md
392
+ - docs/GettingStarted.md
393
+ - lib/ddtrace.rb
394
+ - lib/ddtrace/analytics.rb
395
+ - lib/ddtrace/augmentation.rb
396
+ - lib/ddtrace/augmentation/method_wrapper.rb
397
+ - lib/ddtrace/augmentation/method_wrapping.rb
398
+ - lib/ddtrace/augmentation/shim.rb
399
+ - lib/ddtrace/buffer.rb
400
+ - lib/ddtrace/chunker.rb
401
+ - lib/ddtrace/configuration.rb
402
+ - lib/ddtrace/configuration/base.rb
403
+ - lib/ddtrace/configuration/components.rb
404
+ - lib/ddtrace/configuration/dependency_resolver.rb
405
+ - lib/ddtrace/configuration/option.rb
406
+ - lib/ddtrace/configuration/option_definition.rb
407
+ - lib/ddtrace/configuration/option_definition_set.rb
408
+ - lib/ddtrace/configuration/option_set.rb
409
+ - lib/ddtrace/configuration/options.rb
410
+ - lib/ddtrace/configuration/pin_setup.rb
411
+ - lib/ddtrace/configuration/settings.rb
412
+ - lib/ddtrace/context.rb
413
+ - lib/ddtrace/context_flush.rb
414
+ - lib/ddtrace/context_provider.rb
415
+ - lib/ddtrace/contrib/action_cable/configuration/settings.rb
416
+ - lib/ddtrace/contrib/action_cable/event.rb
417
+ - lib/ddtrace/contrib/action_cable/events.rb
418
+ - lib/ddtrace/contrib/action_cable/events/broadcast.rb
419
+ - lib/ddtrace/contrib/action_cable/events/perform_action.rb
420
+ - lib/ddtrace/contrib/action_cable/events/transmit.rb
421
+ - lib/ddtrace/contrib/action_cable/ext.rb
422
+ - lib/ddtrace/contrib/action_cable/instrumentation.rb
423
+ - lib/ddtrace/contrib/action_cable/integration.rb
424
+ - lib/ddtrace/contrib/action_cable/patcher.rb
425
+ - lib/ddtrace/contrib/action_pack/action_controller/instrumentation.rb
426
+ - lib/ddtrace/contrib/action_pack/action_controller/patcher.rb
427
+ - lib/ddtrace/contrib/action_pack/configuration/settings.rb
428
+ - lib/ddtrace/contrib/action_pack/ext.rb
429
+ - lib/ddtrace/contrib/action_pack/integration.rb
430
+ - lib/ddtrace/contrib/action_pack/patcher.rb
431
+ - lib/ddtrace/contrib/action_pack/utils.rb
432
+ - lib/ddtrace/contrib/action_view/configuration/settings.rb
433
+ - lib/ddtrace/contrib/action_view/event.rb
434
+ - lib/ddtrace/contrib/action_view/events.rb
435
+ - lib/ddtrace/contrib/action_view/events/render_partial.rb
436
+ - lib/ddtrace/contrib/action_view/events/render_template.rb
437
+ - lib/ddtrace/contrib/action_view/ext.rb
438
+ - lib/ddtrace/contrib/action_view/instrumentation/partial_renderer.rb
439
+ - lib/ddtrace/contrib/action_view/instrumentation/template_renderer.rb
440
+ - lib/ddtrace/contrib/action_view/integration.rb
441
+ - lib/ddtrace/contrib/action_view/patcher.rb
442
+ - lib/ddtrace/contrib/action_view/utils.rb
443
+ - lib/ddtrace/contrib/active_model_serializers/configuration/settings.rb
444
+ - lib/ddtrace/contrib/active_model_serializers/event.rb
445
+ - lib/ddtrace/contrib/active_model_serializers/events.rb
446
+ - lib/ddtrace/contrib/active_model_serializers/events/render.rb
447
+ - lib/ddtrace/contrib/active_model_serializers/events/serialize.rb
448
+ - lib/ddtrace/contrib/active_model_serializers/ext.rb
449
+ - lib/ddtrace/contrib/active_model_serializers/integration.rb
450
+ - lib/ddtrace/contrib/active_model_serializers/patcher.rb
451
+ - lib/ddtrace/contrib/active_record/configuration/resolver.rb
452
+ - lib/ddtrace/contrib/active_record/configuration/settings.rb
453
+ - lib/ddtrace/contrib/active_record/event.rb
454
+ - lib/ddtrace/contrib/active_record/events.rb
455
+ - lib/ddtrace/contrib/active_record/events/instantiation.rb
456
+ - lib/ddtrace/contrib/active_record/events/sql.rb
457
+ - lib/ddtrace/contrib/active_record/ext.rb
458
+ - lib/ddtrace/contrib/active_record/integration.rb
459
+ - lib/ddtrace/contrib/active_record/patcher.rb
460
+ - lib/ddtrace/contrib/active_record/utils.rb
461
+ - lib/ddtrace/contrib/active_support/cache/instrumentation.rb
462
+ - lib/ddtrace/contrib/active_support/cache/patcher.rb
463
+ - lib/ddtrace/contrib/active_support/cache/redis.rb
464
+ - lib/ddtrace/contrib/active_support/configuration/settings.rb
465
+ - lib/ddtrace/contrib/active_support/ext.rb
466
+ - lib/ddtrace/contrib/active_support/integration.rb
467
+ - lib/ddtrace/contrib/active_support/notifications/event.rb
468
+ - lib/ddtrace/contrib/active_support/notifications/subscriber.rb
469
+ - lib/ddtrace/contrib/active_support/notifications/subscription.rb
470
+ - lib/ddtrace/contrib/active_support/patcher.rb
471
+ - lib/ddtrace/contrib/analytics.rb
472
+ - lib/ddtrace/contrib/aws/configuration/settings.rb
473
+ - lib/ddtrace/contrib/aws/ext.rb
474
+ - lib/ddtrace/contrib/aws/instrumentation.rb
475
+ - lib/ddtrace/contrib/aws/integration.rb
476
+ - lib/ddtrace/contrib/aws/parsed_context.rb
477
+ - lib/ddtrace/contrib/aws/patcher.rb
478
+ - lib/ddtrace/contrib/aws/services.rb
479
+ - lib/ddtrace/contrib/concurrent_ruby/configuration/settings.rb
480
+ - lib/ddtrace/contrib/concurrent_ruby/context_composite_executor_service.rb
481
+ - lib/ddtrace/contrib/concurrent_ruby/ext.rb
482
+ - lib/ddtrace/contrib/concurrent_ruby/future_patch.rb
483
+ - lib/ddtrace/contrib/concurrent_ruby/integration.rb
484
+ - lib/ddtrace/contrib/concurrent_ruby/patcher.rb
485
+ - lib/ddtrace/contrib/configurable.rb
486
+ - lib/ddtrace/contrib/configuration/resolver.rb
487
+ - lib/ddtrace/contrib/configuration/resolvers/pattern_resolver.rb
488
+ - lib/ddtrace/contrib/configuration/settings.rb
489
+ - lib/ddtrace/contrib/dalli/configuration/settings.rb
490
+ - lib/ddtrace/contrib/dalli/ext.rb
491
+ - lib/ddtrace/contrib/dalli/instrumentation.rb
492
+ - lib/ddtrace/contrib/dalli/integration.rb
493
+ - lib/ddtrace/contrib/dalli/patcher.rb
494
+ - lib/ddtrace/contrib/dalli/quantize.rb
495
+ - lib/ddtrace/contrib/delayed_job/configuration/settings.rb
496
+ - lib/ddtrace/contrib/delayed_job/ext.rb
497
+ - lib/ddtrace/contrib/delayed_job/integration.rb
498
+ - lib/ddtrace/contrib/delayed_job/patcher.rb
499
+ - lib/ddtrace/contrib/delayed_job/plugin.rb
500
+ - lib/ddtrace/contrib/elasticsearch/configuration/settings.rb
501
+ - lib/ddtrace/contrib/elasticsearch/ext.rb
502
+ - lib/ddtrace/contrib/elasticsearch/integration.rb
503
+ - lib/ddtrace/contrib/elasticsearch/patcher.rb
504
+ - lib/ddtrace/contrib/elasticsearch/quantize.rb
505
+ - lib/ddtrace/contrib/ethon/configuration/settings.rb
506
+ - lib/ddtrace/contrib/ethon/easy_patch.rb
507
+ - lib/ddtrace/contrib/ethon/ext.rb
508
+ - lib/ddtrace/contrib/ethon/integration.rb
509
+ - lib/ddtrace/contrib/ethon/multi_patch.rb
510
+ - lib/ddtrace/contrib/ethon/patcher.rb
511
+ - lib/ddtrace/contrib/excon/configuration/settings.rb
512
+ - lib/ddtrace/contrib/excon/ext.rb
513
+ - lib/ddtrace/contrib/excon/integration.rb
514
+ - lib/ddtrace/contrib/excon/middleware.rb
515
+ - lib/ddtrace/contrib/excon/patcher.rb
516
+ - lib/ddtrace/contrib/extensions.rb
517
+ - lib/ddtrace/contrib/faraday/configuration/settings.rb
518
+ - lib/ddtrace/contrib/faraday/connection.rb
519
+ - lib/ddtrace/contrib/faraday/ext.rb
520
+ - lib/ddtrace/contrib/faraday/integration.rb
521
+ - lib/ddtrace/contrib/faraday/middleware.rb
522
+ - lib/ddtrace/contrib/faraday/patcher.rb
523
+ - lib/ddtrace/contrib/faraday/rack_builder.rb
524
+ - lib/ddtrace/contrib/grape/configuration/settings.rb
525
+ - lib/ddtrace/contrib/grape/endpoint.rb
526
+ - lib/ddtrace/contrib/grape/ext.rb
527
+ - lib/ddtrace/contrib/grape/instrumentation.rb
528
+ - lib/ddtrace/contrib/grape/integration.rb
529
+ - lib/ddtrace/contrib/grape/patcher.rb
530
+ - lib/ddtrace/contrib/graphql/configuration/settings.rb
531
+ - lib/ddtrace/contrib/graphql/ext.rb
532
+ - lib/ddtrace/contrib/graphql/integration.rb
533
+ - lib/ddtrace/contrib/graphql/patcher.rb
534
+ - lib/ddtrace/contrib/grpc/configuration/settings.rb
535
+ - lib/ddtrace/contrib/grpc/datadog_interceptor.rb
536
+ - lib/ddtrace/contrib/grpc/datadog_interceptor/client.rb
537
+ - lib/ddtrace/contrib/grpc/datadog_interceptor/server.rb
538
+ - lib/ddtrace/contrib/grpc/ext.rb
539
+ - lib/ddtrace/contrib/grpc/integration.rb
540
+ - lib/ddtrace/contrib/grpc/intercept_with_datadog.rb
541
+ - lib/ddtrace/contrib/grpc/patcher.rb
542
+ - lib/ddtrace/contrib/http/circuit_breaker.rb
543
+ - lib/ddtrace/contrib/http/configuration/settings.rb
544
+ - lib/ddtrace/contrib/http/ext.rb
545
+ - lib/ddtrace/contrib/http/instrumentation.rb
546
+ - lib/ddtrace/contrib/http/integration.rb
547
+ - lib/ddtrace/contrib/http/patcher.rb
548
+ - lib/ddtrace/contrib/http_annotation_helper.rb
549
+ - lib/ddtrace/contrib/httprb/configuration/settings.rb
550
+ - lib/ddtrace/contrib/httprb/ext.rb
551
+ - lib/ddtrace/contrib/httprb/instrumentation.rb
552
+ - lib/ddtrace/contrib/httprb/integration.rb
553
+ - lib/ddtrace/contrib/httprb/patcher.rb
554
+ - lib/ddtrace/contrib/integration.rb
555
+ - lib/ddtrace/contrib/kafka/configuration/settings.rb
556
+ - lib/ddtrace/contrib/kafka/consumer_event.rb
557
+ - lib/ddtrace/contrib/kafka/consumer_group_event.rb
558
+ - lib/ddtrace/contrib/kafka/event.rb
559
+ - lib/ddtrace/contrib/kafka/events.rb
560
+ - lib/ddtrace/contrib/kafka/events/connection/request.rb
561
+ - lib/ddtrace/contrib/kafka/events/consumer/process_batch.rb
562
+ - lib/ddtrace/contrib/kafka/events/consumer/process_message.rb
563
+ - lib/ddtrace/contrib/kafka/events/consumer_group/heartbeat.rb
564
+ - lib/ddtrace/contrib/kafka/events/consumer_group/join_group.rb
565
+ - lib/ddtrace/contrib/kafka/events/consumer_group/leave_group.rb
566
+ - lib/ddtrace/contrib/kafka/events/consumer_group/sync_group.rb
567
+ - lib/ddtrace/contrib/kafka/events/produce_operation/send_messages.rb
568
+ - lib/ddtrace/contrib/kafka/events/producer/deliver_messages.rb
569
+ - lib/ddtrace/contrib/kafka/ext.rb
570
+ - lib/ddtrace/contrib/kafka/integration.rb
571
+ - lib/ddtrace/contrib/kafka/patcher.rb
572
+ - lib/ddtrace/contrib/mongodb/configuration/settings.rb
573
+ - lib/ddtrace/contrib/mongodb/ext.rb
574
+ - lib/ddtrace/contrib/mongodb/instrumentation.rb
575
+ - lib/ddtrace/contrib/mongodb/integration.rb
576
+ - lib/ddtrace/contrib/mongodb/parsers.rb
577
+ - lib/ddtrace/contrib/mongodb/patcher.rb
578
+ - lib/ddtrace/contrib/mongodb/subscribers.rb
579
+ - lib/ddtrace/contrib/mysql2/configuration/settings.rb
580
+ - lib/ddtrace/contrib/mysql2/ext.rb
581
+ - lib/ddtrace/contrib/mysql2/instrumentation.rb
582
+ - lib/ddtrace/contrib/mysql2/integration.rb
583
+ - lib/ddtrace/contrib/mysql2/patcher.rb
584
+ - lib/ddtrace/contrib/patchable.rb
585
+ - lib/ddtrace/contrib/patcher.rb
586
+ - lib/ddtrace/contrib/presto/configuration/settings.rb
587
+ - lib/ddtrace/contrib/presto/ext.rb
588
+ - lib/ddtrace/contrib/presto/instrumentation.rb
589
+ - lib/ddtrace/contrib/presto/integration.rb
590
+ - lib/ddtrace/contrib/presto/patcher.rb
591
+ - lib/ddtrace/contrib/racecar/configuration/settings.rb
592
+ - lib/ddtrace/contrib/racecar/event.rb
593
+ - lib/ddtrace/contrib/racecar/events.rb
594
+ - lib/ddtrace/contrib/racecar/events/batch.rb
595
+ - lib/ddtrace/contrib/racecar/events/message.rb
596
+ - lib/ddtrace/contrib/racecar/ext.rb
597
+ - lib/ddtrace/contrib/racecar/integration.rb
598
+ - lib/ddtrace/contrib/racecar/patcher.rb
599
+ - lib/ddtrace/contrib/rack/configuration/settings.rb
600
+ - lib/ddtrace/contrib/rack/ext.rb
601
+ - lib/ddtrace/contrib/rack/integration.rb
602
+ - lib/ddtrace/contrib/rack/middlewares.rb
603
+ - lib/ddtrace/contrib/rack/patcher.rb
604
+ - lib/ddtrace/contrib/rack/request_queue.rb
605
+ - lib/ddtrace/contrib/rails/configuration/settings.rb
606
+ - lib/ddtrace/contrib/rails/ext.rb
607
+ - lib/ddtrace/contrib/rails/framework.rb
608
+ - lib/ddtrace/contrib/rails/integration.rb
609
+ - lib/ddtrace/contrib/rails/middlewares.rb
610
+ - lib/ddtrace/contrib/rails/patcher.rb
611
+ - lib/ddtrace/contrib/rails/railtie.rb
612
+ - lib/ddtrace/contrib/rails/utils.rb
613
+ - lib/ddtrace/contrib/rake/configuration/settings.rb
614
+ - lib/ddtrace/contrib/rake/ext.rb
615
+ - lib/ddtrace/contrib/rake/instrumentation.rb
616
+ - lib/ddtrace/contrib/rake/integration.rb
617
+ - lib/ddtrace/contrib/rake/patcher.rb
618
+ - lib/ddtrace/contrib/redis/configuration/resolver.rb
619
+ - lib/ddtrace/contrib/redis/configuration/settings.rb
620
+ - lib/ddtrace/contrib/redis/ext.rb
621
+ - lib/ddtrace/contrib/redis/integration.rb
622
+ - lib/ddtrace/contrib/redis/patcher.rb
623
+ - lib/ddtrace/contrib/redis/quantize.rb
624
+ - lib/ddtrace/contrib/redis/tags.rb
625
+ - lib/ddtrace/contrib/redis/vendor/resolver.rb
626
+ - lib/ddtrace/contrib/registerable.rb
627
+ - lib/ddtrace/contrib/registry.rb
628
+ - lib/ddtrace/contrib/resque/configuration/settings.rb
629
+ - lib/ddtrace/contrib/resque/ext.rb
630
+ - lib/ddtrace/contrib/resque/integration.rb
631
+ - lib/ddtrace/contrib/resque/patcher.rb
632
+ - lib/ddtrace/contrib/resque/resque_job.rb
633
+ - lib/ddtrace/contrib/rest_client/configuration/settings.rb
634
+ - lib/ddtrace/contrib/rest_client/ext.rb
635
+ - lib/ddtrace/contrib/rest_client/integration.rb
636
+ - lib/ddtrace/contrib/rest_client/patcher.rb
637
+ - lib/ddtrace/contrib/rest_client/request_patch.rb
638
+ - lib/ddtrace/contrib/sequel/configuration/settings.rb
639
+ - lib/ddtrace/contrib/sequel/database.rb
640
+ - lib/ddtrace/contrib/sequel/dataset.rb
641
+ - lib/ddtrace/contrib/sequel/ext.rb
642
+ - lib/ddtrace/contrib/sequel/integration.rb
643
+ - lib/ddtrace/contrib/sequel/patcher.rb
644
+ - lib/ddtrace/contrib/sequel/utils.rb
645
+ - lib/ddtrace/contrib/shoryuken/configuration/settings.rb
646
+ - lib/ddtrace/contrib/shoryuken/ext.rb
647
+ - lib/ddtrace/contrib/shoryuken/integration.rb
648
+ - lib/ddtrace/contrib/shoryuken/patcher.rb
649
+ - lib/ddtrace/contrib/shoryuken/tracer.rb
650
+ - lib/ddtrace/contrib/sidekiq/client_tracer.rb
651
+ - lib/ddtrace/contrib/sidekiq/configuration/settings.rb
652
+ - lib/ddtrace/contrib/sidekiq/ext.rb
653
+ - lib/ddtrace/contrib/sidekiq/integration.rb
654
+ - lib/ddtrace/contrib/sidekiq/patcher.rb
655
+ - lib/ddtrace/contrib/sidekiq/server_tracer.rb
656
+ - lib/ddtrace/contrib/sidekiq/tracing.rb
657
+ - lib/ddtrace/contrib/sinatra/configuration/settings.rb
658
+ - lib/ddtrace/contrib/sinatra/env.rb
659
+ - lib/ddtrace/contrib/sinatra/ext.rb
660
+ - lib/ddtrace/contrib/sinatra/headers.rb
661
+ - lib/ddtrace/contrib/sinatra/integration.rb
662
+ - lib/ddtrace/contrib/sinatra/patcher.rb
663
+ - lib/ddtrace/contrib/sinatra/tracer.rb
664
+ - lib/ddtrace/contrib/sinatra/tracer_middleware.rb
665
+ - lib/ddtrace/contrib/sucker_punch/configuration/settings.rb
666
+ - lib/ddtrace/contrib/sucker_punch/exception_handler.rb
667
+ - lib/ddtrace/contrib/sucker_punch/ext.rb
668
+ - lib/ddtrace/contrib/sucker_punch/instrumentation.rb
669
+ - lib/ddtrace/contrib/sucker_punch/integration.rb
670
+ - lib/ddtrace/contrib/sucker_punch/patcher.rb
671
+ - lib/ddtrace/correlation.rb
672
+ - lib/ddtrace/diagnostics/environment_logger.rb
673
+ - lib/ddtrace/diagnostics/health.rb
674
+ - lib/ddtrace/distributed_tracing/headers/b3.rb
675
+ - lib/ddtrace/distributed_tracing/headers/b3_single.rb
676
+ - lib/ddtrace/distributed_tracing/headers/datadog.rb
677
+ - lib/ddtrace/distributed_tracing/headers/headers.rb
678
+ - lib/ddtrace/distributed_tracing/headers/helpers.rb
679
+ - lib/ddtrace/encoding.rb
680
+ - lib/ddtrace/environment.rb
681
+ - lib/ddtrace/error.rb
682
+ - lib/ddtrace/event.rb
683
+ - lib/ddtrace/ext/analytics.rb
684
+ - lib/ddtrace/ext/app_types.rb
685
+ - lib/ddtrace/ext/correlation.rb
686
+ - lib/ddtrace/ext/diagnostics.rb
687
+ - lib/ddtrace/ext/distributed.rb
688
+ - lib/ddtrace/ext/environment.rb
689
+ - lib/ddtrace/ext/errors.rb
690
+ - lib/ddtrace/ext/forced_tracing.rb
691
+ - lib/ddtrace/ext/http.rb
692
+ - lib/ddtrace/ext/manual_tracing.rb
693
+ - lib/ddtrace/ext/metrics.rb
694
+ - lib/ddtrace/ext/net.rb
695
+ - lib/ddtrace/ext/priority.rb
696
+ - lib/ddtrace/ext/runtime.rb
697
+ - lib/ddtrace/ext/sampling.rb
698
+ - lib/ddtrace/ext/sql.rb
699
+ - lib/ddtrace/ext/transport.rb
700
+ - lib/ddtrace/forced_tracing.rb
701
+ - lib/ddtrace/logger.rb
702
+ - lib/ddtrace/metrics.rb
703
+ - lib/ddtrace/monkey.rb
704
+ - lib/ddtrace/opentelemetry/extensions.rb
705
+ - lib/ddtrace/opentelemetry/span.rb
706
+ - lib/ddtrace/opentracer.rb
707
+ - lib/ddtrace/opentracer/binary_propagator.rb
708
+ - lib/ddtrace/opentracer/carrier.rb
709
+ - lib/ddtrace/opentracer/distributed_headers.rb
710
+ - lib/ddtrace/opentracer/global_tracer.rb
711
+ - lib/ddtrace/opentracer/propagator.rb
712
+ - lib/ddtrace/opentracer/rack_propagator.rb
713
+ - lib/ddtrace/opentracer/scope.rb
714
+ - lib/ddtrace/opentracer/scope_manager.rb
715
+ - lib/ddtrace/opentracer/span.rb
716
+ - lib/ddtrace/opentracer/span_context.rb
717
+ - lib/ddtrace/opentracer/span_context_factory.rb
718
+ - lib/ddtrace/opentracer/text_map_propagator.rb
719
+ - lib/ddtrace/opentracer/thread_local_scope.rb
720
+ - lib/ddtrace/opentracer/thread_local_scope_manager.rb
721
+ - lib/ddtrace/opentracer/tracer.rb
722
+ - lib/ddtrace/patcher.rb
723
+ - lib/ddtrace/pin.rb
724
+ - lib/ddtrace/pipeline.rb
725
+ - lib/ddtrace/pipeline/span_filter.rb
726
+ - lib/ddtrace/pipeline/span_processor.rb
727
+ - lib/ddtrace/propagation/grpc_propagator.rb
728
+ - lib/ddtrace/propagation/http_propagator.rb
729
+ - lib/ddtrace/quantization/hash.rb
730
+ - lib/ddtrace/quantization/http.rb
731
+ - lib/ddtrace/runtime/cgroup.rb
732
+ - lib/ddtrace/runtime/class_count.rb
733
+ - lib/ddtrace/runtime/container.rb
734
+ - lib/ddtrace/runtime/gc.rb
735
+ - lib/ddtrace/runtime/identity.rb
736
+ - lib/ddtrace/runtime/metrics.rb
737
+ - lib/ddtrace/runtime/object_space.rb
738
+ - lib/ddtrace/runtime/socket.rb
739
+ - lib/ddtrace/runtime/thread_count.rb
740
+ - lib/ddtrace/sampler.rb
741
+ - lib/ddtrace/sampling.rb
742
+ - lib/ddtrace/sampling/matcher.rb
743
+ - lib/ddtrace/sampling/rate_limiter.rb
744
+ - lib/ddtrace/sampling/rule.rb
745
+ - lib/ddtrace/sampling/rule_sampler.rb
746
+ - lib/ddtrace/span.rb
747
+ - lib/ddtrace/sync_writer.rb
748
+ - lib/ddtrace/tracer.rb
749
+ - lib/ddtrace/transport/http.rb
750
+ - lib/ddtrace/transport/http/adapters/net.rb
751
+ - lib/ddtrace/transport/http/adapters/registry.rb
752
+ - lib/ddtrace/transport/http/adapters/test.rb
753
+ - lib/ddtrace/transport/http/adapters/unix_socket.rb
754
+ - lib/ddtrace/transport/http/api.rb
755
+ - lib/ddtrace/transport/http/api/endpoint.rb
756
+ - lib/ddtrace/transport/http/api/fallbacks.rb
757
+ - lib/ddtrace/transport/http/api/instance.rb
758
+ - lib/ddtrace/transport/http/api/map.rb
759
+ - lib/ddtrace/transport/http/api/spec.rb
760
+ - lib/ddtrace/transport/http/builder.rb
761
+ - lib/ddtrace/transport/http/client.rb
762
+ - lib/ddtrace/transport/http/env.rb
763
+ - lib/ddtrace/transport/http/response.rb
764
+ - lib/ddtrace/transport/http/statistics.rb
765
+ - lib/ddtrace/transport/http/traces.rb
766
+ - lib/ddtrace/transport/io.rb
767
+ - lib/ddtrace/transport/io/client.rb
768
+ - lib/ddtrace/transport/io/response.rb
769
+ - lib/ddtrace/transport/io/traces.rb
770
+ - lib/ddtrace/transport/parcel.rb
771
+ - lib/ddtrace/transport/request.rb
772
+ - lib/ddtrace/transport/response.rb
773
+ - lib/ddtrace/transport/statistics.rb
774
+ - lib/ddtrace/transport/traces.rb
775
+ - lib/ddtrace/utils.rb
776
+ - lib/ddtrace/utils/database.rb
777
+ - lib/ddtrace/utils/time.rb
778
+ - lib/ddtrace/vendor/active_record/connection_specification.rb
779
+ - lib/ddtrace/version.rb
780
+ - lib/ddtrace/worker.rb
781
+ - lib/ddtrace/workers.rb
782
+ - lib/ddtrace/workers/async.rb
783
+ - lib/ddtrace/workers/loop.rb
784
+ - lib/ddtrace/workers/polling.rb
785
+ - lib/ddtrace/workers/queue.rb
786
+ - lib/ddtrace/workers/runtime_metrics.rb
787
+ - lib/ddtrace/workers/trace_writer.rb
788
+ - lib/ddtrace/writer.rb
789
+ - tasks/release_gem.rake
790
+ homepage: https://github.com/DataDog/dd-trace-rb
791
+ licenses:
792
+ - BSD-3-Clause
793
+ metadata:
794
+ allowed_push_host: https://rubygems.org
795
+ post_install_message:
796
+ rdoc_options: []
797
+ require_paths:
798
+ - lib
799
+ required_ruby_version: !ruby/object:Gem::Requirement
800
+ requirements:
801
+ - - ">="
802
+ - !ruby/object:Gem::Version
803
+ version: 2.0.0
804
+ required_rubygems_version: !ruby/object:Gem::Requirement
805
+ requirements:
806
+ - - ">="
807
+ - !ruby/object:Gem::Version
808
+ version: 2.0.0
809
+ requirements: []
810
+ rubyforge_project:
811
+ rubygems_version: 2.7.6.2
812
+ signing_key:
813
+ specification_version: 4
814
+ summary: Datadog tracing code for your Ruby applications
815
+ test_files: []