raygun-apm 1.1.14-x86_64-linux → 1.1.15.pre2-x86_64-linux
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/COPYING.rax +9 -9
- data/LICENSE +27 -27
- data/LICENSE.bipbuffer +24 -24
- data/README.rdoc +118 -118
- data/bin/console +14 -14
- data/bin/raygun-diagnostics +6 -6
- data/bin/setup +8 -8
- data/ext/raygun/extconf.rb +59 -58
- 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/3.0/raygun_ext.so +0 -0
- data/lib/raygun/3.1/raygun_ext.so +0 -0
- data/lib/raygun/apm/blacklist/parser.rb +49 -49
- data/lib/raygun/apm/blacklist/translator.rb +78 -78
- data/lib/raygun/apm/blacklist.rb +476 -476
- data/lib/raygun/apm/config.rb +106 -106
- data/lib/raygun/apm/diagnostics.rb +54 -54
- data/lib/raygun/apm/event.rb +48 -48
- data/lib/raygun/apm/hooks/excon.rb +36 -36
- data/lib/raygun/apm/hooks/httpclient.rb +43 -43
- data/lib/raygun/apm/hooks/internals.rb +95 -95
- data/lib/raygun/apm/hooks/mongodb.rb +45 -45
- data/lib/raygun/apm/hooks/net_http.rb +44 -44
- data/lib/raygun/apm/hooks/redis.rb +46 -46
- data/lib/raygun/apm/tracer.rb +131 -131
- data/lib/raygun/apm/version.rb +6 -6
- data/lib/raygun/apm.rb +18 -18
- data/lib/raygun/raygun_ext.so +0 -0
- data/raygun-apm.gemspec +40 -40
- metadata +4 -4
@@ -1,49 +1,49 @@
|
|
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.start_with?('L-')
|
31
|
-
@tracer.add_blacklist *translate(filter[2..-1])
|
32
|
-
elsif filter.size > 0
|
33
|
-
@tracer.add_blacklist *translate(filter)
|
34
|
-
end
|
35
|
-
rescue => e
|
36
|
-
puts "Failed to add line '#{filter}' to the blacklist (#{e}) #{e.backtrace.join("\n")}"
|
37
|
-
end
|
38
|
-
|
39
|
-
def show_filters
|
40
|
-
@tracer.show_filters if @tracer.config.loglevel == Tracer::LOG_BLACKLIST
|
41
|
-
end
|
42
|
-
|
43
|
-
def translate(filter)
|
44
|
-
@translator.translate(filter)
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
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.start_with?('L-')
|
31
|
+
@tracer.add_blacklist *translate(filter[2..-1])
|
32
|
+
elsif filter.size > 0
|
33
|
+
@tracer.add_blacklist *translate(filter)
|
34
|
+
end
|
35
|
+
rescue => e
|
36
|
+
puts "Failed to add line '#{filter}' to the blacklist (#{e}) #{e.backtrace.join("\n")}"
|
37
|
+
end
|
38
|
+
|
39
|
+
def show_filters
|
40
|
+
@tracer.show_filters if @tracer.config.loglevel == Tracer::LOG_BLACKLIST
|
41
|
+
end
|
42
|
+
|
43
|
+
def translate(filter)
|
44
|
+
@translator.translate(filter)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -1,79 +1,79 @@
|
|
1
|
-
module Raygun
|
2
|
-
module Apm
|
3
|
-
module Blacklist
|
4
|
-
class Translator
|
5
|
-
class RubyTranslator
|
6
|
-
# Foo::Bar#baz
|
7
|
-
# Foo::Bar.baz
|
8
|
-
# Foo::Bar::baz
|
9
|
-
COMMENT = /^#.*/
|
10
|
-
ANONYMOUS = /^#<.*>?/
|
11
|
-
NAMESPACE = /::/
|
12
|
-
NAMESPACE_ONLY = /::$/
|
13
|
-
METHOD = /#|\./
|
14
|
-
LETTER_CASE = /^[A-Z]/
|
15
|
-
LOWER_CASE = /^[a-z]/
|
16
|
-
|
17
|
-
def translate(filter)
|
18
|
-
path, method = nil, nil
|
19
|
-
if filter !~ COMMENT && filter !~ ANONYMOUS
|
20
|
-
if filter.end_with?("#")
|
21
|
-
path = filter
|
22
|
-
else
|
23
|
-
path, method = filter.split(METHOD)
|
24
|
-
end
|
25
|
-
# .NET fallback
|
26
|
-
return if method =~ LETTER_CASE && !method.start_with?("Ruby")
|
27
|
-
if path == path.downcase
|
28
|
-
method = path
|
29
|
-
path = nil
|
30
|
-
end
|
31
|
-
|
32
|
-
# .NET fallback
|
33
|
-
return if method =~ NAMESPACE
|
34
|
-
if path && (_method = path.split(NAMESPACE).last) =~ LOWER_CASE
|
35
|
-
method = _method
|
36
|
-
path.gsub!(Regexp.compile("::#{method}$"), "")
|
37
|
-
end
|
38
|
-
[path, method]
|
39
|
-
elsif filter =~ ANONYMOUS
|
40
|
-
_, klass, method = filter.split(METHOD)
|
41
|
-
["##{klass}", method]
|
42
|
-
else
|
43
|
-
nil
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
# References https://raygun.com/documentation/product-guides/apm/blacklist/
|
49
|
-
class DotnetTranslator
|
50
|
-
# Foo.Bar::Baz
|
51
|
-
COMMENT = /^#/
|
52
|
-
NAMESPACE = /\./
|
53
|
-
METHOD = /::/
|
54
|
-
|
55
|
-
def translate(filter)
|
56
|
-
if filter !~ COMMENT
|
57
|
-
path, method = nil, nil
|
58
|
-
path, method = filter.split(METHOD)
|
59
|
-
path.gsub!(NAMESPACE, "::")
|
60
|
-
[path, method]
|
61
|
-
else
|
62
|
-
nil
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|
66
|
-
|
67
|
-
def initialize
|
68
|
-
@ruby = RubyTranslator.new
|
69
|
-
@dotnet = DotnetTranslator.new
|
70
|
-
end
|
71
|
-
|
72
|
-
def translate(filter)
|
73
|
-
translated = @ruby.translate(filter)
|
74
|
-
translated ? translated : @dotnet.translate(filter)
|
75
|
-
end
|
76
|
-
end
|
77
|
-
end
|
78
|
-
end
|
1
|
+
module Raygun
|
2
|
+
module Apm
|
3
|
+
module Blacklist
|
4
|
+
class Translator
|
5
|
+
class RubyTranslator
|
6
|
+
# Foo::Bar#baz
|
7
|
+
# Foo::Bar.baz
|
8
|
+
# Foo::Bar::baz
|
9
|
+
COMMENT = /^#.*/
|
10
|
+
ANONYMOUS = /^#<.*>?/
|
11
|
+
NAMESPACE = /::/
|
12
|
+
NAMESPACE_ONLY = /::$/
|
13
|
+
METHOD = /#|\./
|
14
|
+
LETTER_CASE = /^[A-Z]/
|
15
|
+
LOWER_CASE = /^[a-z]/
|
16
|
+
|
17
|
+
def translate(filter)
|
18
|
+
path, method = nil, nil
|
19
|
+
if filter !~ COMMENT && filter !~ ANONYMOUS
|
20
|
+
if filter.end_with?("#")
|
21
|
+
path = filter
|
22
|
+
else
|
23
|
+
path, method = filter.split(METHOD)
|
24
|
+
end
|
25
|
+
# .NET fallback
|
26
|
+
return if method =~ LETTER_CASE && !method.start_with?("Ruby")
|
27
|
+
if path == path.downcase
|
28
|
+
method = path
|
29
|
+
path = nil
|
30
|
+
end
|
31
|
+
|
32
|
+
# .NET fallback
|
33
|
+
return if method =~ NAMESPACE
|
34
|
+
if path && (_method = path.split(NAMESPACE).last) =~ LOWER_CASE
|
35
|
+
method = _method
|
36
|
+
path.gsub!(Regexp.compile("::#{method}$"), "")
|
37
|
+
end
|
38
|
+
[path, method]
|
39
|
+
elsif filter =~ ANONYMOUS
|
40
|
+
_, klass, method = filter.split(METHOD)
|
41
|
+
["##{klass}", method]
|
42
|
+
else
|
43
|
+
nil
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
# References https://raygun.com/documentation/product-guides/apm/blacklist/
|
49
|
+
class DotnetTranslator
|
50
|
+
# Foo.Bar::Baz
|
51
|
+
COMMENT = /^#/
|
52
|
+
NAMESPACE = /\./
|
53
|
+
METHOD = /::/
|
54
|
+
|
55
|
+
def translate(filter)
|
56
|
+
if filter !~ COMMENT
|
57
|
+
path, method = nil, nil
|
58
|
+
path, method = filter.split(METHOD)
|
59
|
+
path.gsub!(NAMESPACE, "::")
|
60
|
+
[path, method]
|
61
|
+
else
|
62
|
+
nil
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
def initialize
|
68
|
+
@ruby = RubyTranslator.new
|
69
|
+
@dotnet = DotnetTranslator.new
|
70
|
+
end
|
71
|
+
|
72
|
+
def translate(filter)
|
73
|
+
translated = @ruby.translate(filter)
|
74
|
+
translated ? translated : @dotnet.translate(filter)
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
79
|
end
|