traceview 3.5.0-java → 3.5.1-java

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: 77802e768eb34458ea448fc981134b53f0d21404
4
- data.tar.gz: 8ff989b243a87e6a0f88d5dbc4fea44b68eaa316
3
+ metadata.gz: ab1cb712461df5f0c69196d17b1a42ded92bb3c2
4
+ data.tar.gz: 3cc286a12bbe0c66a9331ac5b04c872aeaf00370
5
5
  SHA512:
6
- metadata.gz: c0dc967ebf9e9dc670cd918c6fb895ec046f2bcfc14b4ebdb2a6c8fe85fc97ae17360f1c10a685e960c430ae8b4215751967afac963a651b77c012193dfacdf3
7
- data.tar.gz: 69a42bbbeace02a2a12a870787ce769d83b61c76e968c8e0296afa9bf1e683ff5eb3cda969448756cc8fe95f953297d03c85bde938f94879ce8bcfc2e657b356
6
+ metadata.gz: 6aa0ff18c467aabbd4065fd29b63fe686ec8208914001cf354683360f5ab7a642d7f48cabf0d7269fff4452b48cf5cea2475155a3416c31d7940814a3a3ab378
7
+ data.tar.gz: 0d8562f04dd5842b6f6ec8f79b9b2750a4658f34d2439d963d4ae4fd5718c96dfa2bd4234207b8db99c800dbc9bc24eed62e7d6d19991db713b7a37a04a5b743
data/CHANGELOG.md CHANGED
@@ -4,6 +4,19 @@ https://github.com/appneta/oboe-ruby/releases
4
4
 
5
5
  Dates in this file are in the format MM/DD/YYYY.
6
6
 
7
+ # traceview 3.5.1
8
+
9
+ This patch release includes the following fixes:
10
+
11
+ * Excon: hash query handling fix (thanks @tlunter!): #161, #163
12
+ * Data collection methods should ensure hash values are always returned: #162
13
+ * Expanded Init reporting: #159
14
+
15
+ Pushed to Rubygems:
16
+
17
+ https://rubygems.org/gems/traceview/versions/3.5.1
18
+ https://rubygems.org/gems/traceview/versions/3.5.1-java
19
+
7
20
  # traceview 3.5.0
8
21
 
9
22
  This minor release includes the following new feature:
@@ -58,6 +58,8 @@ module TraceView
58
58
  kvs
59
59
  rescue => e
60
60
  TraceView.logger.debug "[traceview/debug] #{__method__}:#{File.basename(__FILE__)}:#{__LINE__}: #{e.message}" if TraceView::Config[:verbose]
61
+ ensure
62
+ return kvs
61
63
  end
62
64
  end
63
65
 
@@ -39,6 +39,8 @@ module TraceView
39
39
  rescue => e
40
40
  TraceView.logger.debug "[traceview/debug] Error capturing curb KVs: #{e.message}"
41
41
  TraceView.logger.debug e.backtrace.join('\n') if ::TraceView::Config[:verbose]
42
+ ensure
43
+ return kvs
42
44
  end
43
45
 
44
46
  ##
@@ -16,8 +16,20 @@ module TraceView
16
16
  kvs['RemoteHost'] = @data[:host]
17
17
 
18
18
  # Conditionally log query args
19
- if TraceView::Config[:excon][:log_args] && (@data[:query] && @data[:query].length)
20
- kvs['ServiceArg'] = @data[:path] + '?' + @data[:query]
19
+ if TraceView::Config[:excon][:log_args] && @data[:query]
20
+ if @data[:query].is_a?(Hash)
21
+ if RUBY_VERSION >= '1.9.2'
22
+ kvs['ServiceArg'] = "#{@data[:path]}?#{URI.encode_www_form(@data[:query])}"
23
+ else
24
+ # An imperfect solution for the lack of URI.encode_www_form for Ruby versions before
25
+ # 1.9.2. We manually create a query string for reporting purposes only.
26
+ query_arg = ""
27
+ @data[:query].each_pair { |k,v| query_arg += "#{k}=#{v}?"; }
28
+ kvs['ServiceArg'] = "#{@data[:path]}?#{query_arg.chop}"
29
+ end
30
+ else
31
+ kvs['ServiceArg'] = "#{@data[:path]}?#{@data[:query]}"
32
+ end
21
33
  else
