rookout 0.1.45 → 0.1.46
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: b59aefa8a8063910a6a7ec3446c7f709a9781468e786993f2b7ae84b47c284cc
|
4
|
+
data.tar.gz: 91fc89ae75510ab8a81de5da86a3619c2f17d6a2920aa72d9f718436ac1b7056
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0b9a998c2f766b42e115e103e92883807c813d9bdb583d6f9eaf148ead19de00d8fd71dae6a98a88dcfdbcd028634ff5de865410911b7ffcae92ff84bf224c20
|
7
|
+
data.tar.gz: b5ee7cf8ff1af74a6718d5abfd5d87e56ca7a521d470449abab7d07c525e32fa5f979e7b97553340dfd5a2b35618573ec10f4c2855cfc7ed24ccf5d2495abd07
|
@@ -114,8 +114,8 @@ module Rookout
|
|
114
114
|
|
115
115
|
if @print_on_initial_connection
|
116
116
|
@print_on_initial_connection = false
|
117
|
-
Utils.quiet_puts "[Rookout] Successfully connected to controller"
|
118
|
-
|
117
|
+
Utils.quiet_puts "[Rookout] Successfully connected to controller."
|
118
|
+
Logger.instance.debug "[Rookout] Agent ID is #{@agent_id}"
|
119
119
|
end
|
120
120
|
Logger.instance.debug "WebSocket connected successfully"
|
121
121
|
Logger.instance.info "Finished initialization"
|
@@ -29,19 +29,26 @@ class Variant2EnvelopeWrapper < EnvelopeWrapperBase
|
|
29
29
|
report_id: report_id
|
30
30
|
@serializer = Rookout::Processor::NamespaceSerializer2.new
|
31
31
|
@aug_report_message.arguments2 = @serializer.dump arguments, true
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
@envelope = wrap_in_envelope @aug_report_message
|
36
|
-
@aug_report_message = nil
|
32
|
+
|
33
|
+
@estimated_length = @serializer.estimated_pending_bytes
|
34
|
+
@envelope = nil
|
37
35
|
end
|
38
36
|
|
39
37
|
def envelope
|
38
|
+
if @envelope.nil?
|
39
|
+
@serializer.string_cache.each do |key, value|
|
40
|
+
@aug_report_message.strings_cache[key.encode "UTF-8", invalid: :replace, undef: :replace, replace: "?"] = value
|
41
|
+
end
|
42
|
+
@envelope = wrap_in_envelope @aug_report_message
|
43
|
+
|
44
|
+
@serializer = nil
|
45
|
+
@aug_report_message = nil
|
46
|
+
end
|
40
47
|
@envelope
|
41
48
|
end
|
42
49
|
|
43
50
|
def calculate_size
|
44
|
-
@
|
51
|
+
@estimated_length
|
45
52
|
end
|
46
53
|
end
|
47
54
|
|
data/lib/rookout/commit.rb
CHANGED
@@ -44,10 +44,12 @@ module Rookout
|
|
44
44
|
|
45
45
|
def dump_variant_type variant, type
|
46
46
|
variant.variant_type_max_depth = type << 1
|
47
|
+
@estimated_pending_bytes += 2 # Field header + short number
|
47
48
|
end
|
48
49
|
|
49
50
|
def dump_variant_type_max_depth variant, type
|
50
51
|
variant.variant_type_max_depth = (type << 1) | 1
|
52
|
+
@estimated_pending_bytes += 2 # Field header + short number
|
51
53
|
end
|
52
54
|
|
53
55
|
def dump namespace, log_errors
|
@@ -64,6 +66,7 @@ module Rookout
|
|
64
66
|
rescue StandardError => e
|
65
67
|
message = "Failed to serialize namespace"
|
66
68
|
variant = Com::Rookout::Variant2.new
|
69
|
+
@estimated_pending_bytes = 0
|
67
70
|
dump_variant_type variant, Com::Rookout::Variant::Type::VARIANT_ERROR
|
68
71
|
|
69
72
|
if log_errors
|
@@ -84,6 +87,7 @@ module Rookout
|
|
84
87
|
rescue StandardError => e
|
85
88
|
message = "Failed to serialize object"
|
86
89
|
variant = Com::Rookout::Variant2.new
|
90
|
+
@estimated_pending_bytes = 0
|
87
91
|
dump_variant_type variant, Com::Rookout::Variant::Type::VARIANT_ERROR
|
88
92
|
|
89
93
|
if log_object_errors
|
@@ -145,20 +149,24 @@ module Rookout
|
|
145
149
|
when true
|
146
150
|
dump_variant_type variant, Com::Rookout::Variant::Type::VARIANT_LONG
|
147
151
|
variant.long_value = 1
|
152
|
+
@estimated_pending_bytes += 2 # Header + short number
|
148
153
|
when false
|
149
154
|
dump_variant_type variant, Com::Rookout::Variant::Type::VARIANT_LONG
|
150
155
|
variant.long_value = 0
|
156
|
+
@estimated_pending_bytes += 2 # Header + short number
|
151
157
|
when Integer
|
152
158
|
dump_integer obj, variant
|
153
159
|
when Float
|
154
160
|
dump_variant_type variant, Com::Rookout::Variant::Type::VARIANT_DOUBLE
|
155
161
|
variant.double_value = obj.to_f
|
162
|
+
@estimated_pending_bytes += 7 # Header + 64 bit float
|
156
163
|
when BigDecimal
|
157
164
|
dump_string obj.to_s, variant, config # TODO: NS: This might cut the decimal value, is that ok?
|
158
165
|
when Complex
|
159
166
|
dump_variant_type variant, Com::Rookout::Variant::Type::VARIANT_COMPLEX
|
160
167
|
variant.complex_value = Com::Rookout::Variant::Complex.new real: obj.real.to_f,
|
161
168
|
imaginary: obj.imaginary.to_f
|
169
|
+
@estimated_pending_bytes += 8 # Large header + size + (header + 64 bit float) * 2
|
162
170
|
else
|
163
171
|
raise Exceptions::RookClassCannotBeSerialized.new(obj.class, "Unknown Numeric Type")
|
164
172
|
end
|
@@ -173,6 +181,7 @@ module Rookout
|
|
173
181
|
dump_variant_type variant, Com::Rookout::Variant::Type::VARIANT_LARGE_INT
|
174
182
|
variant.bytes_index_in_cache = get_string_index_in_cache obj.to_s
|
175
183
|
end
|
184
|
+
@estimated_pending_bytes += 3 # Header + number
|
176
185
|
end
|
177
186
|
|
178
187
|
def dump_string obj, variant, config
|
@@ -186,16 +195,20 @@ module Rookout
|
|
186
195
|
variant.original_size = obj.length
|
187
196
|
dump_variant_type variant, Com::Rookout::Variant::Type::VARIANT_STRING
|
188
197
|
variant.bytes_index_in_cache = get_string_index_in_cache final_obj
|
198
|
+
@estimated_pending_bytes += 6 # Header + number + header + number
|
189
199
|
end
|
190
200
|
|
191
201
|
def dump_time obj, variant
|
192
202
|
dump_variant_type variant, Com::Rookout::Variant::Type::VARIANT_TIME
|
193
203
|
variant.time_value = Google::Protobuf::Timestamp.new
|
194
204
|
variant.time_value.from_time obj
|
205
|
+
|
206
|
+
@estimated_pending_bytes += 16 # Header + size + (header + 32 bit number + header + 64 bit number)
|
195
207
|
end
|
196
208
|
|
197
209
|
def dump_array obj, variant, current_depth, config, log_object_errors
|
198
210
|
variant.original_size = obj.length
|
211
|
+
@estimated_pending_bytes += 3 # Header + number
|
199
212
|
|
200
213
|
weighted_children_depth = current_depth + 1
|
201
214
|
if weighted_children_depth <= config.max_collection_depth
|
@@ -203,6 +216,7 @@ module Rookout
|
|
203
216
|
obj.each_with_index do |value, index|
|
204
217
|
break if index >= config.max_width
|
205
218
|
variant.collection_values << dump_raw_object(value, weighted_children_depth, config, log_object_errors)
|
219
|
+
@estimated_pending_bytes += 3 # Header + size
|
206
220
|
end
|
207
221
|
else
|
208
222
|
dump_variant_type_max_depth variant, Com::Rookout::Variant::Type::VARIANT_LIST
|
@@ -219,6 +233,7 @@ module Rookout
|
|
219
233
|
break if index >= config.max_width
|
220
234
|
variant.collection_keys << dump_raw_object(key, weighted_children_depth, config, log_object_errors)
|
221
235
|
variant.collection_values << dump_raw_object(value, weighted_children_depth, config, log_object_errors)
|
236
|
+
@estimated_pending_bytes += 6 # Header + size + header + size
|
222
237
|
end
|
223
238
|
else
|
224
239
|
dump_variant_type_max_depth variant, Com::Rookout::Variant::Type::VARIANT_MAP
|
@@ -229,12 +244,15 @@ module Rookout
|
|
229
244
|
dump_variant_type variant, Com::Rookout::Variant::Type::VARIANT_OBJECT
|
230
245
|
variant.attribute_names_in_cache << get_string_index_in_cache("message")
|
231
246
|
variant.attribute_values << dump_raw_object(obj.message, current_depth + 1, config, log_object_errors)
|
247
|
+
@estimated_pending_bytes += 6 # Header + number + header + size
|
232
248
|
|
233
249
|
variant.attribute_names_in_cache << get_string_index_in_cache("cause")
|
234
250
|
variant.attribute_values << dump_raw_object(obj.cause, current_depth + 1, config, log_object_errors)
|
251
|
+
@estimated_pending_bytes += 6 # Header + number + header + size
|
235
252
|
|
236
253
|
variant.attribute_names_in_cache << get_string_index_in_cache("backtrace")
|
237
254
|
variant.attribute_values << dump_raw_object(obj.backtrace, current_depth + 1, config, log_object_errors)
|
255
|
+
@estimated_pending_bytes += 6 # Header + number + header + size
|
238
256
|
end
|
239
257
|
|
240
258
|
def dump_code_object obj, variant
|
@@ -255,6 +273,9 @@ module Rookout
|
|
255
273
|
variant.code_values << Com::Rookout::Variant::CodeObject.new(name: name,
|
256
274
|
filename: source_location[0],
|
257
275
|
lineno: source_location[1])
|
276
|
+
# NOTE: This size is probably less, in Python we use the optional fields of CodeObject and in Ruby we don't,
|
277
|
+
# but it is better to estimate more
|
278
|
+
@estimated_pending_bytes += 14 # Header + size + (header + number) * 4
|
258
279
|
end
|
259
280
|
|
260
281
|
def dump_user_class variant, obj, current_depth, config, log_object_errors
|
@@ -266,6 +287,7 @@ module Rookout
|
|
266
287
|
raw_value = obj.instance_variable_get name
|
267
288
|
variant.attribute_names_in_cache << get_string_index_in_cache(name.to_s)
|
268
289
|
variant.attribute_values << dump_raw_object(raw_value, weighted_children_depth, config, log_object_errors)
|
290
|
+
@estimated_pending_bytes += 6 # Header + number + header + number
|
269
291
|
end
|
270
292
|
else
|
271
293
|
dump_variant_type_max_depth variant, Com::Rookout::Variant::Type::VARIANT_OBJECT
|
@@ -281,6 +303,8 @@ module Rookout
|
|
281
303
|
variant.attribute_values << dump(value, log_errors)
|
282
304
|
end
|
283
305
|
|
306
|
+
@estimated_pending_bytes += 4 # One number (packed field), One header + length
|
307
|
+
|
284
308
|
variant
|
285
309
|
end
|
286
310
|
|
@@ -297,6 +321,8 @@ module Rookout
|
|
297
321
|
lineno: frame.source_location[1],
|
298
322
|
name: frame.eval("__method__").to_s
|
299
323
|
variant.code_values << code_object
|
324
|
+
# See dump_code_object
|
325
|
+
@estimated_pending_bytes += 14 # Header + size + (header + number) * 4
|
300
326
|
end
|
301
327
|
variant
|
302
328
|
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.46
|
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-10-
|
11
|
+
date: 2022-10-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: binding_of_caller
|