raygun-apm 1.0.41-x64-mingw32 → 1.0.42-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: fac241b70becff2dd9b2ca35b8baa66f9187b1832ab423275906b53ecb3cacdc
4
- data.tar.gz: 189094cc9dc7fca446b67d9f1e24919fad9103d67a299b0823b09ca1ae09e67d
3
+ metadata.gz: 1d9c357bc51014adaaeea5aa7110bce00810793855ca5cb837d2ea81ab3d1ce1
4
+ data.tar.gz: 9feea303b825297ceb29356c2c6ceb86f27fdd83e4f7e63d2aea736847632a21
5
5
  SHA512:
6
- metadata.gz: 346a8d4db36ce1287fea6d562ecd4a4c441d3cbffa930800ac48f3c3c153562ee3f6b4e8eb17a423472623fbe5baa75beaa0b0e4ba705ddc16403468c2923add
7
- data.tar.gz: acd438662340790a8f5d76e9d976232d7edf5356d3379d596ac018559061c1f7a67d5976d8cfc1717b505f5f8e99fa29eadcf361136d7deee1fcc903f9ec8d14
6
+ metadata.gz: a6b9fea89e86ad1d5f2fd94f073f00f89310491c42943cf3cf02e9d9f35b3ed80b12328d51624331f6448165567c2aaf0c4469fd6e32654dfa63d27fc0bdb357
7
+ data.tar.gz: c096f97d510ce3b9e85cdb8813007d748af6dae0346d16fe2eb5871c3348bbb2b82b52e6749462e14857c98fba95997f59d5085b0cb48cba976ff663340abc1f
@@ -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"
@@ -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
@@ -33,6 +33,7 @@ module Raygun
33
33
  self.environment = config.environment
34
34
  self.api_key = config.proton_api_key
35
35
  self.register_libraries Bundler.load.specs.map(&:full_gem_path).sort << RbConfig::CONFIG['rubylibdir']
36
+ agent_connectivity_diagnostics
36
37
  ObjectSpace.define_finalizer(self, proc{ disable_tracepoints })
37
38
  # Any fails here is kamikaze for the tracer
38
39
  rescue => e
@@ -73,6 +74,10 @@ module Raygun
73
74
  raise Raygun::Apm::FatalError, "Raygun APM UDP sink could not be initialized: #{e.message}"
74
75
  end
75
76
 
77
+ def agent_connectivity_diagnostics
78
+ check = Raygun::Apm::Diagnostics.new
79
+ check.verify_agent
80
+ end
76
81
  end
77
82
  end
78
83
  end
@@ -1,5 +1,5 @@
1
1
  module Raygun
2
2
  module Apm
3
- VERSION = "1.0.41"
3
+ VERSION = "1.0.42"
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.41
4
+ version: 1.0.42
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-29 00:00:00.000000000 Z
12
+ date: 2020-06-04 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