22
34
  kvs['ServiceArg'] = @data[:path]
23
35
  end
@@ -39,6 +51,8 @@ module TraceView
39
51
  rescue => e
40
52
  TraceView.logger.debug "[traceview/debug] Error capturing excon KVs: #{e.message}"
41
53
  TraceView.logger.debug e.backtrace.join('\n') if ::TraceView::Config[:verbose]
54
+ ensure
55
+ return kvs
42
56
  end
43
57
 
44
58
  def requests_with_traceview(pipeline_params)
@@ -33,6 +33,8 @@ module TraceView
33
33
  rescue => e
34
34
  TraceView.logger.debug "[traceview/debug] Error capturing httpclient KVs: #{e.message}"
35
35
  TraceView.logger.debug e.backtrace.join('\n') if ::TraceView::Config[:verbose]
36
+ ensure
37
+ return kvs
36
38
  end
37
39
 
38
40
  def do_request_with_traceview(method, uri, query, body, header, &block)
@@ -120,23 +120,22 @@ if defined?(::Mongo) && TraceView::Config[:mongo][:enabled]
120
120
  include TraceView::Inst::Mongo
121
121
 
122
122
  def traceview_collect(m, args)
123
- begin
124
- report_kvs = {}
125
- report_kvs[:Flavor] = TraceView::Inst::Mongo::FLAVOR
126
-
127
- report_kvs[:Database] = @db.name
128
- report_kvs[:RemoteHost] = @db.connection.host
129
- report_kvs[:RemotePort] = @db.connection.port
130
- report_kvs[:Collection] = @name
131
-
132
- report_kvs[:Backtrace] = TraceView::API.backtrace if TraceView::Config[:mongo][:collect_backtraces]
133
-
134
- report_kvs[:QueryOp] = m
135
- report_kvs[:Query] = args[0].to_json if args && !args.empty? && args[0].class == Hash
136
- rescue StandardError => e
137
- TraceView.logger.debug "[traceview/debug] Exception in traceview_collect KV collection: #{e.inspect}"
138
- end
139
- report_kvs
123
+ kvs = {}
124
+ kvs[:Flavor] = TraceView::Inst::Mongo::FLAVOR
125
+
126
+ kvs[:Database] = @db.name
127
+ kvs[:RemoteHost] = @db.connection.host
128
+ kvs[:RemotePort] = @db.connection.port
129
+ kvs[:Collection] = @name
130
+
131
+ kvs[:Backtrace] = TraceView::API.backtrace if TraceView::Config[:mongo][:collect_backtraces]
132
+
133
+ kvs[:QueryOp] = m
134
+ kvs[:Query] = args[0].to_json if args && !args.empty? && args[0].class == Hash
135
+ rescue StandardError => e
136
+ TraceView.logger.debug "[traceview/debug] Exception in traceview_collect KV collection: #{e.inspect}"
137
+ ensure
138
+ return kvs
140
139
  end
141
140
 
142
141
  # Instrument Collection write operations
@@ -171,23 +171,18 @@ module TraceView
171
171
  end
172
172
 
173
173
  ##
174
- # build_init_report
174
+ # legacy_build_init_report
175
175
  #
176
176
  # Internal: Build a hash of KVs that reports on the status of the
177
177
  # running environment. This is used on stack boot in __Init reporting
178
178
  # and for TraceView.support_report.
179
179
  #
180
- def build_init_report
181
- platform_info = { '__Init' => 1 }
180
+ # This legacy version of build_init_report is used for apps without Bundler.
181
+ #
182
+ def legacy_build_init_report
183
+ platform_info = {}
182
184
 
183
185
  begin
