oboe 2.6.5.5 → 2.6.6.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -4,9 +4,9 @@ if RUBY_VERSION < '2.0'
4
4
  describe Oboe::Inst::Memcached do
5
5
  require 'memcached'
6
6
  require 'memcached/rails'
7
-
7
+
8
8
  before do
9
- clear_all_traces
9
+ clear_all_traces
10
10
  @mc = ::Memcached::Rails.new(:servers => ['localhost'])
11
11
 
12
12
  # These are standard entry/exit KVs that are passed up with all mongo operations
@@ -27,16 +27,16 @@ if RUBY_VERSION < '2.0'
27
27
  end
28
28
 
29
29
  it 'Stock Memcached should be loaded, defined and ready' do
30
- defined?(::Memcached).wont_match nil
31
- defined?(::Memcached::Rails).wont_match nil
30
+ defined?(::Memcached).wont_match nil
31
+ defined?(::Memcached::Rails).wont_match nil
32
32
  end
33
33
 
34
34
  it 'Memcached should have oboe methods defined' do
35
35
  Oboe::API::Memcache::MEMCACHE_OPS.each do |m|
36
36
  if ::Memcached.method_defined?(m)
37
- ::Memcached.method_defined?("#{m}_with_oboe").must_equal true
37
+ ::Memcached.method_defined?("#{m}_with_oboe").must_equal true
38
38
  end
39
- ::Memcached::Rails.method_defined?(:get_multi_with_oboe).must_equal true
39
+ ::Memcached::Rails.method_defined?(:get_multi_with_oboe).must_equal true
40
40
  end
41
41
  end
42
42
 
@@ -44,110 +44,118 @@ if RUBY_VERSION < '2.0'
44
44
  Oboe::API.start_trace('memcached_test', '', {}) do
45
45
  @mc.set('testKey', 'blah')
46
46
  end
47
-
47
+
48
48
  traces = get_all_traces
49
49
  traces.count.must_equal 4
50
-
50
+
51
51
  validate_outer_layers(traces, 'memcached_test')
52
52
  validate_event_keys(traces[1], @entry_kvs)
53
53
  validate_event_keys(traces[2], @exit_kvs)
54
-
54
+
55
55
  traces[1]['KVOp'].must_equal "set"
56
56
  traces[1]['KVKey'].must_equal "testKey"
57
57
  end
58
-
58
+
59
59
  it "should trace get" do
60
+ @mc.set('testKey', 'blah')
61
+
60
62
  Oboe::API.start_trace('memcached_test', '', {}) do
61
- @mc.get('msg')
63
+ @mc.get('testKey')
62
64
  end
63
-
65
+
64
66
  traces = get_all_traces
65
67
  traces.count.must_equal 4
66
-
68
+
67
69
  validate_outer_layers(traces, 'memcached_test')
68
70
  validate_event_keys(traces[1], @entry_kvs)
69
71
  validate_event_keys(traces[2], @exit_kvs)
70
-
72
+
71
73
  traces[1]['KVOp'].must_equal "get"
72
- traces[1]['KVKey'].must_equal "msg"
74
+ traces[1]['KVKey'].must_equal "testKey"
73
75
  end
74
-
76
+
75
77
  it "should trace get_multi" do
76
78
  Oboe::API.start_trace('memcached_test', '', {}) do
77
79
  @mc.get_multi(['one', 'two', 'three', 'four', 'five', 'six'])
78
80
  end
79
-
81
+
80
82
  traces = get_all_traces
81
83
  traces.count.must_equal 5
82
-
84
+
83
85
  validate_outer_layers(traces, 'memcached_test')
84
86
  validate_event_keys(traces[1], @entry_kvs)
85
87
  validate_event_keys(traces[2], @info_kvs)
86
88
  validate_event_keys(traces[3], @exit_kvs)
87
-
89
+
88
90
  traces[1]['KVOp'].must_equal "get_multi"
