instana 1.10.0 → 1.10.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +4 -4
- data/benchmarks/Gemfile +0 -4
- data/instana.gemspec +7 -5
- data/lib/instana/agent.rb +2 -3
- data/lib/instana/frameworks/instrumentation/abstract_mysql_adapter.rb +4 -1
- data/lib/instana/frameworks/instrumentation/active_record.rb +4 -5
- data/lib/instana/setup.rb +6 -1
- data/lib/instana/version.rb +1 -1
- data/lib/oj_check.rb +16 -0
- data/test/agent/agent_test.rb +4 -1
- data/test/benchmarks/bench_id_generation.rb +1 -0
- metadata +11 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c4db47f5122c6e0eaf7bad00a6d957c61d24b02388f6825bbca0a12ebd7f66f2
|
4
|
+
data.tar.gz: 27789ad51f9da00b7e36e9133aca998cf3afd2e8558906042f0fe6c315c5eaaa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 909a3eddcc3c749c7e307fb6ec6c8e6a1b8bc5f0005d3c97cbe5e61958e05de6a69103581709503587ab5482069c24400ab1ac90ea246ac4f6aa2946b6967513
|
7
|
+
data.tar.gz: 2452014812a75f56ad53921db3d0c4c55b8a6f22f4bb063d79b77bb56b975411d671db4378e693fbd1e69f664b8ffb7f44cc6a8a109af0c1aa9659af6b084929
|
data/Gemfile
CHANGED
@@ -21,16 +21,16 @@ end
|
|
21
21
|
group :development do
|
22
22
|
gem 'ruby-debug', :platforms => [:mri_18, :jruby]
|
23
23
|
gem 'debugger', :platform => :mri_19
|
24
|
-
gem 'stackprof'
|
24
|
+
gem 'stackprof', :platform => [:mri_19, :mri_20]
|
25
25
|
|
26
26
|
if RUBY_VERSION > '1.8.7'
|
27
27
|
gem 'pry'
|
28
28
|
|
29
29
|
if RUBY_VERSION < '2.2'
|
30
|
-
gem 'byebug', '< 9.1.0'
|
31
|
-
gem 'pry-byebug'
|
30
|
+
gem 'byebug', '< 9.1.0', :platform => [:mri_19, :mri_20]
|
31
|
+
gem 'pry-byebug', :platform => [:mri_19, :mri_20]
|
32
32
|
else
|
33
|
-
gem 'pry-byebug'
|
33
|
+
gem 'pry-byebug', :platform => [:mri_19, :mri_20]
|
34
34
|
end
|
35
35
|
else
|
36
36
|
gem 'pry', '0.9.12.4'
|
data/benchmarks/Gemfile
CHANGED
data/instana.gemspec
CHANGED
@@ -26,16 +26,18 @@ Gem::Specification.new do |spec|
|
|
26
26
|
spec.add_development_dependency "bundler", "~> 2.0"
|
27
27
|
spec.add_development_dependency "rake", "~> 10.0"
|
28
28
|
spec.add_development_dependency "minitest", "~> 5.0"
|
29
|
+
spec.add_development_dependency('pry', '>= 0.10.0')
|
29
30
|
|
30
31
|
# Development debugging
|
31
|
-
|
32
|
-
|
33
|
-
|
32
|
+
unless RUBY_PLATFORM =~ /java/i
|
33
|
+
spec.add_development_dependency('byebug', '>= 8.0.0')
|
34
|
+
spec.add_development_dependency('pry-byebug', '>= 3.0.0')
|
35
|
+
end
|
34
36
|
|
35
|
-
spec.add_runtime_dependency('sys-proctable', '>=
|
37
|
+
spec.add_runtime_dependency('sys-proctable', '>= 1.2.2')
|
36
38
|
spec.add_runtime_dependency('get_process_mem', '>= 0.2.1')
|
37
39
|
spec.add_runtime_dependency('timers', '>= 4.0.0')
|
38
|
-
spec.add_runtime_dependency('oj', '>=3.0.11')
|
40
|
+
spec.add_runtime_dependency('oj', '>=3.0.11') unless RUBY_PLATFORM =~ /java/i
|
39
41
|
|
40
42
|
# Indirect dependency
|
41
43
|
# https://github.com/instana/ruby-sensor/issues/10
|
data/lib/instana/agent.rb
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
require 'oj'
|
2
1
|
require 'net/http'
|
3
2
|
require 'socket'
|
4
3
|
require 'sys/proctable'
|
@@ -50,7 +49,7 @@ module Instana
|
|
50
49
|
@thread_spawn_lock = Mutex.new
|
51
50
|
|
52
51
|
# Detect platform flags
|
53
|
-
@is_linux = (
|
52
|
+
@is_linux = (RbConfig::CONFIG['host_os'] =~ /linux/i) ? true : false
|
54
53
|
@is_osx = (RUBY_PLATFORM =~ /darwin/i) ? true : false
|
55
54
|
|
56
55
|
# In case we're running in Docker, have the default gateway available
|
@@ -232,7 +231,7 @@ module Instana
|
|
232
231
|
Instana.logger.debug { e.backtrace.join("\r\n") }
|
233
232
|
return false
|
234
233
|
ensure
|
235
|
-
socket.close if socket
|
234
|
+
socket.close if socket && !socket.closed?
|
236
235
|
end
|
237
236
|
|
238
237
|
# Method to report metrics data to the host agent.
|
@@ -41,7 +41,10 @@ module Instana
|
|
41
41
|
end
|
42
42
|
|
43
43
|
def execute_with_instana(sql, name = nil)
|
44
|
-
|
44
|
+
tracing = ::Instana.tracer.tracing?
|
45
|
+
if !tracing || ignore_payload?(name, sql)
|
46
|
+
return execute_without_instana(sql, name)
|
47
|
+
elsif ::Instana.tracer.current_span[:n] == :activerecord
|
45
48
|
return execute_without_instana(sql, name)
|
46
49
|
end
|
47
50
|
|
@@ -11,18 +11,17 @@ if defined?(::ActiveRecord) && ::Instana.config[:active_record][:enabled]
|
|
11
11
|
::Instana.logger.info "Instrumenting ActiveRecord (mysql)"
|
12
12
|
ActiveRecord::ConnectionAdapters::MysqlAdapter.send(:include, ::Instana::Instrumentation::MysqlAdapter)
|
13
13
|
ActiveRecord::ConnectionAdapters::AbstractMysqlAdapter.send(:include, ::Instana::Instrumentation::AbstractMysqlAdapter)
|
14
|
+
end
|
14
15
|
|
15
16
|
# Mysql2
|
16
|
-
|
17
|
+
if defined?(ActiveRecord::ConnectionAdapters::Mysql2Adapter)
|
17
18
|
::Instana.logger.info "Instrumenting ActiveRecord (mysql2)"
|
18
19
|
ActiveRecord::ConnectionAdapters::Mysql2Adapter.send(:include, ::Instana::Instrumentation::Mysql2Adapter)
|
20
|
+
end
|
19
21
|
|
20
22
|
# Postgres
|
21
|
-
|
23
|
+
if defined?(ActiveRecord::ConnectionAdapters::PostgreSQLAdapter)
|
22
24
|
::Instana.logger.info "Instrumenting ActiveRecord (postgresql)"
|
23
25
|
ActiveRecord::ConnectionAdapters::PostgreSQLAdapter.send(:include, ::Instana::Instrumentation::PostgreSQLAdapter)
|
24
|
-
|
25
|
-
else
|
26
|
-
::Instana.logger.debug "Unsupported ActiveRecord adapter"
|
27
26
|
end
|
28
27
|
end
|
data/lib/instana/setup.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'oj_check'
|
2
|
+
|
1
3
|
require "instana/base"
|
2
4
|
require "instana/config"
|
3
5
|
require "instana/agent"
|
@@ -10,7 +12,10 @@ require "instana/instrumentation"
|
|
10
12
|
::Instana.agent.setup
|
11
13
|
|
12
14
|
# Register the metric collectors
|
13
|
-
|
15
|
+
unless RUBY_PLATFORM == 'java'.freeze
|
16
|
+
require 'instana/collectors/gc'
|
17
|
+
end
|
18
|
+
|
14
19
|
require 'instana/collectors/memory'
|
15
20
|
require 'instana/collectors/thread'
|
16
21
|
|
data/lib/instana/version.rb
CHANGED
data/lib/oj_check.rb
ADDED
data/test/agent/agent_test.rb
CHANGED
@@ -1,7 +1,10 @@
|
|
1
1
|
require 'test_helper'
|
2
|
-
require '
|
2
|
+
require './lib/oj_check'
|
3
3
|
|
4
4
|
class AgentTest < Minitest::Test
|
5
|
+
|
6
|
+
Oj = ::Instana::Oj unless defined?(Oj)
|
7
|
+
|
5
8
|
def test_agent_host_detection
|
6
9
|
url = "http://#{::Instana.config[:agent_host]}:#{::Instana.config[:agent_port]}/"
|
7
10
|
stub_request(:get, url)
|
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.10.
|
4
|
+
version: 1.10.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: 2019-08-
|
11
|
+
date: 2019-08-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -53,33 +53,33 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '5.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: pry
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 0.10.0
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: 0.10.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: byebug
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.
|
75
|
+
version: 8.0.0
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0.
|
82
|
+
version: 8.0.0
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: pry-byebug
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -100,14 +100,14 @@ dependencies:
|
|
100
100
|
requirements:
|
101
101
|
- - ">="
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version:
|
103
|
+
version: 1.2.2
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version:
|
110
|
+
version: 1.2.2
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: get_process_mem
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -247,6 +247,7 @@ files:
|
|
247
247
|
- lib/instana/tracing/span_context.rb
|
248
248
|
- lib/instana/util.rb
|
249
249
|
- lib/instana/version.rb
|
250
|
+
- lib/oj_check.rb
|
250
251
|
- lib/opentracing.rb
|
251
252
|
- log/.keep
|
252
253
|
- test/agent/agent_test.rb
|