instana 1.11.6 → 1.209.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (274) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +263 -0
  3. data/.editorconfig +10 -0
  4. data/.github/ISSUE_TEMPLATE/bug.yml +39 -0
  5. data/.github/ISSUE_TEMPLATE/config.yml +5 -0
  6. data/.gitignore +3 -0
  7. data/.rubocop.yml +14 -1136
  8. data/.rubocop_todo.yml +1140 -0
  9. data/Appraisals +124 -0
  10. data/Gemfile +14 -32
  11. data/LICENSE +2 -1
  12. data/README.md +2 -6
  13. data/Rakefile +18 -49
  14. data/bin/console +8 -4
  15. data/docker-compose.yml +20 -0
  16. data/examples/opentracing.rb +4 -0
  17. data/examples/tracing.rb +4 -0
  18. data/extras/license_header.rb +44 -0
  19. data/gemfiles/.bundle/config +1 -2
  20. data/gemfiles/aws_30.gemfile +22 -0
  21. data/gemfiles/cuba_30.gemfile +18 -0
  22. data/gemfiles/dalli_20.gemfile +18 -0
  23. data/gemfiles/excon_02.gemfile +18 -0
  24. data/gemfiles/excon_021.gemfile +18 -0
  25. data/gemfiles/excon_079.gemfile +18 -0
  26. data/gemfiles/graphql_10.gemfile +18 -0
  27. data/gemfiles/grpc_10.gemfile +18 -0
  28. data/gemfiles/mongo_216.gemfile +18 -0
  29. data/gemfiles/net_http_01.gemfile +17 -0
  30. data/gemfiles/rack_16.gemfile +18 -0
  31. data/gemfiles/rack_20.gemfile +18 -0
  32. data/gemfiles/rails_42.gemfile +21 -0
  33. data/gemfiles/rails_50.gemfile +21 -0
  34. data/gemfiles/rails_52.gemfile +21 -0
  35. data/gemfiles/rails_60.gemfile +21 -0
  36. data/gemfiles/redis_40.gemfile +18 -0
  37. data/gemfiles/resque_122.gemfile +19 -0
  38. data/gemfiles/resque_20.gemfile +18 -0
  39. data/gemfiles/rest_client_16.gemfile +18 -0
  40. data/gemfiles/rest_client_20.gemfile +18 -0
  41. data/gemfiles/roda_20.gemfile +18 -0
  42. data/gemfiles/roda_30.gemfile +18 -0
  43. data/gemfiles/shoryuken_50.gemfile +19 -0
  44. data/gemfiles/sidekiq_42.gemfile +18 -0
  45. data/gemfiles/sidekiq_50.gemfile +18 -0
  46. data/gemfiles/sinatra_14.gemfile +18 -0
  47. data/instana.gemspec +8 -14
  48. data/lib/instana/activator.rb +58 -0
  49. data/lib/instana/activators/action_cable.rb +24 -0
  50. data/lib/instana/activators/action_controller_api.rb +21 -0
  51. data/lib/instana/activators/action_controller_base.rb +21 -0
  52. data/lib/instana/activators/action_mailer.rb +22 -0
  53. data/lib/instana/activators/action_view.rb +21 -0
  54. data/lib/instana/activators/active_job.rb +21 -0
  55. data/lib/instana/activators/active_record.rb +21 -0
  56. data/lib/instana/activators/aws_sdk_dynamodb.rb +20 -0
  57. data/lib/instana/activators/aws_sdk_lambda.rb +20 -0
  58. data/lib/instana/activators/aws_sdk_s3.rb +20 -0
  59. data/lib/instana/activators/aws_sdk_sns.rb +20 -0
  60. data/lib/instana/activators/aws_sdk_sqs.rb +20 -0
  61. data/lib/instana/activators/cuba.rb +21 -0
  62. data/lib/instana/activators/dalli.rb +23 -0
  63. data/lib/instana/activators/excon.rb +20 -0
  64. data/lib/instana/activators/graphql.rb +22 -0
  65. data/lib/instana/activators/grpc_client.rb +20 -0
  66. data/lib/instana/activators/grpc_server.rb +20 -0
  67. data/lib/instana/activators/mongo.rb +23 -0
  68. data/lib/instana/activators/net_http.rb +20 -0
  69. data/lib/instana/activators/rack.rb +16 -0
  70. data/lib/instana/activators/rails.rb +18 -0
  71. data/lib/instana/activators/redis.rb +20 -0
  72. data/lib/instana/activators/resque_client.rb +21 -0
  73. data/lib/instana/activators/resque_worker.rb +32 -0
  74. data/lib/instana/activators/rest_client.rb +20 -0
  75. data/lib/instana/activators/roda.rb +21 -0
  76. data/lib/instana/activators/shoryuken.rb +24 -0
  77. data/lib/instana/activators/sidekiq_client.rb +24 -0
  78. data/lib/instana/activators/sidekiq_worker.rb +24 -0
  79. data/lib/instana/activators/sinatra.rb +21 -0
  80. data/lib/instana/backend/agent.rb +68 -0
  81. data/lib/instana/backend/gc_snapshot.rb +41 -0
  82. data/lib/instana/backend/host_agent.rb +83 -0
  83. data/lib/instana/backend/host_agent_activation_observer.rb +99 -0
  84. data/lib/instana/backend/host_agent_lookup.rb +57 -0
  85. data/lib/instana/backend/host_agent_reporting_observer.rb +129 -0
  86. data/lib/instana/backend/process_info.rb +72 -0
  87. data/lib/instana/backend/request_client.rb +74 -0
  88. data/lib/instana/backend/serverless_agent.rb +116 -0
  89. data/lib/instana/base.rb +15 -29
  90. data/lib/instana/config.rb +31 -23
  91. data/lib/instana/frameworks/cuba.rb +32 -3
  92. data/lib/instana/frameworks/rails.rb +22 -32
  93. data/lib/instana/frameworks/roda.rb +41 -3
  94. data/lib/instana/frameworks/sinatra.rb +16 -3
  95. data/lib/instana/instrumentation/action_cable.rb +53 -0
  96. data/lib/instana/instrumentation/action_controller.rb +84 -0
  97. data/lib/instana/instrumentation/action_mailer.rb +22 -0
  98. data/lib/instana/instrumentation/action_view.rb +30 -0
  99. data/lib/instana/instrumentation/active_job.rb +52 -0
  100. data/lib/instana/instrumentation/active_record.rb +50 -0
  101. data/lib/instana/instrumentation/aws_sdk_dynamodb.rb +48 -0
  102. data/lib/instana/instrumentation/aws_sdk_lambda.rb +37 -0
  103. data/lib/instana/instrumentation/aws_sdk_s3.rb +55 -0
  104. data/lib/instana/instrumentation/aws_sdk_sns.rb +29 -0
  105. data/lib/instana/instrumentation/aws_sdk_sqs.rb +98 -0
  106. data/lib/instana/instrumentation/dalli.rb +10 -18
  107. data/lib/instana/instrumentation/excon.rb +73 -61
  108. data/lib/instana/instrumentation/graphql.rb +78 -0
  109. data/lib/instana/instrumentation/grpc.rb +73 -66
  110. data/lib/instana/instrumentation/instrumented_request.rb +190 -0
  111. data/lib/instana/instrumentation/mongo.rb +46 -0
  112. data/lib/instana/instrumentation/net-http.rb +54 -44
  113. data/lib/instana/instrumentation/rack.rb +57 -48
  114. data/lib/instana/instrumentation/redis.rb +13 -18
  115. data/lib/instana/instrumentation/resque.rb +28 -51
  116. data/lib/instana/instrumentation/rest-client.rb +5 -17
  117. data/lib/instana/instrumentation/shoryuken.rb +44 -0
  118. data/lib/instana/instrumentation/sidekiq-client.rb +4 -10
  119. data/lib/instana/instrumentation/sidekiq-worker.rb +4 -10
  120. data/lib/instana/instrumented_logger.rb +26 -0
  121. data/lib/instana/logger_delegator.rb +31 -0
  122. data/lib/instana/open_tracing/carrier.rb +7 -0
  123. data/lib/instana/open_tracing/instana_tracer.rb +99 -0
  124. data/lib/instana/rack.rb +4 -0
  125. data/lib/instana/secrets.rb +59 -0
  126. data/lib/instana/serverless.rb +160 -0
  127. data/lib/instana/setup.rb +36 -12
  128. data/lib/instana/snapshot/deltable.rb +25 -0
  129. data/lib/instana/snapshot/docker_container.rb +151 -0
  130. data/lib/instana/snapshot/fargate_container.rb +88 -0
  131. data/lib/instana/snapshot/fargate_process.rb +67 -0
  132. data/lib/instana/snapshot/fargate_task.rb +72 -0
  133. data/lib/instana/snapshot/google_cloud_run_instance.rb +69 -0
  134. data/lib/instana/snapshot/google_cloud_run_process.rb +58 -0
  135. data/lib/instana/snapshot/lambda_function.rb +39 -0
  136. data/lib/instana/snapshot/ruby_process.rb +48 -0
  137. data/lib/instana/tracer.rb +42 -148
  138. data/lib/instana/tracing/processor.rb +48 -21
  139. data/lib/instana/tracing/span.rb +70 -61
  140. data/lib/instana/tracing/span_context.rb +34 -2
  141. data/lib/instana/util.rb +25 -137
  142. data/lib/instana/version.rb +4 -1
  143. data/lib/instana.rb +12 -2
  144. data/lib/opentracing.rb +29 -3
  145. data/sonar-project.properties +9 -0
  146. data/test/activator_test.rb +30 -0
  147. data/test/backend/agent_test.rb +80 -0
  148. data/test/backend/gc_snapshot_test.rb +11 -0
  149. data/test/backend/host_agent_activation_observer_test.rb +73 -0
  150. data/test/backend/host_agent_lookup_test.rb +78 -0
  151. data/test/backend/host_agent_reporting_observer_test.rb +274 -0
  152. data/test/backend/host_agent_test.rb +57 -0
  153. data/test/backend/process_info_test.rb +83 -0
  154. data/test/backend/request_client_test.rb +39 -0
  155. data/test/backend/serverless_agent_test.rb +83 -0
  156. data/test/benchmarks/bench_id_generation.rb +3 -0
  157. data/test/benchmarks/bench_opentracing.rb +3 -0
  158. data/test/config_test.rb +11 -14
  159. data/test/frameworks/cuba_test.rb +44 -30
  160. data/test/frameworks/roda_test.rb +46 -30
  161. data/test/frameworks/sinatra_test.rb +52 -30
  162. data/test/instana_test.rb +14 -4
  163. data/test/instrumentation/aws_test.rb +196 -0
  164. data/test/instrumentation/dalli_test.rb +3 -0
  165. data/test/instrumentation/excon_test.rb +20 -3
  166. data/test/instrumentation/graphql_test.rb +119 -0
  167. data/test/instrumentation/grpc_test.rb +6 -2
  168. data/test/instrumentation/mongo_test.rb +37 -0
  169. data/test/instrumentation/{net-http_test.rb → net_http_test.rb} +40 -0
  170. data/test/instrumentation/rack_instrumented_request_test.rb +151 -0
  171. data/test/instrumentation/rack_test.rb +404 -0
  172. data/test/instrumentation/rails_action_cable_test.rb +131 -0
  173. data/test/{frameworks/rails/actioncontroller_test.rb → instrumentation/rails_action_controller_test.rb} +48 -17
  174. data/test/instrumentation/rails_action_mailer_test.rb +37 -0
  175. data/test/instrumentation/rails_action_view_test.rb +151 -0
  176. data/test/instrumentation/rails_active_job_test.rb +65 -0
  177. data/test/instrumentation/rails_active_record_database_missing_test.rb +43 -0
  178. data/test/instrumentation/rails_active_record_test.rb +115 -0
  179. data/test/instrumentation/redis_test.rb +13 -0
  180. data/test/instrumentation/resque_test.rb +63 -17
  181. data/test/instrumentation/{rest-client_test.rb → rest_client_test.rb} +9 -0
  182. data/test/instrumentation/shoryuken_test.rb +47 -0
  183. data/test/instrumentation/sidekiq-client_test.rb +4 -0
  184. data/test/instrumentation/sidekiq-worker_test.rb +4 -0
  185. data/test/secrets_test.rb +112 -0
  186. data/test/serverless_test.rb +369 -0
  187. data/test/snapshot/deltable_test.rb +17 -0
  188. data/test/snapshot/docker_container_test.rb +82 -0
  189. data/test/snapshot/fargate_container_test.rb +82 -0
  190. data/test/snapshot/fargate_process_test.rb +35 -0
  191. data/test/snapshot/fargate_task_test.rb +49 -0
  192. data/test/snapshot/google_cloud_run_instance_test.rb +74 -0
  193. data/test/snapshot/google_cloud_run_process_test.rb +33 -0
  194. data/test/snapshot/lambda_function_test.rb +37 -0
  195. data/test/snapshot/ruby_process_test.rb +14 -0
  196. data/test/support/apps/active_record/active_record.rb +24 -0
  197. data/test/{servers/grpc_50051.rb → support/apps/grpc/boot.rb} +4 -1
  198. data/test/{apps → support/apps/grpc}/grpc_server.rb +3 -0
  199. data/test/{servers/rackapp_6511.rb → support/apps/http_endpoint/boot.rb} +3 -0
  200. data/test/{servers/rails_3205.rb → support/apps/rails/boot.rb} +10 -13
  201. data/test/{models → support/apps/rails/models}/block.rb +4 -1
  202. data/test/{models → support/apps/rails/models}/block6.rb +3 -0
  203. data/test/support/apps/resque/boot.rb +5 -0
  204. data/test/{jobs → support/apps/resque/jobs}/resque_error_job.rb +3 -3
  205. data/test/{jobs → support/apps/resque/jobs}/resque_fast_job.rb +6 -3
  206. data/test/support/apps/sidekiq/boot.rb +25 -0
  207. data/test/{jobs → support/apps/sidekiq/jobs}/sidekiq_job_1.rb +3 -0
  208. data/test/{jobs → support/apps/sidekiq/jobs}/sidekiq_job_2.rb +3 -0
  209. data/test/{servers → support/apps}/sidekiq/worker.rb +5 -2
  210. data/test/support/helpers.rb +97 -0
  211. data/test/support/mock_timer.rb +20 -0
  212. data/test/test_helper.rb +49 -145
  213. data/test/tracing/custom_test.rb +4 -4
  214. data/test/tracing/id_management_test.rb +13 -63
  215. data/test/tracing/instrumented_logger_test.rb +39 -0
  216. data/test/tracing/opentracing_test.rb +21 -5
  217. data/test/tracing/processor_test.rb +58 -0
  218. data/test/tracing/span_context_test.rb +22 -0
  219. data/test/tracing/span_test.rb +165 -0
  220. data/test/tracing/tracer_async_test.rb +32 -0
  221. data/test/tracing/tracer_test.rb +113 -14
  222. data/test/util_test.rb +10 -0
  223. metadata +249 -160
  224. data/.travis.yml +0 -43
  225. data/Dockerfile +0 -16
  226. data/benchmarks/10k-rack-traces.rb +0 -92
  227. data/benchmarks/Gemfile +0 -7
  228. data/benchmarks/Gemfile.lock +0 -38
  229. data/benchmarks/id_generation.rb +0 -12
  230. data/benchmarks/opentracing.rb +0 -26
  231. data/benchmarks/rack_vanilla_vs_traced.rb +0 -85
  232. data/benchmarks/stackprof_rack_tracing.rb +0 -77
  233. data/benchmarks/time_processing.rb +0 -12
  234. data/gemfiles/libraries.gemfile +0 -71
  235. data/gemfiles/rails32.gemfile +0 -51
  236. data/gemfiles/rails42.gemfile +0 -50
  237. data/gemfiles/rails50.gemfile +0 -52
  238. data/gemfiles/rails52.gemfile +0 -52
  239. data/gemfiles/rails60.gemfile +0 -72
  240. data/lib/instana/agent/helpers.rb +0 -84
  241. data/lib/instana/agent/hooks.rb +0 -41
  242. data/lib/instana/agent/tasks.rb +0 -48
  243. data/lib/instana/agent.rb +0 -499
  244. data/lib/instana/collector.rb +0 -116
  245. data/lib/instana/collectors/gc.rb +0 -57
  246. data/lib/instana/collectors/memory.rb +0 -34
  247. data/lib/instana/collectors/thread.rb +0 -30
  248. data/lib/instana/eum/eum-test.js.erb +0 -17
  249. data/lib/instana/eum/eum.js.erb +0 -17
  250. data/lib/instana/frameworks/instrumentation/abstract_mysql_adapter.rb +0 -58
  251. data/lib/instana/frameworks/instrumentation/action_controller.rb +0 -183
  252. data/lib/instana/frameworks/instrumentation/action_view.rb +0 -43
  253. data/lib/instana/frameworks/instrumentation/active_record.rb +0 -27
  254. data/lib/instana/frameworks/instrumentation/mysql2_adapter.rb +0 -81
  255. data/lib/instana/frameworks/instrumentation/mysql_adapter.rb +0 -56
  256. data/lib/instana/frameworks/instrumentation/postgresql_adapter.rb +0 -85
  257. data/lib/instana/helpers.rb +0 -44
  258. data/lib/instana/instrumentation.rb +0 -25
  259. data/lib/instana/opentracing/carrier.rb +0 -4
  260. data/lib/instana/opentracing/tracer.rb +0 -18
  261. data/lib/instana/test.rb +0 -42
  262. data/lib/instana/thread_local.rb +0 -15
  263. data/lib/oj_check.rb +0 -16
  264. data/test/agent/agent_test.rb +0 -148
  265. data/test/apps/cuba.rb +0 -15
  266. data/test/apps/roda.rb +0 -10
  267. data/test/apps/sinatra.rb +0 -5
  268. data/test/frameworks/rack_test.rb +0 -200
  269. data/test/frameworks/rails/actionview3_test.rb +0 -210
  270. data/test/frameworks/rails/actionview4_test.rb +0 -208
  271. data/test/frameworks/rails/actionview5_test.rb +0 -221
  272. data/test/frameworks/rails/activerecord_test.rb +0 -227
  273. data/test/servers/helpers/sidekiq_worker_initializer.rb +0 -27
  274. data/test/tracing/trace_test.rb +0 -67
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9d171f2b3b043b7b18a534a9609b47098521a9de99755d347e3c338fb0d1adfa
4
- data.tar.gz: 12d93179facc0038eb94b8233386cb7b8a0849d9cdf0f9a9f2ef66cbb9ed029d
3
+ metadata.gz: e62881ca493d4515cd39055d633464d33c1cd3e1b8921fcd63861bdfa4ebc258
4
+ data.tar.gz: fe6c75eef3bb9905c576fd50b47e7b67141b3d8c13ef9b225a801a353c87908a
5
5
  SHA512:
