instana 1.204.0.pre3 → 1.207.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/.circleci/config.yml +20 -9
- data/lib/instana/backend/host_agent_reporting_observer.rb +34 -9
- data/lib/instana/backend/process_info.rb +8 -0
- data/lib/instana/instrumentation/active_record.rb +1 -1
- data/lib/instana/tracing/processor.rb +28 -0
- data/lib/instana/tracing/span.rb +2 -0
- data/lib/instana/version.rb +1 -1
- data/sonar-project.properties +9 -0
- data/test/backend/host_agent_reporting_observer_test.rb +82 -0
- data/test/backend/process_info_test.rb +20 -0
- data/test/instrumentation/rails_active_record_test.rb +0 -7
- data/test/support/apps/resque/jobs/resque_error_job.rb +0 -3
- data/test/support/apps/resque/jobs/resque_fast_job.rb +0 -2
- data/test/tracing/custom_test.rb +0 -1
- data/test/tracing/span_test.rb +17 -0
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 01f078ad2a63d8cd71303a9bf7b413209eda0b2f464ce72f88c84ae05bf797da
|
4
|
+
data.tar.gz: d547946bdbb52ea3c3c3a7fc317f7bcd2dd8ccf37d52507788bff1b85fc4434c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: df3a3926477ab6842628f7fe1062655e63760c0fc1e5100912c8191f5894b8b4dabb1e030441b0b924d379bd6be56a9b69e877c22220153acba3393af59e4b51
|
7
|
+
data.tar.gz: 05fd9a76497614afca946d9538577bdfda21bd3a901759b285d7033425610206fd5a88405f86e86d52928da8f9324798cbf579bb516d845a8749f7c000d98fdf
|
data/.circleci/config.yml
CHANGED
@@ -113,6 +113,10 @@ executors:
|
|
113
113
|
commands:
|
114
114
|
setup:
|
115
115
|
steps:
|
116
|
+
- run:
|
117
|
+
name: Install iproute2
|
118
|
+
command: |
|
119
|
+
sudo apt-get install iproute2
|
116
120
|
- run:
|
117
121
|
name: Install Java
|
118
122
|
command: |
|
@@ -141,13 +145,20 @@ commands:
|
|
141
145
|
- run:
|
142
146
|
name: Run SonarQube to capture coverage
|
143
147
|
command: |
|
144
|
-
wget -O /tmp/sonar-scanner-cli.zip https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.
|
148
|
+
wget -O /tmp/sonar-scanner-cli.zip https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.6.2.2472.zip
|
145
149
|
unzip -d /tmp /tmp/sonar-scanner-cli.zip
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
150
|
+
if [[ -n "${CIRCLE_PR_NUMBER}" ]]; then
|
151
|
+
/tmp/sonar-scanner-4.6.2.2472/bin/sonar-scanner \
|
152
|
+
-Dsonar.host.url="${SONARQUBE_URL}" \
|
153
|
+
-Dsonar.login="${SONARQUBE_LOGIN}" \
|
154
|
+
-Dsonar.pullrequest.key="${CIRCLE_PR_NUMBER}" \
|
155
|
+
-Dsonar.pullrequest.branch="${CIRCLE_BRANCH}"
|
156
|
+
else
|
157
|
+
/tmp/sonar-scanner-4.6.2.2472/bin/sonar-scanner \
|
158
|
+
-Dsonar.host.url="${SONARQUBE_URL}" \
|
159
|
+
-Dsonar.login="${SONARQUBE_LOGIN}" \
|
160
|
+
-Dsonar.branch.name="${CIRCLE_BRANCH}"
|
161
|
+
fi
|
151
162
|
run_tests:
|
152
163
|
steps:
|
153
164
|
- run:
|
@@ -156,7 +167,7 @@ commands:
|
|
156
167
|
mkdir _junit
|
157
168
|
bundle exec rake
|
158
169
|
- store_test_results:
|
159
|
-
path: ~/_junit
|
170
|
+
path: ~/project/_junit
|
160
171
|
run_rubocop:
|
161
172
|
steps:
|
162
173
|
- run:
|
@@ -171,11 +182,11 @@ commands:
|
|
171
182
|
mkdir -p ~/.gem
|
172
183
|
echo -e "---\r\n:rubygems_api_key: $RUBYGEMS_API_KEY" > ~/.gem/credentials
|
173
184
|
chmod 0600 /home/circleci/.gem/credentials
|
174
|
-
- run:
|
185
|
+
- run:
|
175
186
|
name: Publish Gem
|
176
187
|
command: |
|
177
188
|
bundle exec rake release[origin]
|
178
|
-
|
189
|
+
|
179
190
|
jobs:
|
180
191
|
test_core:
|
181
192
|
parameters:
|
@@ -9,6 +9,7 @@ module Instana
|
|
9
9
|
ENTITY_DATA_URL = '/com.instana.plugin.ruby.%i'.freeze
|
10
10
|
RESPONSE_DATA_URL = '/com.instana.plugin.ruby/response.%i?messageId=%s'.freeze
|
11
11
|
TRACES_DATA_URL = "/com.instana.plugin.ruby/traces.%i".freeze
|
12
|
+
TRACE_METRICS_URL = "/tracermetrics".freeze
|
12
13
|
|
13
14
|
attr_reader :report_timer
|
14
15
|
|
@@ -35,10 +36,24 @@ module Instana
|
|
35
36
|
def report_to_backend
|
36
37
|
report_metrics if ::Instana.config[:metrics][:enabled]
|
37
38
|
report_traces if ::Instana.config[:tracing][:enabled]
|
39
|
+
report_trace_stats if ::Instana.config[:tracing][:enabled]
|
38
40
|
rescue StandardError => e
|
39
41
|
@logger.error(%(#{e}\n#{e.backtrace.join("\n")}))
|
40
42
|
end
|
41
43
|
|
44
|
+
def report_trace_stats
|
45
|
+
discovery = @discovery.value
|
46
|
+
return unless discovery
|
47
|
+
|
48
|
+
payload = {
|
49
|
+
tracer: 'ruby',
|
50
|
+
pid: discovery['pid'],
|
51
|
+
metrics: @processor.span_metrics
|
52
|
+
}
|
53
|
+
|
54
|
+
@client.send_request('POST', TRACE_METRICS_URL, payload)
|
55
|
+
end
|
56
|
+
|
42
57
|
def report_traces
|
43
58
|
discovery = @discovery.value
|
44
59
|
return unless discovery
|
@@ -87,17 +102,27 @@ module Instana
|
|
87
102
|
end
|
88
103
|
|
89
104
|
def metrics_payload(discovery)
|
90
|
-
|
91
|
-
process = ProcessInfo.new(proc_table)
|
92
|
-
|
93
|
-
{
|
105
|
+
payload = {
|
94
106
|
pid: discovery['pid'],
|
95
|
-
name: Util.get_app_name
|
96
|
-
exec_args: process.arguments,
|
97
|
-
gc: GCSnapshot.instance.report,
|
98
|
-
thread: {count: ::Thread.list.count},
|
99
|
-
memory: {rss_size: proc_table.rss / 1024} # Bytes to Kilobytes
|
107
|
+
name: Util.get_app_name
|
100
108
|
}
|
109
|
+
|
110
|
+
if ::Instana.config[:metrics][:memory][:enabled]
|
111
|
+
proc_table = Sys::ProcTable.ps(pid: Process.pid)
|
112
|
+
process = ProcessInfo.new(proc_table)
|
113
|
+
payload[:exec_args] = process.arguments
|
114
|
+
payload[:memory] = {rss_size: process.memory_used}
|
115
|
+
end
|
116
|
+
|
117
|
+
if ::Instana.config[:metrics][:gc][:enabled]
|
118
|
+
payload[:gc] = GCSnapshot.instance.report
|
119
|
+
end
|
120
|
+
|
121
|
+
if ::Instana.config[:metrics][:thread][:enabled]
|
122
|
+
payload[:thread] = {count: ::Thread.list.count}
|
123
|
+
end
|
124
|
+
|
125
|
+
payload
|
101
126
|
end
|
102
127
|
end
|
103
128
|
end
|
@@ -19,7 +19,7 @@ module Instana
|
|
19
19
|
}
|
20
20
|
}
|
21
21
|
|
22
|
-
if binds.all? { |b| b.respond_to?(:value_before_type_cast) }
|
22
|
+
if binds.all? { |b| b.respond_to?(:value_before_type_cast) } && !::Instana.config[:sanitize_sql]
|
23
23
|
mapped = binds.map(&:value_before_type_cast)
|
24
24
|
call_payload[:activerecord][:binds] = mapped
|
25
25
|
end
|
@@ -20,6 +20,9 @@ module Instana
|
|
20
20
|
@batch_size = 3000
|
21
21
|
@logger = logger
|
22
22
|
@pid = Process.pid
|
23
|
+
|
24
|
+
@spans_opened = Concurrent::AtomicFixnum.new(0)
|
25
|
+
@spans_closed = Concurrent::AtomicFixnum.new(0)
|
23
26
|
end
|
24
27
|
|
25
28
|
# Adds a span to the span queue
|
@@ -34,9 +37,31 @@ module Instana
|
|
34
37
|
end
|
35
38
|
# :nocov:
|
36
39
|
|
40
|
+
@spans_closed.increment
|
37
41
|
@queue.push(span)
|
38
42
|
end
|
39
43
|
|
44
|
+
# Note that we've started a new span. Used to
|
45
|
+
# generate monitoring metrics.
|
46
|
+
def start_span(_)
|
47
|
+
@spans_opened.increment
|
48
|
+
end
|
49
|
+
|
50
|
+
# Clears and retrieves metrics associated with span creation and submission
|
51
|
+
def span_metrics
|
52
|
+
response = {
|
53
|
+
opened: @spans_opened.value,
|
54
|
+
closed: @spans_closed.value,
|
55
|
+
filtered: 0,
|
56
|
+
dropped: 0
|
57
|
+
}
|
58
|
+
|
59
|
+
@spans_opened.value = 0
|
60
|
+
@spans_closed.value = 0
|
61
|
+
|
62
|
+
response
|
63
|
+
end
|
64
|
+
|
40
65
|
##
|
41
66
|
# send
|
42
67
|
#
|
@@ -82,6 +107,9 @@ module Instana
|
|
82
107
|
# test suite to reset state.
|
83
108
|
#
|
84
109
|
def clear!
|
110
|
+
@spans_opened.value = 0
|
111
|
+
@spans_closed.value = 0
|
112
|
+
|
85
113
|
until @queue.empty? do
|
86
114
|
# Non-blocking pop; ignore exception
|
87
115
|
@queue.pop(true) rescue nil
|
data/lib/instana/tracing/span.rb
CHANGED
data/lib/instana/version.rb
CHANGED
@@ -0,0 +1,9 @@
|
|
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/
|
@@ -23,6 +23,8 @@ class HostAgentReportingObserverTest < Minitest::Test
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def test_report
|
26
|
+
stub_request(:post, "http://10.10.10.10:9292/tracermetrics")
|
27
|
+
.to_return(status: 200)
|
26
28
|
stub_request(:post, "http://10.10.10.10:9292/com.instana.plugin.ruby.0")
|
27
29
|
.to_return(status: 200)
|
28
30
|
|
@@ -35,6 +37,8 @@ class HostAgentReportingObserverTest < Minitest::Test
|
|
35
37
|
end
|
36
38
|
|
37
39
|
def test_report_fail
|
40
|
+
stub_request(:post, "http://10.10.10.10:9292/tracermetrics")
|
41
|
+
.to_return(status: 200)
|
38
42
|
stub_request(:post, "http://10.10.10.10:9292/com.instana.plugin.ruby.0")
|
39
43
|
.to_return(status: 500)
|
40
44
|
|
@@ -54,6 +58,9 @@ class HostAgentReportingObserverTest < Minitest::Test
|
|
54
58
|
args: {file: 'test_helper.rb'}
|
55
59
|
)
|
56
60
|
|
61
|
+
stub_request(:post, "http://10.10.10.10:9292/tracermetrics")
|
62
|
+
.to_return(status: 200)
|
63
|
+
|
57
64
|
stub_request(:post, "http://10.10.10.10:9292/com.instana.plugin.ruby.0")
|
58
65
|
.to_return(status: 200, body: action)
|
59
66
|
|
@@ -75,6 +82,9 @@ class HostAgentReportingObserverTest < Minitest::Test
|
|
75
82
|
args: {file: 'test_helper.rb'}
|
76
83
|
])
|
77
84
|
|
85
|
+
stub_request(:post, "http://10.10.10.10:9292/tracermetrics")
|
86
|
+
.to_return(status: 200)
|
87
|
+
|
78
88
|
stub_request(:post, "http://10.10.10.10:9292/com.instana.plugin.ruby.0")
|
79
89
|
.to_return(status: 200, body: action)
|
80
90
|
|
@@ -90,6 +100,9 @@ class HostAgentReportingObserverTest < Minitest::Test
|
|
90
100
|
end
|
91
101
|
|
92
102
|
def test_agent_action_error
|
103
|
+
stub_request(:post, "http://10.10.10.10:9292/tracermetrics")
|
104
|
+
.to_return(status: 200)
|
105
|
+
|
93
106
|
stub_request(:post, "http://10.10.10.10:9292/com.instana.plugin.ruby.0")
|
94
107
|
.to_return(status: 200, body: 'INVALID')
|
95
108
|
|
@@ -114,6 +127,75 @@ class HostAgentReportingObserverTest < Minitest::Test
|
|
114
127
|
::Instana.config[:metrics][:enabled] = true
|
115
128
|
end
|
116
129
|
|
130
|
+
def test_disable_metrics_memory
|
131
|
+
::Instana.config[:metrics][:memory][:enabled] = false
|
132
|
+
|
133
|
+
stub_request(:post, "http://10.10.10.10:9292/tracermetrics")
|
134
|
+
.to_return(status: 200)
|
135
|
+
|
136
|
+
stub_request(:post, "http://10.10.10.10:9292/com.instana.plugin.ruby.0")
|
137
|
+
.with(body: ->(data) { (JSON.parse(data).keys & ['exec_args', 'memory']).length.eql?(0) })
|
138
|
+
.to_return(status: 200)
|
139
|
+
|
140
|
+
stub_request(:post, "http://10.10.10.10:9292/com.instana.plugin.ruby/traces.0")
|
141
|
+
.to_return(status: 200)
|
142
|
+
|
143
|
+
client = Instana::Backend::RequestClient.new('10.10.10.10', 9292)
|
144
|
+
discovery = Concurrent::Atom.new({'pid' => 0})
|
145
|
+
|
146
|
+
subject = Instana::Backend::HostAgentReportingObserver.new(client, discovery, timer_class: MockTimer)
|
147
|
+
|
148
|
+
subject.report_timer.block.call
|
149
|
+
ensure
|
150
|
+
::Instana.config[:metrics][:memory][:enabled] = true
|
151
|
+
end
|
152
|
+
|
153
|
+
def test_disable_gc
|
154
|
+
::Instana.config[:metrics][:gc][:enabled] = false
|
155
|
+
|
156
|
+
stub_request(:post, "http://10.10.10.10:9292/tracermetrics")
|
157
|
+
.to_return(status: 200)
|
158
|
+
|
159
|
+
stub_request(:post, "http://10.10.10.10:9292/com.instana.plugin.ruby.0")
|
160
|
+
.with(body: ->(data) { (JSON.parse(data).keys & ['gc']).length.eql?(0) })
|
161
|
+
.to_return(status: 200)
|
162
|
+
|
163
|
+
stub_request(:post, "http://10.10.10.10:9292/com.instana.plugin.ruby/traces.0")
|
164
|
+
.to_return(status: 200)
|
165
|
+
|
166
|
+
client = Instana::Backend::RequestClient.new('10.10.10.10', 9292)
|
167
|
+
discovery = Concurrent::Atom.new({'pid' => 0})
|
168
|
+
|
169
|
+
subject = Instana::Backend::HostAgentReportingObserver.new(client, discovery, timer_class: MockTimer)
|
170
|
+
|
171
|
+
subject.report_timer.block.call
|
172
|
+
ensure
|
173
|
+
::Instana.config[:metrics][:gc][:enabled] = true
|
174
|
+
end
|
175
|
+
|
176
|
+
def test_disable_thread
|
177
|
+
::Instana.config[:metrics][:thread][:enabled] = false
|
178
|
+
|
179
|
+
stub_request(:post, "http://10.10.10.10:9292/tracermetrics")
|
180
|
+
.to_return(status: 200)
|
181
|
+
|
182
|
+
stub_request(:post, "http://10.10.10.10:9292/com.instana.plugin.ruby.0")
|
183
|
+
.with(body: ->(data) { (JSON.parse(data).keys & ['thread']).length.eql?(0) })
|
184
|
+
.to_return(status: 200)
|
185
|
+
|
186
|
+
stub_request(:post, "http://10.10.10.10:9292/com.instana.plugin.ruby/traces.0")
|
187
|
+
.to_return(status: 200)
|
188
|
+
|
189
|
+
client = Instana::Backend::RequestClient.new('10.10.10.10', 9292)
|
190
|
+
discovery = Concurrent::Atom.new({'pid' => 0})
|
191
|
+
|
192
|
+
subject = Instana::Backend::HostAgentReportingObserver.new(client, discovery, timer_class: MockTimer)
|
193
|
+
|
194
|
+
subject.report_timer.block.call
|
195
|
+
ensure
|
196
|
+
::Instana.config[:metrics][:thread][:enabled] = true
|
197
|
+
end
|
198
|
+
|
117
199
|
def test_disable_tracing
|
118
200
|
::Instana.config[:tracing][:enabled] = false
|
119
201
|
|
@@ -60,4 +60,24 @@ class ProcessInfoTest < Minitest::Test
|
|
60
60
|
assert_equal subject.sched_pid, subject.parent_pid
|
61
61
|
end
|
62
62
|
end
|
63
|
+
|
64
|
+
def test_osx_memory_used
|
65
|
+
host_os = RbConfig::CONFIG['host_os']
|
66
|
+
RbConfig::CONFIG['host_os'] = 'darwin'
|
67
|
+
|
68
|
+
subject = Instana::Backend::ProcessInfo.new(OpenStruct.new(rss: 1024))
|
69
|
+
assert_equal 1, subject.memory_used
|
70
|
+
ensure
|
71
|
+
RbConfig::CONFIG['host_os'] = host_os
|
72
|
+
end
|
73
|
+
|
74
|
+
def test_linux_memory_used
|
75
|
+
host_os = RbConfig::CONFIG['host_os']
|
76
|
+
RbConfig::CONFIG['host_os'] = 'linux'
|
77
|
+
|
78
|
+
subject = Instana::Backend::ProcessInfo.new(OpenStruct.new(rss: 1))
|
79
|
+
assert_equal 4096, subject.memory_used
|
80
|
+
ensure
|
81
|
+
RbConfig::CONFIG['host_os'] = host_os
|
82
|
+
end
|
63
83
|
end
|
@@ -38,8 +38,6 @@ class RailsActiveRecordTest < Minitest::Test
|
|
38
38
|
data = span[:data][:activerecord]
|
39
39
|
|
40
40
|
assert data[:sql].start_with?('INSERT INTO')
|
41
|
-
assert 'core', data[:binds][0]
|
42
|
-
assert 'blue', data[:binds][1]
|
43
41
|
end
|
44
42
|
|
45
43
|
def test_read
|
@@ -54,8 +52,6 @@ class RailsActiveRecordTest < Minitest::Test
|
|
54
52
|
data = span[:data][:activerecord]
|
55
53
|
|
56
54
|
assert data[:sql].start_with?('SELECT')
|
57
|
-
assert 'core', data[:binds][0]
|
58
|
-
assert 1, data[:binds][1]
|
59
55
|
end
|
60
56
|
|
61
57
|
def test_update
|
@@ -73,8 +69,6 @@ class RailsActiveRecordTest < Minitest::Test
|
|
73
69
|
data = span[:data][:activerecord]
|
74
70
|
|
75
71
|
assert data[:sql].start_with?('UPDATE')
|
76
|
-
assert 'red', data[:binds][0]
|
77
|
-
assert 1, data[:binds][2]
|
78
72
|
end
|
79
73
|
|
80
74
|
def test_delete
|
@@ -90,7 +84,6 @@ class RailsActiveRecordTest < Minitest::Test
|
|
90
84
|
data = span[:data][:activerecord]
|
91
85
|
|
92
86
|
assert data[:sql].start_with?('DELETE')
|
93
|
-
assert 1, data[:binds][0]
|
94
87
|
end
|
95
88
|
|
96
89
|
def test_raw
|
@@ -10,8 +10,6 @@ class ErrorJob
|
|
10
10
|
def self.perform
|
11
11
|
if ENV.key?('REDIS_URL')
|
12
12
|
redis = Redis.new(:url => ENV['REDIS_URL'])
|
13
|
-
elsif ENV.key?('REDIS_URL')
|
14
|
-
redis = Redis.new(:url => ENV['REDIS_URL'])
|
15
13
|
else
|
16
14
|
redis = Redis.new(:url => 'localhost:6379')
|
17
15
|
end
|
@@ -20,6 +18,5 @@ class ErrorJob
|
|
20
18
|
redis.set('ts', dt)
|
21
19
|
|
22
20
|
raise Exception.new("Silly Rabbit, Trix are for kids.")
|
23
|
-
redis.set(:nb_id, 2)
|
24
21
|
end
|
25
22
|
end
|
data/test/tracing/custom_test.rb
CHANGED
@@ -111,7 +111,6 @@ class CustomTracingTest < Minitest::Test
|
|
111
111
|
|
112
112
|
::Instana.tracer.log_entry(:custom_span, kvs)
|
113
113
|
raise "custom tracing error. This is only a test"
|
114
|
-
::Instana.tracer.log_info({:on_info_kv => 1})
|
115
114
|
rescue => e
|
116
115
|
::Instana.tracer.log_error(e)
|
117
116
|
ensure
|
data/test/tracing/span_test.rb
CHANGED
@@ -133,4 +133,21 @@ class SpanTest < Minitest::Test
|
|
133
133
|
assert_equal({}, span.tags)
|
134
134
|
time.verify
|
135
135
|
end
|
136
|
+
|
137
|
+
def test_inc_processed_counts
|
138
|
+
clear_all!
|
139
|
+
|
140
|
+
span = Instana::Span.new(:excon)
|
141
|
+
span.close
|
142
|
+
|
143
|
+
metrics = Instana.processor.span_metrics
|
144
|
+
|
145
|
+
assert_equal 1, metrics[:opened]
|
146
|
+
assert_equal 1, metrics[:closed]
|
147
|
+
|
148
|
+
metrics = Instana.processor.span_metrics
|
149
|
+
|
150
|
+
assert_equal 0, metrics[:opened]
|
151
|
+
assert_equal 0, metrics[:closed]
|
152
|
+
end
|
136
153
|
end
|
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.
|
4
|
+
version: 1.207.0
|
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-
|
11
|
+
date: 2021-08-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -275,6 +275,7 @@ files:
|
|
275
275
|
- lib/instana/version.rb
|
276
276
|
- lib/opentracing.rb
|
277
277
|
- log/.keep
|
278
|
+
- sonar-project.properties
|
278
279
|
- test/activator_test.rb
|
279
280
|
- test/backend/agent_test.rb
|
280
281
|
- test/backend/gc_snapshot_test.rb
|
@@ -370,9 +371,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
370
371
|
version: '2.1'
|
371
372
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
372
373
|
requirements:
|
373
|
-
- - "
|
374
|
+
- - ">="
|
374
375
|
- !ruby/object:Gem::Version
|
375
|
-
version:
|
376
|
+
version: '0'
|
376
377
|
requirements: []
|
377
378
|
rubygems_version: 3.1.6
|
378
379
|
signing_key:
|