89
-
91
+
90
92
  traces[2]['KVKeyCount'].must_equal "6"
91
93
  traces[2].has_key?('KVHitCount').must_equal true
92
94
  end
93
-
95
+
94
96
  it "should trace add for existing key" do
97
+ @mc.set('testKey', 'x', 1200)
98
+
95
99
  Oboe::API.start_trace('memcached_test', '', {}) do
96
100
  @mc.add('testKey', 'x', 1200)
97
101
  end
98
-
102
+
99
103
  traces = get_all_traces
100
104
  traces.count.must_equal 5
101
-
105
+
102
106
  validate_outer_layers(traces, 'memcached_test')
103
107
  validate_event_keys(traces[1], @entry_kvs)
104
108
  validate_event_keys(traces[3], @exit_kvs)
105
109
 
106
110
  traces[1]['KVOp'].must_equal "add"
107
111
  traces[1]['KVKey'].must_equal "testKey"
108
-
112
+
109
113
  traces[2]['ErrorClass'].must_equal "Memcached::NotStored"
110
114
  traces[2]['Message'].must_equal "Memcached::NotStored"
111
115
  end
112
-
116
+
113
117
  it "should trace append" do
114
118
  @mc.set('rawKey', "Peanut Butter ", 600, :raw => true)
115
119
  Oboe::API.start_trace('memcached_test', '', {}) do
116
120
  @mc.append('rawKey', "Jelly")
117
121
  end
118
-
122
+
119
123
  traces = get_all_traces
120
124
  traces.count.must_equal 4
121
-
125
+
122
126
  validate_outer_layers(traces, 'memcached_test')
123
127
  validate_event_keys(traces[1], @entry_kvs)
124
128
  validate_event_keys(traces[2], @exit_kvs)
125
-
129
+
126
130
  traces[1]['KVOp'].must_equal "append"
127
131
  traces[1]['KVKey'].must_equal "rawKey"
128
132
  end
129
-
133
+
130
134
  it "should trace decr" do
135
+ @mc.set('some_key_counter', "100", 0, false)
136
+
131
137
  Oboe::API.start_trace('memcached_test', '', {}) do
132
138
  @mc.decr('some_key_counter', 1)
133
139
  end
134
-
140
+
135
141
  traces = get_all_traces
136
142
  traces.count.must_equal 4
137
-
143
+
138
144
  validate_outer_layers(traces, 'memcached_test')
139
145
  validate_event_keys(traces[1], @entry_kvs)
140
146
  validate_event_keys(traces[2], @exit_kvs)
141
-
147
+
142
148
  traces[1]['KVOp'].must_equal "decr"
143
149
  traces[1]['KVKey'].must_equal "some_key_counter"
144
150
  end
145
-
151
+
146
152
  it "should trace increment" do
153
+ @mc.set('some_key_counter', "100", 0, false)
154
+
147
155
  Oboe::API.start_trace('memcached_test', '', {}) do
148
156
  @mc.incr("some_key_counter", 1)
149
157
  end
150
-
158
+
151
159
  traces = get_all_traces
152
160
  traces.count.must_equal 4
153
161
 
@@ -158,20 +166,20 @@ if RUBY_VERSION < '2.0'
158
166
  traces[1]['KVOp'].must_equal "incr"
159
167
  traces[1]['KVKey'].must_equal "some_key_counter"
160
168
  end
161
-
169
+
162
170
  it "should trace replace" do
163
171
  @mc.set('some_key', 'blah')
164
172
  Oboe::API.start_trace('memcached_test', '', {}) do
165
173
  @mc.replace("some_key", "woop")
166
174
  end
167
-
175
+
168
176
  traces = get_all_traces
169
177
  traces.count.must_equal 4
170
-
178
+
171
179
  validate_outer_layers(traces, 'memcached_test')
172
180
  validate_event_keys(traces[1], @entry_kvs)
