#!/usr/sbin/dtrace -qs string Xrequest[uintptr_t]; string Xrestype[uintptr_t]; Xserver*:::request-start /Xrequest[arg0] == ""/ { Xrequest[arg0] = copyinstr(arg0); } Xserver*:::resource-alloc /arg3 != 0 && Xrestype[arg3] == ""/ { Xrestype[arg3] = copyinstr(arg3); } Xserver*:::request-start /Xrequest[arg0] == "X_CreatePixmap"/ { printf("-> %s: client %d\n", Xrequest[arg0], arg3); } Xserver*:::request-done /Xrequest[arg0] == "X_CreatePixmap"/ { printf("<- %s: client %d\n", Xrequest[arg0], arg3); } Xserver*:::resource-alloc /Xrestype[arg3] == "PIXMAP"/ { printf("** Pixmap alloc: %08x\n", arg0); } Xserver*:::resource-free /Xrestype[arg3] == "PIXMAP"/ { printf("** Pixmap free: %08x\n", arg0); } Xserver*:::client-connect { printf("** Client Connect: id %d\n", arg0); } Xserver*:::client-auth { printf("** Client auth'ed: id %d => %s pid %d\n", arg0, copyinstr(arg1), arg2); } Xserver*:::client-disconnect { printf("** Client Disconnect: id %d\n", arg0); }