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.
- checksums.yaml +4 -4
- data/lib/instana/setup.rb +1 -0
- data/lib/instana/span_filtering/condition.rb +134 -0
- data/lib/instana/span_filtering/configuration.rb +262 -0
- data/lib/instana/span_filtering/filter_rule.rb +31 -0
- data/lib/instana/span_filtering.rb +62 -0
- data/lib/instana/trace/span.rb +5 -3
- data/lib/instana/version.rb +1 -1
- metadata +7 -258
- data/.circleci/config.yml +0 -361
- data/.codeclimate.yml +0 -23
- data/.editorconfig +0 -10
- data/.fasterer.yml +0 -23
- data/.github/ISSUE_TEMPLATE/bug.yml +0 -39
- data/.github/ISSUE_TEMPLATE/config.yml +0 -8
- data/.github/workflows/pr_commits_signed_off.yml +0 -16
- data/.github/workflows/release-notification-on-slack.yml +0 -34
- data/.gitignore +0 -19
- data/.rubocop.yml +0 -34
- data/.rubocop_todo.yml +0 -1140
- data/.tekton/.currency/docs/report.md +0 -20
- data/.tekton/.currency/resources/requirements.txt +0 -4
- data/.tekton/.currency/resources/table.json +0 -100
- data/.tekton/.currency/scripts/generate_report.py +0 -308
- data/.tekton/README.md +0 -278
- data/.tekton/github-interceptor-secret.yaml +0 -8
- data/.tekton/github-pr-eventlistener.yaml +0 -104
- data/.tekton/github-pr-pipeline.yaml.part +0 -38
- data/.tekton/github-set-status-task.yaml +0 -43
- data/.tekton/github-webhook-ingress.yaml +0 -20
- data/.tekton/pipeline.yaml +0 -484
- data/.tekton/pipelinerun.yaml +0 -21
- data/.tekton/prepuller-restart-service-account.yaml +0 -31
- data/.tekton/ruby-tracer-prepuller-cronjob.yaml +0 -20
- data/.tekton/ruby-tracer-prepuller.yaml +0 -88
- data/.tekton/run_unittests.sh +0 -87
- data/.tekton/scheduled-eventlistener.yaml +0 -108
- data/.tekton/task.yaml +0 -453
- data/.tekton/tekton-triggers-eventlistener-serviceaccount.yaml +0 -29
- data/Appraisals +0 -124
- data/CONTRIBUTING.md +0 -86
- data/Gemfile +0 -22
- data/LICENSE +0 -22
- data/MAINTAINERS.md +0 -3
- data/Rakefile +0 -49
- data/bin/announce_release_on_slack.py +0 -103
- data/docker-compose.yml +0 -20
- data/download.sh +0 -85
- data/examples/otel.rb +0 -98
- data/examples/tracing.rb +0 -85
- data/extras/license_header.rb +0 -44
- data/gemfiles/.bundle/config +0 -2
- data/gemfiles/aws_30.gemfile +0 -21
- data/gemfiles/aws_60.gemfile +0 -16
- data/gemfiles/cuba_30.gemfile +0 -16
- data/gemfiles/cuba_40.gemfile +0 -13
- data/gemfiles/dalli_20.gemfile +0 -15
- data/gemfiles/dalli_30.gemfile +0 -12
- data/gemfiles/dalli_32.gemfile +0 -12
- data/gemfiles/excon_0100.gemfile +0 -14
- data/gemfiles/excon_021.gemfile +0 -17
- data/gemfiles/excon_079.gemfile +0 -17
- data/gemfiles/excon_100.gemfile +0 -14
- data/gemfiles/graphql_10.gemfile +0 -16
- data/gemfiles/graphql_20.gemfile +0 -15
- data/gemfiles/grpc_10.gemfile +0 -15
- data/gemfiles/mongo_216.gemfile +0 -15
- data/gemfiles/mongo_219.gemfile +0 -12
- data/gemfiles/net_http_01.gemfile +0 -17
- data/gemfiles/rack_16.gemfile +0 -15
- data/gemfiles/rack_20.gemfile +0 -15
- data/gemfiles/rack_30.gemfile +0 -13
- data/gemfiles/rails_42.gemfile +0 -18
- data/gemfiles/rails_50.gemfile +0 -19
- data/gemfiles/rails_52.gemfile +0 -19
- data/gemfiles/rails_60.gemfile +0 -19
- data/gemfiles/rails_61.gemfile +0 -21
- data/gemfiles/rails_70.gemfile +0 -18
- data/gemfiles/rails_71.gemfile +0 -17
- data/gemfiles/rails_80.gemfile +0 -17
- data/gemfiles/redis_40.gemfile +0 -15
- data/gemfiles/redis_50.gemfile +0 -13
- data/gemfiles/redis_51.gemfile +0 -13
- data/gemfiles/resque_122.gemfile +0 -16
- data/gemfiles/resque_1274_3scale.gemfile +0 -17
- data/gemfiles/resque_20.gemfile +0 -16
- data/gemfiles/rest_client_16.gemfile +0 -17
- data/gemfiles/rest_client_20.gemfile +0 -17
- data/gemfiles/roda_20.gemfile +0 -16
- data/gemfiles/roda_30.gemfile +0 -16
- data/gemfiles/rubocop_162.gemfile +0 -6
- data/gemfiles/sequel_56.gemfile +0 -16
- data/gemfiles/sequel_57.gemfile +0 -16
- data/gemfiles/sequel_58.gemfile +0 -16
- data/gemfiles/shoryuken_50.gemfile +0 -16
- data/gemfiles/shoryuken_60.gemfile +0 -13
- data/gemfiles/sidekiq_42.gemfile +0 -15
- data/gemfiles/sidekiq_50.gemfile +0 -15
- data/gemfiles/sidekiq_60.gemfile +0 -12
- data/gemfiles/sidekiq_65.gemfile +0 -12
- data/gemfiles/sidekiq_70.gemfile +0 -12
- data/gemfiles/sinatra_14.gemfile +0 -15
- data/gemfiles/sinatra_22.gemfile +0 -12
- data/gemfiles/sinatra_30.gemfile +0 -12
- data/gemfiles/sinatra_40.gemfile +0 -12
- data/instana.gemspec +0 -53
- data/log/.keep +0 -0
- data/sonar-project.properties +0 -9
- data/test/activator_test.rb +0 -50
- data/test/backend/agent_test.rb +0 -80
- data/test/backend/gc_snapshot_test.rb +0 -11
- data/test/backend/host_agent_activation_observer_test.rb +0 -73
- data/test/backend/host_agent_lookup_test.rb +0 -78
- data/test/backend/host_agent_reporting_observer_test.rb +0 -276
- data/test/backend/host_agent_test.rb +0 -89
- data/test/backend/process_info_test.rb +0 -83
- data/test/backend/request_client_test.rb +0 -39
- data/test/backend/serverless_agent_test.rb +0 -83
- data/test/benchmarks/bench_id_generation.rb +0 -15
- data/test/benchmarks/bench_opentracing.rb +0 -16
- data/test/config_test.rb +0 -34
- data/test/frameworks/cuba_test.rb +0 -61
- data/test/frameworks/roda_test.rb +0 -60
- data/test/frameworks/sinatra_test.rb +0 -71
- data/test/instana_test.rb +0 -37
- data/test/instrumentation/aws_test.rb +0 -241
- data/test/instrumentation/dalli_test.rb +0 -325
- data/test/instrumentation/excon_test.rb +0 -204
- data/test/instrumentation/graphql_test.rb +0 -289
- data/test/instrumentation/grpc_test.rb +0 -420
- data/test/instrumentation/mongo_test.rb +0 -68
- data/test/instrumentation/net_http_test.rb +0 -220
- data/test/instrumentation/rack_instrumented_request_test.rb +0 -211
- data/test/instrumentation/rack_test.rb +0 -415
- data/test/instrumentation/rails_action_cable_test.rb +0 -135
- data/test/instrumentation/rails_action_controller_test.rb +0 -218
- data/test/instrumentation/rails_action_mailer_test.rb +0 -66
- data/test/instrumentation/rails_action_view_test.rb +0 -154
- data/test/instrumentation/rails_active_job_test.rb +0 -65
- data/test/instrumentation/rails_active_record_database_missing_test.rb +0 -44
- data/test/instrumentation/rails_active_record_test.rb +0 -116
- data/test/instrumentation/redis_test.rb +0 -152
- data/test/instrumentation/resque_test.rb +0 -188
- data/test/instrumentation/rest_client_test.rb +0 -106
- data/test/instrumentation/sequel_test.rb +0 -111
- data/test/instrumentation/shoryuken_test.rb +0 -47
- data/test/instrumentation/sidekiq-client_test.rb +0 -169
- data/test/instrumentation/sidekiq-worker_test.rb +0 -180
- data/test/secrets_test.rb +0 -112
- data/test/serverless_test.rb +0 -369
- data/test/snapshot/deltable_test.rb +0 -17
- data/test/snapshot/docker_container_test.rb +0 -82
- data/test/snapshot/fargate_container_test.rb +0 -82
- data/test/snapshot/fargate_process_test.rb +0 -35
- data/test/snapshot/fargate_task_test.rb +0 -49
- data/test/snapshot/google_cloud_run_instance_test.rb +0 -74
- data/test/snapshot/google_cloud_run_process_test.rb +0 -33
- data/test/snapshot/lambda_function_test.rb +0 -37
- data/test/snapshot/ruby_process_test.rb +0 -32
- data/test/support/apps/active_record/active_record.rb +0 -24
- data/test/support/apps/grpc/boot.rb +0 -23
- data/test/support/apps/grpc/grpc_server.rb +0 -84
- data/test/support/apps/http_endpoint/boot.rb +0 -28
- data/test/support/apps/rails/boot.rb +0 -219
- data/test/support/apps/rails/models/block.rb +0 -21
- data/test/support/apps/rails/models/block6.rb +0 -21
- data/test/support/apps/resque/boot.rb +0 -5
- data/test/support/apps/resque/jobs/resque_error_job.rb +0 -22
- data/test/support/apps/resque/jobs/resque_fast_job.rb +0 -23
- data/test/support/apps/sidekiq/boot.rb +0 -25
- data/test/support/apps/sidekiq/jobs/sidekiq_job_1.rb +0 -9
- data/test/support/apps/sidekiq/jobs/sidekiq_job_2.rb +0 -10
- data/test/support/apps/sidekiq/worker.rb +0 -37
- data/test/support/helpers.rb +0 -85
- data/test/support/mock_timer.rb +0 -20
- data/test/test_helper.rb +0 -69
- data/test/trace/custom_test.rb +0 -233
- data/test/trace/id_management_test.rb +0 -78
- data/test/trace/instrumented_logger_test.rb +0 -39
- data/test/trace/processor_test.rb +0 -58
- data/test/trace/span_context_test.rb +0 -22
- data/test/trace/span_test.rb +0 -179
- data/test/trace/tracer_async_test.rb +0 -243
- data/test/trace/tracer_provider_test.rb +0 -148
- data/test/trace/tracer_test.rb +0 -363
- data/test/util_test.rb +0 -10
data/gemfiles/resque_122.gemfile
DELETED
@@ -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: "../"
|
data/gemfiles/resque_20.gemfile
DELETED
@@ -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: "../"
|
data/gemfiles/roda_20.gemfile
DELETED
@@ -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: "../"
|
data/gemfiles/roda_30.gemfile
DELETED
@@ -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: "../"
|
data/gemfiles/sequel_56.gemfile
DELETED
@@ -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: "../"
|
data/gemfiles/sequel_57.gemfile
DELETED
@@ -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: "../"
|
data/gemfiles/sequel_58.gemfile
DELETED
@@ -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: "../"
|
data/gemfiles/sidekiq_42.gemfile
DELETED
@@ -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: "../"
|
data/gemfiles/sidekiq_50.gemfile
DELETED
@@ -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: "../"
|
data/gemfiles/sidekiq_60.gemfile
DELETED
data/gemfiles/sidekiq_65.gemfile
DELETED
data/gemfiles/sidekiq_70.gemfile
DELETED
data/gemfiles/sinatra_14.gemfile
DELETED
@@ -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: "../"
|
data/gemfiles/sinatra_22.gemfile
DELETED
data/gemfiles/sinatra_30.gemfile
DELETED
data/gemfiles/sinatra_40.gemfile
DELETED
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
|
data/sonar-project.properties
DELETED
@@ -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/
|
data/test/activator_test.rb
DELETED
@@ -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
|
data/test/backend/agent_test.rb
DELETED
@@ -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,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
|