var DTraceProvider; function DTraceProviderStub() {} DTraceProviderStub.prototype.addProbe = function(name) { var p = { 'fire': function () {} }; this[name] = p; return (p); }; DTraceProviderStub.prototype.enable = function() {}; DTraceProviderStub.prototype.fire = function() {}; DTraceProviderStub.prototype.disable = function() {}; var builds = ['Release', 'default', 'Debug']; var err = null; for (var i = 0; i < builds.length; i++) { try { var binding = require('./src/build/' + builds[i] + '/DTraceProviderBindings'); DTraceProvider = binding.DTraceProvider; break; } catch (e) { if (err === null) { err = e; } } } if (!DTraceProvider) { if (process.env.NODE_DTRACE_PROVIDER_REQUIRE === 'hard') { throw err; } else { DTraceProvider = DTraceProviderStub; } } exports.DTraceProvider = DTraceProvider; exports.createDTraceProvider = function(name, module) { if (arguments.length == 2) return (new exports.DTraceProvider(name, module)); return (new exports.DTraceProvider(name)); };