raygun-apm 1.0.41-x86-linux → 1.0.42-x86-linux

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: 819d1cf66cdd810a2f6b0d55add2589df3507768a7bf77235bddf5c1df4c204f
4
- data.tar.gz: 91e704d0a1a194c8907068584ca1814ca3d28ac2e47751b0f7357af553881f62
3
+ metadata.gz: da0efde7ad42d2a553ad6e0bec7f0b19385df03028f0f59feae081991ad27748
4
+ data.tar.gz: 06b4bb7197fb413b14a73c1d6adbf3912001d4a2be65a4a4f92f2641f420dca2
5
5
  SHA512:
6
- metadata.gz: 5a18c2f32cbdf5b3c18458efe6270fe9457d236a31988fee866704a5d4d3ab69c5e62a097a4d616a6434f83296fb1967ee4038d95d2f6f7700c09d7bfcae32a1
7
- data.tar.gz: 7635097842d6276056eaeea8b90bc2f15b7baebbac5a9fe406feb97a80740dc43f26dcc9a6de3f275cd0f22feca504ba03a260edeb1c20115edfa68dae96d1bd
6
+ metadata.gz: 74a3904d2036bc43aeb2b7fb2000701513e8212fe9ebe1c8136cdbc6f3f08f293af2474317fe078f8c7cf93ff6b828f57f24eb4af667c02a6a577ad686197f19
7
+ data.tar.gz: c5d81c12e8cf6cdabbee175494a33fff19f5cd60e27dd340b5c395743d29f190b3d557d363e72fcab7ee3f0f11fee5f40eeb3e3a59e55b6cd81b0d2eb0228694
@@ -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: x86-linux
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