ddtrace 0.42.0 → 0.54.2

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 (602) hide show
  1. checksums.yaml +4 -4
  2. data/.editorconfig +22 -0
  3. data/.gitignore +7 -1
  4. data/CHANGELOG.md +1645 -370
  5. data/CONTRIBUTING.md +2 -6
  6. data/LICENSE-3rdparty.csv +2 -0
  7. data/README.md +1 -0
  8. data/bin/ddtracerb +15 -0
  9. data/ddtrace.gemspec +21 -39
  10. data/docs/DevelopmentGuide.md +46 -8
  11. data/docs/GettingStarted.md +439 -92
  12. data/docs/ProfilingDevelopment.md +107 -0
  13. data/ext/ddtrace_profiling_native_extension/NativeExtensionDesign.md +86 -0
  14. data/ext/ddtrace_profiling_native_extension/clock_id.h +4 -0
  15. data/ext/ddtrace_profiling_native_extension/clock_id_from_pthread.c +52 -0
  16. data/ext/ddtrace_profiling_native_extension/clock_id_noop.c +14 -0
  17. data/ext/ddtrace_profiling_native_extension/extconf.rb +197 -0
  18. data/ext/ddtrace_profiling_native_extension/private_vm_api_access.c +35 -0
  19. data/ext/ddtrace_profiling_native_extension/private_vm_api_access.h +3 -0
  20. data/ext/ddtrace_profiling_native_extension/profiling.c +22 -0
  21. data/lib/datadog/ci/configuration/components.rb +31 -0
  22. data/lib/datadog/ci/configuration/settings.rb +37 -0
  23. data/lib/datadog/ci/context_flush.rb +29 -0
  24. data/lib/datadog/ci/contrib/cucumber/configuration/settings.rb +31 -0
  25. data/lib/datadog/ci/contrib/cucumber/ext.rb +20 -0
  26. data/lib/datadog/ci/contrib/cucumber/formatter.rb +99 -0
  27. data/lib/datadog/ci/contrib/cucumber/instrumentation.rb +27 -0
  28. data/lib/datadog/ci/contrib/cucumber/integration.rb +48 -0
  29. data/lib/datadog/ci/contrib/cucumber/patcher.rb +26 -0
  30. data/lib/datadog/ci/contrib/rspec/configuration/settings.rb +31 -0
  31. data/lib/datadog/ci/contrib/rspec/example.rb +75 -0
  32. data/lib/datadog/ci/contrib/rspec/ext.rb +19 -0
  33. data/lib/datadog/ci/contrib/rspec/integration.rb +49 -0
  34. data/lib/datadog/ci/contrib/rspec/patcher.rb +26 -0
  35. data/lib/datadog/ci/ext/app_types.rb +10 -0
  36. data/lib/datadog/ci/ext/environment.rb +485 -0
  37. data/lib/datadog/ci/ext/settings.rb +11 -0
  38. data/lib/datadog/ci/ext/test.rb +36 -0
  39. data/lib/datadog/ci/extensions.rb +18 -0
  40. data/lib/datadog/ci/test.rb +81 -0
  41. data/lib/datadog/ci.rb +17 -0
  42. data/lib/datadog/contrib.rb +71 -0
  43. data/lib/datadog/core/environment/cgroup.rb +52 -0
  44. data/lib/datadog/core/environment/class_count.rb +20 -0
  45. data/lib/datadog/core/environment/container.rb +91 -0
  46. data/lib/datadog/core/environment/ext.rb +27 -0
  47. data/lib/datadog/core/environment/gc.rb +19 -0
  48. data/lib/datadog/core/environment/identity.rb +51 -0
  49. data/lib/datadog/core/environment/socket.rb +17 -0
  50. data/lib/datadog/core/environment/thread_count.rb +19 -0
  51. data/lib/datadog/core/environment/variable_helpers.rb +42 -0
  52. data/lib/datadog/core/environment/vm_cache.rb +46 -0
  53. data/lib/ddtrace/analytics.rb +3 -0
  54. data/lib/ddtrace/auto_instrument.rb +5 -0
  55. data/lib/ddtrace/auto_instrument_base.rb +7 -0
  56. data/lib/ddtrace/buffer.rb +38 -24
  57. data/lib/ddtrace/chunker.rb +1 -0
  58. data/lib/ddtrace/configuration/agent_settings_resolver.rb +309 -0
  59. data/lib/ddtrace/configuration/base.rb +9 -11
  60. data/lib/ddtrace/configuration/components.rb +167 -26
  61. data/lib/ddtrace/configuration/dependency_resolver.rb +1 -0
  62. data/lib/ddtrace/configuration/option.rb +1 -0
  63. data/lib/ddtrace/configuration/option_definition.rb +2 -3
  64. data/lib/ddtrace/configuration/option_definition_set.rb +1 -0
  65. data/lib/ddtrace/configuration/option_set.rb +1 -0
  66. data/lib/ddtrace/configuration/options.rb +7 -9
  67. data/lib/ddtrace/configuration/pin_setup.rb +1 -0
  68. data/lib/ddtrace/configuration/settings.rb +142 -12
  69. data/lib/ddtrace/configuration.rb +132 -24
  70. data/lib/ddtrace/context.rb +51 -22
  71. data/lib/ddtrace/context_flush.rb +15 -2
  72. data/lib/ddtrace/context_provider.rb +13 -2
  73. data/lib/ddtrace/contrib/action_cable/configuration/settings.rb +1 -0
  74. data/lib/ddtrace/contrib/action_cable/event.rb +6 -4
  75. data/lib/ddtrace/contrib/action_cable/events/broadcast.rb +1 -0
  76. data/lib/ddtrace/contrib/action_cable/events/perform_action.rb +1 -0
  77. data/lib/ddtrace/contrib/action_cable/events/transmit.rb +1 -0
  78. data/lib/ddtrace/contrib/action_cable/events.rb +1 -0
  79. data/lib/ddtrace/contrib/action_cable/ext.rb +1 -0
  80. data/lib/ddtrace/contrib/action_cable/instrumentation.rb +47 -0
  81. data/lib/ddtrace/contrib/action_cable/integration.rb +8 -0
  82. data/lib/ddtrace/contrib/action_cable/patcher.rb +2 -0
  83. data/lib/ddtrace/contrib/action_mailer/configuration/settings.rb +32 -0
  84. data/lib/ddtrace/contrib/action_mailer/event.rb +50 -0
  85. data/lib/ddtrace/contrib/action_mailer/events/deliver.rb +54 -0
  86. data/lib/ddtrace/contrib/action_mailer/events/process.rb +41 -0
  87. data/lib/ddtrace/contrib/action_mailer/events.rb +31 -0
  88. data/lib/ddtrace/contrib/action_mailer/ext.rb +32 -0
  89. data/lib/ddtrace/contrib/action_mailer/integration.rb +45 -0
  90. data/lib/ddtrace/contrib/action_mailer/patcher.rb +27 -0
  91. data/lib/ddtrace/contrib/action_pack/action_controller/instrumentation.rb +22 -13
  92. data/lib/ddtrace/contrib/action_pack/action_controller/patcher.rb +2 -1
  93. data/lib/ddtrace/contrib/action_pack/configuration/settings.rb +1 -0
  94. data/lib/ddtrace/contrib/action_pack/ext.rb +1 -0
  95. data/lib/ddtrace/contrib/action_pack/integration.rb +8 -0
  96. data/lib/ddtrace/contrib/action_pack/patcher.rb +1 -0
  97. data/lib/ddtrace/contrib/action_pack/utils.rb +2 -1
  98. data/lib/ddtrace/contrib/action_view/configuration/settings.rb +1 -0
  99. data/lib/ddtrace/contrib/action_view/event.rb +4 -7
  100. data/lib/ddtrace/contrib/action_view/events/render_partial.rb +2 -0
  101. data/lib/ddtrace/contrib/action_view/events/render_template.rb +2 -0
  102. data/lib/ddtrace/contrib/action_view/events.rb +1 -0
  103. data/lib/ddtrace/contrib/action_view/ext.rb +1 -0
  104. data/lib/ddtrace/contrib/action_view/instrumentation/partial_renderer.rb +1 -0
  105. data/lib/ddtrace/contrib/action_view/instrumentation/template_renderer.rb +1 -0
  106. data/lib/ddtrace/contrib/action_view/integration.rb +8 -0
  107. data/lib/ddtrace/contrib/action_view/patcher.rb +5 -4
  108. data/lib/ddtrace/contrib/action_view/utils.rb +2 -1
  109. data/lib/ddtrace/contrib/active_job/configuration/settings.rb +33 -0
  110. data/lib/ddtrace/contrib/active_job/event.rb +54 -0
  111. data/lib/ddtrace/contrib/active_job/events/discard.rb +46 -0
  112. data/lib/ddtrace/contrib/active_job/events/enqueue.rb +45 -0
  113. data/lib/ddtrace/contrib/active_job/events/enqueue_at.rb +45 -0
  114. data/lib/ddtrace/contrib/active_job/events/enqueue_retry.rb +47 -0
  115. data/lib/ddtrace/contrib/active_job/events/perform.rb +45 -0
  116. data/lib/ddtrace/contrib/active_job/events/retry_stopped.rb +46 -0
  117. data/lib/ddtrace/contrib/active_job/events.rb +39 -0
  118. data/lib/ddtrace/contrib/active_job/ext.rb +32 -0
  119. data/lib/ddtrace/contrib/active_job/integration.rb +46 -0
  120. data/lib/ddtrace/contrib/active_job/log_injection.rb +21 -0
  121. data/lib/ddtrace/contrib/active_job/patcher.rb +33 -0
  122. data/lib/ddtrace/contrib/active_model_serializers/configuration/settings.rb +1 -0
  123. data/lib/ddtrace/contrib/active_model_serializers/event.rb +3 -2
  124. data/lib/ddtrace/contrib/active_model_serializers/events/render.rb +1 -0
  125. data/lib/ddtrace/contrib/active_model_serializers/events/serialize.rb +1 -0
  126. data/lib/ddtrace/contrib/active_model_serializers/events.rb +1 -0
  127. data/lib/ddtrace/contrib/active_model_serializers/ext.rb +1 -0
  128. data/lib/ddtrace/contrib/active_model_serializers/integration.rb +1 -0
  129. data/lib/ddtrace/contrib/active_model_serializers/patcher.rb +1 -0
  130. data/lib/ddtrace/contrib/active_record/configuration/makara_resolver.rb +31 -0
  131. data/lib/ddtrace/contrib/active_record/configuration/resolver.rb +108 -18
  132. data/lib/ddtrace/contrib/active_record/configuration/settings.rb +1 -0
  133. data/lib/ddtrace/contrib/active_record/event.rb +3 -2
  134. data/lib/ddtrace/contrib/active_record/events/instantiation.rb +1 -0
  135. data/lib/ddtrace/contrib/active_record/events/sql.rb +1 -0
  136. data/lib/ddtrace/contrib/active_record/events.rb +1 -0
  137. data/lib/ddtrace/contrib/active_record/ext.rb +1 -0
  138. data/lib/ddtrace/contrib/active_record/integration.rb +8 -0
  139. data/lib/ddtrace/contrib/active_record/patcher.rb +1 -0
  140. data/lib/ddtrace/contrib/active_record/utils.rb +69 -21
  141. data/lib/ddtrace/contrib/active_support/cache/instrumentation.rb +105 -3
  142. data/lib/ddtrace/contrib/active_support/cache/patcher.rb +26 -4
  143. data/lib/ddtrace/contrib/active_support/cache/redis.rb +2 -5
  144. data/lib/ddtrace/contrib/active_support/configuration/settings.rb +1 -0
  145. data/lib/ddtrace/contrib/active_support/ext.rb +4 -0
  146. data/lib/ddtrace/contrib/active_support/integration.rb +8 -1
  147. data/lib/ddtrace/contrib/active_support/notifications/event.rb +15 -3
  148. data/lib/ddtrace/contrib/active_support/notifications/subscriber.rb +3 -1
  149. data/lib/ddtrace/contrib/active_support/notifications/subscription.rb +10 -5
  150. data/lib/ddtrace/contrib/active_support/patcher.rb +1 -0
  151. data/lib/ddtrace/contrib/analytics.rb +1 -0
  152. data/lib/ddtrace/contrib/auto_instrument.rb +48 -0
  153. data/lib/ddtrace/contrib/aws/configuration/settings.rb +1 -0
  154. data/lib/ddtrace/contrib/aws/ext.rb +1 -0
  155. data/lib/ddtrace/contrib/aws/instrumentation.rb +32 -1
  156. data/lib/ddtrace/contrib/aws/integration.rb +1 -0
  157. data/lib/ddtrace/contrib/aws/parsed_context.rb +1 -0
  158. data/lib/ddtrace/contrib/aws/patcher.rb +6 -1
  159. data/lib/ddtrace/contrib/aws/services.rb +4 -0
  160. data/lib/ddtrace/contrib/concurrent_ruby/configuration/settings.rb +1 -0
  161. data/lib/ddtrace/contrib/concurrent_ruby/context_composite_executor_service.rb +1 -0
  162. data/lib/ddtrace/contrib/concurrent_ruby/ext.rb +1 -0
  163. data/lib/ddtrace/contrib/concurrent_ruby/future_patch.rb +1 -0
  164. data/lib/ddtrace/contrib/concurrent_ruby/integration.rb +1 -0
  165. data/lib/ddtrace/contrib/concurrent_ruby/patcher.rb +3 -1
  166. data/lib/ddtrace/contrib/configurable.rb +65 -38
  167. data/lib/ddtrace/contrib/configuration/resolver.rb +71 -5
  168. data/lib/ddtrace/contrib/configuration/resolvers/pattern_resolver.rb +21 -20
  169. data/lib/ddtrace/contrib/configuration/settings.rb +8 -6
  170. data/lib/ddtrace/contrib/dalli/configuration/settings.rb +1 -0
  171. data/lib/ddtrace/contrib/dalli/ext.rb +1 -0
  172. data/lib/ddtrace/contrib/dalli/instrumentation.rb +2 -1
  173. data/lib/ddtrace/contrib/dalli/integration.rb +1 -0
  174. data/lib/ddtrace/contrib/dalli/patcher.rb +2 -39
  175. data/lib/ddtrace/contrib/dalli/quantize.rb +1 -0
  176. data/lib/ddtrace/contrib/delayed_job/configuration/settings.rb +2 -0
  177. data/lib/ddtrace/contrib/delayed_job/ext.rb +1 -0
  178. data/lib/ddtrace/contrib/delayed_job/integration.rb +1 -0
  179. data/lib/ddtrace/contrib/delayed_job/patcher.rb +1 -0
  180. data/lib/ddtrace/contrib/delayed_job/plugin.rb +5 -3
  181. data/lib/ddtrace/contrib/elasticsearch/configuration/settings.rb +1 -0
  182. data/lib/ddtrace/contrib/elasticsearch/ext.rb +1 -0
  183. data/lib/ddtrace/contrib/elasticsearch/integration.rb +1 -0
  184. data/lib/ddtrace/contrib/elasticsearch/patcher.rb +2 -0
  185. data/lib/ddtrace/contrib/elasticsearch/quantize.rb +6 -2
  186. data/lib/ddtrace/contrib/ethon/configuration/settings.rb +1 -0
  187. data/lib/ddtrace/contrib/ethon/easy_patch.rb +13 -11
  188. data/lib/ddtrace/contrib/ethon/ext.rb +2 -0
  189. data/lib/ddtrace/contrib/ethon/integration.rb +1 -0
  190. data/lib/ddtrace/contrib/ethon/multi_patch.rb +2 -1
  191. data/lib/ddtrace/contrib/ethon/patcher.rb +4 -2
  192. data/lib/ddtrace/contrib/excon/configuration/settings.rb +1 -0
  193. data/lib/ddtrace/contrib/excon/ext.rb +1 -0
  194. data/lib/ddtrace/contrib/excon/integration.rb +1 -0
  195. data/lib/ddtrace/contrib/excon/middleware.rb +10 -7
  196. data/lib/ddtrace/contrib/excon/patcher.rb +1 -0
  197. data/lib/ddtrace/contrib/extensions.rb +90 -14
  198. data/lib/ddtrace/contrib/faraday/configuration/settings.rb +1 -0
  199. data/lib/ddtrace/contrib/faraday/connection.rb +1 -0
  200. data/lib/ddtrace/contrib/faraday/ext.rb +1 -0
  201. data/lib/ddtrace/contrib/faraday/integration.rb +1 -0
  202. data/lib/ddtrace/contrib/faraday/middleware.rb +2 -3
  203. data/lib/ddtrace/contrib/faraday/patcher.rb +3 -38
  204. data/lib/ddtrace/contrib/faraday/rack_builder.rb +1 -0
  205. data/lib/ddtrace/contrib/grape/configuration/settings.rb +8 -0
  206. data/lib/ddtrace/contrib/grape/endpoint.rb +68 -32
  207. data/lib/ddtrace/contrib/grape/ext.rb +2 -0
  208. data/lib/ddtrace/contrib/grape/instrumentation.rb +4 -3
  209. data/lib/ddtrace/contrib/grape/integration.rb +1 -0
  210. data/lib/ddtrace/contrib/grape/patcher.rb +2 -43
  211. data/lib/ddtrace/contrib/graphql/configuration/settings.rb +1 -0
  212. data/lib/ddtrace/contrib/graphql/ext.rb +1 -0
  213. data/lib/ddtrace/contrib/graphql/integration.rb +1 -0
  214. data/lib/ddtrace/contrib/graphql/patcher.rb +1 -0
  215. data/lib/ddtrace/contrib/grpc/configuration/settings.rb +2 -0
  216. data/lib/ddtrace/contrib/grpc/datadog_interceptor/client.rb +1 -0
  217. data/lib/ddtrace/contrib/grpc/datadog_interceptor/server.rb +4 -4
  218. data/lib/ddtrace/contrib/grpc/datadog_interceptor.rb +13 -8
  219. data/lib/ddtrace/contrib/grpc/ext.rb +1 -0
  220. data/lib/ddtrace/contrib/grpc/integration.rb +1 -0
  221. data/lib/ddtrace/contrib/grpc/intercept_with_datadog.rb +1 -0
  222. data/lib/ddtrace/contrib/grpc/patcher.rb +3 -37
  223. data/lib/ddtrace/contrib/http/circuit_breaker.rb +2 -3
  224. data/lib/ddtrace/contrib/http/configuration/settings.rb +1 -0
  225. data/lib/ddtrace/contrib/http/ext.rb +1 -0
  226. data/lib/ddtrace/contrib/http/instrumentation.rb +9 -8
  227. data/lib/ddtrace/contrib/http/integration.rb +1 -0
  228. data/lib/ddtrace/contrib/http/patcher.rb +2 -1
  229. data/lib/ddtrace/contrib/http_annotation_helper.rb +1 -0
  230. data/lib/ddtrace/contrib/httpclient/configuration/settings.rb +33 -0
  231. data/lib/ddtrace/contrib/httpclient/ext.rb +18 -0
  232. data/lib/ddtrace/contrib/httpclient/instrumentation.rb +148 -0
  233. data/lib/ddtrace/contrib/httpclient/integration.rb +44 -0
  234. data/lib/ddtrace/contrib/httpclient/patcher.rb +39 -0
  235. data/lib/ddtrace/contrib/httprb/configuration/settings.rb +1 -0
  236. data/lib/ddtrace/contrib/httprb/ext.rb +1 -0
  237. data/lib/ddtrace/contrib/httprb/instrumentation.rb +17 -22
  238. data/lib/ddtrace/contrib/httprb/integration.rb +1 -0
  239. data/lib/ddtrace/contrib/httprb/patcher.rb +8 -4
  240. data/lib/ddtrace/contrib/integration.rb +4 -3
  241. data/lib/ddtrace/contrib/kafka/configuration/settings.rb +1 -0
  242. data/lib/ddtrace/contrib/kafka/consumer_event.rb +1 -0
  243. data/lib/ddtrace/contrib/kafka/consumer_group_event.rb +1 -0
  244. data/lib/ddtrace/contrib/kafka/event.rb +4 -3
  245. data/lib/ddtrace/contrib/kafka/events/connection/request.rb +1 -0
  246. data/lib/ddtrace/contrib/kafka/events/consumer/process_batch.rb +1 -0
  247. data/lib/ddtrace/contrib/kafka/events/consumer/process_message.rb +1 -0
  248. data/lib/ddtrace/contrib/kafka/events/consumer_group/heartbeat.rb +1 -0
  249. data/lib/ddtrace/contrib/kafka/events/consumer_group/join_group.rb +1 -0
  250. data/lib/ddtrace/contrib/kafka/events/consumer_group/leave_group.rb +1 -0
  251. data/lib/ddtrace/contrib/kafka/events/consumer_group/sync_group.rb +1 -0
  252. data/lib/ddtrace/contrib/kafka/events/produce_operation/send_messages.rb +1 -0
  253. data/lib/ddtrace/contrib/kafka/events/producer/deliver_messages.rb +1 -0
  254. data/lib/ddtrace/contrib/kafka/events.rb +1 -0
  255. data/lib/ddtrace/contrib/kafka/ext.rb +1 -0
  256. data/lib/ddtrace/contrib/kafka/integration.rb +1 -0
  257. data/lib/ddtrace/contrib/kafka/patcher.rb +1 -0
  258. data/lib/ddtrace/contrib/lograge/configuration/settings.rb +19 -0
  259. data/lib/ddtrace/contrib/lograge/ext.rb +11 -0
  260. data/lib/ddtrace/contrib/lograge/instrumentation.rb +39 -0
  261. data/lib/ddtrace/contrib/lograge/integration.rb +46 -0
  262. data/lib/ddtrace/contrib/lograge/patcher.rb +26 -0
  263. data/lib/ddtrace/contrib/mongodb/configuration/settings.rb +1 -0
  264. data/lib/ddtrace/contrib/mongodb/ext.rb +1 -0
  265. data/lib/ddtrace/contrib/mongodb/instrumentation.rb +6 -3
  266. data/lib/ddtrace/contrib/mongodb/integration.rb +6 -0
  267. data/lib/ddtrace/contrib/mongodb/parsers.rb +1 -0
  268. data/lib/ddtrace/contrib/mongodb/patcher.rb +3 -2
  269. data/lib/ddtrace/contrib/mongodb/subscribers.rb +3 -3
  270. data/lib/ddtrace/contrib/mysql2/configuration/settings.rb +1 -0
  271. data/lib/ddtrace/contrib/mysql2/ext.rb +1 -0
  272. data/lib/ddtrace/contrib/mysql2/instrumentation.rb +2 -1
  273. data/lib/ddtrace/contrib/mysql2/integration.rb +1 -0
  274. data/lib/ddtrace/contrib/mysql2/patcher.rb +2 -1
  275. data/lib/ddtrace/contrib/patchable.rb +21 -9
  276. data/lib/ddtrace/contrib/patcher.rb +12 -8
  277. data/lib/ddtrace/contrib/presto/configuration/settings.rb +1 -0
  278. data/lib/ddtrace/contrib/presto/ext.rb +1 -0
  279. data/lib/ddtrace/contrib/presto/instrumentation.rb +2 -1
  280. data/lib/ddtrace/contrib/presto/integration.rb +1 -0
  281. data/lib/ddtrace/contrib/presto/patcher.rb +7 -3
  282. data/lib/ddtrace/contrib/qless/configuration/settings.rb +36 -0
  283. data/lib/ddtrace/contrib/qless/ext.rb +21 -0
  284. data/lib/ddtrace/contrib/qless/integration.rb +39 -0
  285. data/lib/ddtrace/contrib/qless/patcher.rb +35 -0
  286. data/lib/ddtrace/contrib/qless/qless_job.rb +74 -0
  287. data/lib/ddtrace/contrib/qless/tracer_cleaner.rb +34 -0
  288. data/lib/ddtrace/contrib/que/configuration/settings.rb +2 -0
  289. data/lib/ddtrace/contrib/que/ext.rb +20 -19
  290. data/lib/ddtrace/contrib/que/integration.rb +1 -0
  291. data/lib/ddtrace/contrib/que/patcher.rb +1 -0
  292. data/lib/ddtrace/contrib/que/tracer.rb +4 -2
  293. data/lib/ddtrace/contrib/racecar/configuration/settings.rb +1 -0
  294. data/lib/ddtrace/contrib/racecar/event.rb +4 -2
  295. data/lib/ddtrace/contrib/racecar/events/batch.rb +1 -0
  296. data/lib/ddtrace/contrib/racecar/events/consume.rb +1 -0
  297. data/lib/ddtrace/contrib/racecar/events/message.rb +1 -0
  298. data/lib/ddtrace/contrib/racecar/events.rb +1 -0
  299. data/lib/ddtrace/contrib/racecar/ext.rb +1 -0
  300. data/lib/ddtrace/contrib/racecar/integration.rb +1 -0
  301. data/lib/ddtrace/contrib/racecar/patcher.rb +1 -0
  302. data/lib/ddtrace/contrib/rack/configuration/settings.rb +4 -3
  303. data/lib/ddtrace/contrib/rack/ext.rb +1 -0
  304. data/lib/ddtrace/contrib/rack/integration.rb +8 -0
  305. data/lib/ddtrace/contrib/rack/middlewares.rb +8 -12
  306. data/lib/ddtrace/contrib/rack/patcher.rb +2 -3
  307. data/lib/ddtrace/contrib/rack/request_queue.rb +7 -1
  308. data/lib/ddtrace/contrib/rails/auto_instrument_railtie.rb +10 -0
  309. data/lib/ddtrace/contrib/rails/configuration/settings.rb +8 -0
  310. data/lib/ddtrace/contrib/rails/ext.rb +1 -0
  311. data/lib/ddtrace/contrib/rails/framework.rb +50 -2
  312. data/lib/ddtrace/contrib/rails/integration.rb +1 -0
  313. data/lib/ddtrace/contrib/rails/log_injection.rb +1 -40
  314. data/lib/ddtrace/contrib/rails/middlewares.rb +1 -0
  315. data/lib/ddtrace/contrib/rails/patcher.rb +40 -21
  316. data/lib/ddtrace/contrib/rails/railtie.rb +1 -0
  317. data/lib/ddtrace/contrib/rails/utils.rb +5 -0
  318. data/lib/ddtrace/contrib/rake/configuration/settings.rb +1 -0
  319. data/lib/ddtrace/contrib/rake/ext.rb +1 -0
  320. data/lib/ddtrace/contrib/rake/instrumentation.rb +6 -3
  321. data/lib/ddtrace/contrib/rake/integration.rb +2 -1
  322. data/lib/ddtrace/contrib/rake/patcher.rb +2 -1
  323. data/lib/ddtrace/contrib/redis/configuration/resolver.rb +15 -5
  324. data/lib/ddtrace/contrib/redis/configuration/settings.rb +6 -0
  325. data/lib/ddtrace/contrib/redis/ext.rb +2 -0
  326. data/lib/ddtrace/contrib/redis/instrumentation.rb +90 -0
  327. data/lib/ddtrace/contrib/redis/integration.rb +1 -0
  328. data/lib/ddtrace/contrib/redis/patcher.rb +3 -67
  329. data/lib/ddtrace/contrib/redis/quantize.rb +29 -0
  330. data/lib/ddtrace/contrib/redis/tags.rb +6 -1
  331. data/lib/ddtrace/contrib/redis/vendor/LICENSE +20 -0
  332. data/lib/ddtrace/contrib/redis/vendor/resolver.rb +7 -7
  333. data/lib/ddtrace/contrib/registerable.rb +4 -4
  334. data/lib/ddtrace/contrib/registry.rb +3 -2
  335. data/lib/ddtrace/contrib/resque/configuration/settings.rb +19 -1
  336. data/lib/ddtrace/contrib/resque/ext.rb +1 -0
  337. data/lib/ddtrace/contrib/resque/integration.rb +2 -5
  338. data/lib/ddtrace/contrib/resque/patcher.rb +5 -4
  339. data/lib/ddtrace/contrib/resque/resque_job.rb +26 -2
  340. data/lib/ddtrace/contrib/rest_client/configuration/settings.rb +1 -0
  341. data/lib/ddtrace/contrib/rest_client/ext.rb +1 -0
  342. data/lib/ddtrace/contrib/rest_client/integration.rb +1 -0
  343. data/lib/ddtrace/contrib/rest_client/patcher.rb +3 -1
  344. data/lib/ddtrace/contrib/rest_client/request_patch.rb +3 -4
  345. data/lib/ddtrace/contrib/semantic_logger/configuration/settings.rb +19 -0
  346. data/lib/ddtrace/contrib/semantic_logger/ext.rb +11 -0
  347. data/lib/ddtrace/contrib/semantic_logger/instrumentation.rb +43 -0
  348. data/lib/ddtrace/contrib/semantic_logger/integration.rb +48 -0
  349. data/lib/ddtrace/contrib/semantic_logger/patcher.rb +26 -0
  350. data/lib/ddtrace/contrib/sequel/configuration/settings.rb +1 -0
  351. data/lib/ddtrace/contrib/sequel/database.rb +2 -1
  352. data/lib/ddtrace/contrib/sequel/dataset.rb +2 -1
  353. data/lib/ddtrace/contrib/sequel/ext.rb +1 -0
  354. data/lib/ddtrace/contrib/sequel/integration.rb +1 -0
  355. data/lib/ddtrace/contrib/sequel/patcher.rb +3 -2
  356. data/lib/ddtrace/contrib/sequel/utils.rb +6 -6
  357. data/lib/ddtrace/contrib/shoryuken/configuration/settings.rb +3 -0
  358. data/lib/ddtrace/contrib/shoryuken/ext.rb +1 -0
  359. data/lib/ddtrace/contrib/shoryuken/integration.rb +1 -0
  360. data/lib/ddtrace/contrib/shoryuken/patcher.rb +1 -0
  361. data/lib/ddtrace/contrib/shoryuken/tracer.rb +9 -2
  362. data/lib/ddtrace/contrib/sidekiq/client_tracer.rb +1 -0
  363. data/lib/ddtrace/contrib/sidekiq/configuration/settings.rb +2 -0
  364. data/lib/ddtrace/contrib/sidekiq/ext.rb +4 -0
  365. data/lib/ddtrace/contrib/sidekiq/integration.rb +11 -0
  366. data/lib/ddtrace/contrib/sidekiq/patcher.rb +27 -0
  367. data/lib/ddtrace/contrib/sidekiq/server_internal_tracer/heartbeat.rb +30 -0
  368. data/lib/ddtrace/contrib/sidekiq/server_internal_tracer/job_fetch.rb +30 -0
  369. data/lib/ddtrace/contrib/sidekiq/server_internal_tracer/scheduled_push.rb +29 -0
  370. data/lib/ddtrace/contrib/sidekiq/server_tracer.rb +6 -7
  371. data/lib/ddtrace/contrib/sidekiq/tracing.rb +1 -1
  372. data/lib/ddtrace/contrib/sinatra/configuration/settings.rb +1 -0
  373. data/lib/ddtrace/contrib/sinatra/env.rb +4 -4
  374. data/lib/ddtrace/contrib/sinatra/ext.rb +1 -0
  375. data/lib/ddtrace/contrib/sinatra/headers.rb +2 -3
  376. data/lib/ddtrace/contrib/sinatra/integration.rb +1 -0
  377. data/lib/ddtrace/contrib/sinatra/patcher.rb +3 -1
  378. data/lib/ddtrace/contrib/sinatra/tracer.rb +28 -7
  379. data/lib/ddtrace/contrib/sinatra/tracer_middleware.rb +13 -6
  380. data/lib/ddtrace/contrib/sneakers/configuration/settings.rb +2 -0
  381. data/lib/ddtrace/contrib/sneakers/ext.rb +12 -11
  382. data/lib/ddtrace/contrib/sneakers/integration.rb +1 -0
  383. data/lib/ddtrace/contrib/sneakers/patcher.rb +1 -0
  384. data/lib/ddtrace/contrib/sneakers/tracer.rb +17 -21
  385. data/lib/ddtrace/contrib/status_code_matcher.rb +70 -0
  386. data/lib/ddtrace/contrib/sucker_punch/configuration/settings.rb +1 -0
  387. data/lib/ddtrace/contrib/sucker_punch/exception_handler.rb +5 -6
  388. data/lib/ddtrace/contrib/sucker_punch/ext.rb +1 -0
  389. data/lib/ddtrace/contrib/sucker_punch/instrumentation.rb +5 -0
  390. data/lib/ddtrace/contrib/sucker_punch/integration.rb +1 -0
  391. data/lib/ddtrace/contrib/sucker_punch/patcher.rb +2 -0
  392. data/lib/ddtrace/correlation.rb +3 -1
  393. data/lib/ddtrace/diagnostics/environment_logger.rb +9 -7
  394. data/lib/ddtrace/diagnostics/health.rb +1 -0
  395. data/lib/ddtrace/distributed_tracing/headers/b3.rb +1 -0
  396. data/lib/ddtrace/distributed_tracing/headers/b3_single.rb +1 -0
  397. data/lib/ddtrace/distributed_tracing/headers/datadog.rb +1 -0
  398. data/lib/ddtrace/distributed_tracing/headers/headers.rb +2 -0
  399. data/lib/ddtrace/distributed_tracing/headers/helpers.rb +2 -3
  400. data/lib/ddtrace/encoding.rb +3 -0
  401. data/lib/ddtrace/error.rb +78 -8
  402. data/lib/ddtrace/event.rb +1 -0
  403. data/lib/ddtrace/ext/analytics.rb +1 -0
  404. data/lib/ddtrace/ext/app_types.rb +1 -0
  405. data/lib/ddtrace/ext/correlation.rb +1 -0
  406. data/lib/ddtrace/ext/diagnostics.rb +1 -0
  407. data/lib/ddtrace/ext/distributed.rb +9 -2
  408. data/lib/ddtrace/ext/environment.rb +8 -0
  409. data/lib/ddtrace/ext/errors.rb +1 -0
  410. data/lib/ddtrace/ext/forced_tracing.rb +1 -0
  411. data/lib/ddtrace/ext/git.rb +32 -0
  412. data/lib/ddtrace/ext/http.rb +2 -1
  413. data/lib/ddtrace/ext/integration.rb +1 -0
  414. data/lib/ddtrace/ext/manual_tracing.rb +1 -0
  415. data/lib/ddtrace/ext/metrics.rb +1 -0
  416. data/lib/ddtrace/ext/net.rb +1 -0
  417. data/lib/ddtrace/ext/priority.rb +7 -4
  418. data/lib/ddtrace/ext/profiling.rb +53 -0
  419. data/lib/ddtrace/ext/runtime.rb +5 -7
  420. data/lib/ddtrace/ext/sampling.rb +1 -0
  421. data/lib/ddtrace/ext/sql.rb +1 -0
  422. data/lib/ddtrace/ext/test.rb +9 -0
  423. data/lib/ddtrace/ext/transport.rb +14 -0
  424. data/lib/ddtrace/forced_tracing.rb +3 -0
  425. data/lib/ddtrace/logger.rb +2 -1
  426. data/lib/ddtrace/metrics.rb +84 -24
  427. data/lib/ddtrace/opentelemetry/extensions.rb +2 -1
  428. data/lib/ddtrace/opentelemetry/span.rb +1 -0
  429. data/lib/ddtrace/opentracer/binary_propagator.rb +1 -0
  430. data/lib/ddtrace/opentracer/carrier.rb +1 -0
  431. data/lib/ddtrace/opentracer/distributed_headers.rb +4 -0
  432. data/lib/ddtrace/opentracer/global_tracer.rb +1 -0
  433. data/lib/ddtrace/opentracer/propagator.rb +1 -0
  434. data/lib/ddtrace/opentracer/rack_propagator.rb +1 -0
  435. data/lib/ddtrace/opentracer/scope.rb +1 -0
  436. data/lib/ddtrace/opentracer/scope_manager.rb +1 -0
  437. data/lib/ddtrace/opentracer/span.rb +3 -6
  438. data/lib/ddtrace/opentracer/span_context.rb +1 -0
  439. data/lib/ddtrace/opentracer/span_context_factory.rb +1 -0
  440. data/lib/ddtrace/opentracer/text_map_propagator.rb +1 -0
  441. data/lib/ddtrace/opentracer/thread_local_scope.rb +2 -0
  442. data/lib/ddtrace/opentracer/thread_local_scope_manager.rb +1 -0
  443. data/lib/ddtrace/opentracer/tracer.rb +1 -0
  444. data/lib/ddtrace/opentracer.rb +21 -39
  445. data/lib/ddtrace/patcher.rb +28 -6
  446. data/lib/ddtrace/pin.rb +9 -61
  447. data/lib/ddtrace/pipeline/span_filter.rb +2 -1
  448. data/lib/ddtrace/pipeline/span_processor.rb +1 -0
  449. data/lib/ddtrace/pipeline.rb +1 -0
  450. data/lib/ddtrace/profiling/backtrace_location.rb +33 -0
  451. data/lib/ddtrace/profiling/buffer.rb +42 -0
  452. data/lib/ddtrace/profiling/collectors/stack.rb +297 -0
  453. data/lib/ddtrace/profiling/encoding/profile.rb +46 -0
  454. data/lib/ddtrace/profiling/event.rb +14 -0
  455. data/lib/ddtrace/profiling/events/stack.rb +81 -0
  456. data/lib/ddtrace/profiling/exporter.rb +24 -0
  457. data/lib/ddtrace/profiling/ext/forking.rb +98 -0
  458. data/lib/ddtrace/profiling/flush.rb +44 -0
  459. data/lib/ddtrace/profiling/native_extension.rb +40 -0
  460. data/lib/ddtrace/profiling/pprof/builder.rb +126 -0
  461. data/lib/ddtrace/profiling/pprof/converter.rb +103 -0
  462. data/lib/ddtrace/profiling/pprof/message_set.rb +15 -0
  463. data/lib/ddtrace/profiling/pprof/payload.rb +19 -0
  464. data/lib/ddtrace/profiling/pprof/pprof.proto +212 -0
  465. data/lib/ddtrace/profiling/pprof/pprof_pb.rb +82 -0
  466. data/lib/ddtrace/profiling/pprof/stack_sample.rb +140 -0
  467. data/lib/ddtrace/profiling/pprof/string_table.rb +11 -0
  468. data/lib/ddtrace/profiling/pprof/template.rb +119 -0
  469. data/lib/ddtrace/profiling/preload.rb +4 -0
  470. data/lib/ddtrace/profiling/profiler.rb +31 -0
  471. data/lib/ddtrace/profiling/recorder.rb +96 -0
  472. data/lib/ddtrace/profiling/scheduler.rb +150 -0
  473. data/lib/ddtrace/profiling/tasks/setup.rb +90 -0
  474. data/lib/ddtrace/profiling/trace_identifiers/ddtrace.rb +42 -0
  475. data/lib/ddtrace/profiling/trace_identifiers/helper.rb +46 -0
  476. data/lib/ddtrace/profiling/transport/client.rb +15 -0
  477. data/lib/ddtrace/profiling/transport/http/api/endpoint.rb +94 -0
  478. data/lib/ddtrace/profiling/transport/http/api/instance.rb +37 -0
  479. data/lib/ddtrace/profiling/transport/http/api/spec.rb +41 -0
  480. data/lib/ddtrace/profiling/transport/http/api.rb +44 -0
  481. data/lib/ddtrace/profiling/transport/http/builder.rb +29 -0
  482. data/lib/ddtrace/profiling/transport/http/client.rb +34 -0
  483. data/lib/ddtrace/profiling/transport/http/response.rb +22 -0
  484. data/lib/ddtrace/profiling/transport/http.rb +111 -0
  485. data/lib/ddtrace/profiling/transport/io/client.rb +28 -0
  486. data/lib/ddtrace/profiling/transport/io/response.rb +17 -0
  487. data/lib/ddtrace/profiling/transport/io.rb +31 -0
  488. data/lib/ddtrace/profiling/transport/parcel.rb +18 -0
  489. data/lib/ddtrace/profiling/transport/request.rb +16 -0
  490. data/lib/ddtrace/profiling/transport/response.rb +9 -0
  491. data/lib/ddtrace/profiling.rb +149 -0
  492. data/lib/ddtrace/propagation/grpc_propagator.rb +2 -0
  493. data/lib/ddtrace/propagation/http_propagator.rb +18 -2
  494. data/lib/ddtrace/quantization/hash.rb +1 -0
  495. data/lib/ddtrace/quantization/http.rb +4 -0
  496. data/lib/ddtrace/runtime/metrics.rb +35 -14
  497. data/lib/ddtrace/sampler.rb +20 -9
  498. data/lib/ddtrace/sampling/matcher.rb +1 -0
  499. data/lib/ddtrace/sampling/rate_limiter.rb +66 -16
  500. data/lib/ddtrace/sampling/rule.rb +2 -1
  501. data/lib/ddtrace/sampling/rule_sampler.rb +19 -11
  502. data/lib/ddtrace/sampling.rb +1 -0
  503. data/lib/ddtrace/span.rb +27 -14
  504. data/lib/ddtrace/sync_writer.rb +17 -15
  505. data/lib/ddtrace/tasks/exec.rb +47 -0
  506. data/lib/ddtrace/tasks/help.rb +15 -0
  507. data/lib/ddtrace/tracer.rb +61 -50
  508. data/lib/ddtrace/transport/http/adapters/net.rb +41 -11
  509. data/lib/ddtrace/transport/http/adapters/registry.rb +2 -0
  510. data/lib/ddtrace/transport/http/adapters/test.rb +5 -2
  511. data/lib/ddtrace/transport/http/adapters/unix_socket.rb +26 -16
  512. data/lib/ddtrace/transport/http/api/endpoint.rb +1 -0
  513. data/lib/ddtrace/transport/http/api/fallbacks.rb +1 -0
  514. data/lib/ddtrace/transport/http/api/instance.rb +1 -0
  515. data/lib/ddtrace/transport/http/api/map.rb +1 -0
  516. data/lib/ddtrace/transport/http/api/spec.rb +1 -0
  517. data/lib/ddtrace/transport/http/api.rb +1 -0
  518. data/lib/ddtrace/transport/http/builder.rb +21 -7
  519. data/lib/ddtrace/transport/http/client.rb +3 -1
  520. data/lib/ddtrace/transport/http/env.rb +9 -0
  521. data/lib/ddtrace/transport/http/response.rb +1 -0
  522. data/lib/ddtrace/transport/http/statistics.rb +3 -2
  523. data/lib/ddtrace/transport/http/traces.rb +6 -6
  524. data/lib/ddtrace/transport/http.rb +48 -41
  525. data/lib/ddtrace/transport/io/client.rb +17 -9
  526. data/lib/ddtrace/transport/io/response.rb +2 -3
  527. data/lib/ddtrace/transport/io/traces.rb +10 -1
  528. data/lib/ddtrace/transport/io.rb +2 -1
  529. data/lib/ddtrace/transport/parcel.rb +7 -0
  530. data/lib/ddtrace/transport/request.rb +1 -0
  531. data/lib/ddtrace/transport/response.rb +1 -0
  532. data/lib/ddtrace/transport/statistics.rb +1 -0
  533. data/lib/ddtrace/transport/traces.rb +21 -3
  534. data/lib/ddtrace/utils/compression.rb +28 -0
  535. data/lib/ddtrace/utils/database.rb +1 -0
  536. data/lib/ddtrace/utils/forking.rb +53 -0
  537. data/lib/ddtrace/utils/object_set.rb +40 -0
  538. data/lib/ddtrace/utils/only_once.rb +41 -0
  539. data/lib/ddtrace/utils/sequence.rb +18 -0
  540. data/lib/ddtrace/utils/string_table.rb +46 -0
  541. data/lib/ddtrace/utils/time.rb +40 -3
  542. data/lib/ddtrace/utils.rb +23 -12
  543. data/lib/ddtrace/vendor/active_record/MIT-LICENSE +20 -0
  544. data/lib/ddtrace/vendor/active_record/connection_specification.rb +1 -0
  545. data/lib/ddtrace/vendor/multipart-post/LICENSE +11 -0
  546. data/lib/ddtrace/vendor/multipart-post/multipart/post/composite_read_io.rb +117 -0
  547. data/lib/ddtrace/vendor/multipart-post/multipart/post/multipartable.rb +58 -0
  548. data/lib/ddtrace/vendor/multipart-post/multipart/post/parts.rb +136 -0
  549. data/lib/ddtrace/vendor/multipart-post/multipart/post/version.rb +10 -0
  550. data/lib/ddtrace/vendor/multipart-post/multipart/post.rb +9 -0
  551. data/lib/ddtrace/vendor/multipart-post/multipart.rb +13 -0
  552. data/lib/ddtrace/vendor/multipart-post/net/http/post/multipart.rb +33 -0
  553. data/lib/ddtrace/version.rb +16 -3
  554. data/lib/ddtrace/worker.rb +1 -0
  555. data/lib/ddtrace/workers/async.rb +15 -5
  556. data/lib/ddtrace/workers/{loop.rb → interval_loop.rb} +23 -12
  557. data/lib/ddtrace/workers/polling.rb +14 -6
  558. data/lib/ddtrace/workers/queue.rb +3 -1
  559. data/lib/ddtrace/workers/runtime_metrics.rb +22 -4
  560. data/lib/ddtrace/workers/trace_writer.rb +14 -16
  561. data/lib/ddtrace/workers.rb +8 -2
  562. data/lib/ddtrace/writer.rb +33 -8
  563. data/lib/ddtrace.rb +22 -48
  564. metadata +182 -405
  565. data/.circleci/config.yml +0 -548
  566. data/.circleci/images/primary/Dockerfile-2.0.0 +0 -73
  567. data/.circleci/images/primary/Dockerfile-2.1.10 +0 -73
  568. data/.circleci/images/primary/Dockerfile-2.2.10 +0 -73
  569. data/.circleci/images/primary/Dockerfile-2.3.8 +0 -75
  570. data/.circleci/images/primary/Dockerfile-2.4.6 +0 -73
  571. data/.circleci/images/primary/Dockerfile-2.5.6 +0 -73
  572. data/.circleci/images/primary/Dockerfile-2.6.4 +0 -73
  573. data/.circleci/images/primary/Dockerfile-2.7.0 +0 -73
  574. data/.circleci/images/primary/Dockerfile-jruby-9.2 +0 -77
  575. data/.dockerignore +0 -1
  576. data/.env +0 -26
  577. data/.github/CODEOWNERS +0 -1
  578. data/.gitlab-ci.yml +0 -27
  579. data/.rspec +0 -1
  580. data/.rubocop.yml +0 -85
  581. data/.simplecov +0 -38
  582. data/Appraisals +0 -1121
  583. data/Gemfile +0 -7
  584. data/Rakefile +0 -788
  585. data/benchmarks/postgres_database.yml +0 -9
  586. data/benchmarks/sidekiq_test.rb +0 -154
  587. data/docker-compose.yml +0 -370
  588. data/lib/ddtrace/augmentation/method_wrapper.rb +0 -20
  589. data/lib/ddtrace/augmentation/method_wrapping.rb +0 -38
  590. data/lib/ddtrace/augmentation/shim.rb +0 -102
  591. data/lib/ddtrace/augmentation.rb +0 -13
  592. data/lib/ddtrace/environment.rb +0 -41
  593. data/lib/ddtrace/monkey.rb +0 -58
  594. data/lib/ddtrace/runtime/cgroup.rb +0 -44
  595. data/lib/ddtrace/runtime/class_count.rb +0 -17
  596. data/lib/ddtrace/runtime/container.rb +0 -73
  597. data/lib/ddtrace/runtime/gc.rb +0 -16
  598. data/lib/ddtrace/runtime/identity.rb +0 -41
  599. data/lib/ddtrace/runtime/object_space.rb +0 -19
  600. data/lib/ddtrace/runtime/socket.rb +0 -14
  601. data/lib/ddtrace/runtime/thread_count.rb +0 -16
  602. data/tasks/release_gem.rake +0 -28
