rookout 0.1.27 → 0.1.30
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/rookout/augs/aug_factory.rb +7 -4
- data/lib/rookout/com_ws/agent_com_ws.rb +11 -2
- data/lib/rookout/com_ws/websocket_client.rb +1 -2
- data/lib/rookout/commit.rb +1 -1
- data/lib/rookout/exceptions.rb +6 -0
- data/lib/rookout/interface.rb +1 -1
- data/lib/rookout/logger.rb +5 -0
- data/lib/rookout/processor/namespaces/ruby_object_namespace.rb +3 -3
- data/lib/rookout/services/position.rb +1 -1
- data/lib/rookout/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f8bbc125cf28986d8ae700369a4d36c255e3912f0f9abb895ea10206d6090ca8
|
|
4
|
+
data.tar.gz: 3d20369b3dfe6141454e6a5a262defc0f6a0700d37d7ee6936911e4eaca5b510
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 939d0c89c0683ca263ca0d0c7980c86537d681462d6e81fb447c0598a323fe7897f6342c3d51add8519e06295c33527d7488964b1a0bb448fcdb3b933c86fe24
|
|
7
|
+
data.tar.gz: f7d1228b2cdd81f6fe01a042b3aa38d89e7b6f2312c16cff32107dd6e0c40f951fe2aa67cb746b6f7adf076da245e422a1e3dbaa941063aa34af000db65c3aa5
|
|
@@ -29,8 +29,9 @@ module Rookout
|
|
|
29
29
|
max_aug_time = configuration["maxAugTime"] || Config.instrumentation_max_aug_time
|
|
30
30
|
|
|
31
31
|
condition_configuration = configuration["conditional"]
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
unless condition_configuration.nil? || condition_configuration.is_a?(String)
|
|
33
|
+
raise Exceptions::RookAugInvalidKey.new("conditional", configuration)
|
|
34
|
+
end
|
|
34
35
|
condition = condition_configuration.nil? ? nil : Conditions::Condition.new(condition_configuration)
|
|
35
36
|
|
|
36
37
|
rate_limit = create_rate_limit configuration
|
|
@@ -47,15 +48,17 @@ module Rookout
|
|
|
47
48
|
|
|
48
49
|
def create_location configuration, aug
|
|
49
50
|
name = configuration["name"]
|
|
50
|
-
raise Exceptions::RookObjectNameMissing if name.nil?
|
|
51
|
+
raise Exceptions::RookObjectNameMissing, configuration if name.nil?
|
|
51
52
|
|
|
52
53
|
case name
|
|
53
54
|
when "file_line"
|
|
54
55
|
return Locations::LocationFileLine.new configuration, @output, aug
|
|
55
56
|
when "exception_handler"
|
|
56
57
|
return Locations::LocationExceptionHandler.new configuration, @output, aug
|
|
58
|
+
when "log_handler"
|
|
59
|
+
raise Exceptions::RookUnsupportedLiveLogger
|
|
57
60
|
else
|
|
58
|
-
raise Exceptions::RookUnsupportedLocation if name != "file_line"
|
|
61
|
+
raise Exceptions::RookUnsupportedLocation, configuration if name != "file_line"
|
|
59
62
|
end
|
|
60
63
|
end
|
|
61
64
|
|
|
@@ -128,12 +128,14 @@ module Rookout
|
|
|
128
128
|
@ready_event.set
|
|
129
129
|
end
|
|
130
130
|
|
|
131
|
-
Logger.instance.
|
|
131
|
+
Logger.instance.warn "Connection failed; reason = #{e.message}"
|
|
132
132
|
end
|
|
133
133
|
|
|
134
134
|
backoff.after_disconnect
|
|
135
135
|
Logger.instance.debug "Reconnecting"
|
|
136
136
|
end
|
|
137
|
+
rescue Exception => e
|
|
138
|
+
Logger.instance.error "Unexpected error in connection_thread", e
|
|
137
139
|
end
|
|
138
140
|
# rubocop:enable Style/StderrPuts
|
|
139
141
|
|
|
@@ -157,7 +159,14 @@ module Rookout
|
|
|
157
159
|
].freeze
|
|
158
160
|
|
|
159
161
|
def connection_pump client
|
|
160
|
-
on_outgoing_exit = proc {
|
|
162
|
+
on_outgoing_exit = proc {
|
|
163
|
+
begin
|
|
164
|
+
client.close
|
|
165
|
+
rescue Exception => e
|
|
166
|
+
Logger.instance.error "Unexpected error exiting outgoing thread", e
|
|
167
|
+
end
|
|
168
|
+
}
|
|
169
|
+
|
|
161
170
|
@outgoing_thread = Thread.new { outgoing client, on_outgoing_exit }
|
|
162
171
|
@outgoing_thread.name = "rookout-outgoing-thread"
|
|
163
172
|
|
|
@@ -5,7 +5,6 @@ module Rookout
|
|
|
5
5
|
require "uri"
|
|
6
6
|
|
|
7
7
|
require_relative "../config"
|
|
8
|
-
require_relative "../logger"
|
|
9
8
|
require_relative "../exceptions"
|
|
10
9
|
|
|
11
10
|
class WebsocketClient
|
|
@@ -65,7 +64,7 @@ module Rookout
|
|
|
65
64
|
|
|
66
65
|
begin
|
|
67
66
|
@driver.close
|
|
68
|
-
rescue RuntimeError, Errno::EPIPE
|
|
67
|
+
rescue RuntimeError, Errno::EPIPE, OpenSSL::OpenSSLError
|
|
69
68
|
# Protocol close may fail if the connection is already closed
|
|
70
69
|
nil
|
|
71
70
|
end
|
data/lib/rookout/commit.rb
CHANGED
data/lib/rookout/exceptions.rb
CHANGED
data/lib/rookout/interface.rb
CHANGED
|
@@ -43,7 +43,7 @@ module Rookout
|
|
|
43
43
|
STDERR.puts "[Rookout] Failed to start Rookout: #{e.message}"
|
|
44
44
|
rescue RookCommunicationException => e
|
|
45
45
|
raise if throw_errors
|
|
46
|
-
|
|
46
|
+
Logger.instance.warn "[Rookout] " + e.message
|
|
47
47
|
rescue Exception => e
|
|
48
48
|
STDERR.puts e.full_message if Config.debug
|
|
49
49
|
raise if throw_errors
|
data/lib/rookout/logger.rb
CHANGED
|
@@ -99,6 +99,7 @@ module Rookout
|
|
|
99
99
|
end
|
|
100
100
|
end
|
|
101
101
|
|
|
102
|
+
# rubocop:disable Style/RescueStandardError
|
|
102
103
|
def log level, message, args
|
|
103
104
|
level_no = LOG_LEVELS.index level
|
|
104
105
|
if level_no.nil?
|
|
@@ -110,7 +111,11 @@ module Rookout
|
|
|
110
111
|
|
|
111
112
|
record = LogRecord.new level, message, args
|
|
112
113
|
@handlers.each { |handler| handler.call record }
|
|
114
|
+
rescue
|
|
115
|
+
# Log may never throw
|
|
116
|
+
nil
|
|
113
117
|
end
|
|
118
|
+
# rubocop:enable Style/RescueStandardError
|
|
114
119
|
|
|
115
120
|
def build_handlers
|
|
116
121
|
if Config.logger_log_to_stderr
|
|
@@ -62,20 +62,20 @@ module Rookout
|
|
|
62
62
|
end
|
|
63
63
|
|
|
64
64
|
def read_key key
|
|
65
|
-
if @obj.is_a?
|
|
65
|
+
if @obj.is_a?(Array) || @obj.is_a?(String)
|
|
66
66
|
key_int = key.to_i
|
|
67
67
|
return RubyObjectNamespace.new @obj[key_int] if key_int >= 0 && key_int < @obj.length
|
|
68
68
|
raise Exceptions::RookKeyNotFound, key
|
|
69
69
|
|
|
70
70
|
elsif @obj.is_a? Hash
|
|
71
71
|
return RubyObjectNamespace.new @obj[key] if @obj.key? key
|
|
72
|
-
return RubyObjectNamespace.new @obj[key.to_sym] if
|
|
72
|
+
return RubyObjectNamespace.new @obj[key.to_sym] if @obj.key? key.to_s.to_sym
|
|
73
73
|
|
|
74
74
|
@obj.each { |it, value| return RubyObjectNamespace.new value if it.to_s == key }
|
|
75
75
|
|
|
76
76
|
raise Exceptions::RookKeyNotFound, key
|
|
77
77
|
else
|
|
78
|
-
raise Exceptions::RookInvalidObjectForAccess.new(obj.class.to_s, "ReadKey")
|
|
78
|
+
raise Exceptions::RookInvalidObjectForAccess.new(@obj.class.to_s, "ReadKey")
|
|
79
79
|
end
|
|
80
80
|
end
|
|
81
81
|
|
|
@@ -104,7 +104,7 @@ module Rookout
|
|
|
104
104
|
PositionMarker.new lineno, iseq
|
|
105
105
|
elsif suggested_match? location, filename
|
|
106
106
|
warning = Exceptions::RookSourceFilePathSuggestion.new location.filename, filename
|
|
107
|
-
location.notify_warning warning
|
|
107
|
+
location.notify_warning Processor::RookError.new warning
|
|
108
108
|
# Must return nil in order to skip this script
|
|
109
109
|
nil
|
|
110
110
|
end
|
data/lib/rookout/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rookout
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.30
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Liran Haimovitch
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2022-04-10 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: binding_of_caller
|
|
@@ -72,14 +72,14 @@ dependencies:
|
|
|
72
72
|
requirements:
|
|
73
73
|
- - '='
|
|
74
74
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: 3.
|
|
75
|
+
version: 3.19.2
|
|
76
76
|
type: :runtime
|
|
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: 3.
|
|
82
|
+
version: 3.19.2
|
|
83
83
|
- !ruby/object:Gem::Dependency
|
|
84
84
|
name: google-style
|
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|