raygun-apm 1.0.43-x86-linux → 1.0.48-x86-linux
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/ext/raygun/extconf.rb +1 -0
- data/lib/raygun/2.5/raygun_ext.so +0 -0
- data/lib/raygun/2.6/raygun_ext.so +0 -0
- data/lib/raygun/2.7/raygun_ext.so +0 -0
- data/lib/raygun/apm.rb +2 -0
- data/lib/raygun/apm/blacklist.rb +376 -382
- data/lib/raygun/apm/blacklist/parser.rb +47 -0
- data/lib/raygun/apm/blacklist/translator.rb +73 -0
- data/lib/raygun/apm/diagnostics.rb +4 -1
- data/lib/raygun/apm/tracer.rb +33 -35
- data/lib/raygun/apm/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 185e83d51208f563c0f0dd4384de7fb1123e9e8e52531da7abc3bdd22f5a43bd
|
4
|
+
data.tar.gz: cb4327777a8fcba886cc0c1417682393c2a26e229d4517b76a742ea84dd28b2a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6f9d8243e2d21823d5cac6243e46c5e22f3bcc38dda39a507e87abb83b8d32dbf06c8e80f7fa676acb41a1f4475fad5787a3c423a28222dca4d7995acb1d19c6
|
7
|
+
data.tar.gz: 351236e8f8a5da7c1583ef179906e944d848638489e12611edd2e9d98b92b2f258cd34037c7c5f5ab82702bc4620fb3399d387cacb6a4b6852c3ce9944864a1d
|
data/ext/raygun/extconf.rb
CHANGED
Binary file
|
Binary file
|
Binary file
|
data/lib/raygun/apm.rb
CHANGED
@@ -7,6 +7,8 @@ rescue LoadError
|
|
7
7
|
end
|
8
8
|
require "raygun/apm/config"
|
9
9
|
require "raygun/apm/diagnostics"
|
10
|
+
require "raygun/apm/blacklist/parser"
|
11
|
+
require "raygun/apm/blacklist/translator"
|
10
12
|
require "raygun/apm/tracer"
|
11
13
|
require "raygun/apm/event"
|
12
14
|
require "raygun/apm/hooks/net_http"
|
data/lib/raygun/apm/blacklist.rb
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
module Raygun
|
2
2
|
module Apm
|
3
|
-
|
3
|
+
module Blacklist
|
4
4
|
PROFILER = %w{
|
5
|
+
Raygun
|
5
6
|
Raygun::Apm::
|
6
7
|
}
|
7
8
|
|
@@ -11,422 +12,415 @@ module Raygun
|
|
11
12
|
#<Module:
|
12
13
|
#<Class:
|
13
14
|
#<#<Class:
|
14
|
-
ARGF
|
15
|
-
ArgumentError
|
16
|
-
Array
|
17
|
-
Base64
|
18
|
-
BasicObject
|
19
|
-
Binding
|
20
|
-
Class
|
21
|
-
ClosedQueueError
|
22
|
-
Comparable
|
23
|
-
Complex
|
24
|
-
ConditionVariable
|
25
|
-
Continuation
|
26
|
-
Data
|
27
|
-
Dir
|
28
|
-
ENV
|
29
|
-
EOFError
|
30
|
-
Encoding
|
31
|
-
Encoding::
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
String
|
125
|
-
Struct
|
126
|
-
Symbol
|
127
|
-
SyntaxError
|
128
|
-
SystemCallError
|
129
|
-
SystemExit
|
130
|
-
SystemStackError
|
131
|
-
Thread
|
132
|
-
Thread::Backtrace
|
133
|
-
Thread::Backtrace::Location
|
134
|
-
ThreadError
|
135
|
-
ThreadGroup
|
136
|
-
Time
|
137
|
-
TracePoint
|
138
|
-
TrueClass
|
139
|
-
TypeError
|
140
|
-
UnboundMethod
|
141
|
-
UncaughtThrowError
|
142
|
-
UnicodeNormalize
|
143
|
-
Warning
|
144
|
-
ZeroDivisionError
|
145
|
-
IPAddr
|
15
|
+
ARGF#
|
16
|
+
ArgumentError#
|
17
|
+
Array#
|
18
|
+
Base64#
|
19
|
+
BasicObject#
|
20
|
+
Binding#
|
21
|
+
Class#
|
22
|
+
ClosedQueueError#
|
23
|
+
Comparable#
|
24
|
+
Complex#
|
25
|
+
ConditionVariable#
|
26
|
+
Continuation#
|
27
|
+
Data#
|
28
|
+
Dir#
|
29
|
+
ENV#
|
30
|
+
EOFError#
|
31
|
+
Encoding#
|
32
|
+
Encoding::
|
33
|
+
EncodingError#
|
34
|
+
Enumerable#
|
35
|
+
Enumerator#
|
36
|
+
Enumerator::
|
37
|
+
Errno#
|
38
|
+
Exception#
|
39
|
+
FalseClass#
|
40
|
+
Fiber#
|
41
|
+
FiberError#
|
42
|
+
File#
|
43
|
+
File::
|
44
|
+
FileTest#
|
45
|
+
Float#
|
46
|
+
FloatDomainError#
|
47
|
+
FrozenError#
|
48
|
+
GC#
|
49
|
+
GC::Profiler#
|
50
|
+
Hash#
|
51
|
+
IO#
|
52
|
+
IO::
|
53
|
+
IOError#
|
54
|
+
IndexError#
|
55
|
+
Integer#
|
56
|
+
Interrupt#
|
57
|
+
JSON#
|
58
|
+
Kernel#
|
59
|
+
KeyError#
|
60
|
+
LoadError#
|
61
|
+
LocalJumpError#
|
62
|
+
Marshal#
|
63
|
+
MatchData#
|
64
|
+
Math#
|
65
|
+
Math::
|
66
|
+
Method#
|
67
|
+
Module#
|
68
|
+
Mutex#
|
69
|
+
NameError#
|
70
|
+
NilClass#
|
71
|
+
NoMemoryError#
|
72
|
+
NoMethodError#
|
73
|
+
NotImplementedError#
|
74
|
+
Numeric#
|
75
|
+
Object#
|
76
|
+
ObjectSpace#
|
77
|
+
ObjectSpace::
|
78
|
+
Proc#
|
79
|
+
Process#
|
80
|
+
Process::
|
81
|
+
Psych#
|
82
|
+
Queue#
|
83
|
+
Random#
|
84
|
+
Random::
|
85
|
+
Range#
|
86
|
+
RangeError#
|
87
|
+
Rational#
|
88
|
+
Regexp#
|
89
|
+
RegexpError#
|
90
|
+
RubyVM#
|
91
|
+
RubyVM::
|
92
|
+
RuntimeError#
|
93
|
+
ScriptError#
|
94
|
+
SecurityError#
|
95
|
+
Set#
|
96
|
+
SimpleDelegator#
|
97
|
+
Signal#
|
98
|
+
SignalException#
|
99
|
+
SizedQueue#
|
100
|
+
Socket#
|
101
|
+
StandardError#
|
102
|
+
StopIteration#
|
103
|
+
String#
|
104
|
+
Struct#
|
105
|
+
Symbol#
|
106
|
+
SyntaxError#
|
107
|
+
SystemCallError#
|
108
|
+
SystemExit#
|
109
|
+
SystemStackError#
|
110
|
+
Thread#
|
111
|
+
Thread::
|
112
|
+
ThreadError#
|
113
|
+
ThreadGroup#
|
114
|
+
Timeout
|
115
|
+
Time#
|
116
|
+
TracePoint#
|
117
|
+
TrueClass#
|
118
|
+
TypeError#
|
119
|
+
UnboundMethod#
|
120
|
+
UncaughtThrowError#
|
121
|
+
UnicodeNormalize#
|
122
|
+
Warning#
|
123
|
+
ZeroDivisionError#
|
124
|
+
IPAddr#
|
146
125
|
Net::
|
147
|
-
OpenSSL
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
126
|
+
OpenSSL#
|
127
|
+
OpenSSL::
|
128
|
+
BasicSocket#
|
129
|
+
Forwardable#
|
130
|
+
Gem#
|
131
|
+
FFI#
|
132
|
+
Addrinfo#
|
133
|
+
Open3#
|
134
|
+
Shellwords#
|
135
|
+
WeakRef#
|
136
|
+
RbConfig#
|
137
|
+
Singleton#
|
138
|
+
OpenStruct#
|
139
|
+
Bundler#
|
140
|
+
Delegator#
|
141
|
+
PrettyPrint#
|
142
|
+
PP#
|
143
|
+
Minitest
|
144
|
+
Psych
|
145
|
+
Mutex_m#
|
146
|
+
ERB#
|
147
|
+
ERB::
|
148
|
+
Gem#
|
149
|
+
Gem::
|
150
|
+
FileUtils#
|
151
|
+
FileUtils::
|
152
|
+
TempFile#
|
153
|
+
TempFile::
|
163
154
|
}
|
164
155
|
|
165
156
|
HTTP_OUT = %w{
|
166
|
-
#
|
157
|
+
#Faraday
|
167
158
|
URI
|
168
159
|
MonitorMixin
|
169
160
|
Faraday
|
170
|
-
+Faraday::Connection
|
171
|
-
+Faraday::Connection
|
172
|
-
+Faraday::Connection
|
173
|
-
+Faraday::Connection
|
174
|
-
+Faraday::Connection
|
175
|
-
+Faraday::Connection
|
176
|
-
+Faraday::Connection
|
161
|
+
+Faraday::Connection#get
|
162
|
+
+Faraday::Connection#head
|
163
|
+
+Faraday::Connection#delete
|
164
|
+
+Faraday::Connection#trace
|
165
|
+
+Faraday::Connection#post
|
166
|
+
+Faraday::Connection#put
|
167
|
+
+Faraday::Connection#patch
|
177
168
|
#multipart-post
|
178
169
|
Multipartable
|
179
170
|
SecureRandom
|
180
171
|
Parts
|
181
172
|
CompositeReadIO
|
182
|
-
+Multipartable
|
173
|
+
+Multipartable#initialize
|
183
174
|
#rest-client
|
184
175
|
RestClient
|
185
176
|
Netrc
|
186
177
|
HTTP::CookieJar
|
187
178
|
DomainName
|
188
179
|
HTTP::Accept
|
189
|
-
+RestClient
|
190
|
-
+RestClient
|
191
|
-
+RestClient
|
192
|
-
+RestClient
|
193
|
-
+RestClient
|
194
|
-
+RestClient
|
195
|
-
+RestClient
|
180
|
+
+RestClient.get
|
181
|
+
+RestClient.head
|
182
|
+
+RestClient.delete
|
183
|
+
+RestClient.trace
|
184
|
+
+RestClient.post
|
185
|
+
+RestClient.put
|
186
|
+
+RestClient.patch
|
196
187
|
#excon
|
197
188
|
Excon
|
198
|
-
+Excon
|
199
|
-
+Excon
|
200
|
-
+Excon
|
201
|
-
+Excon
|
202
|
-
+Excon
|
203
|
-
+Excon
|
204
|
-
+Excon
|
189
|
+
+Excon.get
|
190
|
+
+Excon.head
|
191
|
+
+Excon.delete
|
192
|
+
+Excon.trace
|
193
|
+
+Excon.post
|
194
|
+
+Excon.put
|
195
|
+
+Excon.patch
|
205
196
|
#HTTParty
|
206
197
|
HTTParty
|
207
|
-
+HTTParty
|
208
|
-
+HTTParty
|
209
|
-
+HTTParty
|
210
|
-
+HTTParty
|
211
|
-
+HTTParty
|
212
|
-
+HTTParty
|
213
|
-
+HTTParty
|
198
|
+
+HTTParty.get
|
199
|
+
+HTTParty.head
|
200
|
+
+HTTParty.delete
|
201
|
+
+HTTParty.trace
|
202
|
+
+HTTParty.post
|
203
|
+
+HTTParty.put
|
204
|
+
+HTTParty.patch
|
214
205
|
#httpclient
|
215
206
|
HTTPClient
|
216
207
|
HTTP::Message
|
217
|
-
+HTTPClient
|
218
|
-
+HTTPClient
|
219
|
-
+HTTPClient
|
220
|
-
+HTTPClient
|
221
|
-
+HTTPClient
|
222
|
-
+HTTPClient
|
223
|
-
+HTTPClient
|
224
|
-
#
|
225
|
-
+Net::HTTP
|
226
|
-
+Net::HTTP
|
227
|
-
+Net::HTTP
|
208
|
+
+HTTPClient#get
|
209
|
+
+HTTPClient#head
|
210
|
+
+HTTPClient#delete
|
211
|
+
+HTTPClient#trace
|
212
|
+
+HTTPClient#post
|
213
|
+
+HTTPClient#put
|
214
|
+
+HTTPClient#patch
|
215
|
+
#net-http
|
216
|
+
+Net::HTTP.get_response
|
217
|
+
+Net::HTTP.get
|
218
|
+
+Net::HTTP.head
|
219
|
+
+Net::HTTP.delete
|
220
|
+
+Net::HTTP.trace
|
221
|
+
+Net::HTTP.post
|
222
|
+
+Net::HTTP.put
|
223
|
+
+Net::HTTP.patch
|
224
|
+
+Net::HTTP.post_form
|
228
225
|
}
|
229
226
|
|
230
227
|
QUERIES = %w{
|
231
|
-
#
|
228
|
+
#redis
|
232
229
|
Redis
|
233
|
-
+Redis
|
234
|
-
+Redis
|
235
|
-
+Redis
|
236
|
-
+Redis
|
237
|
-
+Redis
|
238
|
-
+Redis
|
239
|
-
+Redis
|
240
|
-
+Redis
|
241
|
-
+Redis
|
242
|
-
+Redis
|
243
|
-
+Redis
|
244
|
-
+Redis
|
245
|
-
+Redis
|
246
|
-
+Redis
|
247
|
-
+Redis
|
248
|
-
+Redis
|
249
|
-
+Redis
|
250
|
-
+Redis
|
251
|
-
#
|
252
|
-
|
253
|
-
+Redis
|
254
|
-
+Redis
|
255
|
-
+Redis
|
256
|
-
+Redis
|
257
|
-
+Redis
|
258
|
-
+Redis
|
259
|
-
+Redis
|
260
|
-
+Redis
|
261
|
-
+Redis
|
262
|
-
+Redis
|
263
|
-
+Redis
|
264
|
-
+Redis
|
265
|
-
+Redis
|
266
|
-
+Redis
|
267
|
-
+Redis
|
268
|
-
+Redis
|
269
|
-
+Redis
|
270
|
-
+Redis
|
271
|
-
+Redis
|
272
|
-
+Redis
|
273
|
-
+Redis
|
274
|
-
+Redis
|
275
|
-
+Redis
|
276
|
-
+Redis
|
277
|
-
+Redis
|
278
|
-
+Redis
|
279
|
-
+Redis
|
280
|
-
+Redis
|
281
|
-
+Redis
|
282
|
-
+Redis
|
283
|
-
+Redis
|
284
|
-
+Redis
|
285
|
-
+Redis
|
286
|
-
+Redis
|
287
|
-
+Redis
|
288
|
-
+Redis
|
289
|
-
+Redis
|
290
|
-
+Redis
|
291
|
-
+Redis
|
292
|
-
+Redis
|
293
|
-
+Redis
|
294
|
-
+Redis
|
295
|
-
+Redis
|
296
|
-
+Redis
|
297
|
-
+Redis
|
298
|
-
+Redis
|
299
|
-
+Redis
|
300
|
-
+Redis
|
301
|
-
+Redis
|
302
|
-
+Redis
|
303
|
-
+Redis
|
304
|
-
+Redis
|
305
|
-
+Redis
|
306
|
-
+Redis
|
307
|
-
+Redis
|
308
|
-
+Redis
|
309
|
-
+Redis
|
310
|
-
+Redis
|
311
|
-
+Redis
|
312
|
-
+Redis
|
313
|
-
+Redis
|
314
|
-
+Redis
|
315
|
-
+Redis
|
316
|
-
+Redis
|
317
|
-
+Redis
|
318
|
-
+Redis
|
319
|
-
+Redis
|
320
|
-
+Redis
|
321
|
-
+Redis
|
322
|
-
+Redis
|
323
|
-
+Redis
|
324
|
-
+Redis
|
325
|
-
+Redis
|
326
|
-
+Redis
|
327
|
-
+Redis
|
328
|
-
+Redis
|
329
|
-
+Redis
|
330
|
-
+Redis
|
331
|
-
+Redis
|
332
|
-
+Redis
|
333
|
-
+Redis
|
334
|
-
+Redis
|
335
|
-
+Redis
|
336
|
-
+Redis
|
337
|
-
+Redis
|
338
|
-
+Redis
|
339
|
-
+Redis
|
340
|
-
+Redis
|
341
|
-
+Redis
|
342
|
-
+Redis
|
343
|
-
+Redis
|
344
|
-
+Redis
|
345
|
-
+Redis
|
346
|
-
+Redis
|
347
|
-
+Redis
|
348
|
-
+Redis
|
349
|
-
+Redis
|
350
|
-
+Redis
|
351
|
-
+Redis
|
352
|
-
+Redis
|
353
|
-
+Redis
|
354
|
-
+Redis
|
355
|
-
+Redis
|
356
|
-
+Redis
|
357
|
-
+Redis
|
358
|
-
+Redis
|
359
|
-
+Redis
|
360
|
-
+Redis
|
361
|
-
+Redis
|
362
|
-
+Redis
|
363
|
-
+Redis
|
364
|
-
+Redis
|
365
|
-
+Redis
|
366
|
-
+Redis
|
367
|
-
+Redis
|
368
|
-
+Redis
|
369
|
-
+Redis
|
370
|
-
+Redis
|
371
|
-
+Redis
|
372
|
-
+Redis
|
373
|
-
+Redis
|
374
|
-
+Redis
|
375
|
-
+Redis
|
376
|
-
+Redis
|
377
|
-
+Redis
|
378
|
-
+Redis
|
379
|
-
+Redis
|
380
|
-
+Redis
|
381
|
-
+Redis
|
382
|
-
+Redis
|
383
|
-
+Redis
|
384
|
-
+Redis
|
385
|
-
+Redis
|
386
|
-
+Redis
|
387
|
-
+Redis
|
388
|
-
+Redis
|
389
|
-
+Redis
|
390
|
-
+Redis
|
391
|
-
+Redis
|
392
|
-
+Redis
|
393
|
-
+Redis
|
394
|
-
+Redis
|
395
|
-
+Redis
|
396
|
-
+Redis
|
397
|
-
+Redis
|
398
|
-
+Redis
|
399
|
-
+Redis
|
400
|
-
+Redis
|
401
|
-
+Redis
|
402
|
-
+Redis
|
403
|
-
+Redis
|
404
|
-
+Redis
|
405
|
-
+Redis
|
406
|
-
+Redis
|
407
|
-
+Redis
|
408
|
-
+Redis
|
409
|
-
+Redis
|
410
|
-
+Redis
|
411
|
-
+Redis
|
412
|
-
+Redis
|
413
|
-
+Redis
|
414
|
-
+Redis
|
415
|
-
+Redis
|
416
|
-
+Redis
|
417
|
-
+Redis::asking
|
418
|
-
#+Raygun::Apm::Hooks::Redis::process
|
230
|
+
+Redis#auth
|
231
|
+
+Redis#select
|
232
|
+
+Redis#ping
|
233
|
+
+Redis#echo
|
234
|
+
+Redis#bgrewriteaof
|
235
|
+
+Redis#bgsave
|
236
|
+
+Redis#config
|
237
|
+
+Redis#dbsize
|
238
|
+
+Redis#debug
|
239
|
+
+Redis#flushall
|
240
|
+
+Redis#flushdb
|
241
|
+
+Redis#info
|
242
|
+
+Redis#lastsave
|
243
|
+
+Redis#monitor
|
244
|
+
+Redis#save
|
245
|
+
+Redis#shutdown
|
246
|
+
+Redis#slave
|
247
|
+
+Redis#slowlog
|
248
|
+
+Redis#sync
|
249
|
+
+Redis#time
|
250
|
+
+Redis#persist
|
251
|
+
+Redis#expire
|
252
|
+
+Redis#expireat
|
253
|
+
+Redis#ttl
|
254
|
+
+Redis#pexpire
|
255
|
+
+Redis#pexpireat
|
256
|
+
+Redis#pttl
|
257
|
+
+Redis#dump
|
258
|
+
+Redis#restore
|
259
|
+
+Redis#migrate
|
260
|
+
+Redis#del
|
261
|
+
+Redis#unlink
|
262
|
+
+Redis#exists
|
263
|
+
+Redis#keys
|
264
|
+
+Redis#move
|
265
|
+
+Redis#object
|
266
|
+
+Redis#randomkey
|
267
|
+
+Redis#rename
|
268
|
+
+Redis#renamenx
|
269
|
+
+Redis#sort
|
270
|
+
+Redis#type
|
271
|
+
+Redis#decr
|
272
|
+
+Redis#decrby
|
273
|
+
+Redis#incr
|
274
|
+
+Redis#incrby
|
275
|
+
+Redis#incrbyfloat
|
276
|
+
+Redis#set
|
277
|
+
+Redis#multi
|
278
|
+
+Redis#client
|
279
|
+
+Redis#set
|
280
|
+
+Redis#setex
|
281
|
+
+Redis#psetex
|
282
|
+
+Redis#setnx
|
283
|
+
+Redis#mset
|
284
|
+
+Redis#mapped_mset
|
285
|
+
+Redis#msetnx
|
286
|
+
+Redis#mapped_msetnx
|
287
|
+
+Redis#get
|
288
|
+
+Redis#mget
|
289
|
+
+Redis#mapped_mget
|
290
|
+
+Redis#setrange
|
291
|
+
+Redis#getrange
|
292
|
+
+Redis#setbit
|
293
|
+
+Redis#getbit
|
294
|
+
+Redis#append
|
295
|
+
+Redis#bitcount
|
296
|
+
+Redis#bitop
|
297
|
+
+Redis#bitpos
|
298
|
+
+Redis#getset
|
299
|
+
+Redis#strlen
|
300
|
+
+Redis#llen
|
301
|
+
+Redis#lpush
|
302
|
+
+Redis#lpushx
|
303
|
+
+Redis#rpush
|
304
|
+
+Redis#rpushx
|
305
|
+
+Redis#lpop
|
306
|
+
+Redis#rpop
|
307
|
+
+Redis#rpoplpush
|
308
|
+
+Redis#blpop
|
309
|
+
+Redis#brpop
|
310
|
+
+Redis#brpoplpush
|
311
|
+
+Redis#lindex
|
312
|
+
+Redis#linsert
|
313
|
+
+Redis#lrange
|
314
|
+
+Redis#lrem
|
315
|
+
+Redis#lset
|
316
|
+
+Redis#ltrim
|
317
|
+
+Redis#scard
|
318
|
+
+Redis#sadd
|
319
|
+
+Redis#srem
|
320
|
+
+Redis#spop
|
321
|
+
+Redis#srandmember
|
322
|
+
+Redis#smove
|
323
|
+
+Redis#sismember
|
324
|
+
+Redis#smembers
|
325
|
+
+Redis#sdiff
|
326
|
+
+Redis#sdiffstore
|
327
|
+
+Redis#sinter
|
328
|
+
+Redis#sinterstore
|
329
|
+
+Redis#sunion
|
330
|
+
+Redis#sunionstore
|
331
|
+
+Redis#zcard
|
332
|
+
+Redis#zadd
|
333
|
+
+Redis#zincrby
|
334
|
+
+Redis#zrem
|
335
|
+
+Redis#zpopmax
|
336
|
+
+Redis#zpopmin
|
337
|
+
+Redis#bzpopmax
|
338
|
+
+Redis#bzpopmin
|
339
|
+
+Redis#zscore
|
340
|
+
+Redis#zrange
|
341
|
+
+Redis#zrevrange
|
342
|
+
+Redis#zrank
|
343
|
+
+Redis#zrevrank
|
344
|
+
+Redis#zremrangebyrank
|
345
|
+
+Redis#zlexcount
|
346
|
+
+Redis#zrangebylex
|
347
|
+
+Redis#zrevrangebylex
|
348
|
+
+Redis#zrangebyscore
|
349
|
+
+Redis#zrevrangebyscore
|
350
|
+
+Redis#zremrangebyscore
|
351
|
+
+Redis#zcount
|
352
|
+
+Redis#zinterstore
|
353
|
+
+Redis#zunionstore
|
354
|
+
+Redis#hlen
|
355
|
+
+Redis#hset
|
356
|
+
+Redis#hsetnx
|
357
|
+
+Redis#hmset
|
358
|
+
+Redis#mapped_hmset
|
359
|
+
+Redis#hget
|
360
|
+
+Redis#hmget
|
361
|
+
+Redis#mapped_hmget
|
362
|
+
+Redis#hdel
|
363
|
+
+Redis#hexists
|
364
|
+
+Redis#hincrby
|
365
|
+
+Redis#hincrbyfloat
|
366
|
+
+Redis#hkeys
|
367
|
+
+Redis#hvals
|
368
|
+
+Redis#hgetall
|
369
|
+
+Redis#publish
|
370
|
+
+Redis#subscribe
|
371
|
+
+Redis#subscribe_with_timeout
|
372
|
+
+Redis#unsubscribe
|
373
|
+
+Redis#psubscribe
|
374
|
+
+Redis#psubscribe_with_timeout
|
375
|
+
+Redis#punsubscribe
|
376
|
+
+Redis#pubsub
|
377
|
+
+Redis#watch
|
378
|
+
+Redis#unwatch
|
379
|
+
+Redis#pipelined
|
380
|
+
+Redis#multi
|
381
|
+
+Redis#exec
|
382
|
+
+Redis#discard
|
383
|
+
+Redis#script
|
384
|
+
+Redis#eval
|
385
|
+
+Redis#evalsha
|
386
|
+
+Redis#scan
|
387
|
+
+Redis#hscan
|
388
|
+
+Redis#zscan
|
389
|
+
+Redis#sscan
|
390
|
+
+Redis#pfadd
|
391
|
+
+Redis#pfcount
|
392
|
+
+Redis#pfmerge
|
393
|
+
+Redis#geoadd
|
394
|
+
+Redis#geohash
|
395
|
+
+Redis#georadiusbymember
|
396
|
+
+Redis#geopos
|
397
|
+
+Redis#geodist
|
398
|
+
+Redis#xinfo
|
399
|
+
+Redis#xadd
|
400
|
+
+Redis#xtrim
|
401
|
+
+Redis#xdel
|
402
|
+
+Redis#xrange
|
403
|
+
+Redis#xrevrange
|
404
|
+
+Redis#xlen
|
405
|
+
+Redis#xread
|
406
|
+
+Redis#xgroup
|
407
|
+
+Redis#xreadgroup
|
408
|
+
+Redis#xack
|
409
|
+
+Redis#xclaim
|
410
|
+
+Redis#xpending
|
411
|
+
+Redis#sentinel
|
412
|
+
+Redis#cluster
|
413
|
+
+Redis#asking
|
419
414
|
}
|
420
415
|
|
421
416
|
RAYGUN4RUBY = %w{
|
422
417
|
Raygun::Breadcrumbs
|
423
418
|
Raygun::Configuration
|
424
|
-
Raygun
|
425
|
-
Raygun
|
426
|
-
Raygun
|
419
|
+
Raygun.config
|
420
|
+
Raygun.log
|
421
|
+
Raygun.should_report?
|
427
422
|
Raygun::Client
|
428
|
-
|
429
|
-
+Raygun::track_exception
|
423
|
+
+Raygun.track_exception
|
430
424
|
}
|
431
425
|
|
432
426
|
def self.extend_with(list)
|
@@ -0,0 +1,47 @@
|
|
1
|
+
module Raygun
|
2
|
+
module Apm
|
3
|
+
module Blacklist
|
4
|
+
class Parser
|
5
|
+
COMMENT = /^#[^<].*/
|
6
|
+
ANONYMOUS = /^#<.*:.*>?/
|
7
|
+
|
8
|
+
def initialize(tracer)
|
9
|
+
@tracer = tracer
|
10
|
+
@translator = Blacklist::Translator.new
|
11
|
+
end
|
12
|
+
|
13
|
+
def add_filters(filters)
|
14
|
+
filters.each do |filter|
|
15
|
+
filter.strip!
|
16
|
+
add_filter(filter)
|
17
|
+
end
|
18
|
+
show_filters
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
def add_filter(filter)
|
23
|
+
if filter =~ COMMENT && filter !~ ANONYMOUS
|
24
|
+
return
|
25
|
+
end
|
26
|
+
if filter.start_with?('+')
|
27
|
+
@tracer.add_whitelist *translate(filter[1..-1])
|
28
|
+
elsif filter.start_with?('-')
|
29
|
+
@tracer.add_blacklist *translate(filter[1..-1])
|
30
|
+
elsif filter.size > 0
|
31
|
+
@tracer.add_blacklist *translate(filter)
|
32
|
+
end
|
33
|
+
rescue => e
|
34
|
+
puts "Failed to add line '#{filter}' to the blacklist (#{e}) #{e.backtrace.join("\n")}"
|
35
|
+
end
|
36
|
+
|
37
|
+
def show_filters
|
38
|
+
@tracer.show_filters if @tracer.config.loglevel == Tracer::LOG_BLACKLIST
|
39
|
+
end
|
40
|
+
|
41
|
+
def translate(filter)
|
42
|
+
@translator.translate(filter)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,73 @@
|
|
1
|
+
module Raygun
|
2
|
+
module Apm
|
3
|
+
module Blacklist
|
4
|
+
class Translator
|
5
|
+
class RubyTranslator
|
6
|
+
# Foo::Bar#baz
|
7
|
+
# Foo::Bar.baz
|
8
|
+
COMMENT = /^#.*/
|
9
|
+
ANONYMOUS = /^#<.*>?/
|
10
|
+
NAMESPACE = /::/
|
11
|
+
NAMESPACE_ONLY = /::$/
|
12
|
+
METHOD = /#|\./
|
13
|
+
LETTER_CASE = /^[A-Z]/
|
14
|
+
|
15
|
+
def translate(filter)
|
16
|
+
path, method = nil, nil
|
17
|
+
if filter !~ COMMENT && filter !~ ANONYMOUS
|
18
|
+
if filter.end_with?("#")
|
19
|
+
path = filter
|
20
|
+
else
|
21
|
+
path, method = filter.split(METHOD)
|
22
|
+
end
|
23
|
+
# .NET fallback
|
24
|
+
return if method =~ LETTER_CASE && !method.start_with?("Ruby")
|
25
|
+
if path == path.downcase
|
26
|
+
method = path
|
27
|
+
path = nil
|
28
|
+
end
|
29
|
+
|
30
|
+
# .NET fallback
|
31
|
+
return if method =~ NAMESPACE
|
32
|
+
[path, method]
|
33
|
+
elsif filter =~ ANONYMOUS
|
34
|
+
_, klass, method = filter.split(METHOD)
|
35
|
+
["##{klass}", method]
|
36
|
+
else
|
37
|
+
nil
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
# References https://raygun.com/documentation/product-guides/apm/blacklist/
|
43
|
+
class DotnetTranslator
|
44
|
+
# Foo.Bar::Baz
|
45
|
+
COMMENT = /^#/
|
46
|
+
NAMESPACE = /\./
|
47
|
+
METHOD = /::/
|
48
|
+
|
49
|
+
def translate(filter)
|
50
|
+
if filter !~ COMMENT
|
51
|
+
path, method = nil, nil
|
52
|
+
path, method = filter.split(METHOD)
|
53
|
+
path.gsub!(NAMESPACE, "::")
|
54
|
+
[path, method]
|
55
|
+
else
|
56
|
+
nil
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
def initialize
|
62
|
+
@ruby = RubyTranslator.new
|
63
|
+
@dotnet = DotnetTranslator.new
|
64
|
+
end
|
65
|
+
|
66
|
+
def translate(filter)
|
67
|
+
translated = @ruby.translate(filter)
|
68
|
+
translated ? translated : @dotnet.translate(filter)
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
@@ -5,6 +5,7 @@ module Raygun
|
|
5
5
|
module Apm
|
6
6
|
class Diagnostics
|
7
7
|
AGENT_STATE_DOWN = "The Raygun APM Agent appears to not be running on the current host.\nIf not already installed, please consult https://raygun.com/documentation/product-guides/apm/agent/downloads/\nOtherwise refer to https://raygun.com/documentation/product-guides/apm/agent/installation/ for starting the Agent."
|
8
|
+
AGENT_STATE_UNKNOWN = "Unable to determine the state of the Raygun APM Agent."
|
8
9
|
AGENT_STATE_UP_MISCONFIGURED = "The Raygun APM Agent is running, but misconfigured.\nThe API Key needs to be set through the Raygun_ApiKey environment variable.\nThe API key can be found under 'Application Settings' in the Raygun UI"
|
9
10
|
AGENT_STATE_UP_CONFIGURED = "The Raygun APM Agent is configured properly!"
|
10
11
|
|
@@ -15,7 +16,7 @@ module Raygun
|
|
15
16
|
|
16
17
|
def verify_agent
|
17
18
|
socket.write "GetAgentInfo"
|
18
|
-
response =
|
19
|
+
response = rJSON.parse(socket.gets)
|
19
20
|
if response['Status'] == 1
|
20
21
|
puts AGENT_STATE_UP_CONFIGURED
|
21
22
|
elsif response['Status'] == 0
|
@@ -23,6 +24,8 @@ module Raygun
|
|
23
24
|
end
|
24
25
|
rescue Errno::ECONNREFUSED
|
25
26
|
puts AGENT_STATE_DOWN
|
27
|
+
rescue
|
28
|
+
puts AGENT_STATE_UNKNOWN
|
26
29
|
end
|
27
30
|
|
28
31
|
private
|
data/lib/raygun/apm/tracer.rb
CHANGED
@@ -18,43 +18,15 @@ module Raygun
|
|
18
18
|
attr_accessor :config
|
19
19
|
|
20
20
|
def initialize(env=ENV)
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
[]
|
26
|
-
end
|
27
|
-
add_filters @blacklist
|
28
|
-
# Ignore comments set to false here to account for #<Class: etc. in Rails blacklist
|
29
|
-
add_filters Raygun::Apm::Blacklist.resolve_entries, ignore_comments: false
|
30
|
-
show_filters if config.loglevel == Tracer::LOG_BLACKLIST
|
31
|
-
# Special assignments from config to the Tracer
|
32
|
-
self.log_level = config.loglevel
|
33
|
-
self.environment = config.environment
|
34
|
-
self.api_key = config.proton_api_key
|
35
|
-
self.register_libraries Bundler.load.specs.map(&:full_gem_path).sort << RbConfig::CONFIG['rubylibdir']
|
36
|
-
agent_connectivity_diagnostics
|
21
|
+
configure(env)
|
22
|
+
initialize_blacklist
|
23
|
+
register_known_library_paths
|
24
|
+
run_agent_connectivity_diagnostics
|
37
25
|
ObjectSpace.define_finalizer(self, proc{ disable_tracepoints })
|
38
26
|
# Any fails here is kamikaze for the tracer
|
39
27
|
rescue => e
|
40
28
|
# XXX works for the middleware wrapped case, not for standalone - revisit
|
41
|
-
raise Raygun::Apm::FatalError, "Raygun APM tracer could not be initialized: #{e.message}"
|
42
|
-
end
|
43
|
-
|
44
|
-
def add_filters(filters, ignore_comments: true)
|
45
|
-
filters.each do |filter|
|
46
|
-
filter.strip!
|
47
|
-
# comment
|
48
|
-
if filter.start_with?('#')
|
49
|
-
add_blacklist filter unless ignore_comments
|
50
|
-
elsif filter.start_with?('+')
|
51
|
-
add_whitelist filter[1..-1]
|
52
|
-
elsif filter.start_with?('-')
|
53
|
-
add_blacklist filter[1..-1]
|
54
|
-
elsif filter.size > 0
|
55
|
-
add_blacklist filter
|
56
|
-
end
|
57
|
-
end
|
29
|
+
raise Raygun::Apm::FatalError, "Raygun APM tracer could not be initialized: #{e.message} #{e.backtrace.join("\n")}"
|
58
30
|
end
|
59
31
|
|
60
32
|
def udp_sink!
|
@@ -71,10 +43,36 @@ module Raygun
|
|
71
43
|
# Any fails here is kamikaze for the tracer
|
72
44
|
rescue => e
|
73
45
|
# XXX works for the middleware wrapped case, not for standalone - revisit
|
74
|
-
raise Raygun::Apm::FatalError, "Raygun APM UDP sink could not be initialized: #{e.message}"
|
46
|
+
raise Raygun::Apm::FatalError, "Raygun APM UDP sink could not be initialized: #{e.message} #{e.backtrace.join("\n")}"
|
47
|
+
end
|
48
|
+
|
49
|
+
private
|
50
|
+
def configure(env)
|
51
|
+
@config = Config.new(env)
|
52
|
+
# Special assignments from config to the Tracer
|
53
|
+
self.log_level = config.loglevel
|
54
|
+
self.environment = config.environment
|
55
|
+
self.api_key = config.proton_api_key
|
56
|
+
end
|
57
|
+
|
58
|
+
def initialize_blacklist
|
59
|
+
@blacklist_parser = Raygun::Apm::Blacklist::Parser.new(self)
|
60
|
+
@blacklist = if @config.proton_user_overrides_file && File.exists?(@config.proton_user_overrides_file)
|
61
|
+
File.readlines(@config.proton_user_overrides_file)
|
62
|
+
else
|
63
|
+
[]
|
64
|
+
end
|
65
|
+
# From file
|
66
|
+
@blacklist_parser.add_filters @blacklist
|
67
|
+
# Defaults
|
68
|
+
@blacklist_parser.add_filters Raygun::Apm::Blacklist.resolve_entries
|
69
|
+
end
|
70
|
+
|
71
|
+
def register_known_library_paths
|
72
|
+
self.register_libraries Bundler.load.specs.map(&:full_gem_path).sort << RbConfig::CONFIG['rubylibdir']
|
75
73
|
end
|
76
74
|
|
77
|
-
def
|
75
|
+
def run_agent_connectivity_diagnostics
|
78
76
|
check = Raygun::Apm::Diagnostics.new
|
79
77
|
check.verify_agent
|
80
78
|
end
|
data/lib/raygun/apm/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: raygun-apm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.48
|
5
5
|
platform: x86-linux
|
6
6
|
authors:
|
7
7
|
- Raygun
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2020-
|
12
|
+
date: 2020-07-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: debase-ruby_core_source
|
@@ -211,6 +211,8 @@ files:
|
|
211
211
|
- lib/raygun/2.7/raygun_ext.so
|
212
212
|
- lib/raygun/apm.rb
|
213
213
|
- lib/raygun/apm/blacklist.rb
|
214
|
+
- lib/raygun/apm/blacklist/parser.rb
|
215
|
+
- lib/raygun/apm/blacklist/translator.rb
|
214
216
|
- lib/raygun/apm/config.rb
|
215
217
|
- lib/raygun/apm/diagnostics.rb
|
216
218
|
- lib/raygun/apm/event.rb
|