6
- metadata.gz: 05a5f54ed77c162a58ed331632398abe0777821ad0360978d88caf39cb8748dc91203696ac25120b048c0771e336bcb841e01e1539aa45de761efe8c99ec1847
7
- data.tar.gz: 2b966772f1435202a9077a451e85ddcc3a598b2835cfdd1fd7b395685863b5d0bf11920ad1302f845663a6efce62e87b13574b8a3fa3f8673de0122414ef3790
6
+ metadata.gz: 355994cc5dd31bf028a775dde54d49dcb62c6e83818747ace59fe8038d5b51438cb03b09973845e40ba53b8ca6a73c1a1c281a99cf3c22afab1209d1cb58db00
7
+ data.tar.gz: aa834ff80928730a5b267ebe840d6bc98a2ef41b240064f69301ef45def873a2271057e1a3d4d280b57a760294acb84ddc9b1f83177fac59bb1b711b4135fcd6
@@ -0,0 +1,263 @@
1
+ version: 2.1
2
+
3
+ executors:
4
+ ruby_26:
5
+ docker:
6
+ - image: circleci/ruby:2.6-node
7
+ environment:
8
+ MEMCACHED_HOST: '127.0.0.1:11211'
9
+ REDIS_URL: 'redis://127.0.0.1:6379'
10
+ DATABASE_URL: 'sqlite3::memory:'
11
+ - image: memcached
12
+ - image: redis
13
+ - image: circleci/dynamodb
14
+ - image: minio/minio:latest
15
+ command: ["server", "/data"]
16
+ - image: s12v/sns
17
+ - image: softwaremill/elasticmq-native
18
+ - image: circleci/mongo:5-focal-ram
19
+ ruby_27:
20
+ docker:
21
+ - image: circleci/ruby:2.7-node
22
+ environment:
23
+ MEMCACHED_HOST: '127.0.0.1:11211'
24
+ REDIS_URL: 'redis://127.0.0.1:6379'
25
+ DATABASE_URL: 'sqlite3::memory:'
26
+ - image: memcached
27
+ - image: redis
28
+ - image: circleci/dynamodb
29
+ - image: minio/minio:latest
30
+ command: ["server", "/data"]
31
+ - image: s12v/sns
32
+ - image: softwaremill/elasticmq-native
33
+ - image: circleci/mongo:5-focal-ram
34
+ ruby_26_mysql2:
35
+ docker:
36
+ - image: circleci/ruby:2.6-node
37
+ environment:
38
+ DATABASE_URL: "mysql2://root@127.0.0.1:3306/ci_test"
39
+ - image: mariadb
40
+ environment:
41
+ MYSQL_DATABASE: 'ci_test'
42
+ MYSQL_USER: 'root'
43
+ MYSQL_PASSWORD: ''
44
+ MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
45
+ MYSQL_ROOT_PASSWORD: ''
46
+ MYSQL_ROOT_HOST: '%'
47
+ ruby_27_mysql2:
48
+ docker:
49
+ - image: circleci/ruby:2.7-node
50
+ environment:
51
+ DATABASE_URL: "mysql2://root@127.0.0.1:3306/ci_test"
52
+ - image: mariadb
53
+ environment:
54
+ MYSQL_DATABASE: 'ci_test'
55
+ MYSQL_USER: 'root'
56
+ MYSQL_PASSWORD: ''
57
+ MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
58
+ MYSQL_ROOT_PASSWORD: ''
59
+ MYSQL_ROOT_HOST: '%'
60
+ ruby_26_postgres:
61
+ docker:
62
+ - image: circleci/ruby:2.6-node
63
+ environment:
64
+ DATABASE_URL: "postgres://postgres:test@127.0.0.1:5432/ci_test"
65
+ - image: postgres
66
+ environment:
67
+ POSTGRES_PASSWORD: 'test'
68
+ POSTGRES_DB: 'ci_test'
69
+ ruby_27_postgres:
70
+ docker:
71
+ - image: circleci/ruby:2.7-node
72
+ environment:
73
+ DATABASE_URL: "postgres://postgres:test@127.0.0.1:5432/ci_test"
74
+ - image: postgres
75
+ environment:
76
+ POSTGRES_PASSWORD: 'test'
77
+ POSTGRES_DB: 'ci_test'
78
+
79
+ commands:
80
+ setup:
81
+ steps:
82
+ - run:
83
+ name: Install iproute2
84
+ command: |
85
+ sudo apt-get update
86
+ sudo apt-get install iproute2
87
+ - run:
88
+ name: Install Java
89
+ command: |
90
+ sudo apt-get install openjdk-11-jdk
91
+ - run:
92
+ name: Update RubyGems
93
+ command: |
94
+ gem update --system
95
+ gem --version
96
+ - run:
97
+ name: Install Bundler
98
+ command: |
99
+ gem install bundler
100
+ bundler --version
101
+ bundle config set path './vendor/bundle'
102
+ - run:
103
+ name: Install Depdendecies
104
+ command: |
105
+ bundle check || bundle install
106
+ run_sonarqube:
107
+ steps:
108
+ - run:
109
+ name: Install Java
110
+ command: |
111
+ sudo apt-get update
112
+ sudo apt-get install openjdk-11-jdk
113
+ - run:
114
+ name: Run SonarQube to capture coverage
115
+ command: |
116
+ wget -O /tmp/sonar-scanner-cli.zip https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.6.2.2472.zip
117
+ unzip -d /tmp /tmp/sonar-scanner-cli.zip
118
+ if [[ -n "${CIRCLE_PR_NUMBER}" ]]; then
119
+ /tmp/sonar-scanner-4.6.2.2472/bin/sonar-scanner \
120
+ -Dsonar.host.url="${SONARQUBE_URL}" \
121
+ -Dsonar.login="${SONARQUBE_LOGIN}" \
122
+ -Dsonar.pullrequest.key="${CIRCLE_PR_NUMBER}" \
123
+ -Dsonar.pullrequest.branch="${CIRCLE_BRANCH}"
124
+ else
125
+ /tmp/sonar-scanner-4.6.2.2472/bin/sonar-scanner \
126
+ -Dsonar.host.url="${SONARQUBE_URL}" \
127
+ -Dsonar.login="${SONARQUBE_LOGIN}" \
128
+ -Dsonar.branch.name="${CIRCLE_BRANCH}"
129
+ fi
130
+ run_tests:
131
+ steps:
132
+ - run:
133
+ name: Run Tests
134
+ command: |
135
+ mkdir _junit
136
+ bundle exec rake
137
+ - store_test_results:
138
+ path: ~/project/_junit
139
+ run_rubocop:
140
+ steps:
141
+ - run:
142
+ name: Run Tests
143
+ command: |
144
+ bundle exec rubocop
145
+ publish_gem:
146
+ steps:
147
+ - run:
148
+ name: Setup Access
149
+ command: |
150
+ mkdir -p ~/.gem
151
+ echo -e "---\r\n:rubygems_api_key: $RUBYGEMS_API_KEY" > ~/.gem/credentials
152
+ chmod 0600 /home/circleci/.gem/credentials
153
+ - run:
154
+ name: Publish Gem
155
+ command: |
156
+ bundle exec rake release[origin]
157
+
158
+ jobs:
159
+ test_core:
160
+ parameters:
161
+ stack:
162
+ type: executor
163
+ default: ruby_27
164
+ executor: << parameters.stack >>
165
+ steps:
166
+ - checkout
167
+ - setup
168
+ - run_tests
169
+ test_apprisal:
170
+ parameters:
171
+ stack:
172
+ type: executor
173
+ default: ruby_27
174
+ gemfile:
175
+ type: string
176
+ default: "./gemfiles/aws_30.gemfile"
177
+ executor: << parameters.stack >>
178
+ environment:
179
+ APPRAISAL_INITIALIZED: "1"
180
+ BUNDLE_GEMFILE: << parameters.gemfile >>
181
+ steps:
182
+ - checkout
183
+ - setup
184
+ - run_tests
185
+ lint:
186
+ executor: ruby_27
187
+ steps:
188
+ - checkout
189
+ - setup
190
+ - run_rubocop
191
+ - run_sonarqube
192
+ publish:
193
+ executor: ruby_27
194
+ steps:
195
+ - checkout
196
+ - setup
197
+ - publish_gem
198
+
199
+ workflows:
200
+ publish:
201
+ jobs:
202
+ - publish:
203
+ filters:
204
+ branches:
205
+ ignore: /.*/
206
+ tags:
207
+ only: /^v.*/
208
+ core:
209
+ jobs:
210
+ - lint
211
+ - test_core:
212
+ matrix:
213
+ parameters:
214
+ stack:
215
+ - ruby_27
216
+ - ruby_26
217
+ libraries:
218
+ jobs:
219
+ - test_apprisal:
220
+ matrix:
221
+ parameters:
222
+ stack:
223
+ - ruby_27
224
+ - ruby_26
225
+ gemfile:
226
+ - "./gemfiles/aws_30.gemfile"
227
+ - "./gemfiles/cuba_30.gemfile"
228
+ - "./gemfiles/dalli_20.gemfile"
229
+ - "./gemfiles/excon_02.gemfile"
230
+ - "./gemfiles/excon_079.gemfile"
231
+ - "./gemfiles/graphql_10.gemfile"
232
+ - "./gemfiles/grpc_10.gemfile"
233
+ - "./gemfiles/net_http_01.gemfile"
234
+ - "./gemfiles/rack_16.gemfile"
235
+ - "./gemfiles/rack_20.gemfile"
236
+ - "./gemfiles/redis_40.gemfile"
237
+ - "./gemfiles/rest_client_16.gemfile"
238
+ - "./gemfiles/rest_client_20.gemfile"
239
+ - "./gemfiles/resque_122.gemfile"
240
+ - "./gemfiles/resque_20.gemfile"
241
+ - "./gemfiles/roda_20.gemfile"
242
+ - "./gemfiles/roda_30.gemfile"
243
+ - "./gemfiles/sidekiq_42.gemfile"
244
+ - "./gemfiles/sidekiq_50.gemfile"
245
+ - "./gemfiles/sinatra_14.gemfile"
246
+ - "./gemfiles/shoryuken_50.gemfile"
247
+ - "./gemfiles/mongo_216.gemfile"
248
+ rails:
249
+ jobs:
250
+ - test_apprisal:
251
+ matrix:
252
+ parameters:
253
+ stack:
254
+ - ruby_27
255
+ - ruby_26
256
+ - ruby_27_postgres
257
+ - ruby_26_postgres
258
+ - ruby_27_mysql2
259
+ - ruby_26_mysql2
260
+ gemfile:
261
+ - "./gemfiles/rails_60.gemfile"
262
+ - "./gemfiles/rails_52.gemfile"
263
+ - "./gemfiles/rails_50.gemfile"
data/.editorconfig ADDED
@@ -0,0 +1,10 @@
1
+ root = true
2
+
3
+ [*]
4
+ end_of_line = lf
5
+ insert_final_newline = true
6
+
7
+ [*.rb]
8
+ indent_style = space
9
+ indent_size = 2
10
+ trim_trailing_whitespace = true
@@ -0,0 +1,39 @@
1
+ name: Bug Report
2
+ description: File a bug report
3
+ title: "[Bug]: "
4
+ labels: [bug]
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ Thank you for taking the time to fill out this report. Remember that these issues are public and if you need to discuss implementation specific issues securely, please [use our support portal](https://support.instana.com/hc/en-us).
10
+ - type: textarea
11
+ id: problem-description
12
+ attributes:
13
+ label: Problem Description
14
+ description: What was the issue that caused you to file this bug?
15
+ validations:
16
+ required: true
17
+ - type: textarea
18
+ id: mcve
19
+ attributes:
20
+ label: Minimal, Complete, Verifiable, Example
21
+ description: Can you provide steps needed to reproduce this issue outside of your application?
22
+ validations:
23
+ required: false
24
+ - type: textarea
25
+ id: gemfile-lock
26
+ attributes:
27
+ label: Gemfile.lock
28
+ description: Please paste the contents of the Gemfile.lock for the application that was affected by this bug.
29
+ render: shell
30
+ validations:
31
+ required: true
32
+ - type: textarea
33
+ id: ruby-version
34
+ attributes:
35
+ label: Ruby Version
36
+ description: What version of Ruby was the application running under when it encountered this bug?
37
+ render: shell
38
+ validations:
39
+ required: true
@@ -0,0 +1,5 @@
1
+ blank_issues_enabled: false
2
+ contact_links:
3
+ - name: Instana Support Portal
4
+ url: https://support.instana.com
5
+ about: Please ask questions related to your installation there.
data/.gitignore CHANGED
@@ -14,3 +14,6 @@ gemfiles/*.lock
14
14
  .idea
15
15
  *.iml
16
16
  .DS_Store
17
+ vendor/bundle
18
+ gemfiles/vendor/bundle
19
+ *.log