@@ -1,73 +0,0 @@
1
- # Last version: https://github.com/docker-library/ruby/blob/395cce4eba52917eb9a40c72d50703a1ce9e1acd/2.2/jessie/Dockerfile
2
- FROM ruby:2.2.10
3
-
4
- # Add Jessie repos
5
- # Fixes https://superuser.com/questions/1423486/issue-with-fetching-http-deb-debian-org-debian-dists-jessie-updates-inrelease
6
- RUN printf "deb http://archive.debian.org/debian/ jessie main\ndeb-src http://archive.debian.org/debian/ jessie main\ndeb http://security.debian.org jessie/updates main\ndeb-src http://security.debian.org jessie/updates main" > /etc/apt/sources.list
7
-
8
- # Make apt non-interactive
9
- RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci \
10
- && echo 'DPkg::Options "--force-confnew";' >> /etc/apt/apt.conf.d/90circleci
11
-
12
- ENV DEBIAN_FRONTEND=noninteractive
13
-
14
- # Install required packages
15
- RUN set -ex; \
16
- apt-get update; \
17
- mkdir -p /usr/share/man/man1; \
18
- apt-get install -y --no-install-recommends \
19
- git mercurial xvfb \
20
- locales sudo openssh-client ca-certificates tar gzip parallel \
21
- net-tools netcat unzip zip bzip2 gnupg curl wget \
22
- tzdata rsync vim; \
23
- rm -rf /var/lib/apt/lists/*;
24
-
25
- # Set timezone to UTC by default
26
- RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
27
-
28
- # Set language
29
- RUN locale-gen en_US.UTF-8
30
- ENV LANG en_US.UTF-8
31
- ENV LANGUAGE en_US:en
32
-
33
- # Install jq
34
- RUN JQ_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/jq-latest" \
35
- && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/jq $JQ_URL \
36
- && chmod +x /usr/bin/jq \
37
- && jq --version
38
-
39
- # Install Docker
40
- RUN set -ex \
41
- && export DOCKER_VERSION=$(curl --silent --fail --retry 3 https://download.docker.com/linux/static/stable/x86_64/ | grep -o -e 'docker-[.0-9]*-ce\.tgz' | sort -r | head -n 1) \
42
- && DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/${DOCKER_VERSION}" \
43
- && echo Docker URL: $DOCKER_URL \
44
- && curl --silent --show-error --location --fail --retry 3 --output /tmp/docker.tgz "${DOCKER_URL}" \
45
- && ls -lha /tmp/docker.tgz \
46
- && tar -xz -C /tmp -f /tmp/docker.tgz \
47
- && mv /tmp/docker/* /usr/bin \
48
- && rm -rf /tmp/docker /tmp/docker.tgz \
49
- && which docker \
50
- && (docker version || true)
51
-
52
- # Install Docker Compose
53
- RUN COMPOSE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/docker-compose-latest" \
54
- && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/docker-compose $COMPOSE_URL \
55
- && chmod +x /usr/bin/docker-compose \
56
- && docker-compose version
57
-
58
- # Install Dockerize
59
- RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/dockerize-latest.tar.gz" \
60
- && curl --silent --show-error --location --fail --retry 3 --output /tmp/dockerize-linux-amd64.tar.gz $DOCKERIZE_URL \
61
- && tar -C /usr/local/bin -xzvf /tmp/dockerize-linux-amd64.tar.gz \
62
- && rm -rf /tmp/dockerize-linux-amd64.tar.gz \
63
- && dockerize --version
64
-
65
- # Install RubyGems
66
- RUN gem update --system 2.7.9
67
- RUN gem install bundler -v '1.17.3'
68
- ENV BUNDLE_SILENCE_ROOT_WARNING 1
69
-
70
- RUN mkdir /app
71
- WORKDIR /app
72
-
73
- CMD ["/bin/sh"]
@@ -1,75 +0,0 @@
1
- # Current version: https://github.com/docker-library/ruby/blob/31f66490fdb837ddcc5896e3275f2188f2b7b6dd/2.3/stretch/Dockerfile
2
- FROM ruby:2.3.8
3
-
4
- # Make apt non-interactive
5
- RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci \
6
- && echo 'DPkg::Options "--force-confnew";' >> /etc/apt/apt.conf.d/90circleci
7
-
8
- ENV DEBIAN_FRONTEND=noninteractive
9
-
10
- # Install required packages
11
- RUN set -ex; \
12
- apt-get update; \
13
- mkdir -p /usr/share/man/man1; \
14
- apt-get install -y --no-install-recommends \
15
- git mercurial xvfb \
16
- locales sudo openssh-client ca-certificates tar gzip parallel \
17
- net-tools netcat unzip zip bzip2 gnupg curl wget \
18
- tzdata rsync vim; \
19
- rm -rf /var/lib/apt/lists/*;
20
-
21
- # Set timezone to UTC by default
22
- RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
23
-
24
- # Set language
25
- RUN locale-gen en_US.UTF-8
26
- ENV LANG en_US.UTF-8
27
- ENV LANGUAGE en_US:en
28
-
29
- # Install jq
30
- RUN JQ_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/jq-latest" \
31
- && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/jq $JQ_URL \
32
- && chmod +x /usr/bin/jq \
33
- && jq --version
34
-
35
- # Install Docker
36
- RUN set -ex \
37
- && export DOCKER_VERSION=$(curl --silent --fail --retry 3 https://download.docker.com/linux/static/stable/x86_64/ | grep -o -e 'docker-[.0-9]*-ce\.tgz' | sort -r | head -n 1) \
38
- && DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/${DOCKER_VERSION}" \
39
- && echo Docker URL: $DOCKER_URL \
40
- && curl --silent --show-error --location --fail --retry 3 --output /tmp/docker.tgz "${DOCKER_URL}" \
41
- && ls -lha /tmp/docker.tgz \
42
- && tar -xz -C /tmp -f /tmp/docker.tgz \
43
- && mv /tmp/docker/* /usr/bin \
44
- && rm -rf /tmp/docker /tmp/docker.tgz \
45
- && which docker \
46
- && (docker version || true)
47
-
48
- # Install Docker Compose
49
- RUN COMPOSE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/docker-compose-latest" \
50
- && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/docker-compose $COMPOSE_URL \
51
- && chmod +x /usr/bin/docker-compose \
52
- && docker-compose version
53
-
54
- # Install Dockerize
55
- RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/dockerize-latest.tar.gz" \
56
- && curl --silent --show-error --location --fail --retry 3 --output /tmp/dockerize-linux-amd64.tar.gz $DOCKERIZE_URL \
57
- && tar -C /usr/local/bin -xzvf /tmp/dockerize-linux-amd64.tar.gz \
58
- && rm -rf /tmp/dockerize-linux-amd64.tar.gz \
59
- && dockerize --version
60
-
61
- # Install RubyGems
62
- RUN gem update --system
63
- RUN mkdir -p "$GEM_HOME" && chmod -R 777 "$GEM_HOME"
64
-
65
- # Install RubyGems
66
- RUN gem update --system
67
- # Ruby 2.3 can support Bundler 2+
68
- # But hold back to < 2 for now, because some dependencies require it.
69
- RUN gem install bundler -v '1.17.3'
70
- ENV BUNDLE_SILENCE_ROOT_WARNING 1
71
-
72
- RUN mkdir /app
73
- WORKDIR /app
74
-
75
- CMD ["/bin/sh"]
@@ -1,73 +0,0 @@
1
- # Current version: https://github.com/docker-library/ruby/blob/802421922ef50cfa05c89a3c619992acf4329986/2.4/jessie/Dockerfile
2
- FROM ruby:2.4.6
3
-
4
- # Make apt non-interactive
5
- RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci \
6
- && echo 'DPkg::Options "--force-confnew";' >> /etc/apt/apt.conf.d/90circleci
7
-
8
- ENV DEBIAN_FRONTEND=noninteractive
9
-
10
- # Install required packages
11
- RUN set -ex; \
12
- apt-get update; \
13
- mkdir -p /usr/share/man/man1; \
14
- apt-get install -y --no-install-recommends \
15
- git mercurial xvfb \
16
- locales sudo openssh-client ca-certificates tar gzip parallel \
17
- net-tools netcat unzip zip bzip2 gnupg curl wget \
18
- tzdata rsync vim; \
19
- rm -rf /var/lib/apt/lists/*;
20
-
21
- # Set timezone to UTC by default
22
- RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
23
-
24
- # Set language
25
- RUN locale-gen en_US.UTF-8
26
- ENV LANG en_US.UTF-8
27
- ENV LANGUAGE en_US:en
28
-
29
- # Install jq
30
- RUN JQ_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/jq-latest" \
31
- && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/jq $JQ_URL \
32
- && chmod +x /usr/bin/jq \
33
- && jq --version
34
-
35
- # Install Docker
36
- RUN set -ex \
37
- && export DOCKER_VERSION=$(curl --silent --fail --retry 3 https://download.docker.com/linux/static/stable/x86_64/ | grep -o -e 'docker-[.0-9]*-ce\.tgz' | sort -r | head -n 1) \
38
- && DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/${DOCKER_VERSION}" \
39
- && echo Docker URL: $DOCKER_URL \
40
- && curl --silent --show-error --location --fail --retry 3 --output /tmp/docker.tgz "${DOCKER_URL}" \
41
- && ls -lha /tmp/docker.tgz \
42
- && tar -xz -C /tmp -f /tmp/docker.tgz \
43
- && mv /tmp/docker/* /usr/bin \
44
- && rm -rf /tmp/docker /tmp/docker.tgz \
45
- && which docker \
46
- && (docker version || true)
47
-
48
- # Install Docker Compose
49
- RUN COMPOSE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/docker-compose-latest" \
50
- && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/docker-compose $COMPOSE_URL \
51
- && chmod +x /usr/bin/docker-compose \
52
- && docker-compose version
53
-
54
- # Install Dockerize
55
- RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/dockerize-latest.tar.gz" \
56
- && curl --silent --show-error --location --fail --retry 3 --output /tmp/dockerize-linux-amd64.tar.gz $DOCKERIZE_URL \
57
- && tar -C /usr/local/bin -xzvf /tmp/dockerize-linux-amd64.tar.gz \
58
- && rm -rf /tmp/dockerize-linux-amd64.tar.gz \
59
- && dockerize --version
60
-
61
- # Install RubyGems
62
- RUN gem update --system
63
- RUN mkdir -p "$GEM_HOME" && chmod -R 777 "$GEM_HOME"
64
-
65
- # Install RubyGems
66
- RUN gem update --system
67
- RUN gem install bundler
68
- ENV BUNDLE_SILENCE_ROOT_WARNING 1
69
-
70
- RUN mkdir /app
71
- WORKDIR /app
72
-
73
- CMD ["/bin/sh"]
@@ -1,73 +0,0 @@
1
- # Current version: https://github.com/docker-library/ruby/blob/6a7df7a72b4a3d1b3e06ead303841b3fdaca560e/2.5/buster/Dockerfile
2
- FROM ruby:2.5.6
3
-
4
- # Make apt non-interactive
5
- RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci \
6
- && echo 'DPkg::Options "--force-confnew";' >> /etc/apt/apt.conf.d/90circleci
7
-
8
- ENV DEBIAN_FRONTEND=noninteractive
9
-
10
- # Install required packages
11
- RUN set -ex; \
12
- apt-get update; \
13
- mkdir -p /usr/share/man/man1; \
14
- apt-get install -y --no-install-recommends \
15
- git mercurial xvfb \
16
- locales sudo openssh-client ca-certificates tar gzip parallel \
17
- net-tools netcat unzip zip bzip2 gnupg curl wget \
18
- tzdata rsync vim; \
19
- rm -rf /var/lib/apt/lists/*;
20
-
21
- # Set timezone to UTC by default
22
- RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
23
-
24
- # Set language
25
- RUN locale-gen en_US.UTF-8
26
- ENV LANG en_US.UTF-8
27
- ENV LANGUAGE en_US:en
28
-
29
- # Install jq
30
- RUN JQ_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/jq-latest" \
31
- && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/jq $JQ_URL \
32
- && chmod +x /usr/bin/jq \
33
- && jq --version
34
-
35
- # Install Docker
36
- RUN set -ex \
37
- && export DOCKER_VERSION=$(curl --silent --fail --retry 3 https://download.docker.com/linux/static/stable/x86_64/ | grep -o -e 'docker-[.0-9]*-ce\.tgz' | sort -r | head -n 1) \
38
- && DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/${DOCKER_VERSION}" \
39
- && echo Docker URL: $DOCKER_URL \
40
- && curl --silent --show-error --location --fail --retry 3 --output /tmp/docker.tgz "${DOCKER_URL}" \
41
- && ls -lha /tmp/docker.tgz \
42
- && tar -xz -C /tmp -f /tmp/docker.tgz \
43
- && mv /tmp/docker/* /usr/bin \
44
- && rm -rf /tmp/docker /tmp/docker.tgz \
45
- && which docker \
46
- && (docker version || true)
47
-
48
- # Install Docker Compose
49
- RUN COMPOSE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/docker-compose-latest" \
50
- && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/docker-compose $COMPOSE_URL \
51
- && chmod +x /usr/bin/docker-compose \
52
- && docker-compose version
53
-
54
- # Install Dockerize
55
- RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/dockerize-latest.tar.gz" \
56
- && curl --silent --show-error --location --fail --retry 3 --output /tmp/dockerize-linux-amd64.tar.gz $DOCKERIZE_URL \
57
- && tar -C /usr/local/bin -xzvf /tmp/dockerize-linux-amd64.tar.gz \
58
- && rm -rf /tmp/dockerize-linux-amd64.tar.gz \
59
- && dockerize --version
60
-
61
- # Install RubyGems
62
- RUN gem update --system
63
- RUN mkdir -p "$GEM_HOME" && chmod -R 777 "$GEM_HOME"
64
-
65
- # Install RubyGems
66
- RUN gem update --system
67
- RUN gem install bundler
68
- ENV BUNDLE_SILENCE_ROOT_WARNING 1
69
-
70
- RUN mkdir /app
71
- WORKDIR /app
72
-
73
- CMD ["/bin/sh"]
@@ -1,73 +0,0 @@
1
- # Current version: https://github.com/docker-library/ruby/blob/6a7df7a72b4a3d1b3e06ead303841b3fdaca560e/2.6/buster/Dockerfile
2
- FROM ruby:2.6.4
3
-
4
- # Make apt non-interactive
5
- RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci \
6
- && echo 'DPkg::Options "--force-confnew";' >> /etc/apt/apt.conf.d/90circleci
7
-
8
- ENV DEBIAN_FRONTEND=noninteractive
9
-
10
- # Install required packages
11
- RUN set -ex; \
12
- apt-get update; \
13
- mkdir -p /usr/share/man/man1; \
14
- apt-get install -y --no-install-recommends \
15
- git mercurial xvfb \
16
- locales sudo openssh-client ca-certificates tar gzip parallel \
17
- net-tools netcat unzip zip bzip2 gnupg curl wget \
18
- tzdata rsync vim; \
19
- rm -rf /var/lib/apt/lists/*;
20
-
21
- # Set timezone to UTC by default
22
- RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
23
-
24
- # Set language
25
- RUN locale-gen en_US.UTF-8
26
- ENV LANG en_US.UTF-8
27
- ENV LANGUAGE en_US:en
28
-
29
- # Install jq
30
- RUN JQ_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/jq-latest" \
31
- && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/jq $JQ_URL \
32
- && chmod +x /usr/bin/jq \
33
- && jq --version
34
-
35
- # Install Docker
36
- RUN set -ex \
37
- && export DOCKER_VERSION=$(curl --silent --fail --retry 3 https://download.docker.com/linux/static/stable/x86_64/ | grep -o -e 'docker-[.0-9]*-ce\.tgz' | sort -r | head -n 1) \
38
- && DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/${DOCKER_VERSION}" \
39
- && echo Docker URL: $DOCKER_URL \
40
- && curl --silent --show-error --location --fail --retry 3 --output /tmp/docker.tgz "${DOCKER_URL}" \
41
- && ls -lha /tmp/docker.tgz \
42
- && tar -xz -C /tmp -f /tmp/docker.tgz \
43
- && mv /tmp/docker/* /usr/bin \
44
- && rm -rf /tmp/docker /tmp/docker.tgz \
45
- && which docker \
46
- && (docker version || true)
47
-
48
- # Install Docker Compose
49
- RUN COMPOSE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/docker-compose-latest" \
50
- && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/docker-compose $COMPOSE_URL \
51
- && chmod +x /usr/bin/docker-compose \
52
- && docker-compose version
53
-
54
- # Install Dockerize
55
- RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/dockerize-latest.tar.gz" \
56
- && curl --silent --show-error --location --fail --retry 3 --output /tmp/dockerize-linux-amd64.tar.gz $DOCKERIZE_URL \
57
- && tar -C /usr/local/bin -xzvf /tmp/dockerize-linux-amd64.tar.gz \
58
- && rm -rf /tmp/dockerize-linux-amd64.tar.gz \
59
- && dockerize --version
60
-
61
- # Install RubyGems
62
- RUN gem update --system
63
- RUN mkdir -p "$GEM_HOME" && chmod -R 777 "$GEM_HOME"
64
-
65
- # Install RubyGems
66
- RUN gem update --system
67
- RUN gem install bundler
68
- ENV BUNDLE_SILENCE_ROOT_WARNING 1
69
-
70
- RUN mkdir /app
71
- WORKDIR /app
72
-
73
- CMD ["/bin/sh"]
@@ -1,73 +0,0 @@
1
- # Current version: https://github.com/docker-library/ruby/blob/defb10adcd6dd2178be3cd9c884fd035b52d42fb/2.7/buster/Dockerfile
2
- FROM ruby:2.7.0
3
-
4
- # Make apt non-interactive
5
- RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci \
6
- && echo 'DPkg::Options "--force-confnew";' >> /etc/apt/apt.conf.d/90circleci
7
-
8
- ENV DEBIAN_FRONTEND=noninteractive
9
-
10
- # Install required packages
11
- RUN set -ex; \
12
- apt-get update; \
13
- mkdir -p /usr/share/man/man1; \
14
- apt-get install -y --no-install-recommends \
15
- git mercurial xvfb \
16
- locales sudo openssh-client ca-certificates tar gzip parallel \
17
- net-tools netcat unzip zip bzip2 gnupg curl wget \
18
- tzdata rsync vim; \
19
- rm -rf /var/lib/apt/lists/*;
20
-
21
- # Set timezone to UTC by default
22
- RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
23
-
24
- # Set language
25
- RUN locale-gen en_US.UTF-8
26
- ENV LANG en_US.UTF-8
27
- ENV LANGUAGE en_US:en
28
-
29
- # Install jq
30
- RUN JQ_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/jq-latest" \
31
- && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/jq $JQ_URL \
32
- && chmod +x /usr/bin/jq \
33
- && jq --version
34
-
35
- # Install Docker
36
- RUN set -ex \
37
- && export DOCKER_VERSION=$(curl --silent --fail --retry 3 https://download.docker.com/linux/static/stable/x86_64/ | grep -o -e 'docker-[.0-9]*-ce\.tgz' | sort -r | head -n 1) \
38
- && DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/${DOCKER_VERSION}" \
39
- && echo Docker URL: $DOCKER_URL \
40
- && curl --silent --show-error --location --fail --retry 3 --output /tmp/docker.tgz "${DOCKER_URL}" \
41
- && ls -lha /tmp/docker.tgz \
42
- && tar -xz -C /tmp -f /tmp/docker.tgz \
43
- && mv /tmp/docker/* /usr/bin \
44
- && rm -rf /tmp/docker /tmp/docker.tgz \
45
- && which docker \
46
- && (docker version || true)
47
-
48
- # Install Docker Compose
49
- RUN COMPOSE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/docker-compose-latest" \
50
- && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/docker-compose $COMPOSE_URL \
51
- && chmod +x /usr/bin/docker-compose \
52
- && docker-compose version
53
-
54
- # Install Dockerize
55
- RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/dockerize-latest.tar.gz" \
56
- && curl --silent --show-error --location --fail --retry 3 --output /tmp/dockerize-linux-amd64.tar.gz $DOCKERIZE_URL \
57
- && tar -C /usr/local/bin -xzvf /tmp/dockerize-linux-amd64.tar.gz \
58
- && rm -rf /tmp/dockerize-linux-amd64.tar.gz \
59
- && dockerize --version
60
-
61
- # Install RubyGems
62
- # RUN gem update --system # Upgrading disabled until https://github.com/thoughtbot/appraisal/issues/162 is fixed
63
- RUN mkdir -p "$GEM_HOME" && chmod -R 777 "$GEM_HOME"
64
-
65
- # Upgrade RubyGems and Bundler # Upgrading disabled until https://github.com/thoughtbot/appraisal/issues/162 is fixed
66
- # RUN gem update --system
67
- # RUN gem install bundler
68
- ENV BUNDLE_SILENCE_ROOT_WARNING 1
69
-
70
- RUN mkdir /app
71
- WORKDIR /app
72
-
73
- CMD ["/bin/sh"]
@@ -1,77 +0,0 @@
1
- # Current version: https://github.com/cpuguy83/docker-jruby/blob/db08637839406420a254a9c825d94994cded5021/9000/jre/Dockerfile
2
- FROM jruby:9.2.11.1
3
-
4
- # Make apt non-interactive
5
- RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci \
6
- && echo 'DPkg::Options "--force-confnew";' >> /etc/apt/apt.conf.d/90circleci
7
-
8
- ENV DEBIAN_FRONTEND=noninteractive
9
-
10
- # Install required packages
11
- RUN set -ex; \
12
- apt-get update; \
13
- mkdir -p /usr/share/man/man1; \
14
- apt-get install -y --no-install-recommends \
15
- git mercurial xvfb \
16
- locales sudo openssh-client ca-certificates tar gzip parallel \
17
- net-tools netcat unzip zip bzip2 gnupg curl wget \
18
- tzdata rsync vim \
19
- build-essential; \
20
- rm -rf /var/lib/apt/lists/*;
21
-
22
- # Set timezone to UTC by default
23
- RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
24
-
25
- # Set language
26
- RUN locale-gen en_US.UTF-8
27
- ENV LANG en_US.UTF-8
28
- ENV LANGUAGE en_US:en
29
-
30
- # Install jq
31
- RUN JQ_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/jq-latest" \
32
- && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/jq $JQ_URL \
33
- && chmod +x /usr/bin/jq \
34
- && jq --version
35
-
36
- # Install Docker
37
- RUN set -ex \
38
- && export DOCKER_VERSION=$(curl --silent --fail --retry 3 https://download.docker.com/linux/static/stable/x86_64/ | grep -o -e 'docker-[.0-9]*-ce\.tgz' | sort -r | head -n 1) \
39
- && DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/${DOCKER_VERSION}" \
40
- && echo Docker URL: $DOCKER_URL \
41
- && curl --silent --show-error --location --fail --retry 3 --output /tmp/docker.tgz "${DOCKER_URL}" \
42
- && ls -lha /tmp/docker.tgz \
43
- && tar -xz -C /tmp -f /tmp/docker.tgz \
44
- && mv /tmp/docker/* /usr/bin \
45
- && rm -rf /tmp/docker /tmp/docker.tgz \
46
- && which docker \
47
- && (docker version || true)
48
-
49
- # Install Docker Compose
50
- RUN COMPOSE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/docker-compose-latest" \
51
- && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/docker-compose $COMPOSE_URL \
52
- && chmod +x /usr/bin/docker-compose \
53
- && docker-compose version
54
-
55
- # Install Dockerize
56
- RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/dockerize-latest.tar.gz" \
57
- && curl --silent --show-error --location --fail --retry 3 --output /tmp/dockerize-linux-amd64.tar.gz $DOCKERIZE_URL \
58
- && tar -C /usr/local/bin -xzvf /tmp/dockerize-linux-amd64.tar.gz \
59
- && rm -rf /tmp/dockerize-linux-amd64.tar.gz \
60
- && dockerize --version
61
-
62
- # Install RubyGems
63
- RUN gem update --system
64
- RUN mkdir -p "$GEM_HOME" && chmod -R 777 "$GEM_HOME"
65
-
66
- # Upgrade RubyGems and Bundler
67
- RUN gem uninstall -i /opt/jruby/lib/ruby/gems/shared bundler -v 2.1.4 # Remove when https://github.com/thoughtbot/appraisal/issues/162 is fixed
68
- RUN gem install bundler -v 2.1.2 # Remove when https://github.com/thoughtbot/appraisal/issues/162 is fixed
69
- ENV BUNDLE_SILENCE_ROOT_WARNING 1
70
-
71
- # Ensure JRuby is available when running "bash --login"
72
- RUN echo "export PATH=/opt/jruby/bin:$BUNDLE_BIN:\$PATH" >> ~/.profile
73
-
74
- RUN mkdir /app
75
- WORKDIR /app
76
-
77
- CMD ["bin", "bash", "--login"]
data/.dockerignore DELETED
@@ -1 +0,0 @@
1
- gemfiles/*
data/.env DELETED
@@ -1,26 +0,0 @@
1
- DD_AGENT_HOST=localhost
2
- DD_METRIC_AGENT_PORT=8125
3
- DD_TRACE_AGENT_PORT=8126
4
- TEST_DDAGENT_API_KEY=invalid_key_but_this_is_fine
5
- TEST_ELASTICSEARCH_HOST=127.0.0.1
6
- TEST_ELASTICSEARCH_NATIVE_PORT=9300
7
- TEST_ELASTICSEARCH_REST_PORT=9200
8
- TEST_MEMCACHED_HOST=127.0.0.1
9
- TEST_MEMCACHED_PORT=11211
10
- TEST_MONGODB_HOST=127.0.0.1
11
- TEST_MONGODB_PORT=27017
12
- TEST_MYSQL_DB=mysql
13
- TEST_MYSQL_HOST=127.0.0.1
14
- TEST_MYSQL_PASSWORD=mysql
15
- TEST_MYSQL_PORT=3306
16
- TEST_MYSQL_ROOT_PASSWORD=root
17
- TEST_MYSQL_USER=mysql
18
- TEST_POSTGRES_DB=postgres
19
- TEST_POSTGRES_HOST=127.0.0.1
20
- TEST_POSTGRES_PASSWORD=postgres
21
- TEST_POSTGRES_PORT=5432
22
- TEST_POSTGRES_USER=postgres
23
- TEST_PRESTO_HOST=localhost
24
- TEST_PRESTO_PORT=8080
25
- TEST_REDIS_HOST=127.0.0.1
26
- TEST_REDIS_PORT=6379
data/.github/CODEOWNERS DELETED
@@ -1 +0,0 @@
1
- * @DataDog/apm-ruby
data/.gitlab-ci.yml DELETED
@@ -1,27 +0,0 @@
1
- stages:
2
- - deploy
3
-
4
- variables:
5
- INDEX_FILE: index.txt
6
-
7
- .common: &common
8
- tags: [ "runner:main", "size:large" ]
9
-
10
- copy_to_s3:
11
- <<: *common
12
- stage: deploy
13
- image: registry.gitlab.com/gitlab-org/cloud-deploy/aws-base:latest
14
- rules:
15
- - if: '$CI_COMMIT_BRANCH == "master"'
16
- when: on_success
17
- - when: manual
18
- allow_failure: true
19
- script:
20
- - export ACCESS_KEY_ID=$(aws ssm get-parameter --region us-east-1 --name ci.dd-trace-rb.secret_key_id --with-decryption --query "Parameter.Value" --out text)
21
- - export SECRET_ACCESS_KEY=$(aws ssm get-parameter --region us-east-1 --name ci.dd-trace-rb.secret_sec_key_id --with-decryption --query "Parameter.Value" --out text)
22
- - export AWS_ACCESS_KEY_ID=$ACCESS_KEY_ID
23
- - export AWS_SECRET_ACCESS_KEY=$SECRET_ACCESS_KEY
24
- - echo $CI_COMMIT_REF_NAME >> $INDEX_FILE
25
- - echo $CI_COMMIT_SHA >> $INDEX_FILE
26
- - echo $GITLAB_USER_NAME >> $INDEX_FILE
27
- - aws s3 cp $INDEX_FILE s3://datadog-reliability-env/ruby/$INDEX_FILE
data/.rspec DELETED
@@ -1 +0,0 @@
1
- --require spec_helper
data/.rubocop.yml DELETED
@@ -1,85 +0,0 @@
1
- AllCops:
2
- TargetRubyVersion: 2.1
3
- Include:
4
- - 'lib/**/*.rb'
5
- - 'test/**/*.rb'
6
- - 'spec/**/*.rb'
7
- - 'Gemfile'
8
- - 'Rakefile'
9
- Exclude:
10
- - 'Appraisals'
11
- - '*.gemspec'
12
- - 'lib/ddtrace/vendor/**/*.rb'
13
-
14
- # 80 characters is a nice goal, but not worth currently changing in existing
15
- # code for the sake of changing it to conform to a length set in 1928 (IBM).
16
- Metrics/LineLength:
17
- Max: 124
18
-
19
- # These exceptions are good goals to attain, and probably will over time,
20
- # so periodic disabling and re-running to inspect values is suggested.
21
-
22
- Metrics/AbcSize:
23
- Max: 50
24
-
25
- # TODO: As refactors continue, this should drop. However, the goal of
26
- # 10 lines in a method may be a little lofty.
27
- Metrics/MethodLength:
28
- Max: 36
29
-
30
- Performance/Casecmp:
31
- Enabled: false
32
-
33
- # TODO: this is not compliant with the Ruby community style guide. We
34
- # should enable again this rule but it will change the public API because
35
- # we're using set_ methods. We should work on that because also Rails
36
- # honors this rule.
37
- Style/AccessorMethodName:
38
- Enabled: false
39
-
40
- Style/MethodCallWithoutArgsParentheses:
41
- Enabled: false
42
-
43
- Style/RescueModifier:
44
- Enabled: false
45
-
46
- Style/NumericLiterals:
47
- Enabled: false
48
-
49
- Metrics/ClassLength:
50
- Max: 140
51
-
52
- Metrics/BlockLength:
53
- Max: 42
54
- Exclude:
55
- - test/**/*
56
- - spec/**/*
57
-
58
- Metrics/ParameterLists:
59
- Enabled: false
60
-
61
- Metrics/CyclomaticComplexity:
62
- Max: 15
63
-
64
- Metrics/PerceivedComplexity:
65
- Max: 15
66
-
67
- Lint/UnusedMethodArgument:
68
- Enabled: false
69
-
70
- # alias and alias_method are not equivalent
71
- Style/Alias:
72
- Enabled: false
73
-
74
- # Disabling advices that would lead to incompatible Ruby 1.9 code
75
- Style/SymbolArray:
76
- Enabled: false
77
-
78
- # Simple conditionals are perfectly fine, and more readable for multiline
79
- # expressions.
80
- Style/GuardClause:
81
- Enabled: false
82
-
83
- # Case equality is not intrinsically problematic.
84
- Style/CaseEquality:
85
- Enabled: false