raygun-apm 1.0.38-x64-mingw32 → 1.0.43-x64-mingw32

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: f78d4db7a85db4d8175b852ae41d979aa1fffa0ad629b29b18de88cf2dfe52c3
4
- data.tar.gz: 7c2387fba2464a15576e2d2e81383761f28c00fb1564a71d6c3388e171db8836
3
+ metadata.gz: 3b827eea3be942b55a63f5059e58e3975abc8b4706d25d1c7fc02c3fc89929ab
4
+ data.tar.gz: 8e8fd810ae289d07c5ce1f4f3147b49ba135ae3348985db066851cc547e41b18
5
5
  SHA512:
6
- metadata.gz: 76ea2d9f1e4c4077c743b62271294770b4944d8f8fae8cebe37253af9fb933421b379ae7150083a4ac5c74580b596922e32422908c32f1d085048b955d50601d
7
- data.tar.gz: b1849883efe655299cbd4a1bbde485e4caea738aa689c7a505bf6129aef9ce3fe1b0f6bb3ce8b377a72265ba49630d20b6c386eef4950216b6658f8d8c37f162
6
+ metadata.gz: 6d3c55f43b4af2f45842b559c26b7e8256e70957dc415c319d1230ca4ef21f6bceccc198aad7e7dbecb0060a8786cae984859d17bdf04f673080faf23ed88bea
7
+ data.tar.gz: 465f69a8d3eb6783d7fc15eaf99891f09095249ae8f1446c71b502fc50c6c4c4dd2495395d5630d6eeceb8588066c6e26531ea8daa0732218da1a0680ae288ea
@@ -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
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "raygun/apm"
5
+
6
+ check = Raygun::Apm::Diagnostics.new
7
+ check.verify_agent
Binary file
Binary file
Binary file
@@ -6,6 +6,7 @@ rescue LoadError
6
6
  require "raygun/raygun_ext"
7
7
  end
8
8
  require "raygun/apm/config"
9
+ require "raygun/apm/diagnostics"
9
10
  require "raygun/apm/tracer"
10
11
  require "raygun/apm/event"
11
12
  require "raygun/apm/hooks/net_http"
@@ -228,7 +228,205 @@ module Raygun
228
228
  }
229
229
 
