Remove dtrace
This commit is contained in:
parent
b08f8e9e5f
commit
cc042f9a27
|
@ -43,8 +43,6 @@ client on your system:
|
||||||
|
|
||||||
npm install ldapjs
|
npm install ldapjs
|
||||||
|
|
||||||
DTrace support is included in ldapjs. To enable it, `npm install dtrace-provider`.
|
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
MIT.
|
MIT.
|
||||||
|
|
|
@ -1,24 +0,0 @@
|
||||||
#!/usr/sbin/dtrace -s
|
|
||||||
|
|
||||||
#pragma D option quiet
|
|
||||||
|
|
||||||
BEGIN
|
|
||||||
{
|
|
||||||
printf("%-8s %-8s %-16s %-15s %-15s %s\n",
|
|
||||||
"LATENCY", "OPTYPE", "REMOTE IP", "BIND DN", "REQ DN",
|
|
||||||
"STATUS");
|
|
||||||
}
|
|
||||||
|
|
||||||
ldapjs*:::server-*-start
|
|
||||||
{
|
|
||||||
starts[arg0] = timestamp;
|
|
||||||
}
|
|
||||||
|
|
||||||
ldapjs*:::server-*-done
|
|
||||||
/starts[arg0]/
|
|
||||||
{
|
|
||||||
printf("%6dms %-8s %-16s %-15s %-15s %d\n",
|
|
||||||
(timestamp - starts[arg0]) / 1000000, strtok(probename + 7, "-"),
|
|
||||||
copyinstr(arg1), copyinstr(arg2), copyinstr(arg3), arg4);
|
|
||||||
starts[arg0] = 0;
|
|
||||||
}
|
|
120
lib/dtrace.js
120
lib/dtrace.js
|
@ -1,120 +0,0 @@
|
||||||
// Copyright 2011 Mark Cavage, Inc. All rights reserved.s
|
|
||||||
|
|
||||||
/// --- Globals
|
|
||||||
|
|
||||||
let SERVER_PROVIDER
|
|
||||||
let DTRACE_ID = 0
|
|
||||||
const MAX_INT = 4294967295
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Args:
|
|
||||||
* server-*-start:
|
|
||||||
* 0 -> id
|
|
||||||
* 1 -> remoteIP
|
|
||||||
* 2 -> bindDN
|
|
||||||
* 3 -> req.dn
|
|
||||||
* 4,5 -> op specific
|
|
||||||
*
|
|
||||||
* server-*-done:
|
|
||||||
* 0 -> id
|
|
||||||
* 1 -> remoteIp
|
|
||||||
* 2 -> bindDN
|
|
||||||
* 3 -> requsetDN
|
|
||||||
* 4 -> status
|
|
||||||
* 5 -> errorMessage
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
const SERVER_PROBES = {
|
|
||||||
|
|
||||||
// 4: attributes.length
|
|
||||||
'server-add-start': ['int', 'char *', 'char *', 'char *', 'int'],
|
|
||||||
'server-add-done': ['int', 'char *', 'char *', 'char *', 'int', 'char *'],
|
|
||||||
|
|
||||||
'server-bind-start': ['int', 'char *', 'char *', 'char *'],
|
|
||||||
'server-bind-done': ['int', 'char *', 'char *', 'char *', 'int', 'char *'],
|
|
||||||
|
|
||||||
// 4: attribute, 5: value
|
|
||||||
'server-compare-start': ['int', 'char *', 'char *', 'char *',
|
|
||||||
'char *', 'char *'],
|
|
||||||
'server-compare-done': ['int', 'char *', 'char *', 'char *', 'int', 'char *'],
|
|
||||||
|
|
||||||
'server-delete-start': ['int', 'char *', 'char *', 'char *'],
|
|
||||||
'server-delete-done': ['int', 'char *', 'char *', 'char *', 'int', 'char *'],
|
|
||||||
|
|
||||||
// 4: requestName, 5: requestValue
|
|
||||||
'server-exop-start': ['int', 'char *', 'char *', 'char *', 'char *',
|
|
||||||
'char *'],
|
|
||||||
'server-exop-done': ['int', 'char *', 'char *', 'char *', 'int', 'char *'],
|
|
||||||
|
|
||||||
// 4: changes.length
|
|
||||||
'server-modify-start': ['int', 'char *', 'char *', 'char *', 'int'],
|
|
||||||
'server-modify-done': ['int', 'char *', 'char *', 'char *', 'int', 'char *'],
|
|
||||||
|
|
||||||
// 4: newRdn, 5: newSuperior
|
|
||||||
'server-modifydn-start': ['int', 'char *', 'char *', 'char *', 'char *',
|
|
||||||
'char *'],
|
|
||||||
'server-modifydn-done': ['int', 'char *', 'char *', 'char *', 'int',
|
|
||||||
'char *'],
|
|
||||||
|
|
||||||
// 4: scope, 5: filter
|
|
||||||
'server-search-start': ['int', 'char *', 'char *', 'char *', 'char *',
|
|
||||||
'char *'],
|
|
||||||
'server-search-done': ['int', 'char *', 'char *', 'char *', 'int', 'char *'],
|
|
||||||
// Last two are searchEntry.DN and seachEntry.attributes.length
|
|
||||||
'server-search-entry': ['int', 'char *', 'char *', 'char *', 'char *', 'int'],
|
|
||||||
|
|
||||||
'server-unbind-start': ['int', 'char *', 'char *', 'char *'],
|
|
||||||
'server-unbind-done': ['int', 'char *', 'char *', 'char *', 'int', 'char *'],
|
|
||||||
|
|
||||||
'server-abandon-start': ['int', 'char *', 'char *', 'char *'],
|
|
||||||
'server-abandon-done': ['int', 'char *', 'char *', 'char *', 'int', 'char *'],
|
|
||||||
|
|
||||||
// remote IP
|
|
||||||
'server-connection': ['char *']
|
|
||||||
}
|
|
||||||
|
|
||||||
/// --- API
|
|
||||||
|
|
||||||
module.exports = (function () {
|
|
||||||
if (!SERVER_PROVIDER) {
|
|
||||||
try {
|
|
||||||
const dtrace = require('dtrace-provider')
|
|
||||||
SERVER_PROVIDER = dtrace.createDTraceProvider('ldapjs')
|
|
||||||
|
|
||||||
Object.keys(SERVER_PROBES).forEach(function (p) {
|
|
||||||
const args = SERVER_PROBES[p].splice(0)
|
|
||||||
args.unshift(p)
|
|
||||||
|
|
||||||
dtrace.DTraceProvider.prototype.addProbe.apply(SERVER_PROVIDER, args)
|
|
||||||
})
|
|
||||||
} catch (e) {
|
|
||||||
SERVER_PROVIDER = {
|
|
||||||
fire: function () {
|
|
||||||
},
|
|
||||||
enable: function () {
|
|
||||||
},
|
|
||||||
addProbe: function () {
|
|
||||||
const p = {
|
|
||||||
fire: function () {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return (p)
|
|
||||||
},
|
|
||||||
removeProbe: function () {
|
|
||||||
},
|
|
||||||
disable: function () {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
SERVER_PROVIDER.enable()
|
|
||||||
|
|
||||||
SERVER_PROVIDER._nextId = function () {
|
|
||||||
if (DTRACE_ID === MAX_INT) { DTRACE_ID = 0 }
|
|
||||||
|
|
||||||
return ++DTRACE_ID
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return SERVER_PROVIDER
|
|
||||||
}())
|
|
|
@ -10,7 +10,6 @@ const util = require('util')
|
||||||
const VError = require('verror').VError
|
const VError = require('verror').VError
|
||||||
|
|
||||||
const { DN, RDN } = require('@ldapjs/dn')
|
const { DN, RDN } = require('@ldapjs/dn')
|
||||||
const dtrace = require('./dtrace')
|
|
||||||
const errors = require('./errors')
|
const errors = require('./errors')
|
||||||
const Protocol = require('@ldapjs/protocol')
|
const Protocol = require('@ldapjs/protocol')
|
||||||
|
|
||||||
|
@ -331,10 +330,6 @@ function Server (options) {
|
||||||
setupConnection(conn)
|
setupConnection(conn)
|
||||||
log.trace('new connection from %s', conn.ldap.id)
|
log.trace('new connection from %s', conn.ldap.id)
|
||||||
|
|
||||||
dtrace.fire('server-connection', function () {
|
|
||||||
return [conn.remoteAddress]
|
|
||||||
})
|
|
||||||
|
|
||||||
conn.parser = new Parser({
|
conn.parser = new Parser({
|
||||||
log: options.log
|
log: options.log
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in New Issue