instana 1.209.0.pre1 → 1.209.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f5349214699526028c1dcda4a7ff88ee28e65632346bd76334907eb866a5eb28
4
- data.tar.gz: f8ac6535197f7b4c0a89cc2884e1969b870edc296eeef64d4f0374d6c16b5e75
3
+ metadata.gz: ca275f47709b4255569b5186403965bed6293102b9c34dc30755f7d3cc7a33c9
4
+ data.tar.gz: 56eb79fa0c68185f8a7f43ae9755ac9b1a61c1f25c7650ff2ddbe918db316557
5
5
  SHA512:
6
- metadata.gz: 5a834f90983c2940cb92c89416f413b328c33c3725c5f246b9a517b549c72e25e7b3369120a953750322e9d046246be61deff61ae5475f15351d82395a60853d
7
- data.tar.gz: a88302d0c05921f95f1f221ca6a23e437d0a4055a194a362eee77f21c2d68ba6d2b750695740f20c2508283786b6ba0fc6d686165fcce7c7eb1060b47fbca34f
6
+ metadata.gz: 4a6f08be4599024dd084e53cabf66f11199934a0fb45b7fdd7c6f1e0ba5c9557cd65317b3a16d20a32af5e4cb0824bc8f587aeaea8602b5bb3f18231996524e9
7
+ data.tar.gz: 1f58b30352fa3e2587f7ea3d1da40bb6a52c162a0756fff2618dd6dabe7574f87def126d9c3cf413fcd65096c9fc9c5fb76174840cb7c10db95b2aa19e83c051
data/.circleci/config.yml CHANGED
@@ -1,21 +1,6 @@
1
1
  version: 2.1
2
2
 
3
3
  executors:
4
- ruby_25:
5
- docker:
6
- - image: circleci/ruby:2.5-node
7
- environment:
8
- MEMCACHED_HOST: '127.0.0.1:11211'
9
- REDIS_URL: 'redis://127.0.0.1:6379'
10
- DATABASE_URL: 'sqlite3::memory:'
11
- - image: memcached
12
- - image: redis
13
- - image: circleci/dynamodb
14
- - image: minio/minio:latest
15
- command: ["server", "/data"]
16
- - image: s12v/sns
17
- - image: softwaremill/elasticmq-native
18
- - image: circleci/mongo:5-focal-ram
19
4
  ruby_26:
20
5
  docker:
21
6
  - image: circleci/ruby:2.6-node
@@ -46,19 +31,6 @@ executors:
46
31
  - image: s12v/sns
47
32
  - image: softwaremill/elasticmq-native
48
33
  - image: circleci/mongo:5-focal-ram
49
- ruby_25_mysql2:
50
- docker:
51
- - image: circleci/ruby:2.5-node
52
- environment:
53
- DATABASE_URL: "mysql2://root@127.0.0.1:3306/ci_test"
54
- - image: mariadb
55
- environment:
56
- MYSQL_DATABASE: 'ci_test'
57
- MYSQL_USER: 'root'
58
- MYSQL_PASSWORD: ''
59
- MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
60
- MYSQL_ROOT_PASSWORD: ''
61
- MYSQL_ROOT_HOST: '%'
62
34
  ruby_26_mysql2:
63
35
  docker:
64
36
  - image: circleci/ruby:2.6-node
@@ -85,15 +57,6 @@ executors:
85
57
  MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
86
58
  MYSQL_ROOT_PASSWORD: ''
87
59
  MYSQL_ROOT_HOST: '%'
88
- ruby_25_postgres:
89
- docker:
90
- - image: circleci/ruby:2.6-node
91
- environment:
92
- DATABASE_URL: "postgres://postgres:test@127.0.0.1:5432/ci_test"
93
- - image: postgres
94
- environment:
95
- POSTGRES_PASSWORD: 'test'
96
- POSTGRES_DB: 'ci_test'
97
60
  ruby_26_postgres:
98
61
  docker:
99
62
  - image: circleci/ruby:2.6-node
@@ -251,7 +214,6 @@ workflows:
251
214
  stack:
252
215
  - ruby_27
253
216
  - ruby_26
254
- - ruby_25
255
217
  libraries:
256
218
  jobs:
257
219
  - test_apprisal:
@@ -260,7 +222,6 @@ workflows:
260
222
  stack:
261
223
  - ruby_27
262
224
  - ruby_26
263
- - ruby_25
264
225
  gemfile:
265
226
  - "./gemfiles/aws_30.gemfile"
266
227
  - "./gemfiles/cuba_30.gemfile"
@@ -292,13 +253,10 @@ workflows:
292
253
  stack:
293
254
  - ruby_27
294
255
  - ruby_26
295
- - ruby_25
296
256
  - ruby_27_postgres
297
257
  - ruby_26_postgres
298
- - ruby_25_postgres
299
258
  - ruby_27_mysql2
