instana 1.217.1 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -1
  3. data/lib/instana/base.rb +4 -2
  4. data/lib/instana/instrumentation/action_cable.rb +8 -4
  5. data/lib/instana/instrumentation/action_controller.rb +2 -4
  6. data/lib/instana/instrumentation/action_mailer.rb +1 -1
  7. data/lib/instana/instrumentation/action_view.rb +4 -4
  8. data/lib/instana/instrumentation/active_job.rb +20 -5
  9. data/lib/instana/instrumentation/active_record.rb +1 -1
  10. data/lib/instana/instrumentation/aws_sdk_dynamodb.rb +1 -1
  11. data/lib/instana/instrumentation/aws_sdk_lambda.rb +1 -1
  12. data/lib/instana/instrumentation/aws_sdk_s3.rb +1 -1
  13. data/lib/instana/instrumentation/aws_sdk_sns.rb +1 -1
  14. data/lib/instana/instrumentation/aws_sdk_sqs.rb +1 -1
  15. data/lib/instana/instrumentation/dalli.rb +1 -1
  16. data/lib/instana/instrumentation/excon.rb +2 -2
  17. data/lib/instana/instrumentation/graphql.rb +3 -3
  18. data/lib/instana/instrumentation/grpc.rb +14 -13
  19. data/lib/instana/instrumentation/mongo.rb +3 -3
  20. data/lib/instana/instrumentation/net-http.rb +5 -4
  21. data/lib/instana/instrumentation/rack.rb +36 -4
  22. data/lib/instana/instrumentation/redis.rb +1 -1
  23. data/lib/instana/instrumentation/resque.rb +10 -8
  24. data/lib/instana/instrumentation/rest-client.rb +4 -4
  25. data/lib/instana/instrumentation/sequel.rb +3 -3
  26. data/lib/instana/instrumentation/shoryuken.rb +4 -1
  27. data/lib/instana/instrumentation/sidekiq-client.rb +21 -19
  28. data/lib/instana/instrumentation/sidekiq-worker.rb +22 -21
  29. data/lib/instana/instrumented_logger.rb +1 -1
  30. data/lib/instana/samplers/result.rb +32 -0
  31. data/lib/instana/samplers/samplers.rb +76 -0
  32. data/lib/instana/serverless.rb +4 -2
  33. data/lib/instana/setup.rb +5 -5
  34. data/lib/instana/span_filtering/condition.rb +134 -0
  35. data/lib/instana/span_filtering/configuration.rb +262 -0
  36. data/lib/instana/span_filtering/filter_rule.rb +31 -0
  37. data/lib/instana/span_filtering.rb +62 -0
  38. data/lib/instana/trace/export.rb +36 -0
  39. data/lib/instana/{tracing → trace}/processor.rb +19 -15
  40. data/lib/instana/trace/span.rb +534 -0
  41. data/lib/instana/{tracing → trace}/span_context.rb +17 -8
  42. data/lib/instana/trace/span_kind.rb +51 -0
  43. data/lib/instana/trace/span_limits.rb +63 -0
  44. data/lib/instana/{tracer.rb → trace/tracer.rb} +106 -54
  45. data/lib/instana/trace/tracer_provider.rb +198 -0
  46. data/lib/instana/trace.rb +74 -0
  47. data/lib/instana/util.rb +11 -0
  48. data/lib/instana/version.rb +1 -1
  49. metadata +89 -267
  50. data/.circleci/config.yml +0 -485
  51. data/.codeclimate.yml +0 -23
  52. data/.editorconfig +0 -10
  53. data/.fasterer.yml +0 -23
  54. data/.github/ISSUE_TEMPLATE/bug.yml +0 -39
  55. data/.github/ISSUE_TEMPLATE/config.yml +0 -8
  56. data/.github/workflows/pr_commits_signed_off.yml +0 -16
  57. data/.github/workflows/release-notification-on-slack.yml +0 -34
  58. data/.gitignore +0 -19
  59. data/.rubocop.yml +0 -34
  60. data/.rubocop_todo.yml +0 -1140
  61. data/.tekton/.currency/docs/report.md +0 -20
  62. data/.tekton/.currency/resources/requirements.txt +0 -4
  63. data/.tekton/.currency/resources/table.json +0 -100
  64. data/.tekton/.currency/scripts/generate_report.py +0 -136
  65. data/.tekton/README.md +0 -278
  66. data/.tekton/github-interceptor-secret.yaml +0 -8
  67. data/.tekton/github-pr-eventlistener.yaml +0 -104
  68. data/.tekton/github-pr-pipeline.yaml.part +0 -38
  69. data/.tekton/github-set-status-task.yaml +0 -43
  70. data/.tekton/github-webhook-ingress.yaml +0 -20
  71. data/.tekton/pipeline.yaml +0 -571
  72. data/.tekton/pipelinerun.yaml +0 -21
  73. data/.tekton/ruby-tracer-prepuller.yaml +0 -87
  74. data/.tekton/run_unittests.sh +0 -87
  75. data/.tekton/scheduled-eventlistener.yaml +0 -108
  76. data/.tekton/task.yaml +0 -449
  77. data/.tekton/tekton-triggers-eventlistener-serviceaccount.yaml +0 -29
  78. data/Appraisals +0 -124
  79. data/CONTRIBUTING.md +0 -86
  80. data/Gemfile +0 -17
  81. data/LICENSE +0 -22
  82. data/MAINTAINERS.md +0 -3
  83. data/Rakefile +0 -49
  84. data/bin/announce_release_on_slack.py +0 -103
  85. data/docker-compose.yml +0 -20
  86. data/download.sh +0 -85
  87. data/examples/opentracing.rb +0 -35
  88. data/examples/tracing.rb +0 -84
  89. data/extras/license_header.rb +0 -44
  90. data/gemfiles/.bundle/config +0 -2
  91. data/gemfiles/aws_30.gemfile +0 -21
  92. data/gemfiles/aws_60.gemfile +0 -16
  93. data/gemfiles/cuba_30.gemfile +0 -16
  94. data/gemfiles/cuba_40.gemfile +0 -13
  95. data/gemfiles/dalli_20.gemfile +0 -15
  96. data/gemfiles/dalli_30.gemfile +0 -12
  97. data/gemfiles/dalli_32.gemfile +0 -12
  98. data/gemfiles/excon_0100.gemfile +0 -14
  99. data/gemfiles/excon_021.gemfile +0 -17
  100. data/gemfiles/excon_079.gemfile +0 -17
  101. data/gemfiles/excon_100.gemfile +0 -14
  102. data/gemfiles/graphql_10.gemfile +0 -16
  103. data/gemfiles/graphql_20.gemfile +0 -15
  104. data/gemfiles/grpc_10.gemfile +0 -15
  105. data/gemfiles/mongo_216.gemfile +0 -15
  106. data/gemfiles/mongo_219.gemfile +0 -12
  107. data/gemfiles/net_http_01.gemfile +0 -17
  108. data/gemfiles/rack_16.gemfile +0 -15
  109. data/gemfiles/rack_20.gemfile +0 -15
  110. data/gemfiles/rack_30.gemfile +0 -13
  111. data/gemfiles/rails_42.gemfile +0 -18
  112. data/gemfiles/rails_50.gemfile +0 -19
  113. data/gemfiles/rails_52.gemfile +0 -19
  114. data/gemfiles/rails_60.gemfile +0 -19
  115. data/gemfiles/rails_61.gemfile +0 -20
  116. data/gemfiles/rails_70.gemfile +0 -17
  117. data/gemfiles/rails_71.gemfile +0 -17
  118. data/gemfiles/rails_80.gemfile +0 -17
  119. data/gemfiles/redis_40.gemfile +0 -15
  120. data/gemfiles/redis_50.gemfile +0 -13
  121. data/gemfiles/redis_51.gemfile +0 -13
  122. data/gemfiles/resque_122.gemfile +0 -16
  123. data/gemfiles/resque_1274_3scale.gemfile +0 -17
  124. data/gemfiles/resque_20.gemfile +0 -16
  125. data/gemfiles/rest_client_16.gemfile +0 -17
  126. data/gemfiles/rest_client_20.gemfile +0 -17
  127. data/gemfiles/roda_20.gemfile +0 -16
  128. data/gemfiles/roda_30.gemfile +0 -16
  129. data/gemfiles/rubocop_162.gemfile +0 -6
  130. data/gemfiles/sequel_56.gemfile +0 -16
  131. data/gemfiles/sequel_57.gemfile +0 -16
  132. data/gemfiles/sequel_58.gemfile +0 -16
  133. data/gemfiles/shoryuken_50.gemfile +0 -16
  134. data/gemfiles/shoryuken_60.gemfile +0 -13
  135. data/gemfiles/sidekiq_42.gemfile +0 -15
  136. data/gemfiles/sidekiq_50.gemfile +0 -15
  137. data/gemfiles/sidekiq_60.gemfile +0 -12
  138. data/gemfiles/sidekiq_65.gemfile +0 -12
  139. data/gemfiles/sidekiq_70.gemfile +0 -12
  140. data/gemfiles/sinatra_14.gemfile +0 -15
  141. data/gemfiles/sinatra_22.gemfile +0 -12
  142. data/gemfiles/sinatra_30.gemfile +0 -12
  143. data/gemfiles/sinatra_40.gemfile +0 -12
  144. data/instana.gemspec +0 -48
  145. data/lib/instana/open_tracing/carrier.rb +0 -7
  146. data/lib/instana/open_tracing/instana_tracer.rb +0 -99
  147. data/lib/instana/tracing/span.rb +0 -431
  148. data/lib/opentracing.rb +0 -32
  149. data/log/.keep +0 -0
  150. data/sonar-project.properties +0 -9
  151. data/test/activator_test.rb +0 -50
  152. data/test/backend/agent_test.rb +0 -80
  153. data/test/backend/gc_snapshot_test.rb +0 -11
  154. data/test/backend/host_agent_activation_observer_test.rb +0 -73
  155. data/test/backend/host_agent_lookup_test.rb +0 -78
  156. data/test/backend/host_agent_reporting_observer_test.rb +0 -276
  157. data/test/backend/host_agent_test.rb +0 -89
  158. data/test/backend/process_info_test.rb +0 -83
  159. data/test/backend/request_client_test.rb +0 -39
  160. data/test/backend/serverless_agent_test.rb +0 -83
  161. data/test/benchmarks/bench_id_generation.rb +0 -15
  162. data/test/benchmarks/bench_opentracing.rb +0 -16
  163. data/test/config_test.rb +0 -34
  164. data/test/frameworks/cuba_test.rb +0 -61
  165. data/test/frameworks/roda_test.rb +0 -60
  166. data/test/frameworks/sinatra_test.rb +0 -71
  167. data/test/instana_test.rb +0 -37
  168. data/test/instrumentation/aws_test.rb +0 -241
  169. data/test/instrumentation/dalli_test.rb +0 -325
  170. data/test/instrumentation/excon_test.rb +0 -204
  171. data/test/instrumentation/graphql_test.rb +0 -289
  172. data/test/instrumentation/grpc_test.rb +0 -420
  173. data/test/instrumentation/mongo_test.rb +0 -68
  174. data/test/instrumentation/net_http_test.rb +0 -220
  175. data/test/instrumentation/rack_instrumented_request_test.rb +0 -211
  176. data/test/instrumentation/rack_test.rb +0 -415
  177. data/test/instrumentation/rails_action_cable_test.rb +0 -135
  178. data/test/instrumentation/rails_action_controller_test.rb +0 -218
  179. data/test/instrumentation/rails_action_mailer_test.rb +0 -66
  180. data/test/instrumentation/rails_action_view_test.rb +0 -154
  181. data/test/instrumentation/rails_active_job_test.rb +0 -65
  182. data/test/instrumentation/rails_active_record_database_missing_test.rb +0 -45
  183. data/test/instrumentation/rails_active_record_test.rb +0 -115
  184. data/test/instrumentation/redis_test.rb +0 -152
  185. data/test/instrumentation/resque_test.rb +0 -188
  186. data/test/instrumentation/rest_client_test.rb +0 -107
  187. data/test/instrumentation/sequel_test.rb +0 -105
  188. data/test/instrumentation/shoryuken_test.rb +0 -47
  189. data/test/instrumentation/sidekiq-client_test.rb +0 -169
  190. data/test/instrumentation/sidekiq-worker_test.rb +0 -180
  191. data/test/secrets_test.rb +0 -112
  192. data/test/serverless_test.rb +0 -369
  193. data/test/snapshot/deltable_test.rb +0 -17
  194. data/test/snapshot/docker_container_test.rb +0 -82
  195. data/test/snapshot/fargate_container_test.rb +0 -82
  196. data/test/snapshot/fargate_process_test.rb +0 -35
  197. data/test/snapshot/fargate_task_test.rb +0 -49
  198. data/test/snapshot/google_cloud_run_instance_test.rb +0 -74
  199. data/test/snapshot/google_cloud_run_process_test.rb +0 -33
  200. data/test/snapshot/lambda_function_test.rb +0 -37
  201. data/test/snapshot/ruby_process_test.rb +0 -32
  202. data/test/support/apps/active_record/active_record.rb +0 -24
  203. data/test/support/apps/grpc/boot.rb +0 -23
  204. data/test/support/apps/grpc/grpc_server.rb +0 -84
  205. data/test/support/apps/http_endpoint/boot.rb +0 -28
  206. data/test/support/apps/rails/boot.rb +0 -219
  207. data/test/support/apps/rails/models/block.rb +0 -21
  208. data/test/support/apps/rails/models/block6.rb +0 -21
  209. data/test/support/apps/resque/boot.rb +0 -5
  210. data/test/support/apps/resque/jobs/resque_error_job.rb +0 -22
  211. data/test/support/apps/resque/jobs/resque_fast_job.rb +0 -23
  212. data/test/support/apps/sidekiq/boot.rb +0 -25
  213. data/test/support/apps/sidekiq/jobs/sidekiq_job_1.rb +0 -9
  214. data/test/support/apps/sidekiq/jobs/sidekiq_job_2.rb +0 -10
  215. data/test/support/apps/sidekiq/worker.rb +0 -37
  216. data/test/support/helpers.rb +0 -85
  217. data/test/support/mock_timer.rb +0 -20
  218. data/test/test_helper.rb +0 -69
  219. data/test/tracing/custom_test.rb +0 -226
  220. data/test/tracing/id_management_test.rb +0 -80
  221. data/test/tracing/instrumented_logger_test.rb +0 -39
  222. data/test/tracing/opentracing_test.rb +0 -382
  223. data/test/tracing/processor_test.rb +0 -58
  224. data/test/tracing/span_context_test.rb +0 -22
  225. data/test/tracing/span_test.rb +0 -179
  226. data/test/tracing/tracer_async_test.rb +0 -230
  227. data/test/tracing/tracer_test.rb +0 -352
  228. data/test/util_test.rb +0 -10
