mirror of
https://github.com/bvanroll/rpiRadio.git
synced 2025-08-31 13:02:44 +00:00
Initial Commit
This commit is contained in:
31
ProjectNow/NodeServer/node_modules/mongodb/lib/apm.js
generated
vendored
Normal file
31
ProjectNow/NodeServer/node_modules/mongodb/lib/apm.js
generated
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
'use strict';
|
||||
const EventEmitter = require('events').EventEmitter;
|
||||
|
||||
class Instrumentation extends EventEmitter {
|
||||
constructor() {
|
||||
super();
|
||||
}
|
||||
|
||||
instrument(MongoClient, callback) {
|
||||
// store a reference to the original functions
|
||||
this.$MongoClient = MongoClient;
|
||||
const $prototypeConnect = this.$prototypeConnect = MongoClient.prototype.connect; // eslint-disable-line
|
||||
|
||||
const instrumentation = this;
|
||||
MongoClient.prototype.connect = function(callback) {
|
||||
this.s.options.monitorCommands = true;
|
||||
this.on('commandStarted', event => instrumentation.emit('started', event));
|
||||
this.on('commandSucceeded', event => instrumentation.emit('succeeded', event));
|
||||
this.on('commandFailed', event => instrumentation.emit('failed', event));
|
||||
return $prototypeConnect.call(this, callback);
|
||||
};
|
||||
|
||||
if (typeof callback === 'function') callback(null, this);
|
||||
}
|
||||
|
||||
uninstrument() {
|
||||
this.$MongoClient.prototype.connect = this.$prototypeConnect;
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Instrumentation;
|
Reference in New Issue
Block a user