300
259
  - ruby_26_mysql2
301
- - ruby_25_mysql2
302
260
  gemfile:
303
261
  - "./gemfiles/rails_60.gemfile"
304
262
  - "./gemfiles/rails_52.gemfile"
@@ -5,7 +5,7 @@ module Instana
5
5
  module Activators
6
6
  class Sinatra < Activator
7
7
  def can_instrument?
8
- defined?(::Instana::Rack) && defined?(::Sinatra)
8
+ defined?(::Instana::Rack) && defined?(::Sinatra) && defined?(::Sinatra::Base)
9
9
  end
10
10
 
11
11
  def instrument
@@ -34,6 +34,8 @@ module Instana
34
34
  raise DiscoveryError, "Discovery response was #{discovery_response.code} with `#{payload}`." unless discovery_response.ok?
35
35
 
36
36
  discovery = discovery_response.json
37
+ raise DiscoveryError, "Expected discovery to be a Hash, not a `#{discovery.class}`." unless discovery.is_a?(Hash)
38
+
37
39
  @logger.debug("Discovery complete (`#{discovery}`). Waiting for agent.")
38
40
  wait_for_backend(discovery['pid'])
39
41
  @logger.debug("Agent ready.")
data/lib/instana/base.rb CHANGED
@@ -38,5 +38,3 @@ module Instana
38
38
  end
39
39
  end
40
40
  end
41
-
42
- ::Instana.logger.info "Stan is on the scene. Starting Instana instrumentation version #{::Instana::VERSION}"
@@ -82,6 +82,9 @@ module Instana
82
82
  # @param limit [Integer] Limit the backtrace to the top <limit> frames
83
83
  #
84
84
  def add_stack(limit: 30, stack: Kernel.caller)
85
+ cleaner = ::Instana.config[:backtrace_cleaner]
86
+ stack = cleaner.call(stack) if cleaner
87
+
85
88
  @data[:stack] = stack
86
89
  .map do |call|
87
90
  file, line, *method = call.split(':')
@@ -2,6 +2,6 @@
2
2
  # (c) Copyright Instana Inc. 2016
3
3
 
4
4
  module Instana
5
- VERSION = "1.209.0.pre1"
5
+ VERSION = "1.209.1"
6
6
  VERSION_FULL = "instana-#{VERSION}"
7
7
  end
data/lib/instana.rb CHANGED
@@ -16,5 +16,7 @@ require 'instana/setup'
16
16
  unless ENV.fetch('INSTANA_DISABLE', false)
17
17
  ::Instana::Activator.start
18
18
  ::Instana.agent.spawn_background_thread
19
+
20
+ ::Instana.logger.info "Stan is on the scene. Starting Instana instrumentation version #{::Instana::VERSION}"
19
21
  end
20
22
  # :nocov:
@@ -12,6 +12,7 @@ class HostAgentActivationObserverTest < Minitest::Test
12
12
  stub_request(:put, "http://10.10.10.10:9292/com.instana.plugin.ruby.discovery")
13
13
  .and_timeout
14
14
  .and_return(status: 500, body: '{"ok": false}')
15
+ .and_return(status: 200, body: '[{"pid": 1234}]')
15
16
  .and_return(status: 200, body: '{"pid": 1234}')
16
17
 
17
18
  stub_request(:head, "http://10.10.10.10:9292/com.instana.plugin.ruby.1234")
@@ -63,6 +63,18 @@ class SpanTest < Minitest::Test
63
63
  Instana.config[:collect_backtraces] = false
64
64
  end
65
65
 
66
+ def test_span_backtrace_cleaner
67
+ Instana.config[:collect_backtraces] = true
68
+ Instana.config[:backtrace_cleaner] =
69
+ ->(trace) { trace.filter { |line| line.include?("lib/instana") } }
70
+ span = Instana::Span.new(:excon)
71
+
72
+ assert_equal 1, span[:stack].size
73
+ ensure
74
+ Instana.config[:backtrace_cleaner] = nil
75
+ Instana.config[:collect_backtraces] = false
76
+ end
77
+
66
78
  def test_span_stack_over_limit
67
79
  def inner(depth = 50, &blk) # rubocop:disable Lint/NestedMethodDefinition
68
80
  return blk.call if depth.zero?
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: instana
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.209.0.pre1
4
+ version: 1.209.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Giacomo Lombardo
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-12-21 00:00:00.000000000 Z
11
+ date: 2022-04-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -375,9 +375,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
375
375
  version: '2.1'
376
376
  required_rubygems_version: !ruby/object:Gem::Requirement
377
377
  requirements:
378
- - - ">"
378
+ - - ">="
379
379
  - !ruby/object:Gem::Version
380
- version: 1.3.1
380
+ version: '0'
381
381
  requirements: []
382
382
  rubygems_version: 3.1.6
383
383
  signing_key: