Print this page
4477 DTrace should speak JSON
Reviewed by: Bryan Cantrill <bmc@joyent.com>

*** 20,39 **** # # # Copyright 2006 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # - #ident "%Z%%M% %I% %E% SMI" ppriv -s A=basic,dtrace_proc,dtrace_user $$ /usr/sbin/dtrace -q -s /dev/stdin <<"EOF" BEGIN { errorcount = 0; ! expected_errorcount = 23; } BEGIN { trace(mutex_owned(&`pidlock)); } BEGIN { trace(mutex_owner(&`pidlock)); } BEGIN { trace(mutex_type_adaptive(&`pidlock)); } --- 20,39 ---- # # # Copyright 2006 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. + # Copyright (c) 2012, Joyent, Inc. All rights reserved. # ppriv -s A=basic,dtrace_proc,dtrace_user $$ /usr/sbin/dtrace -q -s /dev/stdin <<"EOF" BEGIN { errorcount = 0; ! expected_errorcount = 27; } BEGIN { trace(mutex_owned(&`pidlock)); } BEGIN { trace(mutex_owner(&`pidlock)); } BEGIN { trace(mutex_type_adaptive(&`pidlock)); }
*** 53,70 **** --- 53,75 ---- BEGIN { trace(strstr(`initname, "in")); } BEGIN { trace(strtok(`initname, "/")); } BEGIN { trace(strtok(NULL, "/")); } BEGIN { trace(strtok("foo/bar", `initname)); } BEGIN { trace(strtok(NULL, `initname)); } + BEGIN { trace(strtoll(`initname)); } + BEGIN { trace(strtoll(`initname, 10)); } BEGIN { trace(substr(`initname, 2, 3)); } BEGIN { trace(ddi_pathname(`top_devinfo, 1)); } BEGIN { trace(strjoin(`initname, "foo")); } BEGIN { trace(strjoin("foo", `initname)); } BEGIN { trace(dirname(`initname)); } BEGIN { trace(cleanpath(`initname)); } + BEGIN { j = "{\"/sbin/init\":\"uh oh\"}"; trace(json(j, `initname)); } + BEGIN { trace(json(`initname, "x")); } + ERROR { errorcount++; } BEGIN /errorcount == expected_errorcount/ {