230
230
  QUERIES = %w{
231
- +Raygun::Apm::Hooks::Redis::process
231
+ # redis
232
+ Redis
233
+ +Redis::auth
234
+ +Redis::select
235
+ +Redis::ping
236
+ +Redis::echo
237
+ +Redis::bgrewriteaof
238
+ +Redis::bgsave
239
+ +Redis::config
240
+ +Redis::dbsize
241
+ +Redis::debug
242
+ +Redis::flushall
243
+ +Redis::flushdb
244
+ +Redis::info
245
+ +Redis::lastsave
246
+ +Redis::monitor
247
+ +Redis::save
248
+ +Redis::shutdown
249
+ +Redis::slaveof
250
+ +Redis::slowlog
251
+ # Revisit this command as greedy matches on Redis.synchronize too
252
+ #+Redis::sync
253
+ +Redis::time
254
+ +Redis::persist
255
+ +Redis::expire
256
+ +Redis::expireat
257
+ +Redis::ttl
258
+ +Redis::pexpire
259
+ +Redis::pexpireat
260
+ +Redis::pttl
261
+ +Redis::dump
262
+ +Redis::restore
263
+ +Redis::migrate
264
+ +Redis::del
265
+ +Redis::unlink
266
+ +Redis::exists
267
+ +Redis::keys
268
+ +Redis::move
269
+ +Redis::object
270
+ +Redis::randomkey
271
+ +Redis::rename
272
+ +Redis::renamenx
273
+ +Redis::sort
274
+ +Redis::type
275
+ +Redis::decr
276
+ +Redis::decrby
277
+ +Redis::incr
278
+ +Redis::incrby
279
+ +Redis::incrbyfloat
280
+ +Redis::set
281
+ +Redis::multi
282
+ +Redis::client
283
+ +Redis::set
284
+ +Redis::setex
285
+ +Redis::psetex
286
+ +Redis::setnx
287
+ +Redis::mset
288
+ +Redis::mapped_mset
289
+ +Redis::msetnx
290
+ +Redis::mapped_msetnx
291
+ +Redis::get
292
+ +Redis::mget
293
+ +Redis::mapped_mget
294
+ +Redis::setrange
295
+ +Redis::getrange
296
+ +Redis::setbit
297
+ +Redis::getbit
298
+ +Redis::append
299
+ +Redis::bitcount
300
+ +Redis::bitop
301
+ +Redis::bitpos
302
+ +Redis::getset
303
+ +Redis::strlen
304
+ +Redis::llen
305
+ +Redis::lpush
306
+ +Redis::lpushx
307
+ +Redis::rpush
308
+ +Redis::rpushx
309
+ +Redis::lpop
310
+ +Redis::rpop
311
+ +Redis::rpoplpush
312
+ +Redis::blpop
313
+ +Redis::brpop
314
+ +Redis::brpoplpush
315
+ +Redis::lindex
316
+ +Redis::linsert
317
+ +Redis::lrange
318
+ +Redis::lrem
319
+ +Redis::lset
320
+ +Redis::ltrim
321
+ +Redis::scard
322
+ +Redis::sadd
323
+ +Redis::srem
324
+ +Redis::spop
325
+ +Redis::srandmember
326
+ +Redis::smove
327
+ +Redis::sismember
328
+ +Redis::smembers
329
+ +Redis::sdiff
330
+ +Redis::sdiffstore
331
+ +Redis::sinter
332
+ +Redis::sinterstore
333
+ +Redis::sunion
334
+ +Redis::sunionstore
335
+ +Redis::zcard
336
+ +Redis::zadd
337
+ +Redis::zincrby
338
+ +Redis::zrem
339
+ +Redis::zpopmax
340
+ +Redis::zpopmin
341
+ +Redis::bzpopmax
342
+ +Redis::bzpopmin
343
+ +Redis::zscore
344
+ +Redis::zrange
345
+ +Redis::zrevrange
346
+ +Redis::zrank
347
+ +Redis::zrevrank
348
+ +Redis::zremrangebyrank
349
+ +Redis::zlexcount
350
+ +Redis::zrangebylex
351
+ +Redis::zrevrangebylex
352
+ +Redis::zrangebyscore
353
+ +Redis::zrevrangebyscore
354
+ +Redis::zremrangebyscore
355
+ +Redis::zcount
356
+ +Redis::zinterstore
357
+ +Redis::zunionstore
358
+ +Redis::hlen
359
+ +Redis::hset
360
+ +Redis::hsetnx
361
+ +Redis::hmset
362
+ +Redis::mapped_hmset
363
+ +Redis::hget
364
+ +Redis::hmget
365
+ +Redis::mapped_hmget
366
+ +Redis::hdel
367
+ +Redis::hexists
368
+ +Redis::hincrby
369
+ +Redis::hincrbyfloat
370
+ +Redis::hkeys
371
+ +Redis::hvals
372
+ +Redis::hgetall
373
+ +Redis::publish
374
+ +Redis::subscribe
375
+ +Redis::subscribe_with_timeout
376
+ +Redis::unsubscribe
377
+ +Redis::psubscribe
378
+ +Redis::psubscribe_with_timeout
379
+ +Redis::punsubscribe
380
+ +Redis::pubsub
381
+ +Redis::watch
382
+ +Redis::unwatch
383
+ +Redis::pipelined
384
+ +Redis::multi
385
+ +Redis::exec
386
+ +Redis::discard
387
+ +Redis::script
388
+ +Redis::eval
389
+ +Redis::evalsha
390
+ +Redis::scan
391
+ +Redis::hscan
392
+ +Redis::zscan
393
+ +Redis::sscan
394
+ +Redis::pfadd
395
+ +Redis::pfcount
396
+ +Redis::pfmerge
397
+ +Redis::geoadd
398
+ +Redis::geohash
399
+ +Redis::georadiusbymember
400
+ +Redis::geopos
401
+ +Redis::geodist
402
+ +Redis::xinfo
403
+ +Redis::xadd
404
+ +Redis::xtrim
405
+ +Redis::xdel
406
+ +Redis::xrange
407
+ +Redis::xrevrange
408
+ +Redis::xlen
409
+ +Redis::xread
410
+ +Redis::xgroup
411
+ +Redis::xreadgroup
412
+ +Redis::xack
413
+ +Redis::xclaim
414
+ +Redis::xpending
415
+ +Redis::sentinel
416
+ +Redis::cluster
417
+ +Redis::asking
418
+ #+Raygun::Apm::Hooks::Redis::process
419
+ }
420
+
421
+ RAYGUN4RUBY = %w{
422
+ Raygun::Breadcrumbs
423
+ Raygun::Configuration
424
+ Raygun::config
425
+ Raygun::log
426
+ Raygun::should_report?
427
+ Raygun::Client
428
+ track_exception_sync
429
+ +Raygun::track_exception
232
430
  }
233
431
 
234
432
  def self.extend_with(list)
@@ -240,7 +438,7 @@ module Raygun
240
438
  end
241
439
 
242
440
  def self.resolve_entries
243
- DEFAULT_RUBY + PROFILER + HTTP_OUT + QUERIES + self.extended_blacklist.flatten
441
+ DEFAULT_RUBY + PROFILER + HTTP_OUT + QUERIES + RAYGUN4RUBY + self.extended_blacklist.flatten
244
442
  end
