diff options
Diffstat (limited to 'maintenance/dtrace/tree.d')
-rw-r--r-- | maintenance/dtrace/tree.d | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/maintenance/dtrace/tree.d b/maintenance/dtrace/tree.d new file mode 100644 index 00000000..2f16e41d --- /dev/null +++ b/maintenance/dtrace/tree.d @@ -0,0 +1,26 @@ +/* + * This software is in the public domain. + * + * $Id: tree.d 10510 2005-08-15 01:46:19Z kateturner $ + */ + +#pragma D option quiet + +self int indent; +self int times[int]; + +php$target:::function-entry +{ + @counts[copyinstr(arg0)] = count(); + printf("%*s", self->indent, ""); + printf("-> %s\n", copyinstr(arg0)); + self->times[self->indent] = timestamp; + self->indent += 2; +} + +php$target:::function-return +{ + self->indent -= 2; + printf("%*s", self->indent, ""); + printf("<- %s %dus\n", copyinstr(arg0), (timestamp - self->times[self->indent]) / 1000); +} |