173
181
  validate_event_keys(traces[2], @exit_kvs)
174
-
182
+
175
183
  traces[1]['KVOp'].must_equal "replace"
176
184
  traces[1]['KVKey'].must_equal "some_key"
177
185
  end
@@ -181,10 +189,10 @@ if RUBY_VERSION < '2.0'
181
189
  Oboe::API.start_trace('memcached_test', '', {}) do
182
190
  @mc.delete("some_key")
183
191
  end
184
-
192
+
185
193
  traces = get_all_traces
186
194
  traces.count.must_equal 4
187
-
195
+
188
196
  validate_outer_layers(traces, 'memcached_test')
189
197
  validate_event_keys(traces[1], @entry_kvs)
190
198
  validate_event_keys(traces[2], @exit_kvs)
@@ -192,7 +200,7 @@ if RUBY_VERSION < '2.0'
192
200
  traces[1]['KVOp'].must_equal "delete"
193
201
  traces[1]['KVKey'].must_equal "some_key"
194
202
  end
195
-
203
+
196
204
  it "should obey :collect_backtraces setting when true" do
197
205
  Oboe::Config[:memcached][:collect_backtraces] = true
198
206
 
@@ -2,7 +2,7 @@ require 'minitest_helper'
2
2
 
3
3
  describe Oboe::Inst::Mongo do
4
4
  before do
5
- clear_all_traces
5
+ clear_all_traces
6
6
  @connection = Mongo::Connection.new("localhost", 27017, :slave_ok => true)
7
7
  @db = @connection.db("test-#{ENV['RACK_ENV']}")
8
8
 
@@ -21,13 +21,13 @@ describe Oboe::Inst::Mongo do
21
21
  @exit_kvs = { 'Layer' => 'mongo', 'Label' => 'exit' }
22
22
  @collect_backtraces = Oboe::Config[:mongo][:collect_backtraces]
23
23
  end
24
-
24
+
25
25
  after do
26
26
  Oboe::Config[:mongo][:collect_backtraces] = @collect_backtraces
27
27
  end
28
28
 
29
29
  it 'Stock Mongo should be loaded, defined and ready' do
30
- defined?(::Mongo).wont_match nil
30
+ defined?(::Mongo).wont_match nil
31
31
  defined?(::Mongo::DB).wont_match nil
32
32
  defined?(::Mongo::Cursor).wont_match nil
33
33
  defined?(::Mongo::Collection).wont_match nil
@@ -56,7 +56,7 @@ describe Oboe::Inst::Mongo do
56
56
  Oboe::API.start_trace('mongo_test', '', {}) do
57
57
  @db.create_collection("create_and_drop_collection_test")
58
58
  end
59
-
59
+
60
60
  traces = get_all_traces
61
61
  traces.count.must_equal 4
62
62
 
@@ -72,11 +72,11 @@ describe Oboe::Inst::Mongo do
72
72
  it "should trace drop_collection" do
73
73
  # Create a collection so we have one to drop
74
74
  @db.create_collection("create_and_drop_collection_test")
75
-
75
+
76
76
  Oboe::API.start_trace('mongo_test', '', {}) do
77
77
  @db.drop_collection("create_and_drop_collection_test")
78
78
  end
79
-
79
+
80
80
  traces = get_all_traces
81
81
  traces.count.must_equal 4
82
82
 
@@ -95,7 +95,7 @@ describe Oboe::Inst::Mongo do
95
95
  Oboe::API.start_trace('mongo_test', '', {}) do
96
96
  coll.count(:query => {:name => "MyName"})
97
97
  end
98
-
98
+
99
99
  traces = get_all_traces
100
100
  traces.count.must_equal 6
101
101
 
@@ -105,14 +105,14 @@ describe Oboe::Inst::Mongo do
105
105
 
106
106
  traces[3]['QueryOp'].must_equal "count"
107
107
  end
108
-
108
+
109
109
  it "should trace find_and_modify" do
