File: profile3.js

package info (click to toggle)
mongodb 1%3A2.4.10-5
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 82,464 kB
  • sloc: cpp: 740,225; ansic: 152,098; sh: 13,820; python: 11,864; makefile: 1,012; perl: 922; pascal: 617; java: 452; lisp: 222; asm: 174
file content (52 lines) | stat: -rw-r--r-- 1,231 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52

// special db so that it can be run in parallel tests
var stddb = db;
var db = db.getSisterDB("profile3");

t = db.profile3;
t.drop();

profileCursor = function( query ) {
    print( "----" );
    query = query || {};
    Object.extend( query, { user: username + "@" + db.getName() } );
     return db.system.profile.find( query );
}

try {
    username = "jstests_profile3_user";
    db.addUser( username, "password", false, 1 );
    db.auth( username, "password" );
    
    db.setProfilingLevel(0);

    db.system.profile.drop();
    assert.eq( 0 , profileCursor().count() )
    
    db.setProfilingLevel(2);
    
    t.insert( { x : 1 } );
    t.findOne( { x : 1 } );
    t.find( { x : 1 } ).count();
    t.update( { x : 1 }, {$inc:{a:1}} );
    t.update( { x : 1 }, {$inc:{a:1}} );
    t.update( { x : 0 }, {$inc:{a:1}} );
    
    profileCursor().forEach( printjson )

    db.setProfilingLevel(0);


    assert.eq(profileCursor({nupdated: {$exists:1}}).count(), 3)
    assert.eq(profileCursor({nupdated: 1}).count(), 2)
    assert.eq(profileCursor({nupdated: 0}).count(), 1)
    assert.eq(profileCursor({nmoved: 1}).count(), 1)

    db.system.profile.drop();

}
finally {
    db.setProfilingLevel(0);
    db = stddb;
}