raygun-apm 1.1.10-x64-mingw32 → 1.1.11-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: 575e412a14d6943e6e0fc81b5056dd1542f7cb974694f2bc151194fc0fa3768e
4
- data.tar.gz: e626e398e6ca55a52800546c347b06125fcc7facafb16211da87efa7196991f8
3
+ metadata.gz: 3bd2d096c5fa13b26433ff6a9feafdccd62b940f8f4b39c7ab583eef5089c744
4
+ data.tar.gz: c46b4a864c7f9fcdc497e0f300d2b3b1832d1baaab57cf3f70ed82497f56b740
5
5
  SHA512:
6
- metadata.gz: 40172eee6fdf090b378af7bde25f92a9446a8377b3c4e0c19cf57ab1daac5e8db7dae3d4cde19be396308d8db61f52551bd6c85c1ae6c86a9abbb51fdb70c434
7
- data.tar.gz: '09b1f629940226059f48fc22b9a8702a5fc45199321ab2066f8c2e10d6904f971fa296b8b2bab1f8cbbfdff804a9c0f4925be578124eb402d31dd9aaeda94436'
6
+ metadata.gz: 0bd100a884528259307cfeb30297099c1117de1381ae0cb6b0d1e27377576281a4e00db63118f4c1be4e4ad4550a303efd92fd84b2b74cc4424ce7fc110e24f2
7
+ data.tar.gz: 24e9f74b499d71dea4e41bcf9f1882920e334d1484c265e53ce0275dc875b86be798b6ca0f0bcc176407885c2c38cfa85e929d297954fde0c581a807978542ce
Binary file
Binary file
Binary file
Binary file
@@ -70,6 +70,9 @@ module Raygun
70
70
  config_var 'PROTON_UDP_PORT', as: Integer, default: UDP_SINK_PORT
71
71
  config_var 'PROTON_TCP_HOST', as: String, default: TCP_SINK_HOST
72
72
  config_var 'PROTON_TCP_PORT', as: Integer, default: TCP_SINK_PORT
73
+ ## Conditional hooks
74
+ config_var 'PROTON_HOOK_REDIS', as: :boolean, default: 'True'
75
+ config_var 'PROTON_HOOK_INTERNALS', as: :boolean, default: 'True'
73
76
 
74
77
  def proton_udp_host
75
78
  if proton_use_multicast == 'True'
@@ -33,4 +33,4 @@ module Raygun
33
33
  end
34
34
  end
35
35
 
36
- Excon::Connection.prepend(Raygun::Apm::Hooks::Excon)
36
+ Raygun::Apm::Tracer.patch(Excon::Connection, Raygun::Apm::Hooks::Excon)
@@ -40,4 +40,4 @@ module Raygun
40
40
  end
41
41
  end
42
42
 
43
- HTTPClient.prepend(Raygun::Apm::Hooks::HTTPClient)
43
+ Raygun::Apm::Tracer.patch(HTTPClient, Raygun::Apm::Hooks::HTTPClient)
@@ -88,8 +88,8 @@ module Raygun
88
88
  end
89
89
  end
90
90
 
91
- Object.prepend Raygun::Apm::Hooks::Object
92
- IO.prepend Raygun::Apm::Hooks::IO
93
- Random.prepend Raygun::Apm::Hooks::Random
94
- Signal.prepend Raygun::Apm::Hooks::Signal
95
- Thread::Mutex.prepend Raygun::Apm::Hooks::Mutex
91
+ Raygun::Apm::Tracer.patch(Object, Raygun::Apm::Hooks::Object)
92
+ Raygun::Apm::Tracer.patch(IO, Raygun::Apm::Hooks::IO)
93
+ Raygun::Apm::Tracer.patch(Random, Raygun::Apm::Hooks::Random)
94
+ Raygun::Apm::Tracer.patch(Signal, Raygun::Apm::Hooks::Signal)
95
+ Raygun::Apm::Tracer.patch(Thread::Mutex, Raygun::Apm::Hooks::Mutex)
@@ -41,5 +41,5 @@ module Raygun
41
41
  end
42
42
 
43
43
  Mongo::Operation.constants.each do |operation|
44
- Mongo::Operation.const_get(operation).prepend(Raygun::Apm::Hooks::MongoDB) rescue nil
44
+ Raygun::Apm::Tracer.patch(Mongo::Operation.const_get(operation), Raygun::Apm::Hooks::MongoDB) rescue nil
45
45
  end
@@ -41,4 +41,4 @@ module Raygun
41
41
  end
42
42
  end
43
43
 
44
- ::Net::HTTP.prepend(Raygun::Apm::Hooks::Net::HTTP)
44
+ Raygun::Apm::Tracer.patch(::Net::HTTP, Raygun::Apm::Hooks::Net::HTTP)
@@ -43,4 +43,4 @@ module Raygun
43
43
  end
44
44
  end
45
45
 
46
- ::Redis::Client.prepend(Raygun::Apm::Hooks::Redis)
46
+ Raygun::Apm::Tracer.patch(::Redis::Client, Raygun::Apm::Hooks::Redis)
@@ -19,6 +19,10 @@ module Raygun
19
19
  def instance=(tracer)
20
20
  @__pids[Process.pid] = tracer
21
21
  end
22
+
23
+ def patch(concern, hook)
24
+ concern.prepend(hook) unless concern.ancestors.include?(hook)
25
+ end
22
26
  end
23
27
 
24
28
  attr_accessor :config
@@ -28,6 +32,7 @@ module Raygun
28
32
  initialize_blacklist
29
33
  register_known_library_paths
30
34
  run_agent_connectivity_diagnostics
35
+ require_hooks
31
36
  ObjectSpace.define_finalizer(self, proc{ disable_tracepoints })
32
37
  # Any fails here is kamikaze for the tracer
33
38
  rescue => e
@@ -105,6 +110,22 @@ module Raygun
105
110
  check = Raygun::Apm::Diagnostics.new
106
111
  check.verify_agent(self)
107
112
  end
113
+
114
+ def require_hooks
115
+ require "raygun/apm/hooks/internals" if @config.proton_hook_internals
116
+ require "raygun/apm/hooks/net_http"
117
+ # conditionally required - may not be bundled
118
+ conditional_hooks = %w(httpclient excon mongodb)
119
+ conditional_hooks.each do |hook|
120
+ begin
121
+ require "raygun/apm/hooks/#{hook}"
122
+ rescue LoadError
123
+ end
124
+ end
125
+ if @config.proton_hook_redis
126
+ require "raygun/apm/hooks/redis" if defined?(Redis::Client)
127
+ end
128
+ end
108
129
  end
109
130
  end
110
131
  end
@@ -1,6 +1,6 @@
1
1
  module Raygun
2
2
  module Apm
3
- VERSION = "1.1.10"
3
+ VERSION = "1.1.11"
4
4
  MINIMUM_AGENT_VERSION = "1.0.1190.0"
5
5
  end
6
6
  end
data/lib/raygun/apm.rb CHANGED
@@ -16,13 +16,3 @@ require "raygun/apm/blacklist/parser"
16
16
  require "raygun/apm/blacklist/translator"
17
17
  require "raygun/apm/tracer"
18
18
  require "raygun/apm/event"
19
- require "raygun/apm/hooks/internals"
20
- require "raygun/apm/hooks/net_http"
21
- # conditionally required - may not be bundled
22
- conditional_hooks = %w(httpclient excon mongodb)
23
- conditional_hooks.each do |hook|
24
- begin
25
- require "raygun/apm/hooks/#{hook}"
26
- rescue LoadError
27
- end
28
- end
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.10
4
+ version: 1.1.11
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: 2022-01-24 00:00:00.000000000 Z
11
+ date: 2022-02-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: debase-ruby_core_source