184
- platform_info['Force'] = true
185
- platform_info['Ruby.Platform.Version'] = RUBY_PLATFORM
186
- platform_info['Ruby.Version'] = RUBY_VERSION
187
- platform_info['Ruby.TraceView.Version'] = ::TraceView::Version::STRING
188
- platform_info['RubyHeroku.TraceView.Version'] = ::TraceViewHeroku::Version::STRING if defined?(::TraceViewHeroku)
189
- platform_info['Ruby.TraceMode.Version'] = ::TraceView::Config[:tracing_mode]
190
-
191
186
  # Report the framework in use
192
187
  if defined?(::RailsLts::VERSION)
193
188
  platform_info['Ruby.RailsLts.Version'] = "RailsLts-#{::RailsLts::VERSION}"
@@ -235,6 +230,44 @@ module TraceView
235
230
  platform_info['Ruby.PG.Version'] = PG::VERSION if defined?(PG::VERSION)
236
231
  platform_info['Ruby.Mysql2.Version'] = Mysql2::VERSION if defined?(Mysql2::VERSION)
237
232
  platform_info['Ruby.Sequel.Version'] = ::Sequel::VERSION if defined?(::Sequel::VERSION)
233
+ rescue StandardError, ScriptError => e
234
+ # Also rescue ScriptError (aka SyntaxError) in case one of the expected
235
+ # version defines don't exist
236
+
237
+ platform_info['Error'] = "Error in legacy_build_init_report: #{e.message}"
238
+
239
+ TraceView.logger.warn "[traceview/warn] Error in legacy_build_init_report: #{e.message}"
240
+ TraceView.logger.debug e.backtrace
241
+ end
242
+ platform_info
243
+ end
244
+
245
+ ##
246
+ # build_init_report
247
+ #
248
+ # Internal: Build a hash of KVs that reports on the status of the
249
+ # running environment. This is used on stack boot in __Init reporting
250
+ # and for TraceView.support_report.
251
+ #
252
+ def build_init_report
253
+ platform_info = { '__Init' => 1 }
254
+
255
+ begin
256
+ platform_info['Force'] = true
257
+ platform_info['Ruby.Platform.Version'] = RUBY_PLATFORM
258
+ platform_info['Ruby.Version'] = RUBY_VERSION
259
+ platform_info['Ruby.TraceView.Version'] = ::TraceView::Version::STRING
260
+ platform_info['RubyHeroku.TraceView.Version'] = ::TraceViewHeroku::Version::STRING if defined?(::TraceViewHeroku)
261
+ platform_info['Ruby.TraceMode.Version'] = ::TraceView::Config[:tracing_mode]
262
+
263
+ # Collect up the loaded gems
264
+ if defined?(Gem) && Gem.respond_to?(:loaded_specs)
265
+ Gem.loaded_specs.each_pair { |k, v|
266
+ platform_info["Ruby.#{k}.Version"] = v.version.to_s
267
+ }
268
+ else
269
+ platform_info.merge!(legacy_build_init_report)
270
+ end
238
271
 
239
272
  # Report the server in use (if possible)
240
273
  if defined?(::Unicorn::Const::UNICORN_VERSION)
@@ -8,7 +8,7 @@ module TraceView
8
8
  module Version
9
9
  MAJOR = 3
10
10
  MINOR = 5
11
- PATCH = 0
11
+ PATCH = 1
12
12
  BUILD = nil
13
13
 
14
14
  STRING = [MAJOR, MINOR, PATCH, BUILD].compact.join('.')
@@ -35,8 +35,8 @@ if RUBY_VERSION > '1.8.7' && !defined?(JRUBY_VERSION)
35
35
 
36
36
  def test_reports_version_init
37
37
  init_kvs = ::TraceView::Util.build_init_report
38
- assert init_kvs.key?('Ruby.Curb.Version')
39
- assert_equal init_kvs['Ruby.Curb.Version'], "Curb-#{::Curl::VERSION}"
38
+ assert init_kvs.key?('Ruby.curb.Version')
39
+ assert_equal ::Curl::CURB_VERSION, init_kvs['Ruby.curb.Version']
40
40
  end
41
41
 
42
42
  def test_class_get_request
