1234567891011121314151617181920212223242526272829303132333435363738394041 |
- 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));
- };
|