call_stack.d 657 B

12345678910111213141516171819202122232425262728293031
  1. self int indent;
  2. python$target:::function-entry
  3. /copyinstr(arg1) == "start"/
  4. {
  5. self->trace = 1;
  6. }
  7. python$target:::function-entry
  8. /self->trace/
  9. {
  10. printf("%d\t%*s:", timestamp, 15, probename);
  11. printf("%*s", self->indent, "");
  12. printf("%s:%s:%d\n", basename(copyinstr(arg0)), copyinstr(arg1), arg2);
  13. self->indent++;
  14. }
  15. python$target:::function-return
  16. /self->trace/
  17. {
  18. self->indent--;
  19. printf("%d\t%*s:", timestamp, 15, probename);
  20. printf("%*s", self->indent, "");
  21. printf("%s:%s:%d\n", basename(copyinstr(arg0)), copyinstr(arg1), arg2);
  22. }
  23. python$target:::function-return
  24. /copyinstr(arg1) == "start"/
  25. {
  26. self->trace = 0;
  27. }