@@ -22,8 +22,7 @@ class ExconTest < Minitest::Test
22
22
 
23
23
  def test_reports_version_init
24
24
  init_kvs = ::TraceView::Util.build_init_report
25
- assert init_kvs.key?('Ruby.Excon.Version')
26
- assert_equal init_kvs['Ruby.Excon.Version'], "Excon-#{::Excon::VERSION}"
25
+ assert_equal ::Excon::VERSION, init_kvs['Ruby.excon.Version']
27
26
  end
28
27
 
29
28
  def test_class_get_request
@@ -38,16 +37,16 @@ class ExconTest < Minitest::Test
38
37
  validate_outer_layers(traces, "excon_tests")
39
38
  valid_edges?(traces)
40
39
 
41
- assert_equal traces[1]['IsService'], 1
42
- assert_equal traces[1]['RemoteHost'], '127.0.0.1'
43
- assert_equal traces[1]['RemoteProtocol'], 'HTTP'
44
- assert_equal traces[1]['ServiceArg'], '/'
45
- assert_equal traces[1]['HTTPMethod'], 'GET'
40
+ assert_equal 1, traces[1]['IsService']
41
+ assert_equal '127.0.0.1', traces[1]['RemoteHost']
42
+ assert_equal 'HTTP', traces[1]['RemoteProtocol']
43
+ assert_equal '/', traces[1]['ServiceArg']
44
+ assert_equal 'GET', traces[1]['HTTPMethod']
46
45
  assert traces[1].key?('Backtrace')
47
46
 
48
- assert_equal traces[5]['Layer'], 'excon'
49
- assert_equal traces[5]['Label'], 'exit'
50
- assert_equal traces[5]['HTTPStatus'], 200
47
+ assert_equal 'excon', traces[5]['Layer']
48
+ assert_equal 'exit', traces[5]['Label']
49
+ assert_equal 200, traces[5]['HTTPStatus']
51
50
  end
52
51
 
53
52
  def test_cross_app_tracing
@@ -65,17 +64,17 @@ class ExconTest < Minitest::Test
65
64
  end
66
65
 
67
66
  traces = get_all_traces
68
- assert_equal traces.count, 7
67
+ assert_equal 7, traces.count
69
68
  validate_outer_layers(traces, "excon_tests")
70
69
  valid_edges?(traces)
71
70
 
72
- assert_equal traces[1]['IsService'], 1
73
- assert_equal traces[1]['RemoteHost'], '127.0.0.1'
74
- assert_equal traces[1]['RemoteProtocol'], 'HTTP'
75
- assert_equal traces[1]['ServiceArg'], '/?blah=1'
76
- assert_equal traces[1]['HTTPMethod'], 'GET'
71
+ assert_equal 1, traces[1]['IsService']
72
+ assert_equal '127.0.0.1', traces[1]['RemoteHost']
73
+ assert_equal 'HTTP', traces[1]['RemoteProtocol']
74
+ assert_equal '/?blah=1', traces[1]['ServiceArg']
75
+ assert_equal 'GET', traces[1]['HTTPMethod']
76
+ assert_equal 200, traces[5]['HTTPStatus']
77
77
  assert traces[1].key?('Backtrace')
78
- assert_equal traces[5]['HTTPStatus'], 200
79
78
  end
80
79
 
81
80
  def test_persistent_requests
@@ -96,29 +95,29 @@ class ExconTest < Minitest::Test
96
95
  validate_outer_layers(traces, "excon_tests")
97
96
  valid_edges?(traces)
98
97
 
99
- assert_equal traces[1]['IsService'], 1
100
- assert_equal traces[1]['RemoteHost'], '127.0.0.1'
101
- assert_equal traces[1]['RemoteProtocol'], 'HTTP'
102
- assert_equal traces[1]['ServiceArg'], '/'
103
- assert_equal traces[1]['HTTPMethod'], 'GET'
98
+ assert_equal 1, traces[1]['IsService']
99
+ assert_equal '127.0.0.1', traces[1]['RemoteHost']
100
+ assert_equal 'HTTP', traces[1]['RemoteProtocol']
101
+ assert_equal '/', traces[1]['ServiceArg']
102
+ assert_equal 'GET', traces[1]['HTTPMethod']
103
+ assert_equal 200, traces[5]['HTTPStatus']
104
104
  assert traces[1].key?('Backtrace')
