/support/debugging/macfuse_u_fuse_fs.d

http://macfuse.googlecode.com/ · D · 67 lines · 54 code · 13 blank · 0 comment · 4 complexity · 1602b5cc02fbb6e9c11999f52a2f13f5 MD5 · raw file

  1. #! /usr/sbin/dtrace -s
  2. #pragma D option quiet
  3. BEGIN
  4. {
  5. begints = timestamp;
  6. }
  7. pid$1:libfuse*dylib:fuse_fs_init:entry,
  8. pid$1:libfuse*dylib:fuse_fs_destroy:entry
  9. {
  10. self->begints = timestamp;
  11. self->init_destroy = 1;
  12. }
  13. pid$1:libfuse*dylib:fuse_fs_init:return,
  14. pid$1:libfuse*dylib:fuse_fs_destroy:return
  15. / self->init_destroy /
  16. {
  17. this->elapsed = timestamp - self->begints;
  18. printf("+%-12d %3d.%03d %-8d%-16s\n", (timestamp - begints) / 1000,
  19. this->elapsed / 1000000, (this->elapsed / 1000) % 1000,
  20. (int)arg1, probefunc + 8);
  21. self->begints = 0;
  22. self->init_destroy = 0;
  23. }
  24. pid$1:libfuse*dylib:fuse_fs*:entry
  25. / !self->init_destroy /
  26. {
  27. self->traceme = 1;
  28. self->pathptr = arg1;
  29. self->begints = timestamp;
  30. self->arg2 = arg2;
  31. }
  32. pid$1:libfuse*dylib:fuse_fs*:return
  33. / self->traceme && probefunc != "fuse_fs_getattr" /
  34. {
  35. this->elapsed = timestamp - self->begints;
  36. printf("+%-12d %3d.%03d %-8d%-16s%s\n", (timestamp - begints) / 1000,
  37. this->elapsed / 1000000, (this->elapsed / 1000) % 1000,
  38. (int)arg1, probefunc + 8, copyinstr(self->pathptr));
  39. self->traceme = 0;
  40. self->pathptr = 0;
  41. self->begints = 0;
  42. }
  43. pid$1:libfuse*dylib:fuse_fs*:return
  44. / self->traceme && probefunc == "fuse_fs_getattr" /
  45. {
  46. this->elapsed = timestamp - self->begints;
  47. this->st = (struct stat *)copyin(self->arg2, sizeof(struct stat));
  48. printf("+%-12d %3d.%03d %-8d%-16s%s (st_size=%lld)\n", (timestamp - begints) / 1000,
  49. this->elapsed / 1000000, (this->elapsed / 1000) % 1000,
  50. (int)arg1, probefunc + 8, copyinstr(self->pathptr), this->st->st_size);
  51. self->traceme = 0;
  52. self->pathptr = 0;
  53. self->begints = 0;
  54. }