raygun-apm 1.0.35-universal-darwin → 1.0.40-universal-darwin

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bc7ea8f4cf9785b52cb93ab61962bb2a04cb8484925eef67ca1937bd80c158bc
4
- data.tar.gz: b6c590f30003f293295eabebee67a6a36235cfbfcd80fd29fa3b5b80215fb53e
3
+ metadata.gz: 5d0f60ae2d5e19cbcc9ade6e743caf0a697725b1863e8ccff35f0510841d2bfe
4
+ data.tar.gz: a289c699b639180b7b597404144d720a78a13be1f39c28e41f9b265da6db56e7
5
5
  SHA512:
6
- metadata.gz: ca0d557bf2499486e71b374c6988e9286421726c417ea2ffdf9eef0b699417dab14c8011423997326893f0237c657d3d724c857ae123280b25841eab9322a4c4
7
- data.tar.gz: 8d049ea576e590a5e1a50a25b418f51bf07b7649fb0cc691d2b1c35fc7976473d78ed7f76700ee2268c4ebcca1093fe1656ce8273f947ff90b3c2ab3adf9b423
6
+ metadata.gz: 292af9c6ca3a1a45f0da7db6af846a280e7bcc2e6a455ab1c7ea578a9369aae2c661c2d9b33dd5cf8d5f09ec61f66e2d6750ff471b94c37ab685fb4b3e731281
7
+ data.tar.gz: 38480c14171c9022d8f31d077b1216264b0465637aefc2a83d0c24b86ee1134d0c958cf7b1de8623c0ec0be40bde50c2313ad19081e675f7f9e92fa5b4ddfaa7
@@ -84,7 +84,6 @@ For standalone scripts, context start-end needs to be marked specifically and op
84
84
 
85
85
  tracer = Raygun::Apm::Tracer.new
86
86
  tracer.udp_sink!
87
- tracer.process_started
88
87
  tracer.start_trace
89
88
  Hello.new.rdoc
90
89
  tracer.end_trace
@@ -8,8 +8,4 @@ end
8
8
  require "raygun/apm/config"
9
9
  require "raygun/apm/tracer"
10
10
  require "raygun/apm/event"
11
-
12
- module Raygun
13
- module Apm
14
- end
15
- end
11
+ require "raygun/apm/hooks/net_http"
@@ -158,6 +158,8 @@ module Raygun
158
158
  OpenStruct
159
159
  Bundler
160
160
  Delegator
161
+ PrettyPrint
162
+ PP
161
163
  }
162
164
 
163
165
  HTTP_OUT = %w{
@@ -219,6 +221,14 @@ module Raygun
219
221
  +HTTPClient::post
220
222
  +HTTPClient::put
221
223
  +HTTPClient::patch
224
+ #stdlib net-http
225
+ +Net::HTTP::get_response
226
+ +Net::HTTP::post
227
+ +Net::HTTP::post_form
228
+ }
229
+
230
+ QUERIES = %w{
231
+ +Raygun::Apm::Hooks::Redis::process
222
232
  }
223
233
 
224
234
  def self.extend_with(list)
@@ -230,7 +240,7 @@ module Raygun
230
240
  end
231
241
 
232
242
  def self.resolve_entries
233
- DEFAULT_RUBY + PROFILER + HTTP_OUT + self.extended_blacklist.flatten
243
+ DEFAULT_RUBY + PROFILER + HTTP_OUT + QUERIES + self.extended_blacklist.flatten
234
244
  end
235
245
  end
236
246
  end
@@ -24,6 +24,16 @@ module Raygun
24
24
  super + " function_id:#{self[:function_id]} class_name:#{self[:class_name]} method_name:#{self[:method_name]} method_source:#{self[:method_source]}"
25
25
  end
26
26
  end
27
+ class HttpOut < Event
28
+ def inspect
29
+ super + " url:#{self[:url]} verb:#{self[:verb]} status:#{self[:status]} duration:#{self[:duration]}"
30
+ end
31
+ end
32
+ class BeginTransaction < Event
33
+ def inspect
34
+ super + " api_key:#{self[:api_key]} technology_type:#{self[:technology_type]} process_type:#{self[:process_type]}"
35
+ end
36
+ end
27
37
  end
28
38
  end
29
39
  end
@@ -0,0 +1,46 @@
1
+ module Raygun
2
+ module Apm
3
+ module Hooks
4
+ module Redis
5
+ def process(commands)
6
+ result = nil
7
+ if tracer = Raygun::Apm::Tracer.instance
8
+ started = tracer.now
9
+ result = super
10
+ ended = tracer.now
11
+ event = raygun_apm_sql_event
12
+ event[:pid] = Process.pid
13
+ event[:query] = raygun_format_query(commands)
14
+ event[:provider] = "redis"
15
+ event[:host] = "#{host}:#{port}"
16
+ event[:database] = db.to_s
17
+ event[:duration] = ended - started
18
+ event[:timestamp] = started
19
+ event[:tid] = tracer.get_thread_id(Thread.current)
20
+ tracer.emit(event)
21
+ result
22
+ else
23
+ super
24
+ end
25
+ end
26
+
27
+ private
28
+ def raygun_format_query(commands)
29
+ commands.map do |command|
30
+ command.map(&:to_s).join(" ")
31
+ end.join(", ")
32
+ end
33
+
34
+ def raygun_apm_sql_event
35
+ @_raygun_apm_sql_event ||= Raygun::Apm::Event::Sql.new
36
+ end
37
+
38
+ def raygun_redis_call
39
+ yield
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+
46
+ ::Redis::Client.prepend(Raygun::Apm::Hooks::Redis)
@@ -1,4 +1,5 @@
1
1
  require 'raygun/apm/blacklist'
2
+ require 'rbconfig'
2
3
 
3
4
  module Raygun
4
5
  module Apm
@@ -31,7 +32,7 @@ module Raygun
31
32
  self.log_level = config.loglevel
32
33
  self.environment = config.environment
33
34
  self.api_key = config.proton_api_key
34
- self.register_libraries Bundler.load.specs.map(&:full_gem_path).sort
35
+ self.register_libraries Bundler.load.specs.map(&:full_gem_path).sort << RbConfig::CONFIG['rubylibdir']
35
36
  ObjectSpace.define_finalizer(self, proc{ disable_tracepoints })
36
37
  # Any fails here is kamikaze for the tracer
37
38
  rescue => e
@@ -1,5 +1,5 @@
1
1
  module Raygun
2
2
  module Apm
3
- VERSION = "1.0.35"
3
+ VERSION = "1.0.40"
4
4
  end
5
5
  end
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.35
4
+ version: 1.0.40
5
5
  platform: universal-darwin
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-05-10 00:00:00.000000000 Z
12
+ date: 2020-05-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: debase-ruby_core_source
@@ -213,6 +213,7 @@ files:
213
213
  - lib/raygun/apm/config.rb
214
214
  - lib/raygun/apm/event.rb
215
215
  - lib/raygun/apm/hooks/net_http.rb
216
+ - lib/raygun/apm/hooks/redis.rb
216
217
  - lib/raygun/apm/tracer.rb
217
218
  - lib/raygun/apm/version.rb
218
219
  - raygun-apm.gemspec