Commit Graph
63 Commits
Author SHA1 Message Date
Chris Andrews 8fe1c361e1 Fix up handling of DTraceArgument objects.
This change adds a destructor for the DTraceArgument base class,
improves handling of probe argument values, and adds tests for
more argument cases.
2012-12-09 11:41:07 +00:00
Chris Andrews c7ed19c7c1 Merge branch 'libusdt_issue5' into json-args 2012-12-08 18:22:22 +00:00
Chris Andrews 625fdd80cc Upgrade libusdt.
This upgrade adds calls to allow memory allocated for providers to
be free by the library consumer.
2012-12-08 18:10:19 +00:00
Chris Andrews 270f93e1ce Skip JSON tests if the json() subroutine isn't available.
Shell out to dtrace(1M) before checking the results of tests involving
the json() subroutine.
2012-12-02 19:22:12 +00:00
Chris Andrews 739e1a7098 Support an argument type of "json", serialising argument values.
This change allows objects to be passed as argument values, using a
"json" type which is implemented as a regular char * argument, but
with serialising of the object to JSON.
2012-12-02 00:21:52 +00:00
Chris Andrews 2fdd920201 Account for user_addr_t / uintptr_t difference. 2012-11-24 12:28:08 +00:00
Chris Andrews 54cb28795b Wait for dtrace stdio to complete before checking output, and use full path.
dtrace may not be on the path.
2012-11-24 12:10:51 +00:00
Chris Andrews 305af8e4dd Make test/*.js into a proper testsuite. 2012-11-23 22:06:45 +00:00
Chris Andrews 5a212e34e2 Use libusdt's memory-management calls on object destruction.
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.
2012-11-20 22:23:29 +00:00
Chris Andrews 1ac5983177 Just use node from PATH when figuring out the build arch.
According to:

  https://github.com/isaacs/npm/commit/898594413b0ca3d4bf120dfffeb493dae516b4e9

npm will have adjusted the path, and we assume that the user will have
done so if they're building without npm.
2012-11-20 22:15:10 +00:00
Chris Andrews 7eba54004a Version bump - 0.2.4. 2012-11-02 19:34:59 +00:00
Chris Andrews 37a9ee4d4a Explicitly only support node >= 0.6.x.
Our arch-detection code relies on (at least) process.arch, present from 0.6.x
2012-11-02 19:30:26 +00:00
Chris Andrews 622ba1c819 Use node indicated by npm, and fall back to 0.6.x process.arch.
We were always using node from the path, rather than respecting the
$npm_config_prefix variable.

We also used the 'process.config' object, which isn't available until
node v0.8.x, so we now fall back on process.arch in that case.
2012-11-02 18:29:18 +00:00
Chris Andrews 3336f6ebd2 Tests and version bump for module name disambiguation change. 2012-10-31 23:59:05 +00:00
Chris Andrews d1f050a912 Update libusdt - don't invoke ranlib on SunOS-derived systems. 2012-10-31 23:57:05 +00:00
Chris Andrews db13b0aeaf Update libusdt, and respect MAKE during libusdt build. 2012-10-15 20:57:56 +01:00
Chris Andrews 401d10eaa3 Fix binding.gyp for clang on OS X 10.6 Snow Leopard.
It appears that the linker on OS X is more picky about the -L option not
having a space immediately after it than on other platforms.
2012-09-23 22:49:20 +01:00
Chris Andrews ac30830212 Fix mismerge to master. 2012-08-21 21:36:17 +01:00
Chris Andrews 29d100af59 Merge branch 'libusdt' 2012-08-21 21:33:05 +01:00
Chris Andrews e2cccaffdd Update binding.gyp to allow no-op installation on non-DTrace systems. 2012-08-21 19:17:54 +01:00
Chris Andrews 68c7833167 Add support for "disable provider" and "remove probe". 2012-08-21 18:30:28 +01:00
Chris Andrews 948fa1a05e Build updates: add binding.gyp, improve loading of DTrace extension.
This adds GYP support, simplifying the existing wscript to always build for
32 bit. The loading of the bindings is improves to only log load errors if
we believe the bindings should have loaded, silencing an error of no use on
Linux or Windows.
2012-08-15 08:40:57 +01:00
Chris Andrews 96949adcb7 Use size_t exclusively when dealing with arguments. 2012-08-15 08:06:39 +01:00
Chris Andrews 950c386118 Tidy up integer argument preparation for 64/32bit builds.
We need to have different code here for the 64 and 32 bit builds - V8
provides us with different methods for the appropriately sized ints.
2012-08-15 08:04:37 +01:00
Chris Andrews 2754280663 Force the build architecture to x86_64 for darwin.
This copes with Node 0.8.x which has changes that cause us to build for i386,
which a) we don't support at the assembler level and b) isn't the default arch
for node on a 64bit mac.
2012-07-04 15:31:45 +01:00
Chris Andrews 831a9637b7 Version bump - 0.0.8. 2012-05-29 10:37:55 +01:00
Chris Andrews 9911e037f9 Remove "script" section from package.json; it's unnecessary.
This broke installs on Windows at least, and presumably anywhere that
node-waf isn't on your path.
2012-05-29 10:36:09 +01:00
Chris Andrews ed3622a425 Remove "script" section from package.json; it's unnecessary.
This broke installs on Windows at least, and presumably anywhere that
node-waf isn't on your path.
2012-05-29 10:34:53 +01:00
Chris Andrews 664da20628 Update tests. 2012-05-01 21:28:15 +01:00
Chris Andrews 4cf6566572 Update libusdt for Solaris compatibility. 2012-05-01 17:32:49 +01:00
Chris Andrews dbe27e083d Fix issues with >6 args on x86_64.
Fixes in both this module and in libusdt.
2012-05-01 17:14:21 +01:00
Chris Andrews da83d5424a Bring CHANGES file to to date. 2012-05-01 17:14:04 +01:00
Chris Andrews fb56d137ea Update for git-submoduled libusdt. 2012-05-01 16:08:41 +01:00
Chris Andrews 298043949b Switch to git-submoduled libusdt. 2012-04-29 17:58:56 +01:00
Chris Andrews 6b6a971a0e Remove done item from TODO. 2012-04-29 16:15:01 +01:00
Chris Andrews 3e50781f45 Update README and TODO files. 2012-04-29 16:12:37 +01:00
Chris Andrews e9f4e4444e Add regression tests for not-enabled / enabled-again issues. 2012-04-29 16:03:21 +01:00
Chris Andrews fcc8432111 Update no-DTrace stub for new probe.fire() function. 2012-04-28 11:31:58 +01:00
Chris Andrews 0c93619674 Include the libusdt error message in the exception thrown for enable fail. 2012-04-28 11:05:19 +01:00
Chris Andrews 15467cb483 Use Persistent handles for probe objects. 2012-04-27 17:57:12 +01:00
Chris Andrews 89d8efed33 Update for current libusdt. 2012-04-27 15:49:12 +01:00
Chris Andrews 8fbd641a69 Add a .npmignore. 2012-04-27 11:07:31 +01:00
Chris Andrews 9707190d61 Doc updates. 2012-04-26 08:47:51 +01:00
Chris Andrews e4a82bcdcd Update CHANGES for 0.0.7. 2012-04-04 20:10:06 +01:00
Chris Andrews aa668c3e23 Version bump - 0.0.7 2012-04-04 20:08:20 +01:00
Chris Andrews cc61ab0eb3 Prevent attempted re-enabling of providers breaking existing probes.
It was possible to call enable() on a provider more than once, which would
simply attempt to repeat the work required - creating stubs and the appropriate DOF.
However the kernel will in most cases ignore new DOF, leaving the old provider
in place, while the newly-created stubs are elsewhere.

This change simply no-ops subsequent calls to enable() on a provider, which still
doesn't allow changes to be made, but does prevent inadvertent breaking of existing
probes.
2012-04-04 13:25:44 +01:00
Chris Andrews d7711d4ce9 Version bump - 0.0.6 2012-02-06 20:53:21 +00:00
Chris Andrews 4fb31592d0 Test for segfault found when firing non-enabled probes. 2012-02-06 20:53:01 +00:00
Chris Andrews fadd1ddaea Version bump to 0.0.5. 2011-12-13 21:25:47 +00:00
Chris Andrews 9109ab30ee Update wscript for "default" and "Release" builds. 2011-12-13 21:24:46 +00:00
Chris Andrews 0100266253 Revert "Version bump for 0.0.4, with doc updates."
This reverts commit 2c2d1bc8d4.

Only doc changes reverted here.
2011-12-13 21:15:52 +00:00
Chris Andrews 11fbc56061 Revert "Expose DTraceProbeDef objects into JS as probe holders."
This reverts commit 3c0cffd412.
2011-12-13 21:11:33 +00:00
Chris Andrews 2c2d1bc8d4 Version bump for 0.0.4, with doc updates. 2011-12-12 14:54:25 +00:00
Chris Andrews 32a5ef4e76 Don't even build an empty native stub on non-DTrace platforms. 2011-12-12 14:46:02 +00:00
Chris Andrews b2e86cb81c Merge pull request #3 from whitman/patch-1
Remove 'sys' require
2011-12-12 06:42:36 -08:00
Chris Andrews ea31aaf4ef Update README to cover libusdt support. 2011-11-20 21:33:42 +00:00
Chris Andrews 43d2017d93 Use libusdt instead of local DOF/tracepoints implementation.
Remove all the platform-dependent code from node-dtrace-provider, and
defers to the libusdt source which should be in a "libusdt" subdirectory.
2011-11-19 18:45:06 +00:00
Chris Andrews 3a2dceb69f Don't even build an empty native stub on non-DTrace platforms. 2011-11-18 21:18:11 +00:00
Chris Andrews 3c0cffd412 Expose DTraceProbeDef objects into JS as probe holders.
Once the provider is enabled, you can call pd.fire(...) on the
ProbeDef objects, and avoid the provider's search-by-name.

Needs tidying up - creating an instance of a different class using
the same args appears to be tricky
2011-09-04 16:59:57 +01:00
Chris Andrews 4e3f9e328c Log when the binding fails to load.
Silently using the stub instead can be baffling.
2011-09-04 16:57:32 +01:00
Chris Andrews 92de8cd81b Version bump to 0.0.3 2011-08-31 09:54:14 +01:00
Chris Andrews e63428d312 Merge remote branch 'mcavage/master' 2011-08-31 09:38:51 +01:00
Chris Andrews 8bcefaa8d3 Update documentation, note the performance improvements intended. 2011-08-31 09:35:54 +01:00