프로젝트

일반

사용자정보

통계
| 개정판:

root / HServer / 00.Server / 00.Program / node_modules / dtrace-provider / dtrace-provider.js

이력 | 보기 | 이력해설 | 다운로드 (1.08 KB)

1 39 HKM
var DTraceProvider;
2
3
function DTraceProviderStub() {}
4
DTraceProviderStub.prototype.addProbe = function(name) {
5
    var p = { 'fire': function () {} };
6
    this[name] = p;
7
    return (p);
8
};
9
DTraceProviderStub.prototype.enable = function() {};
10
DTraceProviderStub.prototype.fire = function() {};
11
DTraceProviderStub.prototype.disable = function() {};
12
13
var builds = ['Release', 'default', 'Debug'];
14
var err = null;
15
16
for (var i = 0; i < builds.length; i++) {
17
    try {
18
        var binding = require('./src/build/' + builds[i] + '/DTraceProviderBindings');
19
        DTraceProvider = binding.DTraceProvider;
20
        break;
21
    } catch (e) {
22
        if (err === null) {
23
            err = e;
24
        }
25
    }
26
}
27
28
if (!DTraceProvider) {
29
    if (process.env.NODE_DTRACE_PROVIDER_REQUIRE === 'hard') {
30
        throw err;
31
    } else {
32
        DTraceProvider = DTraceProviderStub;
33
    }
34
}
35
36
exports.DTraceProvider = DTraceProvider;
37
exports.createDTraceProvider = function(name, module) {
38
    if (arguments.length == 2)
39
        return (new exports.DTraceProvider(name, module));
40
    return (new exports.DTraceProvider(name));
41
};