instana 1.3.3 → 1.4.0

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
  SHA1:
3
- metadata.gz: 5188167998cd8f55f33cb1e5efabd7743d9320be
4
- data.tar.gz: a8b730858f4f70b2cfdd4fedcda867b54484e580
3
+ metadata.gz: b99877f95d6100bd27c7baaf1c55480ee4144d94
4
+ data.tar.gz: 7ff1ffe1eda5611cc0abcf0be984929ec081971c
5
5
  SHA512:
6
- metadata.gz: e78d461c1c5442e885621209f64c3cc47e20f49858d4237b61404caac6e9872f1b8660e9e9ae50443e9cdeeed63345bacf159becb6c1a62e90996c5e7fdd5f57
7
- data.tar.gz: 5794cb3bb5b488406d802210a1234a1b2d1293eb2d451aeb6d91651719fca4e00b5ebeaeeaa2961b0fc3bb5137d154da6df39c2b116be94ff2905f3d36b6e9dc
6
+ metadata.gz: 0a97650d236dab27448c10643668081895a4d162d0f2b5d9706527b5d88d779723997a913d36b2bee50401b37a5c9d50394862035d5bde109c77c9c241dbd513
7
+ data.tar.gz: 893a53e42b37e577cab9e71ead189a15eb2f60a4c8cefd4b1eab9df4f0bf1aeb30a6b12eac731d444058a8c2ca6f6e37ef5b57eca214ddbda906c1a17ac9e937
data/README.md CHANGED
@@ -20,6 +20,7 @@ Any and all feedback is welcome. Happy Ruby visibility.
20
20
  [![rails](https://s3.amazonaws.com/instana/rails-logo.jpg?1)](http://rubyonrails.org/)
21
21
  [![roda](https://s3.amazonaws.com/instana/roda-logo.png?1)](http://roda.jeremyevans.net/)
22
22
  [![cuba](https://s3.amazonaws.com/instana/cuba-logo.png?1)](http://cuba.is/)
23
+ [![mina logo 100px](https://cloud.githubusercontent.com/assets/395132/23832558/fcd5bdb2-0736-11e7-9809-3016e89698e2.png)](https://github.com/instana/mina-instana)
23
24
  [![sinatra](https://s3.amazonaws.com/instana/sinatra-logo.png?1)](http://www.sinatrarb.com/)
24
25
  [![padrino](https://s3.amazonaws.com/instana/padrino-logo.png?1)](http://padrinorb.com/)
25
26
  [![rack](https://s3.amazonaws.com/instana/rack-logo.png?1)](https://rack.github.io/)
@@ -1,8 +1,9 @@
1
- require 'net/http'
2
- require 'uri'
3
1
  require 'json'
4
- require 'timers'
2
+ require 'net/http'
3
+ require 'socket'
5
4
  require 'sys/proctable'
5
+ require 'timers'
6
+ require 'uri'
6
7
  include Sys
7
8
 
8
9
  module Instana
@@ -173,6 +174,15 @@ module Instana
173
174
  announce_payload[:pid] = pid_namespace? ? get_real_pid : Process.pid
174
175
  announce_payload[:args] = @process[:arguments]
175
176
 
177
+
178
+ if @is_linux && !::Instana.test?
179
+ # We create an open socket to the host agent in case we are running in a container
180
+ # and the real pid needs to be detected.
181
+ socket = TCPSocket.new @discovered[:agent_host], @discovered[:agent_port]
182
+ announce_payload[:fd] = socket.fileno
183
+ announce_payload[:inode] = File.readlink("/proc/#{Process.pid}/fd/#{socket.fileno}")
184
+ end
185
+
176
186
  uri = URI.parse("http://#{@discovered[:agent_host]}:#{@discovered[:agent_port]}/#{DISCOVERY_PATH}")
177
187
  req = Net::HTTP::Put.new(uri)
178
188
  req.body = announce_payload.to_json
@@ -193,6 +203,8 @@ module Instana
193
203
  Instana.logger.error "#{__method__}:#{File.basename(__FILE__)}:#{__LINE__}: #{e.message}"
194
204
  Instana.logger.debug e.backtrace.join("\r\n")
195
205
  return false
206
+ ensure
207
+ socket.close if socket
196
208
  end
197
209
 
198
210
  # Method to report metrics data to the host agent.
@@ -454,8 +466,15 @@ module Instana
454
466
  #
455
467
  def get_real_pid
456
468
  raise RuntimeError.new("Unsupported platform: get_real_pid") unless @is_linux
457
- v = File.open("/proc/#{Process.pid}/sched", &:readline)
458
- v.match(/\d+/).to_s.to_i
469
+
470
+ sched_file = "/proc/#{Process.pid}/sched"
471
+ pid = Process.pid
472
+
473
+ if File.exist?(sched_file)
474
+ v = File.open(sched_file, &:readline)
475
+ pid = v.match(/\d+/).to_s.to_i
476
+ end
477
+ pid
459
478
  end
460
479
 
461
480
  # Determine whether the pid has changed since Agent start.
@@ -1,4 +1,4 @@
1
1
  module Instana
2
- VERSION = "1.3.3"
2
+ VERSION = "1.4.0"
3
3
  VERSION_FULL = "instana-#{VERSION}"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: instana
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.3
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Giacomo Lombardo
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-03-10 00:00:00.000000000 Z
11
+ date: 2017-03-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler