instana 2.0.0 → 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 (186) hide show
  1. checksums.yaml +4 -4
  2. data/lib/instana/setup.rb +1 -0
  3. data/lib/instana/span_filtering/condition.rb +134 -0
  4. data/lib/instana/span_filtering/configuration.rb +262 -0
  5. data/lib/instana/span_filtering/filter_rule.rb +31 -0
  6. data/lib/instana/span_filtering.rb +62 -0
  7. data/lib/instana/trace/span.rb +5 -3
  8. data/lib/instana/version.rb +1 -1
  9. metadata +7 -258
  10. data/.circleci/config.yml +0 -361
  11. data/.codeclimate.yml +0 -23
  12. data/.editorconfig +0 -10
  13. data/.fasterer.yml +0 -23
  14. data/.github/ISSUE_TEMPLATE/bug.yml +0 -39
  15. data/.github/ISSUE_TEMPLATE/config.yml +0 -8
  16. data/.github/workflows/pr_commits_signed_off.yml +0 -16
  17. data/.github/workflows/release-notification-on-slack.yml +0 -34
  18. data/.gitignore +0 -19
  19. data/.rubocop.yml +0 -34
  20. data/.rubocop_todo.yml +0 -1140
  21. data/.tekton/.currency/docs/report.md +0 -20
  22. data/.tekton/.currency/resources/requirements.txt +0 -4
  23. data/.tekton/.currency/resources/table.json +0 -100
  24. data/.tekton/.currency/scripts/generate_report.py +0 -308
  25. data/.tekton/README.md +0 -278
  26. data/.tekton/github-interceptor-secret.yaml +0 -8
  27. data/.tekton/github-pr-eventlistener.yaml +0 -104
  28. data/.tekton/github-pr-pipeline.yaml.part +0 -38
  29. data/.tekton/github-set-status-task.yaml +0 -43
  30. data/.tekton/github-webhook-ingress.yaml +0 -20
  31. data/.tekton/pipeline.yaml +0 -484
  32. data/.tekton/pipelinerun.yaml +0 -21
  33. data/.tekton/prepuller-restart-service-account.yaml +0 -31
  34. data/.tekton/ruby-tracer-prepuller-cronjob.yaml +0 -20
  35. data/.tekton/ruby-tracer-prepuller.yaml +0 -88
  36. data/.tekton/run_unittests.sh +0 -87
  37. data/.tekton/scheduled-eventlistener.yaml +0 -108
  38. data/.tekton/task.yaml +0 -453
  39. data/.tekton/tekton-triggers-eventlistener-serviceaccount.yaml +0 -29
  40. data/Appraisals +0 -124
  41. data/CONTRIBUTING.md +0 -86
  42. data/Gemfile +0 -22
  43. data/LICENSE +0 -22
  44. data/MAINTAINERS.md +0 -3
  45. data/Rakefile +0 -49
  46. data/bin/announce_release_on_slack.py +0 -103
  47. data/docker-compose.yml +0 -20
  48. data/download.sh +0 -85
  49. data/examples/otel.rb +0 -98
  50. data/examples/tracing.rb +0 -85
  51. data/extras/license_header.rb +0 -44
  52. data/gemfiles/.bundle/config +0 -2
  53. data/gemfiles/aws_30.gemfile +0 -21
  54. data/gemfiles/aws_60.gemfile +0 -16
  55. data/gemfiles/cuba_30.gemfile +0 -16
  56. data/gemfiles/cuba_40.gemfile +0 -13
  57. data/gemfiles/dalli_20.gemfile +0 -15
  58. data/gemfiles/dalli_30.gemfile +0 -12
  59. data/gemfiles/dalli_32.gemfile +0 -12
  60. data/gemfiles/excon_0100.gemfile +0 -14
  61. data/gemfiles/excon_021.gemfile +0 -17
  62. data/gemfiles/excon_079.gemfile +0 -17
  63. data/gemfiles/excon_100.gemfile +0 -14
  64. data/gemfiles/graphql_10.gemfile +0 -16
  65. data/gemfiles/graphql_20.gemfile +0 -15
  66. data/gemfiles/grpc_10.gemfile +0 -15
  67. data/gemfiles/mongo_216.gemfile +0 -15
  68. data/gemfiles/mongo_219.gemfile +0 -12
  69. data/gemfiles/net_http_01.gemfile +0 -17
  70. data/gemfiles/rack_16.gemfile +0 -15
  71. data/gemfiles/rack_20.gemfile +0 -15
  72. data/gemfiles/rack_30.gemfile +0 -13
  73. data/gemfiles/rails_42.gemfile +0 -18
  74. data/gemfiles/rails_50.gemfile +0 -19
  75. data/gemfiles/rails_52.gemfile +0 -19
  76. data/gemfiles/rails_60.gemfile +0 -19
  77. data/gemfiles/rails_61.gemfile +0 -21
  78. data/gemfiles/rails_70.gemfile +0 -18
  79. data/gemfiles/rails_71.gemfile +0 -17
  80. data/gemfiles/rails_80.gemfile +0 -17
  81. data/gemfiles/redis_40.gemfile +0 -15
  82. data/gemfiles/redis_50.gemfile +0 -13
  83. data/gemfiles/redis_51.gemfile +0 -13
  84. data/gemfiles/resque_122.gemfile +0 -16
  85. data/gemfiles/resque_1274_3scale.gemfile +0 -17
  86. data/gemfiles/resque_20.gemfile +0 -16
  87. data/gemfiles/rest_client_16.gemfile +0 -17
  88. data/gemfiles/rest_client_20.gemfile +0 -17
  89. data/gemfiles/roda_20.gemfile +0 -16
  90. data/gemfiles/roda_30.gemfile +0 -16
  91. data/gemfiles/rubocop_162.gemfile +0 -6
  92. data/gemfiles/sequel_56.gemfile +0 -16
  93. data/gemfiles/sequel_57.gemfile +0 -16
  94. data/gemfiles/sequel_58.gemfile +0 -16
  95. data/gemfiles/shoryuken_50.gemfile +0 -16
  96. data/gemfiles/shoryuken_60.gemfile +0 -13
  97. data/gemfiles/sidekiq_42.gemfile +0 -15
  98. data/gemfiles/sidekiq_50.gemfile +0 -15
  99. data/gemfiles/sidekiq_60.gemfile +0 -12
  100. data/gemfiles/sidekiq_65.gemfile +0 -12
  101. data/gemfiles/sidekiq_70.gemfile +0 -12
  102. data/gemfiles/sinatra_14.gemfile +0 -15
  103. data/gemfiles/sinatra_22.gemfile +0 -12
  104. data/gemfiles/sinatra_30.gemfile +0 -12
  105. data/gemfiles/sinatra_40.gemfile +0 -12
  106. data/instana.gemspec +0 -53
  107. data/log/.keep +0 -0
  108. data/sonar-project.properties +0 -9
  109. data/test/activator_test.rb +0 -50
  110. data/test/backend/agent_test.rb +0 -80
  111. data/test/backend/gc_snapshot_test.rb +0 -11
  112. data/test/backend/host_agent_activation_observer_test.rb +0 -73
  113. data/test/backend/host_agent_lookup_test.rb +0 -78
  114. data/test/backend/host_agent_reporting_observer_test.rb +0 -276
  115. data/test/backend/host_agent_test.rb +0 -89
  116. data/test/backend/process_info_test.rb +0 -83
  117. data/test/backend/request_client_test.rb +0 -39
  118. data/test/backend/serverless_agent_test.rb +0 -83
  119. data/test/benchmarks/bench_id_generation.rb +0 -15
  120. data/test/benchmarks/bench_opentracing.rb +0 -16
  121. data/test/config_test.rb +0 -34
  122. data/test/frameworks/cuba_test.rb +0 -61
  123. data/test/frameworks/roda_test.rb +0 -60
  124. data/test/frameworks/sinatra_test.rb +0 -71
  125. data/test/instana_test.rb +0 -37
  126. data/test/instrumentation/aws_test.rb +0 -241
  127. data/test/instrumentation/dalli_test.rb +0 -325
  128. data/test/instrumentation/excon_test.rb +0 -204
  129. data/test/instrumentation/graphql_test.rb +0 -289
  130. data/test/instrumentation/grpc_test.rb +0 -420
  131. data/test/instrumentation/mongo_test.rb +0 -68
  132. data/test/instrumentation/net_http_test.rb +0 -220
  133. data/test/instrumentation/rack_instrumented_request_test.rb +0 -211
  134. data/test/instrumentation/rack_test.rb +0 -415
  135. data/test/instrumentation/rails_action_cable_test.rb +0 -135
  136. data/test/instrumentation/rails_action_controller_test.rb +0 -218
  137. data/test/instrumentation/rails_action_mailer_test.rb +0 -66
  138. data/test/instrumentation/rails_action_view_test.rb +0 -154
  139. data/test/instrumentation/rails_active_job_test.rb +0 -65
  140. data/test/instrumentation/rails_active_record_database_missing_test.rb +0 -44
  141. data/test/instrumentation/rails_active_record_test.rb +0 -116
  142. data/test/instrumentation/redis_test.rb +0 -152
  143. data/test/instrumentation/resque_test.rb +0 -188
  144. data/test/instrumentation/rest_client_test.rb +0 -106
  145. data/test/instrumentation/sequel_test.rb +0 -111
  146. data/test/instrumentation/shoryuken_test.rb +0 -47
  147. data/test/instrumentation/sidekiq-client_test.rb +0 -169
  148. data/test/instrumentation/sidekiq-worker_test.rb +0 -180
  149. data/test/secrets_test.rb +0 -112
  150. data/test/serverless_test.rb +0 -369
  151. data/test/snapshot/deltable_test.rb +0 -17
  152. data/test/snapshot/docker_container_test.rb +0 -82
  153. data/test/snapshot/fargate_container_test.rb +0 -82
  154. data/test/snapshot/fargate_process_test.rb +0 -35
  155. data/test/snapshot/fargate_task_test.rb +0 -49
  156. data/test/snapshot/google_cloud_run_instance_test.rb +0 -74
  157. data/test/snapshot/google_cloud_run_process_test.rb +0 -33
  158. data/test/snapshot/lambda_function_test.rb +0 -37
  159. data/test/snapshot/ruby_process_test.rb +0 -32
  160. data/test/support/apps/active_record/active_record.rb +0 -24
  161. data/test/support/apps/grpc/boot.rb +0 -23
  162. data/test/support/apps/grpc/grpc_server.rb +0 -84
  163. data/test/support/apps/http_endpoint/boot.rb +0 -28
  164. data/test/support/apps/rails/boot.rb +0 -219
  165. data/test/support/apps/rails/models/block.rb +0 -21
  166. data/test/support/apps/rails/models/block6.rb +0 -21
  167. data/test/support/apps/resque/boot.rb +0 -5
  168. data/test/support/apps/resque/jobs/resque_error_job.rb +0 -22
  169. data/test/support/apps/resque/jobs/resque_fast_job.rb +0 -23
  170. data/test/support/apps/sidekiq/boot.rb +0 -25
  171. data/test/support/apps/sidekiq/jobs/sidekiq_job_1.rb +0 -9
  172. data/test/support/apps/sidekiq/jobs/sidekiq_job_2.rb +0 -10
  173. data/test/support/apps/sidekiq/worker.rb +0 -37
  174. data/test/support/helpers.rb +0 -85
  175. data/test/support/mock_timer.rb +0 -20
  176. data/test/test_helper.rb +0 -69
  177. data/test/trace/custom_test.rb +0 -233
  178. data/test/trace/id_management_test.rb +0 -78
  179. data/test/trace/instrumented_logger_test.rb +0 -39
  180. data/test/trace/processor_test.rb +0 -58
  181. data/test/trace/span_context_test.rb +0 -22
  182. data/test/trace/span_test.rb +0 -179
  183. data/test/trace/tracer_async_test.rb +0 -243
  184. data/test/trace/tracer_provider_test.rb +0 -148
  185. data/test/trace/tracer_test.rb +0 -363
  186. 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