105
- assert_equal traces[5]['HTTPStatus'], 200
106
105
 
107
- assert_equal traces[6]['IsService'], 1
108
- assert_equal traces[6]['RemoteHost'], '127.0.0.1'
109
- assert_equal traces[6]['RemoteProtocol'], 'HTTP'
110
- assert_equal traces[6]['ServiceArg'], '/'
111
- assert_equal traces[6]['HTTPMethod'], 'GET'
106
+ assert_equal 1, traces[6]['IsService']
107
+ assert_equal '127.0.0.1', traces[6]['RemoteHost']
108
+ assert_equal 'HTTP', traces[6]['RemoteProtocol']
109
+ assert_equal '/', traces[6]['ServiceArg']
110
+ assert_equal 'GET', traces[6]['HTTPMethod']
111
+ assert_equal 200, traces[10]['HTTPStatus']
112
112
  assert traces[6].key?('Backtrace')
113
- assert_equal traces[10]['HTTPStatus'], 200
114
113
 
115
- assert_equal traces[11]['IsService'], 1
116
- assert_equal traces[11]['RemoteHost'], '127.0.0.1'
117
- assert_equal traces[11]['RemoteProtocol'], 'HTTP'
118
- assert_equal traces[11]['ServiceArg'], '/'
119
- assert_equal traces[11]['HTTPMethod'], 'GET'
114
+ assert_equal 1, traces[11]['IsService']
115
+ assert_equal '127.0.0.1', traces[11]['RemoteHost']
116
+ assert_equal 'HTTP', traces[11]['RemoteProtocol']
117
+ assert_equal '/', traces[11]['ServiceArg']
118
+ assert_equal 'GET', traces[11]['HTTPMethod']
119
+ assert_equal 200, traces[15]['HTTPStatus']
120
120
  assert traces[11].key?('Backtrace')
121
- assert_equal traces[15]['HTTPStatus'], 200
122
121
  end
123
122
 
124
123
  def test_pipelined_requests
@@ -132,16 +131,16 @@ class ExconTest < Minitest::Test
132
131
  end
133
132
 
134
133
  traces = get_all_traces
135
- assert_equal traces.count, 10
134
+ assert_equal 10, traces.count
136
135
  validate_outer_layers(traces, "excon_tests")
137
136
  valid_edges?(traces)
138
137
 
139
- assert_equal traces[1]['IsService'], 1
140
- assert_equal traces[1]['RemoteHost'], '127.0.0.1'
141
- assert_equal traces[1]['RemoteProtocol'], 'HTTP'
142
- assert_equal traces[1]['ServiceArg'], '/'
143
- assert_equal traces[1]['Pipeline'], 'true'
144
- assert_equal traces[1]['HTTPMethods'], 'GET, PUT'
138
+ assert_equal 1, traces[1]['IsService']
139
+ assert_equal '127.0.0.1', traces[1]['RemoteHost']
140
+ assert_equal 'HTTP', traces[1]['RemoteProtocol']
141
+ assert_equal '/', traces[1]['ServiceArg']
142
+ assert_equal 'true', traces[1]['Pipeline']
143
+ assert_equal 'GET, PUT', traces[1]['HTTPMethods']
145
144
  assert traces[1].key?('Backtrace')
146
145
  end
147
146
 
@@ -160,21 +159,21 @@ class ExconTest < Minitest::Test
160
159
  validate_outer_layers(traces, "excon_tests")
161
160
  valid_edges?(traces)
162
161
 
