raygun-apm 1.1.6-x64-mingw32 → 1.1.10-x64-mingw32

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: c6e8503c6513b2b3d524faa2a47963f9cd9d11bff096d44240fe93453bf7a881
4
- data.tar.gz: 3adff8db45575077d7ba305b14bc30fba4d1cf0ae7765e9a5f8c6cfe802f66c2
3
+ metadata.gz: 575e412a14d6943e6e0fc81b5056dd1542f7cb974694f2bc151194fc0fa3768e
4
+ data.tar.gz: e626e398e6ca55a52800546c347b06125fcc7facafb16211da87efa7196991f8
5
5
  SHA512:
6
- metadata.gz: 9f1d7fba669224e0cbd5d14208f8cc9479b3aef86c61f4b7b15b5ab60fc35105959a6918e0806ece2332f02926e598da8b9f3c81b43c32c7b39b7c0116e0d08c
7
- data.tar.gz: 921f408b280a59dd15dd9e71ea7cfaebeb33796600ec6eef46fb32cf74537b3dff242ced46bddfba69a741dd7ca97975a6cbcacfac2395968a13aeeb5d5de164
6
+ metadata.gz: 40172eee6fdf090b378af7bde25f92a9446a8377b3c4e0c19cf57ab1daac5e8db7dae3d4cde19be396308d8db61f52551bd6c85c1ae6c86a9abbb51fdb70c434
7
+ data.tar.gz: '09b1f629940226059f48fc22b9a8702a5fc45199321ab2066f8c2e10d6904f971fa296b8b2bab1f8cbbfdff804a9c0f4925be578124eb402d31dd9aaeda94436'
Binary file
Binary file
Binary file
Binary file
@@ -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
@@ -4,8 +4,14 @@ require 'rbconfig'
4
4
  module Raygun
5
5
  module Apm
6
6
  class Tracer
7
+ @__mutex = Mutex.new
8
+
7
9
  @__pids ||= {}
8
10
  class << self
11
+ def synchronize(&block)
12
+ @__mutex.synchronize { block.call }
13
+ end
14
+
9
15
  def instance
10
16
  @__pids[Process.pid]
11
17
  end
@@ -30,7 +36,6 @@ module Raygun
30
36
  end
31
37
 
32
38
  def udp_sink!
33
- require "socket"
34
39
  sock = UDPSocket.new
35
40
  # For UDP sockets, SO_SNDBUF is the max packet size and NOT send buffer as with a connection oriented transport
36
41
  sock.setsockopt(Socket::SOL_SOCKET, Socket::SO_SNDBUF, Tracer::BATCH_PACKET_SIZE)
@@ -40,12 +45,29 @@ module Raygun
40
45
  port: config.proton_udp_port,
41
46
  receive_buffer_size: sock.getsockopt(Socket::SOL_SOCKET, Socket::SO_RCVBUF).int
42
47
  )
43
- # Any fails here is kamikaze for the tracer
44
48
  rescue => e
45
49
  # XXX works for the middleware wrapped case, not for standalone - revisit
46
50
  raise Raygun::Apm::FatalError, "Raygun APM UDP sink could not be initialized: #{e.message} #{e.backtrace.join("\n")}"
47
51
  end
48
52
 
53
+ def tcp_sink!
54
+ self.tcp_sink(
55
+ host: config.proton_tcp_host,
56
+ port: config.proton_tcp_port
57
+ )
58
+ rescue => e
59
+ # XXX works for the middleware wrapped case, not for standalone - revisit
60
+ raise Raygun::Apm::FatalError, "Raygun APM TCP sink could not be initialized: #{e.message} #{e.backtrace.join("\n")}"
61
+ end
62
+
63
+ def enable_sink!
64
+ if config.proton_network_mode == "Udp"
65
+ udp_sink!
66
+ elsif config.proton_network_mode == "Tcp"
67
+ tcp_sink!
68
+ end
69
+ end
70
+
49
71
  private
50
72
  def configure(env)
51
73
  @config = Config.new(env)
@@ -1,6 +1,6 @@
1
1
  module Raygun
2
2
  module Apm
3
- VERSION = "1.1.6"
3
+ VERSION = "1.1.10"
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.6
4
+ version: 1.1.10
5
5
  platform: x64-mingw32
6
6
  authors:
7
7
  - Raygun Limited
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-12-10 00:00:00.000000000 Z
11
+ date: 2022-01-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: debase-ruby_core_source