oboe 2.6.8 → 2.7.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,6 @@
1
1
  require 'minitest_helper'
2
2
 
3
- describe Oboe::Inst::Dalli do
3
+ describe Oboe::Inst::Dalli < ::MiniTest::Spec do
4
4
  before do
5
5
  clear_all_traces
6
6
  @dc = Dalli::Client.new
@@ -1,6 +1,6 @@
1
1
  require 'minitest_helper'
2
2
 
3
- if RUBY_VERSION < '2.0'
3
+ if RUBY_VERSION < '2.0' and not defined?(JRUBY_VERSION)
4
4
  describe Oboe::Inst::Memcached do
5
5
  require 'memcached'
6
6
  require 'memcached/rails'
@@ -1,6 +1,6 @@
1
1
  require 'minitest_helper'
2
2
 
3
- if RUBY_VERSION >= '1.9.3' and (defined?(::Moped::VERSION) and ::Moped::VERSION < "2.0")
3
+ if RUBY_VERSION >= '1.9.3'
4
4
  # Moped is tested against MRI 1.9.3, 2.0.0, and JRuby (1.9).
5
5
 
6
6
  describe Oboe::Inst::Moped do
@@ -47,6 +47,7 @@ class RackTestApp < Minitest::Test
47
47
  assert traces[0].has_key?('SampleSource')
48
48
 
49
49
  assert last_response.ok?
50
+
50
51
  assert last_response['X-Trace']
51
52
  end
52
53
 
@@ -60,5 +61,13 @@ class RackTestApp < Minitest::Test
60
61
 
61
62
  assert last_response.status == 404
62
63
  end
64
+
65
+ def test_must_return_xtrace_header
66
+ clear_all_traces
67
+ get "/lobster"
68
+ xtrace = last_response['X-Trace']
69
+ assert xtrace
70
+ assert Oboe::XTrace.valid?(xtrace)
71
+ end
63
72
  end
64
73
 
@@ -1,3 +1,4 @@
1
+ require "minitest/spec"
1
2
  require "minitest/autorun"
2
3
  require "minitest/reporters"
3
4
 
@@ -14,6 +15,10 @@ unless RUBY_VERSION =~ /^1.8/
14
15
  MiniTest::Reporters.use! MiniTest::Reporters::SpecReporter.new
15
16
  end
16
17
 
18
+ if defined?(JRUBY_VERSION)
19
+ ENV['JAVA_OPTS'] = "-J-javaagent:/usr/local/tracelytics/tracelyticsagent.jar"
20
+ end
21
+
17
22
  require 'rubygems'
18
23
  require 'bundler'
19
24
 
@@ -38,7 +43,7 @@ Oboe.logger.level = Logger::DEBUG
38
43
  # Truncates the trace output file to zero
39
44
  #
40
45
  def clear_all_traces
41
- File.truncate($trace_file, 0)
46
+ Oboe::Reporter.clear_all_traces
42
47
  end
43
48
 
44
49
  ##
@@ -47,24 +52,7 @@ end
47
52
  # Retrieves all traces written to the trace file
48
53
  #
49
54
  def get_all_traces
50
- io = File.open($trace_file, "r")
51
- contents = io.readlines(nil)
52
-
53
- return contents if contents.empty?
54
-
55
- s = StringIO.new(contents[0])
56
-
57
- traces = []
58
-
59
- until s.eof?
60
- if ::BSON.respond_to? :read_bson_document
61
- traces << BSON.read_bson_document(s)
62
- else
63
- traces << BSON::Document.from_bson(s)
64
- end
65
- end
66
-
67
- traces
55
+ Oboe::Reporter.get_all_traces
68
56
  end
69
57
 
70
58
  ##
@@ -100,6 +88,7 @@ end
100
88
  # has he specified key
101
89
  #
102
90
  def layer_has_key(traces, layer, key)
91
+ return false if traces.empty?
103
92
  has_key = false
104
93
 
105
94
  traces.each do |t|
@@ -120,6 +109,7 @@ end
120
109
  # (regardless of event type) doesn't have the specified key
121
110
  #
122
111
  def layer_doesnt_have_key(traces, layer, key)
112
+ return false if traces.empty?
123
113
  has_key = false
124
114
 
125
115
  traces.each do |t|
@@ -3,39 +3,44 @@ require 'rack/test'
3
3
  require 'rack/lobster'
4
4
  require 'oboe/inst/rack'
5
5
 
6
- Oboe::Config[:tracing_mode] = 'always'
7
- Oboe::Config[:sample_rate] = 1e6
8
-
9
- class RackTestApp < Minitest::Test
10
- include Rack::Test::Methods
11
-
12
- def app
13
- @app = Rack::Builder.new {
14
- use Rack::CommonLogger
15
- use Rack::ShowExceptions
16
- use Oboe::Rack
17
- map "/lobster" do
18
- use Rack::Lint
19
- run Rack::Lobster.new
20
- end
21
- }
22
- end
6
+ unless defined?(JRUBY_VERSION)
7
+ Oboe::Config[:tracing_mode] = 'always'
8
+ Oboe::Config[:sample_rate] = 1e6
9
+
10
+ class RackTestApp < Minitest::Test
11
+ include Rack::Test::Methods
12
+
13
+ def app
14
+ @app = Rack::Builder.new {
15
+ use Rack::CommonLogger
16
+ use Rack::ShowExceptions
17
+ use Oboe::Rack
18
+ map "/lobster" do
19
+ use Rack::Lint
20
+ run Rack::Lobster.new
21
+ end
22
+ }
23
+ end
23
24
 