163
- assert_equal traces[1]['IsService'], 1
164
- assert_equal traces[1]['RemoteHost'], 'asfjalkfjlajfljkaljf'
165
- assert_equal traces[1]['RemoteProtocol'], 'HTTP'
166
- assert_equal traces[1]['ServiceArg'], '/'
167
- assert_equal traces[1]['HTTPMethod'], 'GET'
162
+ assert_equal 1, traces[1]['IsService']
163
+ assert_equal 'asfjalkfjlajfljkaljf', traces[1]['RemoteHost']
164
+ assert_equal 'HTTP', traces[1]['RemoteProtocol']
165
+ assert_equal '/', traces[1]['ServiceArg']
166
+ assert_equal 'GET', traces[1]['HTTPMethod']
168
167
  assert traces[1].key?('Backtrace')
169
168
 
170
- assert_equal traces[2]['Layer'], 'excon'
171
- assert_equal traces[2]['Label'], 'error'
172
- assert_equal traces[2]['ErrorClass'], "Excon::Errors::SocketError"
169
+ assert_equal 'excon', traces[2]['Layer']
170
+ assert_equal 'error', traces[2]['Label']
171
+ assert_equal "Excon::Errors::SocketError", traces[2]['ErrorClass']
173
172
  assert traces[2].key?('ErrorMsg')
174
173
  assert traces[2].key?('Backtrace')
175
174
 
176
- assert_equal traces[3]['Layer'], 'excon'
177
- assert_equal traces[3]['Label'], 'exit'
175
+ assert_equal 'excon', traces[3]['Layer']
176
+ assert_equal 'exit', traces[3]['Label']
178
177
  end
179
178
 
180
179
  def test_obey_log_args_when_false
@@ -188,8 +187,8 @@ class ExconTest < Minitest::Test
188
187
  end
189
188
 
190
189
  traces = get_all_traces
191
- assert_equal traces.count, 7
192
- assert_equal traces[1]['ServiceArg'], '/'
190
+ assert_equal 7, traces.count
191
+ assert_equal '/', traces[1]['ServiceArg']
193
192
 
194
193
  TraceView::Config[:excon][:log_args] = @log_args
195
194
  end
@@ -205,8 +204,25 @@ class ExconTest < Minitest::Test
205
204
  end
206
205
 
207
206
  traces = get_all_traces
208
- assert_equal traces.count, 7
209
- assert_equal traces[1]['ServiceArg'], '/?blah=1'
207
+ assert_equal 7, traces.count
208
+ assert_equal '/?blah=1', traces[1]['ServiceArg']
209
+
210
+ TraceView::Config[:excon][:log_args] = @log_args
211
+ end
212
+
213
+ def test_obey_log_args_when_true_and_using_hash
214
+ @log_args = TraceView::Config[:excon][:log_args]
215
+ clear_all_traces
216
+
217
+ TraceView::Config[:excon][:log_args] = true
218
+
219
+ TraceView::API.start_trace('excon_tests') do
220
+ Excon.get('http://127.0.0.1:8101/?', :query => { :blah => 1 })
221
+ end
222
+
223
+ traces = get_all_traces
224
+ assert_equal 7, traces.count
225
+ assert_equal '/?blah=1', traces[1]['ServiceArg']
210
226
 
211
227
  TraceView::Config[:excon][:log_args] = @log_args
212
228
  end
@@ -15,8 +15,8 @@ unless defined?(JRUBY_VERSION)
15
15
 
16
16
  def test_reports_version_init
17
17
  init_kvs = ::TraceView::Util.build_init_report
18
- assert init_kvs.key?('Ruby.HTTPClient.Version')
19
- assert_equal init_kvs['Ruby.HTTPClient.Version'], "HTTPClient-#{::HTTPClient::VERSION}"
18
+ assert init_kvs.key?('Ruby.httpclient.Version')
19
+ assert_equal ::HTTPClient::VERSION, init_kvs['Ruby.httpclient.Version']
20
20
  end
21
21
 
22
22
  def test_get_request
@@ -27,8 +27,8 @@ if RUBY_VERSION >= '1.9.3'
27
27
  it "should report rest-client version in __Init" do
28
28
  init_kvs = ::TraceView::Util.build_init_report
29
29
 
