rookout 0.1.29 → 0.1.32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rookout/augs/aug_factory.rb +7 -4
- data/lib/rookout/com_ws/agent_com_ws.rb +15 -8
- data/lib/rookout/com_ws/command_handler.rb +1 -1
- data/lib/rookout/com_ws/envelope_wrapper.rb +57 -0
- data/lib/rookout/com_ws/output.rb +21 -10
- data/lib/rookout/commit.rb +1 -1
- data/lib/rookout/config.rb +20 -0
- data/lib/rookout/exceptions.rb +6 -0
- data/lib/rookout/interface.rb +1 -1
- data/lib/rookout/processor/namespace_serializer2.rb +283 -0
- data/lib/rookout/processor/namespaces/container_namespace.rb +4 -0
- data/lib/rookout/processor/namespaces/ruby_object_namespace.rb +5 -5
- data/lib/rookout/processor/namespaces/traceback_namespace.rb +2 -0
- data/lib/rookout/processor/paths/arithmetic_path.rb +1 -1
- data/lib/rookout/protobuf/controller_info_pb.rb +1 -0
- data/lib/rookout/protobuf/messages_pb.rb +54 -0
- data/lib/rookout/protobuf/variant2_pb.rb +42 -0
- data/lib/rookout/protobuf/variant_pb.rb +22 -0
- data/lib/rookout/version.rb +1 -1
- metadata +7 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6b18921aad157928102aa2f122bdea86a90ea12b785bbb141c1e91d5d7d812ef
|
4
|
+
data.tar.gz: ee630f67fc3c697312163d2ec543cbbf83deef49025095bff23494ed5c0c66da
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f6fb66f9fe31e89dd375957cb7bebe704dfc45450b3a6d45d37554bdf29a3da5ce5ce1dc7c58486cb11e7a2777147bcd20097c54dba7e84fed3001c22bb110d2
|
7
|
+
data.tar.gz: 62854a17c91661e8365e80165485537cb0d84155325f9fd5121b65832de12e2c7033c4c0edc899a270a2264ac9f05f93cee4dd0d592dbd803667c4541870d5e3
|
@@ -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
|
|
@@ -44,6 +44,7 @@ module Rookout
|
|
44
44
|
@main_thread = nil
|
45
45
|
@outgoing_thread = nil
|
46
46
|
@pending_messages = Queue.new
|
47
|
+
@pending_messages_length = 0
|
47
48
|
|
48
49
|
@running = false
|
49
50
|
@ready_event = Concurrent::Event.new
|
@@ -52,18 +53,21 @@ module Rookout
|
|
52
53
|
@print_on_initial_connection = print_on_connect
|
53
54
|
end
|
54
55
|
|
55
|
-
def add
|
56
|
-
|
57
|
-
if
|
58
|
-
|
56
|
+
def add envelope_wrapper
|
57
|
+
msg_size = envelope_wrapper.calculate_size
|
58
|
+
if @pending_messages_length + msg_size > Config.agent_com_max_queue_messages_length ||
|
59
|
+
queue_full?
|
60
|
+
exc = Exceptions::RookMessageSizeExceeded.new msg_size, Config.agent_com_max_queue_messages_length
|
59
61
|
warning = Processor::RookError.new exc
|
60
62
|
UserWarnings.notify_warning warning
|
61
63
|
|
62
|
-
Logger.instance.warning "Dropping message, size was #{
|
64
|
+
Logger.instance.warning "Dropping message, size was #{msg_size}, pedning messages: #{@pending_messages_length}
|
65
|
+
which is over the message size limit #{Config.agent_com_max_queue_messages_length},
|
66
|
+
queue length: #{@pending_messages.length}"
|
63
67
|
return
|
64
68
|
end
|
65
69
|
|
66
|
-
@pending_messages.push
|
70
|
+
@pending_messages.push envelope_wrapper
|
67
71
|
end
|
68
72
|
|
69
73
|
def queue_full?
|
@@ -128,7 +132,7 @@ module Rookout
|
|
128
132
|
@ready_event.set
|
129
133
|
end
|
130
134
|
|
131
|
-
Logger.instance.
|
135
|
+
Logger.instance.warning "Connection failed; reason = #{e.message}"
|
132
136
|
end
|
133
137
|
|
134
138
|
backoff.after_disconnect
|
@@ -191,12 +195,15 @@ module Rookout
|
|
191
195
|
def outgoing client, on_exit
|
192
196
|
Pinger.new(client, Config.agent_com_ping_interval, Config.agent_com_ping_timeout).repeat do
|
193
197
|
begin
|
194
|
-
|
198
|
+
envelope_wrapper = @pending_messages.pop true
|
195
199
|
rescue ThreadError
|
196
200
|
sleep 0.25
|
197
201
|
next
|
198
202
|
end
|
199
203
|
|
204
|
+
msg = envelope_wrapper.envelope
|
205
|
+
@pending_messages_length -= envelope_wrapper.calculate_size
|
206
|
+
|
200
207
|
if msg.is_a? ExitMessage
|
201
208
|
break if msg.thread == Thread.current
|
202
209
|
elsif msg.is_a? FlushMessage
|
@@ -5,10 +5,10 @@ module Rookout
|
|
5
5
|
class CommandHandler
|
6
6
|
def initialize agent_com, augs_manager
|
7
7
|
agent_com.on "Com::Rookout::InitialAugsCommand" do |initial_augs|
|
8
|
+
Config.update_config initial_augs.sdk_configuration
|
8
9
|
augs = initial_augs.augs.map { |aug_json| JSON.parse aug_json }
|
9
10
|
augs_manager.initialize_augs augs
|
10
11
|
end
|
11
|
-
|
12
12
|
agent_com.on "Com::Rookout::AddAugCommand" do |command|
|
13
13
|
augs_manager.add_aug JSON.parse(command.aug_json)
|
14
14
|
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
require_relative "../protobuf/envelope_pb"
|
2
|
+
require_relative "../processor/namespace_serializer2"
|
3
|
+
|
4
|
+
|
5
|
+
class EnvelopeWrapperBase
|
6
|
+
def wrap_in_envelope message
|
7
|
+
any_message = Google::Protobuf::Any.pack message
|
8
|
+
timestamp = Google::Protobuf::Timestamp.new
|
9
|
+
timestamp.from_time Time.new
|
10
|
+
envelope = Com::Rookout::Envelope.new msg: any_message, timestamp: timestamp
|
11
|
+
serialized = Com::Rookout::Envelope.encode envelope
|
12
|
+
serialized
|
13
|
+
end
|
14
|
+
|
15
|
+
def envelope
|
16
|
+
raise NotImplementedError
|
17
|
+
end
|
18
|
+
|
19
|
+
def calculate_size
|
20
|
+
raise NotImplementedError
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
class Variant2EnvelopeWrapper < EnvelopeWrapperBase
|
25
|
+
def initialize agent_id, aug_id, report_id, arguments
|
26
|
+
@aug_report_message = Com::Rookout::AugReportMessage.new agent_id: agent_id,
|
27
|
+
aug_id: aug_id,
|
28
|
+
report_id: report_id
|
29
|
+
@serializer = Rookout::Processor::NamespaceSerializer2.new
|
30
|
+
@aug_report_message.arguments2 = @serializer.dump arguments
|
31
|
+
end
|
32
|
+
|
33
|
+
def envelope
|
34
|
+
return @envelope unless @envelope.nil?
|
35
|
+
@serializer.string_cache.each { |key, value| @aug_report_message.strings_cache[key] = value }
|
36
|
+
@envelope = wrap_in_envelope @aug_report_message
|
37
|
+
@aug_report_message = nil
|
38
|
+
end
|
39
|
+
|
40
|
+
def calculate_size
|
41
|
+
@envelope.length + @serializer.estimated_pending_bytes
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
class EnvelopeWrapper < EnvelopeWrapperBase
|
46
|
+
def initialize message
|
47
|
+
@envelope = wrap_in_envelope message
|
48
|
+
end
|
49
|
+
|
50
|
+
def envelope
|
51
|
+
@envelope
|
52
|
+
end
|
53
|
+
|
54
|
+
def calculate_size
|
55
|
+
@envelope.length
|
56
|
+
end
|
57
|
+
end
|
@@ -9,6 +9,7 @@ module Rookout
|
|
9
9
|
require_relative "../processor/namespace_serializer"
|
10
10
|
|
11
11
|
require_relative "token_bucket"
|
12
|
+
require_relative "envelope_wrapper"
|
12
13
|
|
13
14
|
class Output
|
14
15
|
def initialize
|
@@ -64,11 +65,13 @@ module Rookout
|
|
64
65
|
status = Com::Rookout::RuleStatusMessage.new agent_id: @agent_id,
|
65
66
|
rule_id: rule_id,
|
66
67
|
active: active
|
68
|
+
|
69
|
+
envelope_wrapper = EnvelopeWrapper.new status
|
67
70
|
if error
|
68
71
|
status.error = error.dumps
|
69
72
|
end
|
70
73
|
|
71
|
-
@agent_com.add
|
74
|
+
@agent_com.add envelope_wrapper
|
72
75
|
end
|
73
76
|
end
|
74
77
|
|
@@ -76,17 +79,22 @@ module Rookout
|
|
76
79
|
return if @closing || !@agent_com
|
77
80
|
|
78
81
|
@user_message_bucket.if_available do
|
79
|
-
if
|
80
|
-
|
82
|
+
if Config.protobuf_version2
|
83
|
+
envelope_wrapper = Variant2EnvelopeWrapper.new @agent_id, aug_id, report_id, arguments
|
81
84
|
else
|
82
|
-
|
85
|
+
if arguments.nil? || arguments.call_method("size", "") == 0
|
86
|
+
protobuf_arguments = nil
|
87
|
+
else
|
88
|
+
protobuf_arguments = Processor::NamespaceSerializer.dump arguments
|
89
|
+
end
|
90
|
+
|
91
|
+
envelope_wrapper = EnvelopeWrapper.new(Com::Rookout::AugReportMessage.new(agent_id: @agent_id,
|
92
|
+
aug_id: aug_id,
|
93
|
+
report_id: report_id,
|
94
|
+
arguments: protobuf_arguments))
|
83
95
|
end
|
84
96
|
|
85
|
-
|
86
|
-
aug_id: aug_id,
|
87
|
-
report_id: report_id,
|
88
|
-
arguments: protobuf_arguments
|
89
|
-
@agent_com.add msg
|
97
|
+
@agent_com.add envelope_wrapper
|
90
98
|
end
|
91
99
|
end
|
92
100
|
|
@@ -126,7 +134,10 @@ module Rookout
|
|
126
134
|
text: text,
|
127
135
|
formatted_message: formatted_message,
|
128
136
|
legacy_arguments: protobuf_arguments
|
129
|
-
|
137
|
+
|
138
|
+
envelope_wrapper = EnvelopeWrapper.new msg
|
139
|
+
|
140
|
+
@agent_com.add envelope_wrapper
|
130
141
|
end
|
131
142
|
end
|
132
143
|
end
|
data/lib/rookout/commit.rb
CHANGED
data/lib/rookout/config.rb
CHANGED
@@ -15,12 +15,14 @@ module Rookout
|
|
15
15
|
|
16
16
|
attr_accessor :agent_com_configuration_command_thread_name,
|
17
17
|
:agent_com_max_message_limit,
|
18
|
+
:agent_com_max_queue_messages_length,
|
18
19
|
:agent_com_timeout,
|
19
20
|
:agent_com_ping_interval,
|
20
21
|
:agent_com_ping_timeout,
|
21
22
|
:agent_com_flush_timeout,
|
22
23
|
:agent_com_max_queued_messages
|
23
24
|
Rookout::Config.agent_com_max_message_limit = 1024 * 1024
|
25
|
+
Rookout::Config.agent_com_max_queue_messages_length = 15 * 1024 * 1024
|
24
26
|
Rookout::Config.agent_com_timeout = 3
|
25
27
|
Rookout::Config.agent_com_ping_interval = 10
|
26
28
|
Rookout::Config.agent_com_ping_timeout = 30
|
@@ -51,6 +53,24 @@ module Rookout
|
|
51
53
|
attr_accessor :rookout_version, :rookout_commit
|
52
54
|
Rookout::Config.rookout_version = Rookout::VERSION
|
53
55
|
Rookout::Config.rookout_commit = Rookout::COMMIT
|
56
|
+
|
57
|
+
attr_accessor :protobuf_version2
|
58
|
+
Rookout::Config.protobuf_version2 = false
|
59
|
+
|
60
|
+
attr_accessor :true_values
|
61
|
+
Rookout::Config.true_values = ["y", "Y", "yes", "Yes", "YES", "true", "True", "TRUE", "1"]
|
62
|
+
|
63
|
+
|
64
|
+
def update_config configuration
|
65
|
+
is_config_proto2 = configuration["RUBY_PROTOBUF_VERSION_2"]
|
66
|
+
return if is_config_proto2.nil?
|
67
|
+
is_env_proto2 = ENV[env_var_name]
|
68
|
+
if is_env_proto2.nil?
|
69
|
+
@protobuf_version2 = true if @true_values.includes? is_config_proto2
|
70
|
+
elsif @true_values.includes? is_env_proto2
|
71
|
+
@protobuf_version2 = true
|
72
|
+
end
|
73
|
+
end
|
54
74
|
end
|
55
75
|
end
|
56
76
|
end
|
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.warning "[Rookout] " + e.message
|
47
47
|
rescue Exception => e
|
48
48
|
STDERR.puts e.full_message if Config.debug
|
49
49
|
raise if throw_errors
|
@@ -0,0 +1,283 @@
|
|
1
|
+
module Rookout
|
2
|
+
module Processor
|
3
|
+
class NamespaceSerializer2
|
4
|
+
require_relative "../logger"
|
5
|
+
|
6
|
+
require_relative "../protobuf/variant_pb"
|
7
|
+
require_relative "../protobuf/variant2_pb"
|
8
|
+
require_relative "../user_warnings"
|
9
|
+
require_relative "./namespaces/container_namespace"
|
10
|
+
require_relative "./namespaces/traceback_namespace"
|
11
|
+
|
12
|
+
def initialize
|
13
|
+
@string_cache = {}
|
14
|
+
@estimated_pending_bytes = 0
|
15
|
+
end
|
16
|
+
|
17
|
+
attr_reader :string_cache, :estimated_pending_bytes
|
18
|
+
|
19
|
+
def get_string_index_in_cache str
|
20
|
+
if @string_cache.key? str
|
21
|
+
@string_cache[str]
|
22
|
+
else
|
23
|
+
@estimated_pending_bytes += str.length + 5
|
24
|
+
current_size = @string_cache.size
|
25
|
+
@string_cache.store str, current_size
|
26
|
+
current_size
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def dump_variant_type variant, type
|
31
|
+
variant.variant_type_max_depth = type << 1
|
32
|
+
end
|
33
|
+
|
34
|
+
def dump_variant_type_max_depth variant, type
|
35
|
+
variant.variant_type_max_depth = (type << 1) | 1
|
36
|
+
end
|
37
|
+
|
38
|
+
def dump namespace, log_errors = true
|
39
|
+
if namespace.is_a? Namespaces::RubyObjectNamespace
|
40
|
+
dump_ruby_object_namespace namespace, log_errors
|
41
|
+
elsif namespace.is_a? Namespaces::ContainerNamespace
|
42
|
+
dump_container_namespace namespace, log_errors
|
43
|
+
elsif namespace.is_a? Namespaces::TracebackNamespace
|
44
|
+
dump_traceback_namespace namespace
|
45
|
+
end
|
46
|
+
rescue StandardError => e
|
47
|
+
message = "Failed to serialize namespace"
|
48
|
+
variant = Com::Rookout::Variant2.new
|
49
|
+
dump_variant_type variant, Com::Rookout::Variant::Type::VARIANT_ERROR
|
50
|
+
|
51
|
+
if log_errors
|
52
|
+
Logger.instance.exception message, e
|
53
|
+
|
54
|
+
error = RookError.new e, message
|
55
|
+
UserWarnings.notify_warning error
|
56
|
+
end
|
57
|
+
variant
|
58
|
+
end
|
59
|
+
|
60
|
+
def dump_ruby_object_namespace namespace, log_errors
|
61
|
+
dump_raw_object namespace.obj, 0, namespace.dump_config, log_errors
|
62
|
+
end
|
63
|
+
|
64
|
+
def dump_raw_object obj, current_depth, config, log_object_errors
|
65
|
+
unsafe_dump_object obj, current_depth, config, log_object_errors
|
66
|
+
rescue StandardError => e
|
67
|
+
message = "Failed to serialize object"
|
68
|
+
variant = Com::Rookout::Variant2.new
|
69
|
+
dump_variant_type variant, Com::Rookout::Variant::Type::VARIANT_ERROR
|
70
|
+
|
71
|
+
if log_object_errors
|
72
|
+
Logger.instance.exception message, e
|
73
|
+
|
74
|
+
error = RookError.new e, message
|
75
|
+
UserWarnings.notify_warning error
|
76
|
+
end
|
77
|
+
variant
|
78
|
+
end
|
79
|
+
|
80
|
+
# rubocop:disable Metrics/AbcSize
|
81
|
+
# rubocop:disable Metrics/PerceivedComplexity
|
82
|
+
# rubocop:disable Metrics/CyclomaticComplexity
|
83
|
+
def unsafe_dump_object obj, current_depth, config, log_object_errors
|
84
|
+
variant = Com::Rookout::Variant2.new original_type_index_in_cache: get_string_index_in_cache(obj.class.to_s)
|
85
|
+
|
86
|
+
if obj.nil?
|
87
|
+
dump_nil variant
|
88
|
+
elsif obj.is_a?(Numeric) || obj.is_a?(TrueClass) || obj.is_a?(FalseClass)
|
89
|
+
dump_numeric obj, variant, config
|
90
|
+
elsif obj.is_a?(String) || obj.is_a?(Symbol)
|
91
|
+
dump_string obj, variant, config
|
92
|
+
elsif obj.is_a? Time
|
93
|
+
dump_time obj, variant
|
94
|
+
elsif obj.class == Array
|
95
|
+
dump_array obj, variant, current_depth, config, log_object_errors
|
96
|
+
elsif obj.class == Hash
|
97
|
+
dump_hash obj, variant, current_depth, config, log_object_errors
|
98
|
+
elsif obj.is_a? Exception
|
99
|
+
dump_exception obj, variant, current_depth, config, log_object_errors
|
100
|
+
elsif obj.is_a?(Method) || obj.is_a?(Proc) || obj.is_a?(Class) || obj.is_a?(Module)
|
101
|
+
dump_code_object obj, variant
|
102
|
+
else
|
103
|
+
dump_user_class variant, obj, current_depth, config, log_object_errors
|
104
|
+
end
|
105
|
+
|
106
|
+
variant
|
107
|
+
end
|
108
|
+
# rubocop:enable Metrics/AbcSize
|
109
|
+
# rubocop:enable Metrics/PerceivedComplexity
|
110
|
+
# rubocop:enable Metrics/CyclomaticComplexity
|
111
|
+
|
112
|
+
def dump_nil variant
|
113
|
+
dump_variant_type variant, Com::Rookout::Variant::Type::VARIANT_NONE
|
114
|
+
end
|
115
|
+
|
116
|
+
# Based off protobuf for Python
|
117
|
+
INT32_MIN = -2147483648
|
118
|
+
INT32_MAX = 2147483647
|
119
|
+
INT64_MIN = -(1 << 63)
|
120
|
+
INT64_MAX = (1 << 63) - 1
|
121
|
+
|
122
|
+
def dump_numeric obj, variant, config
|
123
|
+
if obj == true
|
124
|
+
dump_variant_type variant, Com::Rookout::Variant::Type::VARIANT_LONG
|
125
|
+
variant.long_value = 1
|
126
|
+
elsif obj == false
|
127
|
+
dump_variant_type variant, Com::Rookout::Variant::Type::VARIANT_LONG
|
128
|
+
variant.long_value = 0
|
129
|
+
elsif obj.is_a? Integer
|
130
|
+
dump_integer obj, variant
|
131
|
+
elsif obj.is_a? Float
|
132
|
+
dump_variant_type variant, Com::Rookout::Variant::Type::VARIANT_DOUBLE
|
133
|
+
variant.double_value = obj.to_f
|
134
|
+
elsif obj.is_a? BigDecimal
|
135
|
+
dump_string obj.to_s, variant, config # TODO: NS: This might cut the decimal value, is that ok?
|
136
|
+
elsif obj.is_a? Complex
|
137
|
+
dump_variant_type variant, Com::Rookout::Variant::Type::VARIANT_COMPLEX
|
138
|
+
variant.complex_value = Com::Rookout::Variant::Complex.new real: obj.real.to_f,
|
139
|
+
imaginary: obj.imaginary.to_f
|
140
|
+
else
|
141
|
+
raise Exceptions::RookClassCannotBeSerialized.new(obj.class, "Unknown Numeric Type")
|
142
|
+
end
|
143
|
+
# TODO: ADD SUPPORT FOR RATIONALS
|
144
|
+
end
|
145
|
+
|
146
|
+
def dump_integer obj, variant
|
147
|
+
if obj > INT32_MIN && obj < INT64_MAX
|
148
|
+
dump_variant_type variant, Com::Rookout::Variant::Type::VARIANT_LONG
|
149
|
+
variant.long_value = obj
|
150
|
+
else
|
151
|
+
dump_variant_type variant, Com::Rookout::Variant::Type::VARIANT_LARGE_INT
|
152
|
+
variant.bytes_index_in_cache = get_string_index_in_cache obj.to_s
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
156
|
+
def dump_string obj, variant, config
|
157
|
+
obj = obj.to_s
|
158
|
+
if obj.length > config.max_string
|
159
|
+
final_obj = obj[0...config.max_string]
|
160
|
+
else
|
161
|
+
final_obj = obj
|
162
|
+
end
|
163
|
+
|
164
|
+
variant.original_size = obj.length
|
165
|
+
dump_variant_type variant, Com::Rookout::Variant::Type::VARIANT_STRING
|
166
|
+
variant.bytes_index_in_cache = get_string_index_in_cache final_obj
|
167
|
+
end
|
168
|
+
|
169
|
+
def dump_time obj, variant
|
170
|
+
dump_variant_type variant, Com::Rookout::Variant::Type::VARIANT_TIME
|
171
|
+
variant.time_value = Google::Protobuf::Timestamp.new
|
172
|
+
variant.time_value.from_time obj
|
173
|
+
end
|
174
|
+
|
175
|
+
def dump_array obj, variant, current_depth, config, log_object_errors
|
176
|
+
variant.original_size = obj.length
|
177
|
+
|
178
|
+
weighted_children_depth = current_depth + 1
|
179
|
+
if weighted_children_depth <= config.max_collection_depth
|
180
|
+
dump_variant_type variant, Com::Rookout::Variant::Type::VARIANT_LIST
|
181
|
+
obj.each_with_index do |value, index|
|
182
|
+
break if index >= config.max_width
|
183
|
+
variant.collection_values << dump_raw_object(value, weighted_children_depth, config, log_object_errors)
|
184
|
+
end
|
185
|
+
else
|
186
|
+
dump_variant_type_max_depth variant, Com::Rookout::Variant::Type::VARIANT_LIST
|
187
|
+
end
|
188
|
+
end
|
189
|
+
|
190
|
+
def dump_hash obj, variant, current_depth, config, log_object_errors
|
191
|
+
variant.original_size = obj.length
|
192
|
+
|
193
|
+
weighted_children_depth = current_depth + 1
|
194
|
+
if current_depth <= config.max_collection_depth
|
195
|
+
dump_variant_type variant, Com::Rookout::Variant::Type::VARIANT_MAP
|
196
|
+
obj.each_with_index do |(key, value), index|
|
197
|
+
break if index >= config.max_width
|
198
|
+
variant.collection_keys << dump_raw_object(key, weighted_children_depth, config, log_object_errors)
|
199
|
+
variant.collection_values << dump_raw_object(value, weighted_children_depth, config, log_object_errors)
|
200
|
+
end
|
201
|
+
else
|
202
|
+
dump_variant_type_max_depth variant, Com::Rookout::Variant::Type::VARIANT_MAP
|
203
|
+
end
|
204
|
+
end
|
205
|
+
|
206
|
+
def dump_exception obj, variant, current_depth, config, log_object_errors
|
207
|
+
dump_variant_type variant, Com::Rookout::Variant::Type::VARIANT_OBJECT
|
208
|
+
variant.attribute_names_in_cache << get_string_index_in_cache("message")
|
209
|
+
variant.attribute_values << dump_raw_object(obj.message, current_depth + 1, config, log_object_errors)
|
210
|
+
|
211
|
+
variant.attribute_names_in_cache << get_string_index_in_cache("cause")
|
212
|
+
variant.attribute_values << dump_raw_object(obj.cause, current_depth + 1, config, log_object_errors)
|
213
|
+
|
214
|
+
variant.attribute_names_in_cache << get_string_index_in_cache("backtrace")
|
215
|
+
variant.attribute_values << dump_raw_object(obj.backtrace, current_depth + 1, config, log_object_errors)
|
216
|
+
end
|
217
|
+
|
218
|
+
def dump_code_object obj, variant
|
219
|
+
dump_variant_type variant, Com::Rookout::Variant::Type::VARIANT_CODE_OBJECT
|
220
|
+
|
221
|
+
if obj.is_a?(Proc) || obj.is_a?(Method)
|
222
|
+
source_location = obj.source_location
|
223
|
+
else
|
224
|
+
source_location = [nil, nil]
|
225
|
+
end
|
226
|
+
|
227
|
+
if obj.is_a? Proc
|
228
|
+
name = ""
|
229
|
+
else
|
230
|
+
name = obj.name
|
231
|
+
end
|
232
|
+
|
233
|
+
variant.code_values << Com::Rookout::Variant::CodeObject.new(name: name,
|
234
|
+
filename: source_location[0],
|
235
|
+
lineno: source_location[1])
|
236
|
+
end
|
237
|
+
|
238
|
+
def dump_user_class variant, obj, current_depth, config, log_object_errors
|
239
|
+
weighted_children_depth = current_depth + 1
|
240
|
+
if weighted_children_depth <= config.max_collection_depth
|
241
|
+
dump_variant_type variant, Com::Rookout::Variant::Type::VARIANT_OBJECT
|
242
|
+
|
243
|
+
obj.instance_variables.each do |name|
|
244
|
+
raw_value = obj.instance_variable_get name
|
245
|
+
variant.attribute_names_in_cache << get_string_index_in_cache(name.to_s)
|
246
|
+
variant.attribute_values << dump_raw_object(raw_value, weighted_children_depth, config, log_object_errors)
|
247
|
+
end
|
248
|
+
else
|
249
|
+
dump_variant_type_max_depth variant, Com::Rookout::Variant::Type::VARIANT_OBJECT
|
250
|
+
end
|
251
|
+
end
|
252
|
+
|
253
|
+
def dump_container_namespace namespace, log_errors
|
254
|
+
variant = Com::Rookout::Variant2.new
|
255
|
+
dump_variant_type variant, Com::Rookout::Variant::Type::VARIANT_NAMESPACE
|
256
|
+
|
257
|
+
namespace.hash.each do |key, value|
|
258
|
+
variant.attribute_names_in_cache << get_string_index_in_cache(key.to_s)
|
259
|
+
variant.attribute_values << dump(value, log_errors)
|
260
|
+
end
|
261
|
+
|
262
|
+
variant
|
263
|
+
end
|
264
|
+
|
265
|
+
def dump_traceback_namespace namespace
|
266
|
+
variant = Com::Rookout::Variant2.new
|
267
|
+
dump_variant_type variant, Com::Rookout::Variant::Type::VARIANT_TRACEBACK
|
268
|
+
|
269
|
+
namespace.depth.times do |i|
|
270
|
+
position = i + namespace.offset
|
271
|
+
break if position >= namespace.backtrace.length
|
272
|
+
frame = namespace.backtrace[position]
|
273
|
+
|
274
|
+
code_object = Com::Rookout::Variant::CodeObject.new filename: frame.source_location[0],
|
275
|
+
lineno: frame.source_location[1],
|
276
|
+
name: frame.eval("__method__").to_s
|
277
|
+
variant.code_values << code_object
|
278
|
+
end
|
279
|
+
variant
|
280
|
+
end
|
281
|
+
end
|
282
|
+
end
|
283
|
+
end
|
@@ -8,11 +8,15 @@ module Rookout
|
|
8
8
|
|
9
9
|
require_relative "../../protobuf/variant_pb"
|
10
10
|
|
11
|
+
|
11
12
|
class ContainerNamespace < Namespace
|
12
13
|
def initialize hash = {}
|
13
14
|
@hash = hash
|
14
15
|
end
|
15
16
|
|
17
|
+
attr_reader :hash
|
18
|
+
|
19
|
+
|
16
20
|
def call_method name, args
|
17
21
|
return RubyObjectNamespace.new @hash.length if name == "size"
|
18
22
|
super
|
@@ -20,12 +20,12 @@ module Rookout
|
|
20
20
|
attr_reader :max_depth, :max_width, :max_collection_depth, :max_string
|
21
21
|
end
|
22
22
|
|
23
|
-
OBJECT_DUMP_CONFIG_STRICT = ObjectDumpConfig.new 2, 10,
|
24
|
-
OBJECT_DUMP_CONFIG_DEFAULT = ObjectDumpConfig.new 4,
|
25
|
-
OBJECT_DUMP_CONFIG_TOLERANT = ObjectDumpConfig.new 5,
|
23
|
+
OBJECT_DUMP_CONFIG_STRICT = ObjectDumpConfig.new 2, 10, 2, 128
|
24
|
+
OBJECT_DUMP_CONFIG_DEFAULT = ObjectDumpConfig.new 4, 15, 4, 512
|
25
|
+
OBJECT_DUMP_CONFIG_TOLERANT = ObjectDumpConfig.new 5, 20, 5, 4 * 1024
|
26
26
|
|
27
27
|
OBJECT_DUMP_CONFIG_STRING = ObjectDumpConfig.new 1, 0, 0, 64 * 1024
|
28
|
-
OBJECT_DUMP_CONFIG_COLLECTION = ObjectDumpConfig.new 4, 100,
|
28
|
+
OBJECT_DUMP_CONFIG_COLLECTION = ObjectDumpConfig.new 4, 100, 4, 512
|
29
29
|
|
30
30
|
OBJECT_DUMP_TABLE = {
|
31
31
|
"" => OBJECT_DUMP_CONFIG_DEFAULT,
|
@@ -47,7 +47,7 @@ module Rookout
|
|
47
47
|
def tailor_limits!
|
48
48
|
if @obj.is_a? String
|
49
49
|
@dump_config = OBJECT_DUMP_CONFIG_STRING
|
50
|
-
elsif @obj.is_a?(Hash) || @obj.is_a?(Array)
|
50
|
+
elsif (@obj.is_a?(Hash) || @obj.is_a?(Array)) && @obj.length > OBJECT_DUMP_CONFIG_TOLERANT.max_width
|
51
51
|
@dump_config = OBJECT_DUMP_CONFIG_COLLECTION
|
52
52
|
else
|
53
53
|
@dump_config = OBJECT_DUMP_CONFIG_TOLERANT
|
@@ -4,6 +4,7 @@
|
|
4
4
|
require 'google/protobuf'
|
5
5
|
|
6
6
|
require_relative 'variant_pb'
|
7
|
+
require_relative 'variant2_pb'
|
7
8
|
require_relative 'agent_info_pb'
|
8
9
|
require_relative 'controller_info_pb'
|
9
10
|
require 'google/protobuf/any_pb'
|
@@ -87,6 +88,11 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
87
88
|
optional :aug_id, :string, 2
|
88
89
|
optional :arguments, :message, 3, "com.rookout.Variant"
|
89
90
|
optional :report_id, :string, 4
|
91
|
+
map :strings_cache, :string, :uint32, 5
|
92
|
+
repeated :buffer_cache_buffers, :bytes, 6
|
93
|
+
repeated :buffer_cache_indexes, :uint32, 7
|
94
|
+
optional :arguments2, :message, 8, "com.rookout.Variant2"
|
95
|
+
optional :reverse_list_order, :bool, 9
|
90
96
|
end
|
91
97
|
add_message "com.rookout.UserMsg" do
|
92
98
|
optional :aug_report, :message, 1, "com.rookout.AugReportMessage"
|
@@ -98,6 +104,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
98
104
|
end
|
99
105
|
add_message "com.rookout.InitialAugsCommand" do
|
100
106
|
repeated :augs, :string, 1
|
107
|
+
map :sdk_configuration, :string, :string, 2
|
101
108
|
end
|
102
109
|
add_message "com.rookout.RemoveAugCommand" do
|
103
110
|
optional :aug_id, :string, 1
|
@@ -117,6 +124,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
117
124
|
repeated :connectedAgents, :string, 2
|
118
125
|
end
|
119
126
|
add_message "com.rookout.DataOnPremTokenRequest" do
|
127
|
+
optional :access_type, :enum, 1, "com.rookout.DataOnPremTokenAccessType"
|
120
128
|
end
|
121
129
|
add_message "com.rookout.DataOnPremTokenResponse" do
|
122
130
|
optional :token, :bytes, 1
|
@@ -150,6 +158,44 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
150
158
|
optional :message, :message, 2, "google.protobuf.Any"
|
151
159
|
optional :error, :string, 3
|
152
160
|
end
|
161
|
+
add_message "com.rookout.StartDatastoreConnectivityTestCommand" do
|
162
|
+
optional :orgId, :string, 1
|
163
|
+
optional :controllerId, :string, 2
|
164
|
+
optional :datastoreUrl, :string, 3
|
165
|
+
optional :workspaceId, :string, 4
|
166
|
+
end
|
167
|
+
add_message "com.rookout.DatastoreConnectivityTestC2cResponse" do
|
168
|
+
optional :controllerId, :string, 1
|
169
|
+
optional :TestMessageId, :string, 2
|
170
|
+
optional :isSuccess, :bool, 3
|
171
|
+
optional :errorString, :string, 4
|
172
|
+
end
|
173
|
+
add_message "com.rookout.PingDatastoreCommand" do
|
174
|
+
optional :datastoreUrl, :string, 1
|
175
|
+
end
|
176
|
+
add_message "com.rookout.DatastoreInformation" do
|
177
|
+
optional :version, :string, 1
|
178
|
+
optional :hostname, :string, 2
|
179
|
+
optional :machine_type, :string, 3
|
180
|
+
optional :network, :string, 4
|
181
|
+
optional :ip, :string, 5
|
182
|
+
optional :os, :string, 6
|
183
|
+
optional :os_release, :string, 7
|
184
|
+
optional :os_version, :string, 8
|
185
|
+
optional :os_string, :string, 9
|
186
|
+
end
|
187
|
+
add_message "com.rookout.OrgLanguagesConfigsRequest" do
|
188
|
+
end
|
189
|
+
add_message "com.rookout.LanguageConfig" do
|
190
|
+
map :config, :string, :string, 1
|
191
|
+
end
|
192
|
+
add_message "com.rookout.OrgLanguagesConfigsResponse" do
|
193
|
+
map :OrgConfig, :string, :message, 1, "com.rookout.LanguageConfig"
|
194
|
+
end
|
195
|
+
add_enum "com.rookout.DataOnPremTokenAccessType" do
|
196
|
+
value :WRITE, 0
|
197
|
+
value :READ, 1
|
198
|
+
end
|
153
199
|
end
|
154
200
|
end
|
155
201
|
|
@@ -185,5 +231,13 @@ module Com
|
|
185
231
|
HitCountUpdateMessage = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.rookout.HitCountUpdateMessage").msgclass
|
186
232
|
C2cRpcRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.rookout.C2cRpcRequest").msgclass
|
187
233
|
C2cRpcResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.rookout.C2cRpcResponse").msgclass
|
234
|
+
StartDatastoreConnectivityTestCommand = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.rookout.StartDatastoreConnectivityTestCommand").msgclass
|
235
|
+
DatastoreConnectivityTestC2cResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.rookout.DatastoreConnectivityTestC2cResponse").msgclass
|
236
|
+
PingDatastoreCommand = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.rookout.PingDatastoreCommand").msgclass
|
237
|
+
DatastoreInformation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.rookout.DatastoreInformation").msgclass
|
238
|
+
OrgLanguagesConfigsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.rookout.OrgLanguagesConfigsRequest").msgclass
|
239
|
+
LanguageConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.rookout.LanguageConfig").msgclass
|
240
|
+
OrgLanguagesConfigsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.rookout.OrgLanguagesConfigsResponse").msgclass
|
241
|
+
DataOnPremTokenAccessType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.rookout.DataOnPremTokenAccessType").enummodule
|
188
242
|
end
|
189
243
|
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
+
# source: variant2.proto
|
3
|
+
|
4
|
+
require 'google/protobuf'
|
5
|
+
|
6
|
+
require 'google/protobuf/timestamp_pb'
|
7
|
+
require_relative 'variant_pb'
|
8
|
+
Google::Protobuf::DescriptorPool.generated_pool.build do
|
9
|
+
add_file("variant2.proto", :syntax => :proto3) do
|
10
|
+
add_message "com.rookout.Error2" do
|
11
|
+
optional :message, :string, 1
|
12
|
+
optional :type, :string, 2
|
13
|
+
optional :parameters, :message, 3, "com.rookout.Variant2"
|
14
|
+
optional :exc, :message, 4, "com.rookout.Variant2"
|
15
|
+
optional :traceback, :message, 5, "com.rookout.Variant2"
|
16
|
+
end
|
17
|
+
add_message "com.rookout.Variant2" do
|
18
|
+
optional :variant_type_max_depth, :uint32, 1
|
19
|
+
optional :original_type_index_in_cache, :uint32, 2
|
20
|
+
repeated :attribute_names_in_cache, :uint32, 3
|
21
|
+
repeated :attribute_values, :message, 4, "com.rookout.Variant2"
|
22
|
+
optional :original_size, :uint32, 5
|
23
|
+
optional :long_value, :int64, 6
|
24
|
+
optional :bytes_index_in_cache, :uint32, 7
|
25
|
+
repeated :collection_keys, :message, 8, "com.rookout.Variant2"
|
26
|
+
repeated :collection_values, :message, 9, "com.rookout.Variant2"
|
27
|
+
optional :double_value, :double, 10
|
28
|
+
repeated :code_values, :message, 11, "com.rookout.Variant.CodeObject"
|
29
|
+
optional :time_value, :message, 12, "google.protobuf.Timestamp"
|
30
|
+
optional :error_value, :message, 16, "com.rookout.Error2"
|
31
|
+
optional :complex_value, :message, 17, "com.rookout.Variant.Complex"
|
32
|
+
optional :livetail, :message, 18, "com.rookout.Variant.LiveTailMessage"
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
module Com
|
38
|
+
module Rookout
|
39
|
+
Error2 = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.rookout.Error2").msgclass
|
40
|
+
Variant2 = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.rookout.Variant2").msgclass
|
41
|
+
end
|
42
|
+
end
|
@@ -18,6 +18,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
18
18
|
optional :original_type, :string, 2
|
19
19
|
repeated :attributes, :message, 3, "com.rookout.Variant.NamedValue"
|
20
20
|
optional :max_depth, :bool, 4
|
21
|
+
optional :original_type_index_in_cache, :uint32, 5
|
21
22
|
oneof :value do
|
22
23
|
optional :int_value, :int32, 11
|
23
24
|
optional :long_value, :int64, 12
|
@@ -35,6 +36,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
35
36
|
optional :complex_value, :message, 28, "com.rookout.Variant.Complex"
|
36
37
|
optional :enum_value, :message, 31, "com.rookout.Variant.Enumeration"
|
37
38
|
optional :traceback, :message, 32, "com.rookout.Variant.Traceback"
|
39
|
+
optional :livetail, :message, 33, "com.rookout.Variant.LiveTailMessage"
|
38
40
|
end
|
39
41
|
end
|
40
42
|
add_message "com.rookout.Variant.NamedValue" do
|
@@ -48,6 +50,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
48
50
|
add_message "com.rookout.Variant.String" do
|
49
51
|
optional :original_size, :int32, 1
|
50
52
|
optional :value, :string, 2
|
53
|
+
optional :value_index_in_cache, :uint32, 3
|
51
54
|
end
|
52
55
|
add_message "com.rookout.Variant.List" do
|
53
56
|
optional :type, :string, 1
|
@@ -73,6 +76,9 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
73
76
|
optional :module, :string, 2
|
74
77
|
optional :filename, :string, 3
|
75
78
|
optional :lineno, :uint32, 4
|
79
|
+
optional :name_index_in_cache, :uint32, 5
|
80
|
+
optional :module_index_in_cache, :uint32, 6
|
81
|
+
optional :filename_index_in_cache, :uint32, 7
|
76
82
|
end
|
77
83
|
add_message "com.rookout.Variant.LargeInt" do
|
78
84
|
optional :value, :string, 1
|
@@ -89,6 +95,19 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
89
95
|
add_message "com.rookout.Variant.Traceback" do
|
90
96
|
repeated :locations, :message, 1, "com.rookout.Variant.CodeObject"
|
91
97
|
end
|
98
|
+
add_message "com.rookout.Variant.LiveTailMessage" do
|
99
|
+
optional :level_name, :string, 1
|
100
|
+
optional :msg, :string, 2
|
101
|
+
optional :formatted_message, :string, 3
|
102
|
+
optional :time, :double, 4
|
103
|
+
optional :filename, :string, 5
|
104
|
+
optional :lineno, :int32, 6
|
105
|
+
optional :function, :string, 7
|
106
|
+
optional :module, :string, 8
|
107
|
+
optional :thread_id, :int64, 9
|
108
|
+
optional :thread_name, :string, 10
|
109
|
+
map :log_context, :string, :string, 11
|
110
|
+
end
|
92
111
|
add_enum "com.rookout.Variant.Type" do
|
93
112
|
value :VARIANT_NONE, 0
|
94
113
|
value :VARIANT_INT, 1
|
@@ -113,6 +132,8 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
113
132
|
value :VARIANT_DYNAMIC, 20
|
114
133
|
value :VARIANT_ENUM, 21
|
115
134
|
value :VARIANT_TRACEBACK, 22
|
135
|
+
value :VARIANT_LIVETAIL, 23
|
136
|
+
value :VARIANT_SET, 24
|
116
137
|
end
|
117
138
|
end
|
118
139
|
end
|
@@ -134,6 +155,7 @@ module Com
|
|
134
155
|
Variant::Complex = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.rookout.Variant.Complex").msgclass
|
135
156
|
Variant::Enumeration = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.rookout.Variant.Enumeration").msgclass
|
136
157
|
Variant::Traceback = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.rookout.Variant.Traceback").msgclass
|
158
|
+
Variant::LiveTailMessage = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.rookout.Variant.LiveTailMessage").msgclass
|
137
159
|
Variant::Type = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.rookout.Variant.Type").enummodule
|
138
160
|
end
|
139
161
|
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.32
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Liran Haimovitch
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-04-24 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
|
@@ -203,6 +203,7 @@ files:
|
|
203
203
|
- lib/rookout/com_ws/agent_com_ws.rb
|
204
204
|
- lib/rookout/com_ws/backoff.rb
|
205
205
|
- lib/rookout/com_ws/command_handler.rb
|
206
|
+
- lib/rookout/com_ws/envelope_wrapper.rb
|
206
207
|
- lib/rookout/com_ws/git.rb
|
207
208
|
- lib/rookout/com_ws/information.rb
|
208
209
|
- lib/rookout/com_ws/output.rb
|
@@ -215,6 +216,7 @@ files:
|
|
215
216
|
- lib/rookout/interface.rb
|
216
217
|
- lib/rookout/logger.rb
|
217
218
|
- lib/rookout/processor/namespace_serializer.rb
|
219
|
+
- lib/rookout/processor/namespace_serializer2.rb
|
218
220
|
- lib/rookout/processor/namespaces/container_namespace.rb
|
219
221
|
- lib/rookout/processor/namespaces/frame_namespace.rb
|
220
222
|
- lib/rookout/processor/namespaces/namespace.rb
|
@@ -240,6 +242,7 @@ files:
|
|
240
242
|
- lib/rookout/protobuf/controller_info_pb.rb
|
241
243
|
- lib/rookout/protobuf/envelope_pb.rb
|
242
244
|
- lib/rookout/protobuf/messages_pb.rb
|
245
|
+
- lib/rookout/protobuf/variant2_pb.rb
|
243
246
|
- lib/rookout/protobuf/variant_pb.rb
|
244
247
|
- lib/rookout/rookout_singleton.rb
|
245
248
|
- lib/rookout/services/position.rb
|