110
110
  coll = @db.collection("testCollection")
111
111
 
112
112
  Oboe::API.start_trace('mongo_test', '', {}) do
113
113
  coll.find_and_modify({ :query => { :name => "MyName" }, :update => { :count => 203 }})
114
114
  end
115
-
115
+
116
116
  traces = get_all_traces
117
117
  traces.count.must_equal 4
118
118
 
@@ -125,7 +125,7 @@ describe Oboe::Inst::Mongo do
125
125
  traces[1]['QueryOp'].must_equal "find_and_modify"
126
126
  traces[1]['Update_Document'].must_equal "{:count=>203}"
127
127
  end
128
-
128
+
129
129
  it "should trace insert" do
130
130
  coll = @db.collection("testCollection")
131
131
 
@@ -133,21 +133,21 @@ describe Oboe::Inst::Mongo do
133
133
  doc = {"name" => "MyName", "type" => "MyType", "count" => 1, "info" => {"x" => 203, "y" => '102'}}
134
134
  id = coll.insert(doc)
135
135
  end
136
-
136
+
137
137
  traces = get_all_traces
138
138
  traces.count.must_equal 4
139
139
 
140
140
  validate_outer_layers(traces, 'mongo_test')
141
141
  validate_event_keys(traces[1], @entry_kvs)
142
142
  validate_event_keys(traces[2], @exit_kvs)
143
-
143
+
144
144
  traces[1]['Collection'].must_equal "testCollection"
145
145
  traces[1].has_key?('Backtrace').must_equal Oboe::Config[:mongo][:collect_backtraces]
146
146
  traces[1]['QueryOp'].must_equal "insert"
147
147
  # Don't test exact hash value since to_json hash ordering varies between 1.8.7 and 1.9+
148
148
  traces[1].has_key?('Query').must_equal true
149
149
  end
150
-
150
+
151
151
  it "should trace map_reduce" do
152
152
  coll = @db.collection("testCollection")
153
153
 
@@ -156,14 +156,14 @@ describe Oboe::Inst::Mongo do
156
156
  reduce = "function(k, vals) { var sum = 0; for(var i in vals) sum += vals[i]; return sum; }"
157
157
  coll.map_reduce(map, reduce, { :out => "mr_results", :limit => 100, :read => :primary })
158
158
  end
159
-
159
+
160
160
  traces = get_all_traces
161
161
  traces.count.must_equal 4
162
162
 
163
163
  validate_outer_layers(traces, 'mongo_test')
164
164
  validate_event_keys(traces[1], @entry_kvs)
165
165
  validate_event_keys(traces[2], @exit_kvs)
166
-
166
+
167
167
  traces[1]['Collection'].must_equal "testCollection"
168
168
  traces[1].has_key?('Backtrace').must_equal Oboe::Config[:mongo][:collect_backtraces]
169
169
  traces[1]['QueryOp'].must_equal "map_reduce"
@@ -171,14 +171,14 @@ describe Oboe::Inst::Mongo do
171
171
  traces[1]['Reduce_Function'].must_equal "function(k, vals) { var sum = 0; for(var i in vals) sum += vals[i]; return sum; }"
172
172
  traces[1]['Limit'].must_equal "100"
173
173
  end
174
-
174
+
175
175
  it "should trace remove" do
176
176
  coll = @db.collection("testCollection")
177
177
 
178
178
  Oboe::API.start_trace('mongo_test', '', {}) do
179
179
  coll.remove(:name => "SaveOp")
180
180
  end
181
-
181
+
182
182
  traces = get_all_traces
183
183
  traces.count.must_equal 4
184
184
 
@@ -191,7 +191,7 @@ describe Oboe::Inst::Mongo do
191
191
  traces[1]['QueryOp'].must_equal "remove"
192
192
  traces[1]['Query'].must_equal "{\"name\":\"SaveOp\"}"
193
193
  end
