mirror of
https://github.com/hanzoai/node-dtrace-provider.git
synced 2026-09-23 23:48:45 +00:00
libusdt now allows us to deallocate providers and probes properly. We call the appropriate library routines from our object destructors, and allow probes to be garbage-collected.
28 lines
422 B
JavaScript
28 lines
422 B
JavaScript
// node --expose_gc ...
|
|
|
|
var d = require('../dtrace-provider');
|
|
var dtp = d.createDTraceProvider("testlibusdt");
|
|
|
|
// don't assign the returned probe object anywhere
|
|
var p = dtp.addProbe("gcprobe");
|
|
dtp.enable();
|
|
|
|
// run GC
|
|
gc();
|
|
|
|
// probe object should still be around
|
|
dtp.fire("gcprobe", function() {
|
|
return [];
|
|
});
|
|
|
|
dtp = "something else";
|
|
gc();
|
|
|
|
p.fire(function() {
|
|
return [];
|
|
});
|
|
|
|
p = "something else";
|
|
|
|
gc();
|