1#!/usr/sbin/dtrace -s
2
3/* Trace Postfix SACL checks. */
4
5#pragma D option quiet
6
7dtrace:::BEGIN
8{
9	printf("sacl-cached is the time to query the sacl-cache\n");
10	printf("sacl-resolve is the time to convert username to GUID\n");
11	printf("sacl-finish is the time to query membership in the SACL\n");
12	printf("%5s %-16s %-32s %6s %14s\n", "PID", "Probe Name", "User Name", "Result", "Elapsed nsec");
13}
14
15::sacl_check:sacl-start
16{
17	self->start = timestamp;
18}
19
20::sacl_check:sacl-cached,
21::sacl_check:sacl-resolve,
22::sacl_check:sacl-finish
23{
24	printf("%5d %-16s %-32s %6d %14d\n", pid, probename, copyinstr(arg0), arg1, timestamp - self->start);
25	self->start = timestamp;
26}
27