Hi Adam,
here is my script:
#!/usr/sbin/dtrace -Zs
#pragma D option quiet
#pragma D option bufsize=20m
dvm$1:::method-entry
/dirname(copyinstr(arg0)) == "com/appsend"/
{
self->func_name =
strjoin(strjoin(basename(copyinstr(arg0)),"."),copyinstr(arg1));
/[EMAIL
PROTECTED](strjoin(basename(copyinstr(arg0)),"."),copyinstr(arg1))] =
count();*/
this->fdepth =
++fdepth[strjoin(strjoin(basename(copyinstr(arg0)),"."),copyinstr(arg1))];
printf("-> %s\n", self->func_name);
self->ts[self->func_name,this->fdepth] = vtimestamp;
}
dvm$1:::method-return
/self->ts[strjoin(strjoin(basename(copyinstr(arg0)),"."),copyinstr(arg1)),this->fdepth]/
{
@funct_count[self->func_name] = count();
printf("<- %s\n", self->func_name);
self->ts[self->func_name,this->fdepth] = 0;
}
END
{
printf("\n%-30s %20s\n", "Function Name", "COUNT");
printa("%-30s [EMAIL PROTECTED]",@funct_count);
}
Thanks for your reply,
Ajit
--
This message posted from opensolaris.org
_______________________________________________
dtrace-discuss mailing list
[email protected]