194
-
194
+
195
195
  it "should trace rename" do
196
196
  coll = @db.collection("testCollection")
197
197
  new_name = (0...10).map{ ('a'..'z').to_a[rand(26)] }.join
@@ -199,19 +199,19 @@ describe Oboe::Inst::Mongo do
199
199
  Oboe::API.start_trace('mongo_test', '', {}) do
200
200
  coll.rename(new_name)
201
201
  end
202
-
202
+
203
203
  traces = get_all_traces
204
204
  traces.count.must_equal 4
205
205
 
206
206
  validate_outer_layers(traces, 'mongo_test')
207
207
  validate_event_keys(traces[1], @entry_kvs)
208
208
  validate_event_keys(traces[2], @exit_kvs)
209
-
209
+
210
210
  traces[1]['Collection'].must_equal "testCollection"
211
211
  traces[1].has_key?('Backtrace').must_equal Oboe::Config[:mongo][:collect_backtraces]
212
212
  traces[1]['QueryOp'].must_equal "rename"
213
213
  traces[1]['New_Collection_Name'].must_equal new_name
214
-
214
+
215
215
  # Clean up after test and set collection name back to original
216
216
  coll.rename("testCollection")
217
217
  end
@@ -222,23 +222,23 @@ describe Oboe::Inst::Mongo do
222
222
  Oboe::API.start_trace('mongo_test', '', {}) do
223
223
  # Two types of update calls
224
224
  coll.update({"_id" => 1}, { "$set" => {"name" => "MongoDB Ruby"}}, :multi => true)
225
-
225
+
226
226
  doc = {"name" => "MyOtherName", "type" => "MyType", "count" => 1, "info" => {"x" => 203, "y" => '102'}}
227
227
  coll.update({"_id" => 1}, doc)
228
228
  end
229
-
229
+
230
230
  traces = get_all_traces
231
231
  traces.count.must_equal 6
232
232
 
233
233
  validate_outer_layers(traces, 'mongo_test')
234
234
  validate_event_keys(traces[1], @entry_kvs)
235
235
  validate_event_keys(traces[2], @exit_kvs)
236
-
236
+
237
237
  traces[1]['Collection'].must_equal "testCollection"
238
238
  traces[1].has_key?('Backtrace').must_equal Oboe::Config[:mongo][:collect_backtraces]
239
239
  traces[1]['QueryOp'].must_equal "update"
240
240
  traces[1]['Query'].must_equal "{\"_id\":1}"
241
-
241
+
242
242
  validate_event_keys(traces[3], @entry_kvs)
243
243
  validate_event_keys(traces[4], @exit_kvs)
244
244
 
@@ -246,33 +246,44 @@ describe Oboe::Inst::Mongo do
246
246
  traces[3]['QueryOp'].must_equal "update"
247
247
  traces[3]['Query'].must_equal "{\"_id\":1}"
248
248
  end
249
-
249
+
250
250
  it "should trace distinct" do
251
251
  coll = @db.collection("testCollection")
252
252
 
253
253
  Oboe::API.start_trace('mongo_test', '', {}) do
254
254
  coll.distinct("count")
255
255
  end
256
-
256
+
257
257
  traces = get_all_traces
258
258
  traces.count.must_equal 4
259
259
 
260
260
  validate_outer_layers(traces, 'mongo_test')
261
261
  validate_event_keys(traces[1], @entry_kvs)
262
262
  validate_event_keys(traces[2], @exit_kvs)
263
-
263
+
264
264
  traces[1]['Collection'].must_equal "testCollection"
265
265
  traces[1].has_key?('Backtrace').must_equal Oboe::Config[:mongo][:collect_backtraces]
266
266
  traces[1]['QueryOp'].must_equal "distinct"
267
267
  end
268
-
268
+
269
269
  it "should trace find" do
270
270
  coll = @db.collection("testCollection")
