1 var MongoClient = require('./').MongoClient,
2 assert = require('assert');
4 // var memwatch = require('memwatch-next');
5 // memwatch.on('leak', function(info) {
6 // console.log("======== leak")
9 // memwatch.on('stats', function(stats) {
10 // console.log("======== stats")
14 // // Take first snapshot
15 // var hd = new memwatch.HeapDiff();
17 MongoClient.connect('mongodb://localhost:27017/bench', function(err, db) {
21 var measurements = [];
23 // Insert a bunch of documents
24 for(var i = 0; i < 100; i++) {
25 docs.push(JSON.parse(data));
28 var col = db.collection('inserts');
30 function execute(col, callback) {
31 var start = new Date().getTime();
33 col.find({}).limit(100).toArray(function(e, docs) {
34 measurements.push(new Date().getTime() - start);
35 assert.equal(null, e);
40 console.log("== insert documents")
41 col.insert(docs, function(e, r) {
43 assert.equal(null, e);
45 console.log("== start bench")
46 for(var i = 0; i < total; i++) {
47 execute(col, function(e) {
51 // Calculate total execution time for operations
52 var totalTime = measurements.reduce(function(prev, curr) {
56 console.log("===========================================");
57 console.log("total time: " + totalTime)
59 // var diff = hd.end();
60 // console.log("===========================================");
61 // console.log(JSON.stringify(diff, null, 2))
71 var data = JSON.stringify({
86 "collection_name": "test",
87 "database_name": "command-monitoring-tests",
90 "description": "A successful mixed bulk write",
120 "command_started_event": {
131 "command_name": "insert",
132 "database_name": "command-monitoring-tests"
136 "command_succeeded_event": {
141 "command_name": "insert"
145 "command_started_event": {
164 "command_name": "update",
165 "database_name": "command-monitoring-tests"
169 "command_succeeded_event": {
174 "command_name": "update"
180 "description": "A successful unordered bulk write with an unacknowledged write concern",
202 "command_started_event": {
216 "command_name": "insert",
217 "database_name": "command-monitoring-tests"
221 "command_succeeded_event": {
225 "command_name": "insert"