instana 2.5.0 → 2.5.1
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
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 40aac99d17c0ed83570261a6a6a6c7a6900c7d44e24b2370476ce722c0642890
|
|
4
|
+
data.tar.gz: 76ed9ab5fafa402e0783f67928807dc435d94c84d6f32418d71eeb3fb590bf76
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: eedd8d0ffdd1b66b2ce7733659fd31c6e1bab2c28b5c7afca00efc53a73b869d65a7cab27e107f61643fb128d871c750d0190cf568a9b6eec579fe6f8c7edf4a
|
|
7
|
+
data.tar.gz: 975ca25c4523771df6a70bd6a4e8bf3bb6164edcd90661e681d5bfc0c1747c9852ec2eef07a24502ccecad132462f697171a17dd2947133f5d8fbbc42e070562
|
|
@@ -25,9 +25,9 @@ module Instana
|
|
|
25
25
|
def update(_time, _old_version, new_version)
|
|
26
26
|
return unless new_version.nil?
|
|
27
27
|
|
|
28
|
-
socket =
|
|
29
|
-
|
|
28
|
+
socket = nil
|
|
30
29
|
try_forever_with_backoff do
|
|
30
|
+
socket = @socket_proc.call(@client)
|
|
31
31
|
payload = discovery_payload(socket)
|
|
32
32
|
discovery_response = @client.send_request('PUT', DISCOVERY_URL, payload)
|
|
33
33
|
|
|
@@ -45,7 +45,7 @@ module Instana
|
|
|
45
45
|
::Instana.config.read_config_from_agent(discovery)
|
|
46
46
|
end
|
|
47
47
|
|
|
48
|
-
socket
|
|
48
|
+
socket&.close
|
|
49
49
|
end
|
|
50
50
|
|
|
51
51
|
private
|
|
@@ -64,8 +64,8 @@ module Instana
|
|
|
64
64
|
response = @client.send_request('POST', path, spans)
|
|
65
65
|
|
|
66
66
|
unless response.ok?
|
|
67
|
-
@logger.
|
|
68
|
-
|
|
67
|
+
@logger.warn("Failed to send `#{spans.count}` spans to `#{path}`. Response: #{response.code} - #{response.body}")
|
|
68
|
+
trigger_rediscovery
|
|
69
69
|
break
|
|
70
70
|
end
|
|
71
71
|
end
|
|
@@ -82,8 +82,8 @@ module Instana
|
|
|
82
82
|
if response.ok?
|
|
83
83
|
handle_agent_tasks(response, discovery) unless response.body.empty?
|
|
84
84
|
else
|
|
85
|
-
@logger.
|
|
86
|
-
|
|
85
|
+
@logger.warn("Failed to send metrics to `#{path}`. Response: #{response.code} - #{response.body}")
|
|
86
|
+
trigger_rediscovery
|
|
87
87
|
end
|
|
88
88
|
end
|
|
89
89
|
|
|
@@ -125,6 +125,11 @@ module Instana
|
|
|
125
125
|
|
|
126
126
|
payload
|
|
127
127
|
end
|
|
128
|
+
|
|
129
|
+
def trigger_rediscovery
|
|
130
|
+
@discovery.swap { nil }
|
|
131
|
+
::Instana.agent.announce
|
|
132
|
+
end
|
|
128
133
|
end
|
|
129
134
|
end
|
|
130
135
|
end
|
|
@@ -59,9 +59,25 @@ module Instana
|
|
|
59
59
|
|
|
60
60
|
data
|
|
61
61
|
end
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
62
|
+
begin
|
|
63
|
+
response = @client.send_request(method, path, body, headers)
|
|
64
|
+
Response.new(response)
|
|
65
|
+
rescue Errno::ECONNREFUSED => e
|
|
66
|
+
Instana.logger.debug("Connection refused to #{@host}:#{@port} - #{e.message}")
|
|
67
|
+
create_error_response('503', 'Connection Refused', 'Connection refused', e.message)
|
|
68
|
+
rescue Errno::EHOSTUNREACH => e
|
|
69
|
+
Instana.logger.debug("Host unreachable #{@host}:#{@port} - #{e.message}")
|
|
70
|
+
create_error_response('503', 'Host Unreachable', 'Host unreachable', e.message)
|
|
71
|
+
rescue Errno::ETIMEDOUT, Net::OpenTimeout, Net::ReadTimeout => e
|
|
72
|
+
Instana.logger.debug("Timeout connecting to #{@host}:#{@port} - #{e.message}")
|
|
73
|
+
create_error_response('408', 'Request Timeout', 'Timeout', e.message)
|
|
74
|
+
rescue SocketError => e
|
|
75
|
+
Instana.logger.debug("Socket error connecting to #{@host}:#{@port} - #{e.message}")
|
|
76
|
+
create_error_response('502', 'Socket Error', 'Socket error', e.message)
|
|
77
|
+
rescue StandardError => e
|
|
78
|
+
Instana.logger.debug("Error sending request to #{@host}:#{@port} - #{e.class}: #{e.message}")
|
|
79
|
+
create_error_response('500', 'Internal Error', e.class.to_s, e.message)
|
|
80
|
+
end
|
|
65
81
|
end
|
|
66
82
|
|
|
67
83
|
private
|
|
@@ -71,6 +87,19 @@ module Instana
|
|
|
71
87
|
INSTANA_USE_OJ ? Oj.dump(data, mode: :strict) : JSON.dump(data)
|
|
72
88
|
# :nocov:
|
|
73
89
|
end
|
|
90
|
+
|
|
91
|
+
def create_error_response(code, message, error_type, error_message)
|
|
92
|
+
# Create a mock response object that behaves like Net::HTTPResponse
|
|
93
|
+
error_response = Object.new
|
|
94
|
+
error_body = JSON.dump(error: error_type, message: error_message)
|
|
95
|
+
|
|
96
|
+
error_response.define_singleton_method(:code) { code }
|
|
97
|
+
error_response.define_singleton_method(:message) { message }
|
|
98
|
+
error_response.define_singleton_method(:body) { error_body }
|
|
99
|
+
error_response.define_singleton_method(:is_a?) { |klass| klass == Net::HTTPResponse || super(klass) }
|
|
100
|
+
|
|
101
|
+
Response.new(error_response)
|
|
102
|
+
end
|
|
74
103
|
end
|
|
75
104
|
end
|
|
76
105
|
end
|
data/lib/instana/trace/span.rb
CHANGED
|
@@ -87,13 +87,13 @@ module Instana
|
|
|
87
87
|
|
|
88
88
|
@attributes[:stack] = stack
|
|
89
89
|
.map do |call|
|
|
90
|
-
|
|
90
|
+
file, line, *method = call.split(':')
|
|
91
91
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
92
|
+
{
|
|
93
|
+
c: file,
|
|
94
|
+
n: line,
|
|
95
|
+
m: method.join(' ')
|
|
96
|
+
}
|
|
97
97
|
end.take([limit, 40].min)
|
|
98
98
|
end
|
|
99
99
|
|
data/lib/instana/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: instana
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.5.
|
|
4
|
+
version: 2.5.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter Giacomo Lombardo
|
|
@@ -362,7 +362,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
362
362
|
- !ruby/object:Gem::Version
|
|
363
363
|
version: '0'
|
|
364
364
|
requirements: []
|
|
365
|
-
rubygems_version: 4.0.
|
|
365
|
+
rubygems_version: 4.0.8
|
|
366
366
|
specification_version: 4
|
|
367
367
|
summary: Ruby Distributed Tracing & Metrics Sensor for Instana
|
|
368
368
|
test_files: []
|