data/.circleci/config.yml DELETED
@@ -1,485 +0,0 @@
1
- version: 2.1
2
-
3
- library_gemfile: &library_gemfile
4
- gemfile:
5
- - "./gemfiles/aws_30.gemfile"
6
- - "./gemfiles/aws_60.gemfile"
7
- - "./gemfiles/cuba_30.gemfile"
8
- - "./gemfiles/cuba_40.gemfile"
9
- - "./gemfiles/dalli_20.gemfile"
10
- - "./gemfiles/dalli_30.gemfile"
11
- - "./gemfiles/dalli_32.gemfile"
12
- - "./gemfiles/excon_079.gemfile"
13
- - "./gemfiles/excon_0100.gemfile"
14
- - "./gemfiles/excon_100.gemfile"
15
- - "./gemfiles/graphql_10.gemfile"
16
- - "./gemfiles/graphql_20.gemfile"
17
- - "./gemfiles/grpc_10.gemfile"
18
- - "./gemfiles/net_http_01.gemfile"
19
- - "./gemfiles/rack_20.gemfile"
20
- - "./gemfiles/rack_30.gemfile"
21
- - "./gemfiles/redis_40.gemfile"
22
- - "./gemfiles/redis_50.gemfile"
23
- - "./gemfiles/rest_client_20.gemfile"
24
- - "./gemfiles/resque_122.gemfile"
25
- - "./gemfiles/resque_20.gemfile"
26
- - "./gemfiles/roda_20.gemfile"
27
- - "./gemfiles/roda_30.gemfile"
28
- - "./gemfiles/sidekiq_60.gemfile"
29
- - "./gemfiles/sidekiq_65.gemfile"
30
- - "./gemfiles/sidekiq_70.gemfile"
31
- - "./gemfiles/sinatra_22.gemfile"
32
- - "./gemfiles/sinatra_30.gemfile"
33
- - "./gemfiles/sinatra_40.gemfile"
34
- - "./gemfiles/shoryuken_50.gemfile"
35
- - "./gemfiles/shoryuken_60.gemfile"
36
- - "./gemfiles/mongo_216.gemfile"
37
- - "./gemfiles/mongo_219.gemfile"
38
- executors:
39
- ruby_30:
40
- docker:
41
- - image: cimg/ruby:3.0-node
42
- environment:
43
- MEMCACHED_HOST: '127.0.0.1:11211'
44
- REDIS_URL: 'redis://127.0.0.1:6379'
45
- DATABASE_URL: 'sqlite3::memory:'
46
- - image: memcached
47
- - image: redis
48
- - image: amazon/dynamodb-local
49
- - image: minio/minio:latest
50
- command: ["server", "/data"]
51
- - image: s12v/sns
52
- - image: softwaremill/elasticmq-native
53
- - image: mongo:5-focal
54
- ruby_30_mysql2:
55
- docker:
56
- - image: cimg/ruby:3.0-node
57
- environment:
58
- DATABASE_URL: "mysql2://root@127.0.0.1:3306/ci_test"
59
- - image: mariadb
60
- environment:
61
- MYSQL_DATABASE: 'ci_test'
62
- MYSQL_USER: 'root'
63
- MYSQL_PASSWORD: ''
64
- MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
65
- MYSQL_ROOT_PASSWORD: ''
66
- MYSQL_ROOT_HOST: '%'
67
- ruby_30_postgres:
68
- docker:
69
- - image: cimg/ruby:3.0-node
70
- environment:
71
- DATABASE_URL: "postgres://postgres:test@127.0.0.1:5432/ci_test"
72
- - image: postgres
73
- environment:
74
- POSTGRES_PASSWORD: 'test'
75
- POSTGRES_DB: 'ci_test'
76
- ruby_31:
77
- docker:
78
- - image: cimg/ruby:3.1-node
79
- environment:
80
- MEMCACHED_HOST: '127.0.0.1:11211'
81
- REDIS_URL: 'redis://127.0.0.1:6379'
82
- DATABASE_URL: 'sqlite3::memory:'
83
- - image: memcached
84
- - image: redis
85
- - image: amazon/dynamodb-local
86
- - image: minio/minio:latest
87
- command: ["server", "/data"]
88
- - image: s12v/sns
89
- - image: softwaremill/elasticmq-native
90
- - image: mongo:5-focal
91
- ruby_31_mysql2:
92
- docker:
93
- - image: cimg/ruby:3.1-node
94
- environment:
95
- DATABASE_URL: "mysql2://root@127.0.0.1:3306/ci_test"
96
- - image: mariadb
97
- environment:
98
- MYSQL_DATABASE: 'ci_test'
99
- MYSQL_USER: 'root'
100
- MYSQL_PASSWORD: ''
101
- MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
102
- MYSQL_ROOT_PASSWORD: ''
103
- MYSQL_ROOT_HOST: '%'
104
- ruby_31_postgres:
105
- docker:
106
- - image: cimg/ruby:3.1-node
107
- environment:
108
- DATABASE_URL: "postgres://postgres:test@127.0.0.1:5432/ci_test"
109
- - image: postgres
110
- environment:
111
- POSTGRES_PASSWORD: 'test'
112
- POSTGRES_DB: 'ci_test'
113
- ruby_32:
114
- docker:
115
- - image: cimg/ruby:3.2-node
116
- environment:
117
- MEMCACHED_HOST: '127.0.0.1:11211'
118
- REDIS_URL: 'redis://127.0.0.1:6379'
119
- DATABASE_URL: 'sqlite3::memory:'
120
- - image: memcached
121
- - image: redis
122
- - image: amazon/dynamodb-local
123
- - image: minio/minio:latest
124
- command: ["server", "/data"]
125
- - image: s12v/sns
126
- - image: softwaremill/elasticmq-native
127
- - image: mongo:5-focal
128
- ruby_32_mysql2:
129
- docker:
130
- - image: cimg/ruby:3.2-node
131
- environment:
132
- DATABASE_URL: "mysql2://root@127.0.0.1:3306/ci_test"
133
- - image: mariadb
134
- environment:
135
- MYSQL_DATABASE: 'ci_test'
136
- MYSQL_USER: 'root'
137
- MYSQL_PASSWORD: ''
138
- MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
139
- MYSQL_ROOT_PASSWORD: ''
140
- MYSQL_ROOT_HOST: '%'
141
- ruby_32_postgres:
142
- docker:
143
- - image: cimg/ruby:3.2-node
144
- environment:
145
- DATABASE_URL: "postgres://postgres:test@127.0.0.1:5432/ci_test"
146
- - image: postgres
147
- environment:
148
- POSTGRES_PASSWORD: 'test'
149
- POSTGRES_DB: 'ci_test'
150
- ruby_33:
151
- docker:
152
- - image: cimg/ruby:3.3-node
153
- environment:
154
- MEMCACHED_HOST: '127.0.0.1:11211'
155
- REDIS_URL: 'redis://127.0.0.1:6379'
156
- DATABASE_URL: 'sqlite3::memory:'
157
- - image: memcached
158
- - image: redis
159
- - image: amazon/dynamodb-local
160
- - image: minio/minio:latest
161
- command: ["server", "/data"]
162
- - image: s12v/sns
163
- - image: softwaremill/elasticmq-native
164
- - image: mongo:5-focal
165
- ruby_33_mysql2:
166
- docker:
167
- - image: cimg/ruby:3.3-node
168
- environment:
169
- DATABASE_URL: "mysql2://root@127.0.0.1:3306/ci_test"
170
- - image: mariadb
171
- environment:
172
- MYSQL_DATABASE: 'ci_test'
173
- MYSQL_USER: 'root'
174
- MYSQL_PASSWORD: ''
175
- MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
176
- MYSQL_ROOT_PASSWORD: ''
177
- MYSQL_ROOT_HOST: '%'
178
- ruby_33_postgres:
179
- docker:
180
- - image: cimg/ruby:3.3-node
181
- environment:
182
- DATABASE_URL: "postgres://postgres:test@127.0.0.1:5432/ci_test"
183
- - image: postgres
184
- environment:
185
- POSTGRES_PASSWORD: 'test'
186
- POSTGRES_DB: 'ci_test'
187
- ruby_34:
188
- docker:
189
- - image: ruby:3.4.0-preview2-bookworm
190
- environment:
191
- MEMCACHED_HOST: '127.0.0.1:11211'
192
- REDIS_URL: 'redis://127.0.0.1:6379'
193
- DATABASE_URL: 'sqlite3::memory:'
194
- - image: memcached
195
- - image: redis
196
- - image: amazon/dynamodb-local
197
- - image: minio/minio:latest
198
- command: ["server", "/data"]
199
- - image: s12v/sns
200
- - image: softwaremill/elasticmq-native
201
- - image: mongo:5-focal
202
- ruby_34_mysql2:
203
- docker:
204
- - image: ruby:3.4.0-preview2-bookworm
205
- environment:
206
- DATABASE_URL: "mysql2://root@127.0.0.1:3306/ci_test"
207
- - image: mariadb
208
- environment:
209
- MYSQL_DATABASE: 'ci_test'
210
- MYSQL_USER: 'root'
211
- MYSQL_PASSWORD: ''
212
- MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
213
- MYSQL_ROOT_PASSWORD: ''
214
- MYSQL_ROOT_HOST: '%'
215
- ruby_34_postgres:
216
- docker:
217
- - image: ruby:3.4.0-preview2-bookworm
218
- environment:
219
- DATABASE_URL: "postgres://postgres:test@127.0.0.1:5432/ci_test"
220
- - image: postgres
221
- environment:
222
- POSTGRES_PASSWORD: 'test'
223
- POSTGRES_DB: 'ci_test'
224
- ruby_33_lint:
225
- docker:
226
- - image: cimg/ruby:3.3-node
227
- commands:
228
- setup:
229
- steps:
230
- - run:
231
- name: Update RubyGems
232
- command: |
233
- gem update --system
234
- gem --version
235
- - run:
236
- name: Install Bundler
237
- command: |
238
- gem install bundler
239
- bundler --version
240
- bundle config set path './vendor/bundle'
241
- - run:
242
- name: Install Dependencies
243
- command: |
244
- bundle check || bundle install
245
- run_sonarqube:
246
- steps:
247
- - run:
248
- name: Install Java for the SonarQube tool
249
- command: |
250
- sudo apt-get update
251
- sudo apt-get install openjdk-11-jdk
252
- - run:
253
- name: Install dependencies for coverage merge
254
- command: |
255
- bundler --version
256
- bundle config set path './vendor/bundle'
257
- bundle check || bundle install
258
- environment:
259
- BUNDLE_GEMFILE: './Gemfile'
260
- - run:
261
- name: Fetching partial coverage reports from workflow jobs
262
- command: |
263
- ./download.sh
264
- - run:
265
- name: Merging partial coverage reports for reporting
266
- command: |
267
- bundle exec rake coverage:merge_reports --trace
268
- environment:
269
- BUNDLE_GEMFILE: './Gemfile'
270
- - run:
271
- name: Run SonarQube to report the coverage
272
- command: |
273
- wget -O /tmp/sonar-scanner-cli.zip https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.8.1.3023.zip
274
- unzip -d /tmp /tmp/sonar-scanner-cli.zip
275
- if [[ -n "${CIRCLE_PR_NUMBER}" ]]; then
276
- /tmp/sonar-scanner-4.8.1.3023/bin/sonar-scanner \
277
- -Dsonar.host.url="${SONARQUBE_URL}" \
278
- -Dsonar.login="${SONARQUBE_LOGIN}" \
279
- -Dsonar.pullrequest.key="${CIRCLE_PR_NUMBER}" \
280
- -Dsonar.pullrequest.branch="${CIRCLE_BRANCH}"
281
- else
282
- /tmp/sonar-scanner-4.8.1.3023/bin/sonar-scanner \
283
- -Dsonar.host.url="${SONARQUBE_URL}" \
284
- -Dsonar.login="${SONARQUBE_LOGIN}" \
285
- -Dsonar.branch.name="${CIRCLE_BRANCH}"
286
- fi
287
- - store_artifacts:
288
- path: partial_coverage_results
289
- - store_artifacts:
290
- path: coverage
291
- run_tests:
292
- steps:
293
- - run:
294
- name: Run Tests
295
- command: |
296
- mkdir _junit
297
- bundle exec rake
298
- - store_test_results:
299
- path: ~/project/_junit
300
- - store_artifacts:
301
- path: coverage
302
- run_rubocop:
303
- steps:
304
- - run:
305
- name: Run Tests
306
- command: |
307
- bundle exec rubocop
308
- publish_gem:
309
- steps:
310
- - run:
311
- name: Setup Access
312
- command: |
313
- mkdir -p ~/.gem
314
- echo -e "---\r\n:rubygems_api_key: $RUBYGEMS_API_KEY" > ~/.gem/credentials
315
- chmod 0600 /home/circleci/.gem/credentials
316
- - run:
317
- name: Publish Gem
318
- command: |
319
- bundle exec rake release[origin]
320
-
321
- jobs:
322
- test_core:
323
- parameters:
324
- stack:
325
- type: executor
326
- default: ruby_30
327
- executor: << parameters.stack >>
328
- steps:
329
- - checkout
330
- - setup
331
- - run_tests
332
- test_apprisal:
333
- parameters:
334
- stack:
335
- type: executor
336
- default: ruby_30
337
- gemfile:
338
- type: string
339
- default: "./gemfiles/aws_30.gemfile"
340
- executor: << parameters.stack >>
341
- environment:
342
- APPRAISAL_INITIALIZED: "1"
343
- BUNDLE_GEMFILE: << parameters.gemfile >>
344
- steps:
345
- - checkout
346
- - setup
347
- - run_tests
348
- lint:
349
- executor: ruby_33_lint
350
- environment:
351
- BUNDLE_GEMFILE: "./gemfiles/rubocop_162.gemfile"
352
- steps:
353
- - checkout
354
- - run:
355
- name: Install Dependencies
356
- command: |
357
- bundle check || bundle install
358
- - run_rubocop
359
- report_coverage:
360
- executor: ruby_33
361
- steps:
362
- - checkout
363
- # - run_sonarqube
364
- publish:
365
- executor: ruby_33
366
- steps:
367
- - checkout
368
- - setup
369
- - publish_gem
370
-
371
- workflows:
372
- publish:
373
- jobs:
374
- - publish:
375
- filters:
376
- branches:
377
- ignore: /.*/
378
- tags:
379
- only: /^v.*/
380
- core:
381
- jobs:
382
- - lint
383
- - test_core:
384
- matrix:
385
- parameters:
386
- stack:
387
- - ruby_30
388
- - ruby_31
389
- - ruby_32
390
- - ruby_33
391
- - ruby_34
392
- libraries_ruby_30_32:
393
- jobs:
394
- - test_apprisal:
395
- matrix:
396
- parameters:
397
- stack:
398
- - ruby_30
399
- - ruby_31
400
- - ruby_32
401
- <<: *library_gemfile
402
- libraries_ruby_33_34:
403
- jobs:
404
- - test_apprisal:
405
- matrix:
406
- parameters:
407
- stack:
408
- - ruby_33
409
- - ruby_34
410
- <<: *library_gemfile
411
- # Currently compiling the native extensions for `grpc`
412
- # exceeds an internal RAM and/or CPU limit of CircleCI executor,
413
- # and the job gets terminated with:
414
- # `Received "killed" signal`
415
- # Hence we exclude it here for the time being.
416
- # TODO: Remove this exclusion as soon as pre-built binaries are available
417
- # on https://rubygems.org/gems/grpc/versions
418
- exclude:
419
- - stack: ruby_34
420
- gemfile: "./gemfiles/grpc_10.gemfile"
421
- rails_ruby_3:
422
- jobs:
423
- - test_apprisal:
424
- matrix:
425
- parameters:
426
- stack:
427
- - ruby_30
428
- - ruby_30_postgres
429
- - ruby_30_mysql2
430
- - ruby_31
431
- - ruby_31_postgres
432
- - ruby_31_mysql2
433
- - ruby_32
434
- - ruby_32_postgres
435
- - ruby_32_mysql2
436
- - ruby_33
437
- - ruby_33_postgres
438
- - ruby_33_mysql2
439
- - ruby_34
440
- - ruby_34_postgres
441
- - ruby_34_mysql2
442
- gemfile:
443
- - "./gemfiles/rails_61.gemfile"
444
- - "./gemfiles/rails_70.gemfile"
445
- - "./gemfiles/rails_71.gemfile"
446
- rails8_ruby_33_34:
447
- jobs:
448
- - test_apprisal:
449
- matrix:
450
- parameters:
451
- stack:
452
- - ruby_32
453
- - ruby_32_postgres
454
- - ruby_32_mysql2
455
- - ruby_33
456
- - ruby_33_postgres
457
- - ruby_33_mysql2
458
- - ruby_34
459
- - ruby_34_postgres
460
- - ruby_34_mysql2
461
- gemfile:
462
- - "./gemfiles/rails_80.gemfile"
463
- sequel:
464
- jobs:
465
- - test_apprisal:
466
- matrix:
467
- parameters:
468
- stack:
469
- - ruby_30
470
- - ruby_30_mysql2
471
- - ruby_31
472
- - ruby_31_mysql2
473
- - ruby_32
474
- - ruby_32_mysql2
475
- - ruby_33
476
- - ruby_33_mysql2
477
- - ruby_34
478
- - ruby_34_mysql2
479
- gemfile:
480
- - "./gemfiles/sequel_56.gemfile"
481
- - "./gemfiles/sequel_57.gemfile"
482
- - "./gemfiles/sequel_58.gemfile"
483
- report_coverage:
484
- jobs:
485
- - report_coverage
data/.codeclimate.yml DELETED
@@ -1,23 +0,0 @@
1
- version: "2"
2
- checks:
3
- complex-logic:
4
- config:
5
- threshold: 12
6
- file-lines:
7
- config:
8
- threshold: 325
9
- method-complexity:
10
- config:
11
- threshold: 12
12
- method-lines:
13
- config:
14
- threshold: 50
15
- method-count:
16
- config:
17
- threshold: 30
18
-
19
- plugins:
20
- fixme:
21
- enabled: true
22
- rubocop:
23
- enabled: true
data/.editorconfig DELETED
@@ -1,10 +0,0 @@
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
data/.fasterer.yml DELETED
@@ -1,23 +0,0 @@
1
- speedups:
2
- rescue_vs_respond_to: true
3
- module_eval: true
4
- shuffle_first_vs_sample: true
5
- for_loop_vs_each: true
6
- each_with_index_vs_while: false
7
- map_flatten_vs_flat_map: true
8
- reverse_each_vs_reverse_each: true
9
- select_first_vs_detect: true
10
- sort_vs_sort_by: true
11
- fetch_with_argument_vs_block: true
12
- keys_each_vs_each_key: true
13
- hash_merge_bang_vs_hash_brackets: true
14
- block_vs_symbol_to_proc: true
15
- proc_call_vs_yield: true
16
- gsub_vs_tr: true
17
- select_last_vs_reverse_detect: true
18
- getter_vs_attr_reader: true
19
- setter_vs_attr_writer: true
20
-
21
- exclude_paths:
22
- - 'vendor/**/*.rb'
23
- - 'db/schema.rb'
@@ -1,39 +0,0 @@
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://www.ibm.com/mysupport).
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
@@ -1,8 +0,0 @@
1
- blank_issues_enabled: false
2
- contact_links:
3
- - name: Instana Support Portal
4
- url: https://www.ibm.com/mysupport
5
- about: Please ask questions related to your installation there.
6
- - name: Feature Requests
7
-  url: https://automation-management.ideas.ibm.com/?project=INSTANA
8
-  about: Please file feature requests there (or search for existing requests and vote for them). Do not use Github issues for feature requests.
@@ -1,16 +0,0 @@
1
- name: Find signed commits
2
- on:
3
- pull_request_target:
4
- branches:
5
- - master # or the name of your main branch
6
- jobs:
7
- check-sign-off:
8
- name: Write comment if unsigned commits found
9
- env:
10
- FORCE_COLOR: 1
11
- runs-on: ubuntu-latest
12
-
13
- steps:
14
- - uses: live627/check-pr-signoff-action@v1
15
- with:
16
- token: ${{ secrets.GITHUB_TOKEN }}
@@ -1,34 +0,0 @@
1
- name: Slack Post
2
- on:
3
- workflow_dispatch: # Manual trigger
4
- inputs:
5
- github_ref:
6
- description: 'Manually provided value for GITHUB_RELEASE_TAG of a release'
7
- required: true
8
- type: string
9
-
10
- # https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#release
11
- release:
12
- types: [published]
13
- jobs:
14
- build:
15
- name: Slack Post
16
- runs-on: ubuntu-latest
17
- steps:
18
- - name: 'Checkout the needed file only ./bin/announce_release_on_slack.py'
19
- uses: actions/checkout@v3
20
- - run: |
21
- if [[ ${{ github.event_name == 'workflow_dispatch' }} == true ]]; then
22
- export GITHUB_RELEASE_TAG=${{ inputs.github_ref }}
23
- else # release event
24
- export GITHUB_RELEASE_TAG=$(basename ${GITHUB_REF})
25
- fi
26
- echo "New release published ${GITHUB_RELEASE_TAG}"
27
- pip3 install PyGithub
28
- echo $PWD
29
- ls -lah
30
- ./bin/announce_release_on_slack.py
31
- env:
32
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
33
- SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
34
- SLACK_CHANNEL_ID_RELEASES: ${{ secrets.SLACK_CHANNEL_ID_RELEASES }}
data/.gitignore DELETED
@@ -1,19 +0,0 @@
1
- /.bundle/
2
- /.yardoc
3
- /Gemfile.lock
4
- /_yardoc/
5
- /coverage/
6
- /doc/
7
- /pkg/
8
- /spec/reports/
9
- /tmp/
10
- /log/
11
- .ruby-version
12
- gemfiles/*.lock
13
- /test/tmp/*.pid
14
- .idea
15
- *.iml
16
- .DS_Store
17
- vendor/bundle
18
- gemfiles/vendor/bundle
19
- *.log
data/.rubocop.yml DELETED
@@ -1,34 +0,0 @@
1
- inherit_from: .rubocop_todo.yml
2
-
3
- require:
4
- - ./extras/license_header.rb
5
-
6
- # Remove when we remove .rubocop_todo.yml
7
- AllCops:
8
- NewCops: disable
9
-
10
- Metrics/PerceivedComplexity:
11
- Max: 20
12
-
13
- # Broken on 1.9
14
- Style/HashSyntax:
15
- Enabled: false
16
-
17
- Style/EvalWithLocation:
18
- Enabled: false
19
-
20
- Style/NilComparison:
21
- Enabled: false
22
-
23
- Style/SoleNestedConditional:
24
- Enabled: false
25
-
26
- # Ruby 2.1 compatibility
27
- Style/SafeNavigation:
28
- Enabled: false
29
-
30
- Style/SymbolProc:
31
- Enabled: false
32
-
33
- Style/MultilineBlockChain:
34
- Enabled: false