271
+ result = nil
272
+
273
+ # Insert a doc to assure we get a result
274
+ doc = {"name" => "MyName", "type" => "MyType", "count" => 1, "info" => {"x" => 203, "y" => '102'}}
275
+ id = coll.insert(doc)
276
+
277
+ # If given an optional block +find+ will yield a Cursor to that block,
278
+ # close the cursor, and then return nil. This guarantees that partially
279
+ # evaluated cursors will be closed. If given no block +find+ returns a
280
+ # cursor.
281
+ # https://github.com/mongodb/mongo-ruby-driver/blob/1.10.1/lib/mongo/collection.rb#L178
271
282
 
272
283
  Oboe::API.start_trace('mongo_test', '', {}) do
273
- coll.find(:name => "MyName", :limit => 1)
284
+ result = coll.find(:name => "MyName", :limit => 1)
274
285
  end
275
-
286
+
276
287
  traces = get_all_traces
277
288
  traces.count.must_equal 4
278
289
 
@@ -280,13 +291,48 @@ describe Oboe::Inst::Mongo do
280
291
  validate_event_keys(traces[1], @entry_kvs)
281
292
  validate_event_keys(traces[2], @exit_kvs)
282
293
 
294
+ result.wont_match nil
295
+ result.is_a?(Mongo::Cursor).must_equal true
283
296
  traces[1]['Collection'].must_equal "testCollection"
284
297
  traces[1].has_key?('Backtrace').must_equal Oboe::Config[:mongo][:collect_backtraces]
285
298
  traces[1]['QueryOp'].must_equal "find"
286
299
  traces[1].has_key?('Query').must_equal true
287
300
  traces[1]['Limit'].must_equal "1"
288
301
  end
289
-
302
+
303
+ it "should trace find (with block)" do
304
+ coll = @db.collection("testCollection")
305
+ result = []
306
+
307
+ # Insert a doc to assure we get a result
308
+ doc = {"name" => "MyName", "type" => "MyType", "count" => 1, "info" => {"x" => 203, "y" => '102'}}
309
+ id = coll.insert(doc)
310
+
311
+ # If given an optional block +find+ will yield a Cursor to that block,
312
+ # close the cursor, and then return nil. This guarantees that partially
313
+ # evaluated cursors will be closed. If given no block +find+ returns a
314
+ # cursor.
315
+ # https://github.com/mongodb/mongo-ruby-driver/blob/1.10.1/lib/mongo/collection.rb#L178
316
+
317
+ Oboe::API.start_trace('mongo_test', '', {}) do
318
+ blk = lambda { |x| x }
319
+ result = coll.find(:name => "MyName", :limit => 10, &blk)
320
+ end
321
+
322
+ traces = get_all_traces
323
+ traces.count.must_equal 4
324
+
325
+ validate_outer_layers(traces, 'mongo_test')
326
+ validate_event_keys(traces[1], @entry_kvs)
327
+ validate_event_keys(traces[2], @exit_kvs)
328
+
329
+ result.must_equal nil
330
+ traces[1]['Collection'].must_equal "testCollection"
331
+ traces[1].has_key?('Backtrace').must_equal Oboe::Config[:mongo][:collect_backtraces]
332
+ traces[1]['QueryOp'].must_equal "find"
333
+ traces[1].has_key?('Query').must_equal true
334
+ end
335
+
290
336
  it "should trace group" do
291
337
  coll = @db.collection("testCollection")
292
338
 
@@ -296,14 +342,14 @@ describe Oboe::Inst::Mongo do
296
342
  :initial => { :count => 0 },
297
343
  :reduce => 'function(obj,prev) { prev.count += obj.c; }')
298
344
  end
299
-
345
+
300
346
  traces = get_all_traces
301
347
  traces.count.must_equal 4
302
348
 
303
349
  validate_outer_layers(traces, 'mongo_test')
304
350
  validate_event_keys(traces[1], @entry_kvs)
