PATH:
usr
/
local
/
lib
/
node_modules
/
knex-migrator
/
node_modules
/
dtrace-provider
/
src
#include <nan.h> #include <node_object_wrap.h> extern "C" { #include <usdt.h> } #include <sys/dtrace.h> #include <sys/types.h> #include <sys/mman.h> #include <errno.h> #include <string.h> #include <fcntl.h> #include <unistd.h> #ifndef __APPLE__ #include <stdlib.h> #ifndef __FreeBSD__ #include <malloc.h> #endif #endif namespace node { using namespace v8; class DTraceArgument { public: virtual const char *Type() = 0; virtual void *ArgumentValue(v8::Local<Value>) = 0; virtual void FreeArgument(void *) = 0; virtual ~DTraceArgument() { }; }; class DTraceIntegerArgument : public DTraceArgument { public: const char *Type(); void *ArgumentValue(v8::Local<Value>); void FreeArgument(void *); }; class DTraceStringArgument : public DTraceArgument { public: const char *Type(); void *ArgumentValue(v8::Local<Value>); void FreeArgument(void *); }; class DTraceJsonArgument : public DTraceArgument { public: const char *Type(); void *ArgumentValue(v8::Local<Value>); void FreeArgument(void *); DTraceJsonArgument(); ~DTraceJsonArgument(); private: Nan::Persistent<Object> JSON; Nan::Persistent<Function> JSON_stringify; }; class DTraceProbe : public Nan::ObjectWrap { public: static void Initialize(v8::Local<v8::Object> target); usdt_probedef_t *probedef; size_t argc; DTraceArgument *arguments[USDT_ARG_MAX]; static NAN_METHOD(New); static NAN_METHOD(Fire); v8::Local<Value> _fire(Nan::NAN_METHOD_ARGS_TYPE, size_t); static Nan::Persistent<FunctionTemplate> constructor_template; DTraceProbe(); ~DTraceProbe(); private: }; class DTraceProvider : public Nan::ObjectWrap { public: static void Initialize(v8::Local<v8::Object> target); usdt_provider_t *provider; static NAN_METHOD(New); static NAN_METHOD(AddProbe); static NAN_METHOD(RemoveProbe); static NAN_METHOD(Enable); static NAN_METHOD(Disable); static NAN_METHOD(Fire); DTraceProvider(); ~DTraceProvider(); private: static Nan::Persistent<FunctionTemplate> constructor_template; }; void InitDTraceProvider(v8::Local<v8::Object> target); }
[+]
..
[-] dtrace_argument.cc
[edit]
[-] dtrace_probe.cc
[edit]
[-] dtrace_provider.h
[edit]
[-] dtrace_provider.cc
[edit]
[-] binding.gyp
[edit]