raygun-apm 1.1.4-x86_64-linux → 1.1.8-x86_64-linux

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6d6a1c0f5db533c8fe668f70791e6c1beb5ff44d1178dd641150b9b56ba1f1b9
4
- data.tar.gz: 20bd5bfdbbd1c5a47cdab845cd9bdf57ceccefbb4bef9d9e9354b53de640ba39
3
+ metadata.gz: 130e8cfd5c981f68d938fb3f076d87efbb19e8971321df7e2ec2eec7348b3fa8
4
+ data.tar.gz: '0609912e61ac488a6db735be0f7093bd7c8daf8994024ae99e20400472f0b84d'
5
5
  SHA512:
6
- metadata.gz: 2c5ac69f7e3ba4a0eb7666f572cdf16450d45ef8140703d9f67ce72110a03c44f441b4ceb7622c900f13b7ff899be9d977ae836f58464d0f56b9cb8828a3f63b
7
- data.tar.gz: f850767513c16a8cf5526859b6a6fb5bb3ff82e6ed42e824bdffb2c699807c6534ad771719d11f6265dfcfc41ce3765dfa4755b5a6a54919ca84feefa2a4864b
6
+ metadata.gz: 7ae826500993d9472699178007c23ee2980fb45067c5a49ea7ca0dfd44a9cdc66908432c31cefda9dc6809cf27caaeca58fff5ce09d27a7f87cf3fed782f2b77
7
+ data.tar.gz: 0ddbf6dc4177e23d6a267d594091b7721198ffed33aa184464f98eb19d373a83b9eba6eb6b92f788a2600b0062d26938c63f11382aed461cb7c15146bb03d964
Binary file
Binary file
Binary file
Binary file
@@ -27,6 +27,8 @@ module Raygun
27
27
  @tracer.add_whitelist *translate(filter[1..-1])
28
28
  elsif filter.start_with?('-')
29
29
  @tracer.add_blacklist *translate(filter[1..-1])
30
+ elsif filter.start_with?('L-')
31
+ @tracer.add_blacklist *translate(filter[2..-1])
30
32
  elsif filter.size > 0
31
33
  @tracer.add_blacklist *translate(filter)
32
34
  end
@@ -5,12 +5,14 @@ module Raygun
5
5
  class RubyTranslator
6
6
  # Foo::Bar#baz
7
7
  # Foo::Bar.baz
8
+ # Foo::Bar::baz
8
9
  COMMENT = /^#.*/
9
10
  ANONYMOUS = /^#<.*>?/
10
11
  NAMESPACE = /::/
11
12
  NAMESPACE_ONLY = /::$/
12
13
  METHOD = /#|\./
13
14
  LETTER_CASE = /^[A-Z]/
15
+ LOWER_CASE = /^[a-z]/
14
16
 
15
17
  def translate(filter)
16
18
  path, method = nil, nil
@@ -29,6 +31,10 @@ module Raygun
29
31
 
30
32
  # .NET fallback
31
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
32
38
  [path, method]
33
39
  elsif filter =~ ANONYMOUS
34
40
  _, klass, method = filter.split(METHOD)
@@ -52,9 +52,9 @@ module Raygun
52
52
  end
53
53
 
54
54
  # Initial constants for ProtonAgentTail.exe
55
- UDP_SINK_HOST = TCP_MANAGEMENT_HOST = '127.0.0.1'
55
+ UDP_SINK_HOST = TCP_SINK_HOST = TCP_MANAGEMENT_HOST = '127.0.0.1'
56
56
  UDP_SINK_MULTICAST_HOST = '239.100.15.215'
57
- UDP_SINK_PORT = 2799
57
+ UDP_SINK_PORT = TCP_SINK_PORT = 2799
58
58
  TCP_MANAGEMENT_PORT = 2790
59
59
 
60
60
  ## Enumerate all PROTON_ constants
@@ -68,6 +68,8 @@ module Raygun
68
68
  ## New - Ruby profiler
69
69
  config_var 'PROTON_UDP_HOST', as: String, default: UDP_SINK_HOST
70
70
  config_var 'PROTON_UDP_PORT', as: Integer, default: UDP_SINK_PORT
71
+ config_var 'PROTON_TCP_HOST', as: String, default: TCP_SINK_HOST
72
+ config_var 'PROTON_TCP_PORT', as: Integer, default: TCP_SINK_PORT
71
73
 
72
74
  def proton_udp_host
73
75
  if proton_use_multicast == 'True'
@@ -77,6 +79,10 @@ module Raygun
77
79
  end
78
80
  end
79
81
 
82
+ def proton_tcp_host
83
+ env['PROTON_TCP_HOST'] ? env['PROTON_TCP_HOST'].to_s : TCP_SINK_HOST
84
+ end
85
+
80
86
  def loglevel
81
87
  LOGLEVELS[proton_debug_loglevel] || raise(ArgumentError, "invalid log level")
82
88
  end
@@ -30,7 +30,6 @@ module Raygun
30
30
  end
31
31
 
32
32
  def udp_sink!
33
- require "socket"
34
33
  sock = UDPSocket.new
35
34
  # For UDP sockets, SO_SNDBUF is the max packet size and NOT send buffer as with a connection oriented transport
36
35
  sock.setsockopt(Socket::SOL_SOCKET, Socket::SO_SNDBUF, Tracer::BATCH_PACKET_SIZE)
@@ -40,12 +39,29 @@ module Raygun
40
39
  port: config.proton_udp_port,
41
40
  receive_buffer_size: sock.getsockopt(Socket::SOL_SOCKET, Socket::SO_RCVBUF).int
42
41
  )
43
- # Any fails here is kamikaze for the tracer
44
42
  rescue => e
45
43
  # XXX works for the middleware wrapped case, not for standalone - revisit
46
44
  raise Raygun::Apm::FatalError, "Raygun APM UDP sink could not be initialized: #{e.message} #{e.backtrace.join("\n")}"
47
45
  end
48
46
 
47
+ def tcp_sink!
48
+ self.tcp_sink(
49
+ host: config.proton_tcp_host,
50
+ port: config.proton_tcp_port
51
+ )
52
+ rescue => e
53
+ # XXX works for the middleware wrapped case, not for standalone - revisit
54
+ raise Raygun::Apm::FatalError, "Raygun APM TCP sink could not be initialized: #{e.message} #{e.backtrace.join("\n")}"
55
+ end
56
+
57
+ def enable_sink!
58
+ if config.proton_network_mode == "Udp"
59
+ udp_sink!
60
+ elsif config.proton_network_mode == "Tcp"
61
+ tcp_sink!
62
+ end
63
+ end
64
+
49
65
  private
50
66
  def configure(env)
51
67
  @config = Config.new(env)
@@ -1,6 +1,6 @@
1
1
  module Raygun
2
2
  module Apm
3
- VERSION = "1.1.4"
3
+ VERSION = "1.1.8"
4
4
  MINIMUM_AGENT_VERSION = "1.0.1190.0"
5
5
  end
6
6
  end
data/lib/raygun/apm.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require "raygun/apm/version"
2
+ require "socket"
2
3
 
3
4
  begin
4
5
  # Attempt to load a precompiled shared object (released gem)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: raygun-apm
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.4
4
+ version: 1.1.8
5
5
  platform: x86_64-linux
6
6
  authors:
7
7
  - Raygun Limited
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-07-13 00:00:00.000000000 Z
11
+ date: 2022-01-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: debase-ruby_core_source