245
443
  end
246
444
  end
@@ -49,9 +49,10 @@ module Raygun
49
49
  end
50
50
 
51
51
  # Initial constants for ProtonAgentTail.exe
52
- UDP_SINK_HOST = '127.0.0.1'
52
+ UDP_SINK_HOST = TCP_MANAGEMENT_HOST = '127.0.0.1'
53
53
  UDP_SINK_MULTICAST_HOST = '239.100.15.215'
54
54
  UDP_SINK_PORT = 2799
55
+ TCP_MANAGEMENT_PORT = 2790
55
56
 
56
57
  ## Enumerate all PROTON_ constants
57
58
  config_var 'PROTON_API_KEY', as: String, default: ''
@@ -0,0 +1,34 @@
1
+ require "socket"
2
+ require "json"
3
+
4
+ module Raygun
5
+ module Apm
6
+ class Diagnostics
7
+ AGENT_STATE_DOWN = "The Raygun APM Agent appears to not be running on the current host.\nIf not already installed, please consult https://raygun.com/documentation/product-guides/apm/agent/downloads/\nOtherwise refer to https://raygun.com/documentation/product-guides/apm/agent/installation/ for starting the Agent."
8
+ AGENT_STATE_UP_MISCONFIGURED = "The Raygun APM Agent is running, but misconfigured.\nThe API Key needs to be set through the Raygun_ApiKey environment variable.\nThe API key can be found under 'Application Settings' in the Raygun UI"
9
+ AGENT_STATE_UP_CONFIGURED = "The Raygun APM Agent is configured properly!"
10
+
11
+ def initialize(host: Apm::Config::TCP_MANAGEMENT_HOST, port: Apm::Config::TCP_MANAGEMENT_PORT)
12
+ @host = host
13
+ @port = port
14
+ end
15
+
16
+ def verify_agent
17
+ socket.write "GetAgentInfo"
18
+ response = JSON.parse(socket.gets)
19
+ if response['Status'] == 1
20
+ puts AGENT_STATE_UP_CONFIGURED
21
+ elsif response['Status'] == 0
22
+ puts AGENT_STATE_UP_MISCONFIGURED
23
+ end
24
+ rescue Errno::ECONNREFUSED
25
+ puts AGENT_STATE_DOWN
26
+ end
27
+
28
+ private
29
+ def socket
30
+ @socket ||= s = TCPSocket.new(@host, @port)
31
+ end
32
+ end
33
+ end
34
+ end
@@ -6,7 +6,7 @@ module Raygun
6
6
  end
7
7
  class ThreadStarted < Event
8
8
  def inspect
9
- super + " "
9
+ super + " parent_tid:#{self[:parent_tid]}"
10
10
  end
11
11
  end
12
12
  class Begin < Event
@@ -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
@@ -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,8 @@ 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']
36
+ agent_connectivity_diagnostics
35
37
  ObjectSpace.define_finalizer(self, proc{ disable_tracepoints })
36
38
  # Any fails here is kamikaze for the tracer
37
39
  rescue => e
@@ -72,6 +74,10 @@ module Raygun
72
74
  raise Raygun::Apm::FatalError, "Raygun APM UDP sink could not be initialized: #{e.message}"
73
75
  end
74
76
 
77
+ def agent_connectivity_diagnostics
78
+ check = Raygun::Apm::Diagnostics.new
79
+ check.verify_agent
80
+ end
75
81
  end
76
82
  end
77
83
  end
@@ -1,5 +1,5 @@
1
1
  module Raygun
2
2
  module Apm
3
- VERSION = "1.0.38"
3
+ VERSION = "1.0.43"
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.38
4
+ version: 1.0.43
5
5
  platform: x64-mingw32
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-16 00:00:00.000000000 Z
12
+ date: 2020-06-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: debase-ruby_core_source
@@ -203,6 +203,7 @@ extra_rdoc_files: []
203
203
  files:
204
204
  - README.rdoc
205
205
  - bin/console
206
+ - bin/diagnostics
206
207
  - bin/setup
207
208
  - ext/raygun/extconf.rb
208
209
  - lib/raygun/2.5/raygun_ext.so
@@ -211,6 +212,7 @@ files:
211
212
  - lib/raygun/apm.rb
212
213
  - lib/raygun/apm/blacklist.rb
213
214
  - lib/raygun/apm/config.rb
215
+ - lib/raygun/apm/diagnostics.rb
214
216
  - lib/raygun/apm/event.rb
215
217
  - lib/raygun/apm/hooks/net_http.rb
216
218
  - lib/raygun/apm/hooks/redis.rb