instana 2.0.0 → 2.2.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 (192) hide show
  1. checksums.yaml +4 -4
  2. data/lib/instana/instrumentation/instrumented_request.rb +2 -0
  3. data/lib/instana/instrumentation/net-http.rb +2 -1
  4. data/lib/instana/instrumentation/rack.rb +86 -66
  5. data/lib/instana/setup.rb +1 -0
  6. data/lib/instana/span_filtering/condition.rb +134 -0
  7. data/lib/instana/span_filtering/configuration.rb +262 -0
  8. data/lib/instana/span_filtering/filter_rule.rb +31 -0
  9. data/lib/instana/span_filtering.rb +62 -0
  10. data/lib/instana/trace/span.rb +5 -3
  11. data/lib/instana/trace/span_context.rb +10 -2
  12. data/lib/instana/trace/tracer.rb +0 -21
  13. data/lib/instana/util.rb +13 -0
  14. data/lib/instana/version.rb +1 -1
  15. metadata +7 -258
  16. data/.circleci/config.yml +0 -361
  17. data/.codeclimate.yml +0 -23
  18. data/.editorconfig +0 -10
  19. data/.fasterer.yml +0 -23
  20. data/.github/ISSUE_TEMPLATE/bug.yml +0 -39
  21. data/.github/ISSUE_TEMPLATE/config.yml +0 -8
  22. data/.github/workflows/pr_commits_signed_off.yml +0 -16
  23. data/.github/workflows/release-notification-on-slack.yml +0 -34
  24. data/.gitignore +0 -19
  25. data/.rubocop.yml +0 -34
  26. data/.rubocop_todo.yml +0 -1140
  27. data/.tekton/.currency/docs/report.md +0 -20
  28. data/.tekton/.currency/resources/requirements.txt +0 -4
  29. data/.tekton/.currency/resources/table.json +0 -100
  30. data/.tekton/.currency/scripts/generate_report.py +0 -308
  31. data/.tekton/README.md +0 -278
  32. data/.tekton/github-interceptor-secret.yaml +0 -8
  33. data/.tekton/github-pr-eventlistener.yaml +0 -104
  34. data/.tekton/github-pr-pipeline.yaml.part +0 -38
  35. data/.tekton/github-set-status-task.yaml +0 -43
  36. data/.tekton/github-webhook-ingress.yaml +0 -20
  37. data/.tekton/pipeline.yaml +0 -484
  38. data/.tekton/pipelinerun.yaml +0 -21
  39. data/.tekton/prepuller-restart-service-account.yaml +0 -31
  40. data/.tekton/ruby-tracer-prepuller-cronjob.yaml +0 -20
  41. data/.tekton/ruby-tracer-prepuller.yaml +0 -88
  42. data/.tekton/run_unittests.sh +0 -87
  43. data/.tekton/scheduled-eventlistener.yaml +0 -108
  44. data/.tekton/task.yaml +0 -453
  45. data/.tekton/tekton-triggers-eventlistener-serviceaccount.yaml +0 -29
  46. data/Appraisals +0 -124
  47. data/CONTRIBUTING.md +0 -86
  48. data/Gemfile +0 -22
  49. data/LICENSE +0 -22
  50. data/MAINTAINERS.md +0 -3
  51. data/Rakefile +0 -49
  52. data/bin/announce_release_on_slack.py +0 -103
  53. data/docker-compose.yml +0 -20
  54. data/download.sh +0 -85
  55. data/examples/otel.rb +0 -98
  56. data/examples/tracing.rb +0 -85
  57. data/extras/license_header.rb +0 -44
  58. data/gemfiles/.bundle/config +0 -2
  59. data/gemfiles/aws_30.gemfile +0 -21
  60. data/gemfiles/aws_60.gemfile +0 -16
  61. data/gemfiles/cuba_30.gemfile +0 -16
  62. data/gemfiles/cuba_40.gemfile +0 -13
  63. data/gemfiles/dalli_20.gemfile +0 -15
  64. data/gemfiles/dalli_30.gemfile +0 -12
  65. data/gemfiles/dalli_32.gemfile +0 -12
  66. data/gemfiles/excon_0100.gemfile +0 -14
  67. data/gemfiles/excon_021.gemfile +0 -17
  68. data/gemfiles/excon_079.gemfile +0 -17
  69. data/gemfiles/excon_100.gemfile +0 -14
  70. data/gemfiles/graphql_10.gemfile +0 -16
  71. data/gemfiles/graphql_20.gemfile +0 -15
  72. data/gemfiles/grpc_10.gemfile +0 -15
  73. data/gemfiles/mongo_216.gemfile +0 -15
  74. data/gemfiles/mongo_219.gemfile +0 -12
  75. data/gemfiles/net_http_01.gemfile +0 -17
  76. data/gemfiles/rack_16.gemfile +0 -15
  77. data/gemfiles/rack_20.gemfile +0 -15
  78. data/gemfiles/rack_30.gemfile +0 -13
  79. data/gemfiles/rails_42.gemfile +0 -18
  80. data/gemfiles/rails_50.gemfile +0 -19
  81. data/gemfiles/rails_52.gemfile +0 -19
  82. data/gemfiles/rails_60.gemfile +0 -19
  83. data/gemfiles/rails_61.gemfile +0 -21
  84. data/gemfiles/rails_70.gemfile +0 -18
  85. data/gemfiles/rails_71.gemfile +0 -17
  86. data/gemfiles/rails_80.gemfile +0 -17
  87. data/gemfiles/redis_40.gemfile +0 -15
  88. data/gemfiles/redis_50.gemfile +0 -13
  89. data/gemfiles/redis_51.gemfile +0 -13
  90. data/gemfiles/resque_122.gemfile +0 -16
  91. data/gemfiles/resque_1274_3scale.gemfile +0 -17
  92. data/gemfiles/resque_20.gemfile +0 -16
  93. data/gemfiles/rest_client_16.gemfile +0 -17
  94. data/gemfiles/rest_client_20.gemfile +0 -17
  95. data/gemfiles/roda_20.gemfile +0 -16
  96. data/gemfiles/roda_30.gemfile +0 -16
  97. data/gemfiles/rubocop_162.gemfile +0 -6
  98. data/gemfiles/sequel_56.gemfile +0 -16
  99. data/gemfiles/sequel_57.gemfile +0 -16
  100. data/gemfiles/sequel_58.gemfile +0 -16
  101. data/gemfiles/shoryuken_50.gemfile +0 -16
  102. data/gemfiles/shoryuken_60.gemfile +0 -13
  103. data/gemfiles/sidekiq_42.gemfile +0 -15
  104. data/gemfiles/sidekiq_50.gemfile +0 -15
  105. data/gemfiles/sidekiq_60.gemfile +0 -12
  106. data/gemfiles/sidekiq_65.gemfile +0 -12
  107. data/gemfiles/sidekiq_70.gemfile +0 -12
  108. data/gemfiles/sinatra_14.gemfile +0 -15
  109. data/gemfiles/sinatra_22.gemfile +0 -12
  110. data/gemfiles/sinatra_30.gemfile +0 -12
  111. data/gemfiles/sinatra_40.gemfile +0 -12
  112. data/instana.gemspec +0 -53
  113. data/log/.keep +0 -0
  114. data/sonar-project.properties +0 -9
  115. data/test/activator_test.rb +0 -50
  116. data/test/backend/agent_test.rb +0 -80
  117. data/test/backend/gc_snapshot_test.rb +0 -11
  118. data/test/backend/host_agent_activation_observer_test.rb +0 -73
  119. data/test/backend/host_agent_lookup_test.rb +0 -78
  120. data/test/backend/host_agent_reporting_observer_test.rb +0 -276
  121. data/test/backend/host_agent_test.rb +0 -89
  122. data/test/backend/process_info_test.rb +0 -83
  123. data/test/backend/request_client_test.rb +0 -39
  124. data/test/backend/serverless_agent_test.rb +0 -83
  125. data/test/benchmarks/bench_id_generation.rb +0 -15
  126. data/test/benchmarks/bench_opentracing.rb +0 -16
  127. data/test/config_test.rb +0 -34
  128. data/test/frameworks/cuba_test.rb +0 -61
  129. data/test/frameworks/roda_test.rb +0 -60
  130. data/test/frameworks/sinatra_test.rb +0 -71
  131. data/test/instana_test.rb +0 -37
  132. data/test/instrumentation/aws_test.rb +0 -241
  133. data/test/instrumentation/dalli_test.rb +0 -325
  134. data/test/instrumentation/excon_test.rb +0 -204
  135. data/test/instrumentation/graphql_test.rb +0 -289
  136. data/test/instrumentation/grpc_test.rb +0 -420
  137. data/test/instrumentation/mongo_test.rb +0 -68
  138. data/test/instrumentation/net_http_test.rb +0 -220
  139. data/test/instrumentation/rack_instrumented_request_test.rb +0 -211
  140. data/test/instrumentation/rack_test.rb +0 -415
  141. data/test/instrumentation/rails_action_cable_test.rb +0 -135
  142. data/test/instrumentation/rails_action_controller_test.rb +0 -218
  143. data/test/instrumentation/rails_action_mailer_test.rb +0 -66
  144. data/test/instrumentation/rails_action_view_test.rb +0 -154
  145. data/test/instrumentation/rails_active_job_test.rb +0 -65
  146. data/test/instrumentation/rails_active_record_database_missing_test.rb +0 -44
  147. data/test/instrumentation/rails_active_record_test.rb +0 -116
  148. data/test/instrumentation/redis_test.rb +0 -152
  149. data/test/instrumentation/resque_test.rb +0 -188
  150. data/test/instrumentation/rest_client_test.rb +0 -106
  151. data/test/instrumentation/sequel_test.rb +0 -111
  152. data/test/instrumentation/shoryuken_test.rb +0 -47
  153. data/test/instrumentation/sidekiq-client_test.rb +0 -169
  154. data/test/instrumentation/sidekiq-worker_test.rb +0 -180
  155. data/test/secrets_test.rb +0 -112
  156. data/test/serverless_test.rb +0 -369
  157. data/test/snapshot/deltable_test.rb +0 -17
  158. data/test/snapshot/docker_container_test.rb +0 -82
  159. data/test/snapshot/fargate_container_test.rb +0 -82
  160. data/test/snapshot/fargate_process_test.rb +0 -35
  161. data/test/snapshot/fargate_task_test.rb +0 -49
  162. data/test/snapshot/google_cloud_run_instance_test.rb +0 -74
  163. data/test/snapshot/google_cloud_run_process_test.rb +0 -33
  164. data/test/snapshot/lambda_function_test.rb +0 -37
  165. data/test/snapshot/ruby_process_test.rb +0 -32
  166. data/test/support/apps/active_record/active_record.rb +0 -24
  167. data/test/support/apps/grpc/boot.rb +0 -23
  168. data/test/support/apps/grpc/grpc_server.rb +0 -84
  169. data/test/support/apps/http_endpoint/boot.rb +0 -28
  170. data/test/support/apps/rails/boot.rb +0 -219
  171. data/test/support/apps/rails/models/block.rb +0 -21
  172. data/test/support/apps/rails/models/block6.rb +0 -21
  173. data/test/support/apps/resque/boot.rb +0 -5
  174. data/test/support/apps/resque/jobs/resque_error_job.rb +0 -22
  175. data/test/support/apps/resque/jobs/resque_fast_job.rb +0 -23
  176. data/test/support/apps/sidekiq/boot.rb +0 -25
  177. data/test/support/apps/sidekiq/jobs/sidekiq_job_1.rb +0 -9
  178. data/test/support/apps/sidekiq/jobs/sidekiq_job_2.rb +0 -10
  179. data/test/support/apps/sidekiq/worker.rb +0 -37
  180. data/test/support/helpers.rb +0 -85
  181. data/test/support/mock_timer.rb +0 -20
  182. data/test/test_helper.rb +0 -69
  183. data/test/trace/custom_test.rb +0 -233
  184. data/test/trace/id_management_test.rb +0 -78
  185. data/test/trace/instrumented_logger_test.rb +0 -39
  186. data/test/trace/processor_test.rb +0 -58
  187. data/test/trace/span_context_test.rb +0 -22
  188. data/test/trace/span_test.rb +0 -179
  189. data/test/trace/tracer_async_test.rb +0 -243
  190. data/test/trace/tracer_provider_test.rb +0 -148
  191. data/test/trace/tracer_test.rb +0 -363
  192. data/test/util_test.rb +0 -10
