sacl.d   [plain text]


#!/usr/sbin/dtrace -s

/* Trace Postfix SACL checks. */

#pragma D option quiet

dtrace:::BEGIN
{
	printf("sacl-cached is the time to query the sacl-cache\n");
	printf("sacl-resolve is the time to convert username to GUID\n");
	printf("sacl-finish is the time to query membership in the SACL\n");
	printf("%5s %-16s %-32s %6s %14s\n", "PID", "Probe Name", "User Name", "Result", "Elapsed nsec");
}

::sacl_check:sacl-start
{
	self->start = timestamp;
}

::sacl_check:sacl-cached,
::sacl_check:sacl-resolve,
::sacl_check:sacl-finish
{
	printf("%5d %-16s %-32s %6d %14d\n", pid, probename, copyinstr(arg0), arg1, timestamp - self->start);
	self->start = timestamp;
}