24
- def test_localset_sample_source
25
- clear_all_traces
25
+ def test_localset_sample_source
26
+ # We make an initial call here which will force the oboe gem to retrieve
27
+ # the sample_rate and sample_source from liboboe (via sample? method)
28
+ get "/lobster"
26
29
 
27
- get "/lobster"
30
+ clear_all_traces
28
31
 
29
- traces = get_all_traces
30
- traces.count.must_equal 3
32
+ get "/lobster"
31
33
 
32
- validate_outer_layers(traces, 'rack')
34
+ traces = get_all_traces
35
+ traces.count.must_equal 3
33
36
 
34
- kvs = {}
35
- kvs["SampleRate"] = "1000000"
36
- kvs["SampleSource"] = OBOE_SAMPLE_RATE_SOURCE_FILE.to_s
37
- validate_event_keys(traces[0], kvs)
37
+ validate_outer_layers(traces, 'rack')
38
38
 
39
+ kvs = {}
40
+ kvs["SampleRate"] = "1000000"
41
+ kvs["SampleSource"] = OBOE_SAMPLE_RATE_SOURCE_FILE.to_s
42
+ validate_event_keys(traces[0], kvs)
43
+
44
+ end
39
45
  end
40
46
  end
41
-
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oboe
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.6.8
4
+ version: 2.7.0.3
5
5
  platform: ruby
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: 2014-07-31 00:00:00.000000000 Z
12
+ date: 2014-08-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json
@@ -39,7 +39,8 @@ dependencies:
39
39
  - - ">="
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0'
42
- description: The oboe gem provides TraceView instrumentation for Ruby and Ruby frameworks.
42
+ description: The oboe gem provides TraceView instrumentation for MRI Ruby, JRuby and
43
+ related frameworks.
43
44
  email: traceviewsupport@appneta.com
44
45
  executables: []
45
46
  extensions:
@@ -52,7 +53,6 @@ files:
52
53
  - Appraisals
53
54
  - CHANGELOG.md
54
55
  - Gemfile
55
- - Gemfile.lock
56
56
  - LICENSE
57
57
  - README.md
58
58
  - Rakefile
@@ -1,114 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- oboe (2.6.7)
5
- json
6
-
7
- GEM
8
- remote: https://rubygems.org/
9
- specs:
10
- ansi (1.4.3)
11
- appraisal (1.0.0)
12
- bundler
13
- rake
14
- thor (>= 0.14.0)
15
- bson (1.10.2)
16
- builder (3.2.2)
17
- byebug (3.1.2)
18
- columnize (~> 0.8)
19
- debugger-linecache (~> 1.2)
20
- cassandra (0.23.0)
21
- json
22
- rake
23
- simple_uuid (~> 0.3)
24
- thrift_client (~> 0.7, < 0.9)
25
- coderay (1.1.0)
26
- columnize (0.8.9)
27
- dalli (2.7.2)
28
- debugger (1.6.8)
29
- columnize (>= 0.3.1)
30
- debugger-linecache (~> 1.2.0)
31
- debugger-ruby_core_source (~> 1.3.5)
32
- debugger-linecache (1.2.0)
33
- debugger-ruby_core_source (1.3.5)
34
- json (1.8.1)
35
- linecache (0.46)
36
- rbx-require-relative (> 0.0.4)
37
- memcache-client (1.8.5)
38
- memcached (1.7.2)
39
- method_source (0.8.2)
40
- minitest (5.4.0)
41
- minitest-reporters (1.0.5)
42
- ansi
43
- builder
44
- minitest (>= 5.0)
45
- ruby-progressbar
46
- mongo (1.3.1)
47
- bson (>= 1.3.1)
48
- mono_logger (1.1.0)
49
- multi_json (1.10.1)
50
- perftools.rb (2.0.1)
51
- pry (0.10.0)
52
- coderay (~> 1.1.0)
53
- method_source (~> 0.8.1)
54
- slop (~> 3.4)
55
- rack (1.5.2)
56
- rack-protection (1.5.3)
57
- rack
58
- rack-test (0.6.2)
59
- rack (>= 1.0)
60
- rake (10.3.2)
61
- rbx-require-relative (0.0.9)
62
- redis (3.1.0)
63
- redis-namespace (1.5.0)
64
- redis (~> 3.0, >= 3.0.4)
65
- resque (1.25.2)
66
- mono_logger (~> 1.0)
67
- multi_json (~> 1.0)
68
- redis-namespace (~> 1.3)
69
- sinatra (>= 0.9.2)
70
- vegas (~> 0.1.2)
71
- ruby-debug (0.10.4)
72
- columnize (>= 0.1)
73
- ruby-debug-base (~> 0.10.4.0)
74
- ruby-debug-base (0.10.4)
75
- linecache (>= 0.3)
76
- ruby-progressbar (1.5.1)
77
- simple_uuid (0.4.0)
78
- sinatra (1.4.5)
79
- rack (~> 1.4)
80
- rack-protection (~> 1.4)
81
- tilt (~> 1.3, >= 1.3.4)
82
- slop (3.5.0)
83
- thor (0.17.0)
84
- thrift (0.8.0)
85
- thrift_client (0.8.4)
86
- thrift (~> 0.8.0)
87
- tilt (1.4.1)
88
- vegas (0.1.11)
89
- rack (>= 1.0.0)
90
-
91
- PLATFORMS
92
- ruby
93
-
94
- DEPENDENCIES
95
- appraisal
96
- bson (= 1.10.2)
97
- byebug
98
- cassandra
99
- dalli
100
- debugger
101
- memcache-client
102
- memcached (= 1.7.2)
103
- minitest
104
- minitest-reporters
105
- mongo
106
- oboe!
107
- perftools.rb
108
- pry
109
- rack-test
110
- rake
111
- redis
112
- resque
113
- ruby-debug
114
- sinatra