30
- init_kvs.key?('Ruby.RestClient.Version').must_equal true
31
- init_kvs['Ruby.RestClient.Version'].must_equal "RestClient-#{::RestClient::VERSION}"
30
+ init_kvs.key?('Ruby.rest-client.Version').must_equal true
31
+ init_kvs['Ruby.rest-client.Version'].must_equal ::RestClient::VERSION
32
32
  end
33
33
 
34
34
  it "should trace a request to an instr'd app" do
@@ -22,8 +22,8 @@ if RUBY_VERSION >= '2.0' && !defined?(JRUBY_VERSION)
22
22
 
23
23
  def test_reports_version_init
24
24
  init_kvs = ::TraceView::Util.build_init_report
25
- assert init_kvs.key?('Ruby.Sidekiq.Version')
26
- assert_equal "Sidekiq-#{::Sidekiq::VERSION}", init_kvs['Ruby.Sidekiq.Version']
25
+ assert init_kvs.key?('Ruby.sidekiq.Version')
26
+ assert_equal ::Sidekiq::VERSION, init_kvs['Ruby.sidekiq.Version']
27
27
  end
28
28
 
29
29
  def test_job_run
@@ -24,8 +24,8 @@ class DelayedJobWorkerTest < Minitest::Test
24
24
 
25
25
  def test_reports_version_init
26
26
  init_kvs = ::TraceView::Util.build_init_report
27
- assert init_kvs.key?('Ruby.DelayedJob.Version')
28
- assert_equal "DelayedJob-#{Gem.loaded_specs['delayed_job'].version.to_s}", init_kvs['Ruby.DelayedJob.Version']
27
+ assert init_kvs.key?('Ruby.delayed_job.Version')
28
+ assert_equal Gem.loaded_specs['delayed_job'].version.to_s, init_kvs['Ruby.delayed_job.Version']
29
29
  end
30
30
 
31
31
  def test_job_run
@@ -0,0 +1,25 @@
1
+ # Copyright (c) 2015 AppNeta, Inc.
2
+ # All rights reserved.
3
+
4
+ require 'minitest_helper'
5
+
6
+ class InitReportTest < Minitest::Test
7
+ def test_report_format
8
+ init_kvs = ::TraceView::Util.build_init_report
9
+ init_kvs.is_a?(Hash)
10
+ end
11
+
12
+ def test_report_kvs
13
+ init_kvs = ::TraceView::Util.build_init_report
14
+ init_kvs.has_key?("__Init").must_equal true
15
+ init_kvs.has_key?("Force").must_equal true
16
+ init_kvs.has_key?("Ruby.AppContainer.Version").must_equal true
17
+ init_kvs["Ruby.TraceView.Version"].must_equal TraceView::Version::STRING
18
+ init_kvs["Ruby.TraceMode.Version"].must_equal TraceView::Config[:tracing_mode]
19
+ end
20
+
21
+ def test_legacy_report_format
22
+ init_kvs = ::TraceView::Util.legacy_build_init_report
23
+ init_kvs.is_a?(Hash)
24
+ end
25
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: traceview
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.0
4
+ version: 3.5.1
5
5
  platform: java
6
6
  authors:
7
7
  - Peter Giacomo Lombardo
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-01-31 00:00:00.000000000 Z
12
+ date: 2016-02-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json
@@ -234,6 +234,7 @@ files:
234
234
  - test/support/backcompat_test.rb
235
235
  - test/support/config_test.rb
236
236
  - test/support/dnt_test.rb
237
+ - test/support/init_report_test.rb
237
238
  - test/support/liboboe_settings_test.rb
238
239
  - test/support/noop_test.rb
239
240
  - test/support/sql_sanitize_test.rb
@@ -316,6 +317,7 @@ test_files:
316
317
  - test/frameworks/apps/grape_nested.rb
317
318
  - test/queues/delayed_job-worker_test.rb
318
319
  - test/queues/delayed_job-client_test.rb
320
+ - test/support/init_report_test.rb
319
321
  - test/support/config_test.rb
320
322
  - test/support/noop_test.rb
321
323
  - test/support/dnt_test.rb