instana 1.5.0 → 1.5.1
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 +4 -4
- data/Configuration.md +0 -47
- data/README.md +1 -0
- data/Rakefile +0 -2
- data/lib/instana/agent.rb +9 -9
- data/lib/instana/frameworks/rails.rb +1 -1
- data/lib/instana/logger.rb +0 -54
- data/lib/instana/tracing/processor.rb +4 -4
- data/lib/instana/tracing/span.rb +1 -1
- data/lib/instana/version.rb +1 -1
- data/test/test_helper.rb +0 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bacfa79d8738e22df4c39e377e79d9cb379b2677
|
4
|
+
data.tar.gz: e925ce5389ab885c75a73988b4500638f30cb51d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8691ec75ccce17eff2f1d97c536e80e2875a39fa72928951c4f45a77ff00d8c7b1fa71ed08aedbce2305784c9d102f4fc8a89945061be15b32eaa67758743548
|
7
|
+
data.tar.gz: d6252569230dd5a6dc5567485cf0b2fc3f2689cdc55077d4f401913b1420a08fb0190e2465d2f827a854a801c35a62b922db597ec4d9d10332386824c00fe8f7
|
data/Configuration.md
CHANGED
@@ -123,50 +123,3 @@ The gem can be configured to use your application logger instead:
|
|
123
123
|
|
124
124
|
Setting `INSTANA_GEM_DEV` to a non nil value will enable extra logging output generally useful
|
125
125
|
for development.
|
126
|
-
|
127
|
-
#### Extended Debug Logging
|
128
|
-
|
129
|
-
_Note: To use this, you must leave the gem original logger intact and not replace it as described above._
|
130
|
-
|
131
|
-
The gem allows the debug level to be configured that affects
|
132
|
-
what extra debug info it reports. It allows for:
|
133
|
-
|
134
|
-
* `:agent` - shows all agent state related debug messages
|
135
|
-
* `:agent_comm` - outputs all request/response pairs to and from the
|
136
|
-
host agent
|
137
|
-
* `:trace` - outputs debug messages related to tracing and trace management
|
138
|
-
|
139
|
-
Log messages can be generated for these channels using:
|
140
|
-
|
141
|
-
```Ruby
|
142
|
-
::Instana.logger.agent("agent specific log msg")
|
143
|
-
::Instana.logger.agent_comm("agent communication specific log msg")
|
144
|
-
```
|
145
|
-
|
146
|
-
To set the debug log level:
|
147
|
-
|
148
|
-
```Ruby
|
149
|
-
::Instana.logger.debug_level = [:agent, :agent_comm, :trace]
|
150
|
-
# or
|
151
|
-
::Instana.logger.debug_level = [:agent_comm]
|
152
|
-
# or
|
153
|
-
::Instana.logger.debug_level = :agent
|
154
|
-
```
|
155
|
-
|
156
|
-
or to reset it:
|
157
|
-
|
158
|
-
```Ruby
|
159
|
-
::Instana.logger.debug_level = nil
|
160
|
-
```
|
161
|
-
|
162
|
-
Example output:
|
163
|
-
```bash
|
164
|
-
[2] pry(main)> Instana.logger.debug_level = :agent_comm
|
165
|
-
=> :agent_comm
|
166
|
-
|
167
|
-
D, [2016-12-01T11:45:12.876527 #74127] DEBUG -- : Instana: POST Req -> -body-: http://127.0.0.1:42699/com.instana.plugin.ruby.74127 ->
|
168
|
-
-{"gc":{"heap_live":171890,"heap_free":522},"memory":{"rss_size":51212.0}}- Resp -> body:#<Net::HTTPOK:0x007faee2161078> -> -[]-
|
169
|
-
|
170
|
-
[3] pry(main)> Instana.logger.debug_level = nil
|
171
|
-
=> nil
|
172
|
-
```
|
data/README.md
CHANGED
@@ -24,6 +24,7 @@ Any and all feedback is welcome. Happy Ruby visibility.
|
|
24
24
|
[](http://www.sinatrarb.com/)
|
25
25
|
[](http://padrinorb.com/)
|
26
26
|
[](https://rack.github.io/)
|
27
|
+
[](http://www.grpc.io/)
|
27
28
|
|
28
29
|
## Installation
|
29
30
|
|
data/Rakefile
CHANGED
data/lib/instana/agent.rb
CHANGED
@@ -63,7 +63,7 @@ module Instana
|
|
63
63
|
# the host agent.
|
64
64
|
#
|
65
65
|
def after_fork
|
66
|
-
::Instana.logger.
|
66
|
+
::Instana.logger.debug "after_fork hook called. Falling back to unannounced state and spawning a new background agent thread."
|
67
67
|
|
68
68
|
# Reseed the random number generator for this
|
69
69
|
# new thread.
|
@@ -170,7 +170,7 @@ module Instana
|
|
170
170
|
#
|
171
171
|
def announce_sensor
|
172
172
|
unless @discovered
|
173
|
-
::Instana.logger.
|
173
|
+
::Instana.logger.debug("#{__method__} called but discovery hasn't run yet!")
|
174
174
|
return false
|
175
175
|
end
|
176
176
|
|
@@ -195,7 +195,7 @@ module Instana
|
|
195
195
|
req = Net::HTTP::Put.new(uri)
|
196
196
|
req.body = announce_payload.to_json
|
197
197
|
|
198
|
-
::Instana.logger.
|
198
|
+
::Instana.logger.debug "Announce: http://#{@discovered[:agent_host]}:#{@discovered[:agent_port]}/#{DISCOVERY_PATH} - payload: #{req.body}"
|
199
199
|
|
200
200
|
response = make_host_agent_request(req)
|
201
201
|
|
@@ -223,7 +223,7 @@ module Instana
|
|
223
223
|
#
|
224
224
|
def report_metrics(payload)
|
225
225
|
unless @discovered
|
226
|
-
::Instana.logger.
|
226
|
+
::Instana.logger.debug("#{__method__} called but discovery hasn't run yet!")
|
227
227
|
return false
|
228
228
|
end
|
229
229
|
|
@@ -275,7 +275,7 @@ module Instana
|
|
275
275
|
uri = URI.parse("http://#{@discovered[:agent_host]}:#{@discovered[:agent_port]}/#{path}")
|
276
276
|
req = Net::HTTP::Post.new(uri)
|
277
277
|
req.body = payload.to_json
|
278
|
-
::Instana.logger.
|
278
|
+
::Instana.logger.debug "Responding to agent request: #{req.inspect}"
|
279
279
|
make_host_agent_request(req)
|
280
280
|
end
|
281
281
|
|
@@ -288,7 +288,7 @@ module Instana
|
|
288
288
|
return unless @state == :announced
|
289
289
|
|
290
290
|
unless @discovered
|
291
|
-
::Instana.logger.
|
291
|
+
::Instana.logger.debug("#{__method__} called but discovery hasn't run yet!")
|
292
292
|
return false
|
293
293
|
end
|
294
294
|
|
@@ -397,7 +397,7 @@ module Instana
|
|
397
397
|
return true if ENV['INSTANA_GEM_TEST']
|
398
398
|
|
399
399
|
if forked?
|
400
|
-
::Instana.logger.
|
400
|
+
::Instana.logger.debug "Instana: detected fork. Calling after_fork"
|
401
401
|
after_fork
|
402
402
|
end
|
403
403
|
|
@@ -417,7 +417,7 @@ module Instana
|
|
417
417
|
# `:announced`, `:unannounced`
|
418
418
|
#
|
419
419
|
def transition_to(state)
|
420
|
-
::Instana.logger.
|
420
|
+
::Instana.logger.debug("Transitioning to #{state}")
|
421
421
|
case state
|
422
422
|
when :announced
|
423
423
|
# announce successful; set state
|
@@ -456,7 +456,7 @@ module Instana
|
|
456
456
|
end
|
457
457
|
|
458
458
|
response = @httpclient.request(req)
|
459
|
-
::Instana.logger.
|
459
|
+
# ::Instana.logger.debug "#{req.method}->#{req.uri} body:(#{req.body}) Response:#{response} body:(#{response.body})"
|
460
460
|
|
461
461
|
response
|
462
462
|
rescue Errno::ECONNREFUSED
|
@@ -5,7 +5,7 @@ if defined?(::Rails)
|
|
5
5
|
::Instana.logger = ::Rails.logger if ::Rails.logger
|
6
6
|
|
7
7
|
if ::Rails::VERSION::MAJOR < 3
|
8
|
-
::Rails.configuration.
|
8
|
+
::Rails.configuration.after_initialize do
|
9
9
|
::Instana.logger.info "Instrumenting Rack"
|
10
10
|
::Rails.configuration.middleware.insert 0, ::Instana::Rack
|
11
11
|
end
|
data/lib/instana/logger.rb
CHANGED
@@ -2,7 +2,6 @@ require "logger"
|
|
2
2
|
|
3
3
|
module Instana
|
4
4
|
class XLogger < Logger
|
5
|
-
LEVELS = [:agent, :agent_comm, :trace, :agent_response, :tracing].freeze
|
6
5
|
STAMP = "Instana: ".freeze
|
7
6
|
|
8
7
|
def initialize(*args)
|
@@ -11,63 +10,11 @@ module Instana
|
|
11
10
|
self.level = Logger::DEBUG
|
12
11
|
elsif ENV.key?('INSTANA_GEM_DEV')
|
13
12
|
self.level = Logger::DEBUG
|
14
|
-
self.debug_level = nil
|
15
13
|
else
|
16
14
|
self.level = Logger::WARN
|
17
15
|
end
|
18
16
|
end
|
19
17
|
|
20
|
-
# Sets the debug level for this logger. The debug level is broken up into various
|
21
|
-
# sub-levels as defined in LEVELS:
|
22
|
-
#
|
23
|
-
# :agent - All agent related messages such as state & announcements
|
24
|
-
# :agent_comm - Output all payload comm sent between this Ruby gem and the host agent
|
25
|
-
# :agent_response - Outputs messages related to handling requests received by the host agent
|
26
|
-
# :trace - Output all traces reported to the host agent
|
27
|
-
# :tracing - Output messages related to tracing components, spans and management
|
28
|
-
#
|
29
|
-
# To use:
|
30
|
-
# ::Instana.logger.debug_level = [:agent_comm, :trace]
|
31
|
-
#
|
32
|
-
def debug_level=(levels)
|
33
|
-
return unless levels
|
34
|
-
|
35
|
-
LEVELS.each do |l|
|
36
|
-
instance_variable_set("@level_#{l}", false)
|
37
|
-
end
|
38
|
-
|
39
|
-
levels = [ levels ] unless levels.is_a?(Array)
|
40
|
-
levels.each do |l|
|
41
|
-
next unless LEVELS.include?(l)
|
42
|
-
instance_variable_set("@level_#{l}", true)
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
def agent(msg)
|
47
|
-
return unless @level_agent
|
48
|
-
self.debug(msg)
|
49
|
-
end
|
50
|
-
|
51
|
-
def agent_comm(msg)
|
52
|
-
return unless @level_agent_comm
|
53
|
-
self.debug(msg)
|
54
|
-
end
|
55
|
-
|
56
|
-
def agent_response(msg)
|
57
|
-
return unless @level_agent_response
|
58
|
-
self.debug(msg)
|
59
|
-
end
|
60
|
-
|
61
|
-
def trace(msg)
|
62
|
-
return unless @level_trace
|
63
|
-
self.debug(msg)
|
64
|
-
end
|
65
|
-
|
66
|
-
def tracing(msg)
|
67
|
-
return unless @level_tracing
|
68
|
-
self.debug(msg)
|
69
|
-
end
|
70
|
-
|
71
18
|
def error(msg)
|
72
19
|
super(STAMP + msg)
|
73
20
|
end
|
@@ -89,4 +36,3 @@ module Instana
|
|
89
36
|
end
|
90
37
|
end
|
91
38
|
end
|
92
|
-
|
@@ -25,7 +25,7 @@ module Instana
|
|
25
25
|
#
|
26
26
|
# @param [Trace] the trace to be added to the queue
|
27
27
|
def add(trace)
|
28
|
-
::Instana.logger.
|
28
|
+
::Instana.logger.debug("Queuing completed trace id: #{trace.id}")
|
29
29
|
@queue.push(trace)
|
30
30
|
end
|
31
31
|
|
@@ -33,7 +33,7 @@ module Instana
|
|
33
33
|
#
|
34
34
|
# @param [Trace] the trace to be added to the queue
|
35
35
|
def stage(trace)
|
36
|
-
::Instana.logger.
|
36
|
+
::Instana.logger.debug("Staging incomplete trace id: #{trace.id}")
|
37
37
|
@staging_queue.add(trace)
|
38
38
|
end
|
39
39
|
|
@@ -46,7 +46,7 @@ module Instana
|
|
46
46
|
if @staging_queue.size > 0
|
47
47
|
@staging_queue.delete_if do |t|
|
48
48
|
if t.complete?
|
49
|
-
::Instana.logger.
|
49
|
+
::Instana.logger.debug("Moving staged complete trace to main queue: #{t.id}")
|
50
50
|
add(t)
|
51
51
|
true
|
52
52
|
elsif t.discard?
|
@@ -160,7 +160,7 @@ module Instana
|
|
160
160
|
end
|
161
161
|
}
|
162
162
|
unless candidate
|
163
|
-
::Instana.logger.
|
163
|
+
::Instana.logger.debug("Couldn't find staged trace with trace_id: #{trace_id}")
|
164
164
|
end
|
165
165
|
candidate
|
166
166
|
end
|
data/lib/instana/tracing/span.rb
CHANGED
@@ -355,7 +355,7 @@ module Instana
|
|
355
355
|
end
|
356
356
|
|
357
357
|
if ::Instana.tracer.current_span.id != id
|
358
|
-
::Instana.logger.
|
358
|
+
::Instana.logger.debug "Closing a span that isn't active. This will result in a broken trace: #{self.inspect}"
|
359
359
|
end
|
360
360
|
|
361
361
|
if is_root?
|
data/lib/instana/version.rb
CHANGED
data/test/test_helper.rb
CHANGED
@@ -27,9 +27,6 @@ end
|
|
27
27
|
|
28
28
|
Minitest::Reporters.use! MiniTest::Reporters::SpecReporter.new
|
29
29
|
|
30
|
-
# Set this (or a subset) if you want increased debug output
|
31
|
-
#::Instana.logger.debug_level = [ :agent, :agent_comm, :trace ]
|
32
|
-
|
33
30
|
# Used to reset the gem to boot state. It clears out any queued and/or staged
|
34
31
|
# traces and resets the tracer to no active trace.
|
35
32
|
#
|
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.5.
|
4
|
+
version: 1.5.1
|
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-07-
|
11
|
+
date: 2017-07-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|