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