@@ -1,16 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- # (c) Copyright IBM Corp. 2021
4
- # (c) Copyright Instana Inc. 2021
5
-
6
- source "https://rubygems.org"
7
-
8
- gem "minitest-reporters"
9
- gem "webmock"
10
- gem "puma"
11
- gem "rack-test"
12
- gem "simplecov", "~> 0.21.2"
13
- gem "resque", ">= 1.22", "< 2.0"
14
- gem "redis", "~> 3.3", ">= 3.3.5"
15
-
16
- gemspec path: "../"
@@ -1,17 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- # (c) Copyright IBM Corp. 2021
4
- # (c) Copyright Instana Inc. 2021
5
-
6
- source "https://rubygems.org"
7
-
8
- gem "debug"
9
- gem "minitest-reporters"
10
- gem "webmock"
11
- gem "puma"
12
- gem "rack-test"
13
- gem "simplecov", "~> 0.21.2"
14
- gem "resque", :git => "https://github.com/3scale/resque.git", :ref => "db327e389cf2fc572a503c47b19871ed899356d1"
15
- gem "redis", "~> 3.3", ">= 3.3.5"
16
-
17
- gemspec path: "../"
@@ -1,16 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- # (c) Copyright IBM Corp. 2021
4
- # (c) Copyright Instana Inc. 2021
5
-
6
- source "https://rubygems.org"
7
-
8
- gem "redis", "< 5.0.0"
9
- gem "minitest-reporters"
10
- gem "webmock"
11
- gem "puma"
12
- gem "rack-test"
13
- gem "simplecov", "~> 0.21.2"
14
- gem "resque", ">= 2.5.0"
15
-
16
- gemspec path: "../"
@@ -1,17 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- # (c) Copyright IBM Corp. 2021
4
- # (c) Copyright Instana Inc. 2021
5
-
6
- source "https://rubygems.org"
7
-
8
- gem "rack"
9
- gem "rackup"
10
- gem "minitest-reporters"
11
- gem "webmock"
12
- gem "puma"
13
- gem "rack-test"
14
- gem "simplecov", "~> 0.21.2"
15
- gem "rest-client", ">= 1.6", "< 2.0"
16
-
17
- gemspec path: "../"
@@ -1,17 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- # (c) Copyright IBM Corp. 2021
4
- # (c) Copyright Instana Inc. 2021
5
-
6
- source "https://rubygems.org"
7
-
8
- gem "rack"
9
- gem "rackup"
10
- gem "minitest-reporters"
11
- gem "webmock"
12
- gem "puma"
13
- gem "rack-test"
14
- gem "simplecov", "~> 0.21.2"
15
- gem "rest-client", ">= 2.1.0", "< 3.0"
16
-
17
- gemspec path: "../"
@@ -1,16 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- # (c) Copyright IBM Corp. 2021
4
- # (c) Copyright Instana Inc. 2021
5
-
6
- source "https://rubygems.org"
7
-
8
- gem "rack", "<3.0.0"
9
- gem "minitest-reporters"
10
- gem "webmock"
11
- gem "puma"
12
- gem "rack-test"
13
- gem "simplecov", "~> 0.21.2"
14
- gem "roda", ">= 2.0", "< 3.0"
15
-
16
- gemspec path: "../"
@@ -1,16 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- # (c) Copyright IBM Corp. 2021
4
- # (c) Copyright Instana Inc. 2021
5
-
6
- source "https://rubygems.org"
7
-
8
- gem "rack", "<3.0.0"
9
- gem "minitest-reporters"
10
- gem "webmock"
11
- gem "puma"
12
- gem "rack-test"
13
- gem "simplecov", "~> 0.21.2"
14
- gem "roda", ">= 3.69.0"
15
-
16
- gemspec path: "../"
@@ -1,6 +0,0 @@
1
- # (c) Copyright IBM Corp. 2021
2
- # (c) Copyright Instana Inc. 2016
3
-
4
- source 'https://rubygems.org'
5
-
6
- gem 'rubocop', ">= 1.62.1"
@@ -1,16 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- # (c) Copyright IBM Corp. 2024
4
-
5
- source "https://rubygems.org"
6
-
7
- gem "minitest-reporters"
8
- gem "webmock"
9
- gem "puma"
10
- gem "rack-test"
11
- gem "simplecov", "~> 0.21.2"
12
- gem "sequel", "~> 5.60.0"
13
- gem "sqlite3", "~> 1.4"
14
- gem "mysql2", "0.5.5"
15
-
16
- gemspec path: "../"
@@ -1,16 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- # (c) Copyright IBM Corp. 2024
4
-
5
- source "https://rubygems.org"
6
-
7
- gem "minitest-reporters"
8
- gem "webmock"
9
- gem "puma"
10
- gem "rack-test"
11
- gem "simplecov", "~> 0.21.2"
12
- gem "sequel", "~> 5.70.0"
13
- gem "sqlite3", "~> 1.4"
14
- gem "mysql2", "0.5.5"
15
-
16
- gemspec path: "../"
@@ -1,16 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- # (c) Copyright IBM Corp. 2024
4
-
5
- source "https://rubygems.org"
6
-
7
- gem "minitest-reporters"
8
- gem "webmock"
9
- gem "puma"
10
- gem "rack-test"
11
- gem "simplecov", "~> 0.21.2"
12
- gem "sequel", ">= 5.80"
13
- gem "sqlite3", "~> 1.4"
14
- gem "mysql2", "0.5.5"
15
-
16
- gemspec path: "../"
@@ -1,16 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- # (c) Copyright IBM Corp. 2021
4
- # (c) Copyright Instana Inc. 2021
5
-
6
- source "https://rubygems.org"
7
-
8
- gem "minitest-reporters"
9
- gem "webmock"
10
- gem "puma"
11
- gem "rack-test"
12
- gem "simplecov", "~> 0.21.2"
13
- gem "shoryuken", ">= 5.2", "< 6.0"
14
- gem "aws-sdk-sqs", "~> 1.36"
15
-
16
- gemspec path: "../"
@@ -1,13 +0,0 @@
1
- # (c) Copyright IBM Corp. 2023
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "minitest-reporters"
6
- gem "webmock"
7
- gem "puma"
8
- gem "rack-test"
9
- gem "simplecov", "~> 0.21.2"
10
- gem "shoryuken", ">= 6.0"
11
- gem "aws-sdk-sqs", "~> 1.59"
12
-
13
- gemspec path: "../"
@@ -1,15 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- # (c) Copyright IBM Corp. 2021
4
- # (c) Copyright Instana Inc. 2021
5
-
6
- source "https://rubygems.org"
7
-
8
- gem "minitest-reporters"
9
- gem "webmock"
10
- gem "puma"
11
- gem "rack-test"
12
- gem "simplecov", "~> 0.21.2"
13
- gem "sidekiq", "~> 4.2.10"
14
-
15
- gemspec path: "../"
@@ -1,15 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- # (c) Copyright IBM Corp. 2021
4
- # (c) Copyright Instana Inc. 2021
5
-
6
- source "https://rubygems.org"
7
-
8
- gem "minitest-reporters"
9
- gem "webmock"
10
- gem "puma"
11
- gem "rack-test"
12
- gem "simplecov", "~> 0.21.2"
13
- gem "sidekiq", "< 6.0"
14
-
15
- gemspec path: "../"
@@ -1,12 +0,0 @@
1
- # (c) Copyright IBM Corp. 2023
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "minitest-reporters"
6
- gem "webmock"
7
- gem "puma"
8
- gem "rack-test"
9
- gem "simplecov", "~> 0.21.2"
10
- gem "sidekiq", ">= 6.0.0", "< 6.5.0"
11
-
12
- gemspec path: "../"
@@ -1,12 +0,0 @@
1
- # (c) Copyright IBM Corp. 2023
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "minitest-reporters"
6
- gem "webmock"
7
- gem "puma"
8
- gem "rack-test"
9
- gem "simplecov", "~> 0.21.2"
10
- gem "sidekiq", ">= 6.5.12", "< 7.0.0"
11
-
12
- gemspec path: "../"
@@ -1,12 +0,0 @@
1
- # (c) Copyright IBM Corp. 2023
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "minitest-reporters"
6
- gem "webmock"
7
- gem "puma"
8
- gem "rack-test"
9
- gem "simplecov", "~> 0.21.2"
10
- gem "sidekiq", ">= 7.2.0"
11
-
12
- gemspec path: "../"
@@ -1,15 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- # (c) Copyright IBM Corp. 2021
4
- # (c) Copyright Instana Inc. 2021
5
-
6
- source "https://rubygems.org"
7
-
8
- gem "minitest-reporters"
9
- gem "webmock"
10
- gem "puma"
11
- gem "rack-test"
12
- gem "simplecov", "~> 0.21.2"
13
- gem "sinatra", ">= 1.4.8", "< 2.0"
14
-
15
- gemspec path: "../"
@@ -1,12 +0,0 @@
1
- # (c) Copyright IBM Corp. 2023
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "minitest-reporters"
6
- gem "webmock"
7
- gem "puma"
8
- gem "rack-test"
9
- gem "simplecov", "~> 0.21.2"
10
- gem "sinatra", ">= 2.2.4", "< 3.0"
11
-
12
- gemspec path: "../"
@@ -1,12 +0,0 @@
1
- # (c) Copyright IBM Corp. 2023
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "minitest-reporters"
6
- gem "webmock"
7
- gem "puma"
8
- gem "rack-test"
9
- gem "simplecov", "~> 0.21.2"
10
- gem "sinatra", ">= 3.0.6", "< 4.0"
11
-
12
- gemspec path: "../"
@@ -1,12 +0,0 @@
1
- # (c) Copyright IBM Corp. 2023
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "minitest-reporters"
6
- gem "webmock"
7
- gem "puma"
8
- gem "rack-test"
9
- gem "simplecov", "~> 0.21.2"
10
- gem "sinatra", ">= 4.0.0"
11
-
12
- gemspec path: "../"
data/instana.gemspec DELETED
@@ -1,53 +0,0 @@
1
- # coding: utf-8
2
-
3
- # (c) Copyright IBM Corp. 2021
4
- # (c) Copyright Instana Inc. 2016
5
-
6
- lib = File.expand_path('../lib', __FILE__)
7
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
8
- require 'instana/version'
9
-
10
- Gem::Specification.new do |spec|
11
- spec.name = "instana"
12
- spec.version = Instana::VERSION
13
- spec.authors = ["Peter Giacomo Lombardo"]
14
- spec.email = ["pglombardo@gmail.com"]
15
-
16
- spec.summary = %q{Ruby Distributed Tracing & Metrics Sensor for Instana}
17
- spec.description = %q{The Instana gem is a zero configuration tool that will automatically collect key metrics and distributed traces from your Ruby processes. Just install and go.}
18
- spec.homepage = "https://www.instana.com/"
19
-
20
- spec.metadata = {
21
- "changelog_uri" => "https://github.com/instana/ruby-sensor/releases",
22
- "documentation_uri" => "https://docs.instana.io/ecosystem/ruby/",
23
- "homepage_uri" => "https://www.instana.com/",
24
- "source_code_uri" => "https://github.com/instana/ruby-sensor",
25
- }
26
-
27
- spec.licenses = ['MIT']
28
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test)/}) }
29
- spec.bindir = "exe"
30
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
31
- spec.require_paths = ["lib"]
32
- spec.test_files = Dir.glob("{test}/**/*.rb")
33
-
34
- spec.required_ruby_version = '>= 3.0'
35
- spec.platform = defined?(JRUBY_VERSION) ? 'java' : Gem::Platform::RUBY
36
-
37
- spec.add_development_dependency "bundler", "~> 2.0"
38
- spec.add_development_dependency "rake", "~> 12.0"
39
- spec.add_development_dependency "minitest", "~> 5.20"
40
- spec.add_development_dependency "appraisal"
41
- spec.add_development_dependency "fakefs"
42
- spec.add_development_dependency "irb"
43
- spec.add_development_dependency "benchmark"
44
-
45
- spec.add_runtime_dependency('base64', '>= 0.1')
46
- spec.add_runtime_dependency('logger')
47
- spec.add_runtime_dependency('concurrent-ruby', '>= 1.1')
48
- spec.add_runtime_dependency('csv', '>= 0.1')
49
- spec.add_runtime_dependency('sys-proctable', '>= 1.2.2')
50
- spec.add_runtime_dependency('opentelemetry-api', '~> 1.4')
51
- spec.add_runtime_dependency('opentelemetry-common')
52
- spec.add_runtime_dependency('oj', '>=3.0.11') unless RUBY_PLATFORM =~ /java/i
53
- end
data/log/.keep DELETED
File without changes
@@ -1,9 +0,0 @@
1
- sonar.projectKey=ruby-sensor
2
- sonar.sources=lib
3
- sonar.tests=test
4
- sonar.exclusions=_junit/*
5
- sonar.ruby.coverage.reportPaths=coverage/coverage.json
6
- sonar.links.homepage=https://github.com/instana/ruby-sensor/
7
- sonar.links.ci=https://circleci.com/gh/instana/ruby-sensor
8
- sonar.links.issue=https://github.com/instana/ruby-sensor/issues
9
- sonar.links.scm=https://github.com/instana/ruby-sensor/
@@ -1,50 +0,0 @@
1
- # (c) Copyright IBM Corp. 2021
2
- # (c) Copyright Instana Inc. 2021
3
-
4
- require 'test_helper'
5
-
6
- class ActivatorTest < Minitest::Test
7
- def test_start
8
- refute_nil Instana::Activator.trace_point
9
- assert Instana::Activator.trace_point.enabled?
10
- end
11
-
12
- def test_klass_call
13
- assert_equal [], Instana::Activator.call
14
- end
15
-
16
- def test_instance_call
17
- subject = Class.new(Instana::Activator) do
18
- def can_instrument?
19
- true
20
- end
21
-
22
- def instrument
23
- true
24
- end
25
- end
26
-
27
- assert_equal 1, Instana::Activator.call.length
28
- assert subject.call
29
- end
30
-
31
- def test_limited_activated_set
32
- ENV['INSTANA_ACTIVATE_SET'] = 'rack,rails'
33
- subject = activated_set
34
- assert_instance_of Set, subject
35
- assert_equal 2, subject.length
36
- assert_includes subject, 'rack'
37
- assert_includes subject, 'rails'
38
- ensure
39
- ENV.delete('INSTANA_ACTIVATE_SET')
40
- end
41
-
42
- def test_unlimited_activated_set
43
- ENV.delete('INSTANA_ACTIVATE_SET')
44
- subject = activated_set
45
- assert_instance_of Set, subject
46
- assert_equal 32, subject.length
47
- ensure
48
- ENV.delete('INSTANA_ACTIVATE_SET')
49
- end
50
- end
@@ -1,80 +0,0 @@
1
- # (c) Copyright IBM Corp. 2021
2
- # (c) Copyright Instana Inc. 2021
3
-
4
- require 'test_helper'
5
-
6
- class AgentTest < Minitest::Test
7
- def test_host
8
- subject = Instana::Backend::Agent.new
9
- assert_nil subject.delegate
10
- subject.setup
11
- assert subject.delegate.is_a?(Instana::Backend::HostAgent)
12
- end
13
-
14
- def test_fargate
15
- ENV['ECS_CONTAINER_METADATA_URI'] = 'https://10.10.10.10:9292/v3'
16
- ENV['INSTANA_ENDPOINT_URL'] = 'http://example.com'
17
-
18
- stub_request(:get, 'https://10.10.10.10:9292/v3/task')
19
- .to_return(status: 200, body: File.read('test/support/ecs/task.json'))
20
-
21
- subject = Instana::Backend::Agent.new(fargate_metadata_uri: 'https://10.10.10.10:9292/v3')
22
- assert_nil subject.delegate
23
- subject.setup
24
- assert subject.delegate.is_a?(Instana::Backend::ServerlessAgent)
25
- ensure
26
- ENV['INSTANA_ENDPOINT_URL'] = nil
27
- ENV['ECS_CONTAINER_METADATA_URI'] = nil
28
- end
29
-
30
- def test_fargate_error
31
- ENV['ECS_CONTAINER_METADATA_URI'] = 'https://10.10.10.10:9292/v3'
32
- ENV['INSTANA_ENDPOINT_URL'] = 'http://example.com'
33
-
34
- stub_request(:get, 'https://10.10.10.10:9292/v3/task')
35
- .to_return(status: 500)
36
-
37
- subject = Instana::Backend::Agent.new(logger: Logger.new('/dev/null'))
38
- assert_nil subject.delegate
39
- subject.setup
40
- assert subject.delegate.is_a?(Instana::Backend::ServerlessAgent)
41
- ensure
42
- ENV['INSTANA_ENDPOINT_URL'] = nil
43
- ENV['ECS_CONTAINER_METADATA_URI'] = nil
44
- end
45
-
46
- def test_lambda
47
- ENV['_HANDLER'] = 'TEST_FUNCTION'
48
- ENV['INSTANA_ENDPOINT_URL'] = 'http://example.com'
49
-
50
- subject = Instana::Backend::Agent.new
51
- assert_nil subject.delegate
52
- subject.setup
53
- assert subject.delegate.is_a?(Instana::Backend::ServerlessAgent)
54
- ensure
55
- ENV['_HANDLER'] = nil
56
- ENV['INSTANA_ENDPOINT_URL'] = nil
57
- end
58
-
59
- def test_google_cloud
60
- ENV['K_REVISION'] = 'TEST'
61
- ENV['INSTANA_ENDPOINT_URL'] = 'http://example.com'
62
-
63
- subject = Instana::Backend::Agent.new
64
- assert_nil subject.delegate
65
- subject.setup
66
- assert subject.delegate.is_a?(Instana::Backend::ServerlessAgent)
67
- ensure
68
- ENV['K_REVISION'] = nil
69
- ENV['INSTANA_ENDPOINT_URL'] = nil
70
- end
71
-
72
- def test_delegate_super
73
- subject = Instana::Backend::Agent.new
74
- assert_raises NoMethodError do
75
- subject.invalid
76
- end
77
-
78
- refute subject.respond_to?(:invalid)
79
- end
80
- end
@@ -1,11 +0,0 @@
1
- # (c) Copyright IBM Corp. 2021
2
- # (c) Copyright Instana Inc. 2021
3
-
4
- require 'test_helper'
5
-
6
- class GcSnapshotTest < Minitest::Test
7
- def test_report
8
- subject = Instana::Backend::GCSnapshot.instance
9
- assert subject.report.is_a?(Hash)
10
- end
11
- end
@@ -1,73 +0,0 @@
1
- # (c) Copyright IBM Corp. 2021
2
- # (c) Copyright Instana Inc. 2021
3
-
4
- require 'test_helper'
5
-
6
- class HostAgentActivationObserverTest < Minitest::Test
7
- def setup
8
- @socket_proc = ->(_c) { OpenStruct.new(fileno: 0) }
9
- end
10
-
11
- def test_standard_discovery
12
- stub_request(:put, "http://10.10.10.10:9292/com.instana.plugin.ruby.discovery")
13
- .and_timeout
14
- .and_return(status: 500, body: '{"ok": false}')
15
- .and_return(status: 200, body: '[{"pid": 1234}]')
16
- .and_return(status: 200, body: '{"pid": 1234}')
17
-
18
- stub_request(:head, "http://10.10.10.10:9292/com.instana.plugin.ruby.1234")
19
- .and_return(status: 500, body: '{"ok": false}')
20
- .and_return(status: 200, body: '{"ok": true}')
21
-
22
- client = Instana::Backend::RequestClient.new('10.10.10.10', 9292)
23
- discovery = Concurrent::Atom.new(nil)
24
-
25
- subject = Instana::Backend::HostAgentActivationObserver.new(client, discovery, wait_time: 0, logger: Logger.new('/dev/null'), max_wait_tries: 1, socket_proc: @socket_proc)
26
-
27
- subject.update(nil, nil, nil)
28
- assert_equal({'pid' => 1234}, discovery.value)
29
- end
30
-
31
- def test_linux_discovery
32
- stub_request(:put, "http://10.10.10.10:9292/com.instana.plugin.ruby.discovery")
33
- .and_return(status: 200, body: '{"pid": 1234}')
34
-
35
- stub_request(:head, "http://10.10.10.10:9292/com.instana.plugin.ruby.1234")
36
- .and_return(status: 200, body: '{"ok": true}')
37
-
38
- client = Instana::Backend::RequestClient.new('10.10.10.10', 9292)
39
- discovery = Concurrent::Atom.new(nil)
40
-
41
- subject = Instana::Backend::HostAgentActivationObserver.new(client, discovery, wait_time: 0, logger: Logger.new('/dev/null'), max_wait_tries: 1, socket_proc: @socket_proc)
42
-
43
- FakeFS.with_fresh do
44
- FakeFS::FileSystem.clone('test/support/proc', '/proc')
45
- FakeFS::FileSystem.clone('test/support/proc/0', "/proc/#{Process.pid}")
46
- Dir.mkdir('/proc/self/fd')
47
- File.symlink('/proc/self/sched', "/proc/self/fd/0")
48
-
49
- subject.update(nil, nil, nil)
50
- end
51
-
52
- assert_equal({'pid' => 1234}, discovery.value)
53
- end
54
-
55
- def test_discovery_standard_error
56
- client = Instana::Backend::RequestClient.new('10.10.10.10', 9292)
57
- discovery = Concurrent::Atom.new(nil)
58
-
59
- subject = Instana::Backend::HostAgentActivationObserver.new(client, discovery, wait_time: 0, logger: Logger.new('/dev/null'), proc_table: nil, socket_proc: @socket_proc)
60
-
61
- subject.update(nil, nil, nil)
62
- assert_nil discovery.value
63
- end
64
-
65
- def test_value_present
66
- client = Instana::Backend::RequestClient.new('10.10.10.10', 9292)
67
- discovery = Concurrent::Atom.new(nil)
68
-
69
- subject = Instana::Backend::HostAgentActivationObserver.new(client, discovery, socket_proc: @socket_proc)
70
- assert_nil subject.update(nil, nil, true)
71
- assert_nil discovery.value
72
- end
73
- end