305
351
  validate_event_keys(traces[2], @exit_kvs)
306
-
352
+
307
353
  traces[1]['Collection'].must_equal "testCollection"
308
354
  traces[1].has_key?('Backtrace').must_equal Oboe::Config[:mongo][:collect_backtraces]
309
355
  traces[1]['QueryOp'].must_equal "group"
@@ -319,14 +365,14 @@ describe Oboe::Inst::Mongo do
319
365
  coll.ensure_index("i")
320
366
  coll.drop_index("i_1")
321
367
  end
322
-
368
+
323
369
  traces = get_all_traces
324
370
  traces.count.must_equal 8
325
371
 
326
372
  validate_outer_layers(traces, 'mongo_test')
327
373
  validate_event_keys(traces[1], @entry_kvs)
328
374
  validate_event_keys(traces[2], @exit_kvs)
329
-
375
+
330
376
  traces[1]['Collection'].must_equal "testCollection"
331
377
  traces[1].has_key?('Backtrace').must_equal Oboe::Config[:mongo][:collect_backtraces]
332
378
  traces[1]['QueryOp'].must_equal "create_index"
@@ -345,48 +391,48 @@ describe Oboe::Inst::Mongo do
345
391
  traces[5].has_key?('Backtrace').must_equal Oboe::Config[:mongo][:collect_backtraces]
346
392
  traces[5]['QueryOp'].must_equal "drop_index"
347
393
  end
348
-
394
+
349
395
  it "should trace drop_indexes" do
350
396
  coll = @db.collection("testCollection")
351
397
 
352
398
  Oboe::API.start_trace('mongo_test', '', {}) do
353
399
  coll.drop_indexes
354
400
  end
355
-
401
+
356
402
  traces = get_all_traces
357
403
  traces.count.must_equal 4
358
404
 
359
405
  validate_outer_layers(traces, 'mongo_test')
360
406
  validate_event_keys(traces[1], @entry_kvs)
361
407
  validate_event_keys(traces[2], @exit_kvs)
362
-
408
+
363
409
  traces[1]['Collection'].must_equal "testCollection"
364
410
  traces[1].has_key?('Backtrace').must_equal Oboe::Config[:mongo][:collect_backtraces]
365
411
  traces[1]['QueryOp'].must_equal "drop_indexes"
366
412
  end
367
-
413
+
368
414
  it "should trace index_information" do
369
415
  coll = @db.collection("testCollection")
370
416
 
371
417
  Oboe::API.start_trace('mongo_test', '', {}) do
372
418
  coll.index_information
373
419
  end
374
-
420
+
375
421
  traces = get_all_traces
376
422
  traces.count.must_equal 4
377
423
 
378
424
  validate_outer_layers(traces, 'mongo_test')
379
425
  validate_event_keys(traces[1], @entry_kvs)
380
426
  validate_event_keys(traces[2], @exit_kvs)
381
-
427
+
382
428
  traces[1]['Collection'].must_equal "testCollection"
383
429
  traces[1].has_key?('Backtrace').must_equal Oboe::Config[:mongo][:collect_backtraces]
384
430
  traces[1]['QueryOp'].must_equal "index_information"
385
431
  end
386
-
432
+
387
433
  it "should obey :collect_backtraces setting when true" do
388
434
  Oboe::Config[:mongo][:collect_backtraces] = true
389
-
435
+
390
436
  coll = @db.collection("testCollection")
391
437
 
392
438
  Oboe::API.start_trace('mongo_test', '', {}) do
@@ -400,7 +446,7 @@ describe Oboe::Inst::Mongo do
400
446
 
401
447
  it "should obey :collect_backtraces setting when false" do
402
448
  Oboe::Config[:mongo][:collect_backtraces] = false
403
-
449
+
404
450
  coll = @db.collection("testCollection")
405
451
 
406
452
  Oboe::API.start_trace('mongo_test', '', {}) do