raygun-apm 1.0.36-universal-darwin → 1.0.41-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: 3af89fec48ec5f0bfef06f395cd59da8ae5e96d449c9ed6eaeded21ac46561b6
4
- data.tar.gz: 65a3e4ffe65f7e2a2c8c7f1e71afdebfd71f1031c822d313efbb0a5de3d4ecc5
3
+ metadata.gz: bc879e3277fb5beaf098c4100bd651045f2307b2bb20d0c59c0bf50f8e4d80ae
4
+ data.tar.gz: 3b8376231692accb1e4b85a1aabca248429975631c573d330fcbf5eefe246e24
5
5
  SHA512:
6
- metadata.gz: e521541211151cf48f29247f1b210d661c0cccd1e6c6020b548d4c5b2f8c786a723e8c843751322f8c3a71f73ba2198f4e402402dbe6986a68f7afebfbafe7d1
7
- data.tar.gz: 14db04ec0fc66a5902e0fa7d1c0d7f24c57ae18ecaa36d416dafe79ec46e2cb1f02272ac53bd218f5fe914f84bf8967dd641e42d08b5cdcb712e347888d8ba06
6
+ metadata.gz: 0a6ebe2c82418472a4c0a0d35f4fdfac67314c0dda5618d317ae46396e7ab431dfbbc52ed614e21f9af63c27e03736a03bd53400919780c0d554b7d2db2bf761
7
+ data.tar.gz: 39a1254a4a84ac3202b975b079fa92a9e3c183e44a25b0a2ec3cda6956a8e7b68b117d309a4e5b7f47785f348f331cb4ba5b3855e0a436fc90433a03e169424d
@@ -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
@@ -9,8 +9,3 @@ require "raygun/apm/config"
9
9
  require "raygun/apm/tracer"
10
10
  require "raygun/apm/event"
11
11
  require "raygun/apm/hooks/net_http"
12
-
13
- module Raygun
14
- module Apm
15
- end
16
- end
@@ -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{
@@ -225,6 +227,10 @@ module Raygun
225
227
  +Net::HTTP::post_form
226
228
  }
227
229
 
230
+ QUERIES = %w{
231
+ +Raygun::Apm::Hooks::Redis::process
232
+ }
233
+
228
234
  def self.extend_with(list)
229
235
  self.extended_blacklist << list
230
236
  end
@@ -234,7 +240,7 @@ module Raygun
234
240
  end
235
241
 
236
242
  def self.resolve_entries
237
- DEFAULT_RUBY + PROFILER + HTTP_OUT + self.extended_blacklist.flatten
243
+ DEFAULT_RUBY + PROFILER + HTTP_OUT + QUERIES + self.extended_blacklist.flatten
238
244
  end
239
245
  end
240
246
  end
@@ -29,6 +29,11 @@ module Raygun
29
29
  super + " url:#{self[:url]} verb:#{self[:verb]} status:#{self[:status]} duration:#{self[:duration]}"
30
30
  end
31
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
32
37
  end
33
38
  end
34
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.36"
3
+ VERSION = "1.0.41"
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.36
4
+ version: 1.0.41
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-11 00:00:00.000000000 Z
12
+ date: 2020-05-30 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