193f27766SDomagoj Stolfa#!/usr/bin/ksh 293f27766SDomagoj Stolfa# 393f27766SDomagoj Stolfa# This file and its contents are supplied under the terms of the 493f27766SDomagoj Stolfa# Common Development and Distribution License ("CDDL"), version 1.0. 593f27766SDomagoj Stolfa# You may only use this file in accordance with the terms of version 693f27766SDomagoj Stolfa# 1.0 of the CDDL. 793f27766SDomagoj Stolfa# 893f27766SDomagoj Stolfa# A full copy of the text of the CDDL should have accompanied this 993f27766SDomagoj Stolfa# source. A copy of the CDDL is also available via the Internet at 1093f27766SDomagoj Stolfa# http://www.illumos.org/license/CDDL. 1193f27766SDomagoj Stolfa# 1293f27766SDomagoj Stolfa 1393f27766SDomagoj Stolfa# 1493f27766SDomagoj Stolfa# Copyright (c) 2023 Domagoj Stolfa 1593f27766SDomagoj Stolfa# 1693f27766SDomagoj Stolfa 1793f27766SDomagoj Stolfabname=`basename $0` 1893f27766SDomagoj Stolfadtraceout=/tmp/dtrace.$bname 1993f27766SDomagoj Stolfa 2093f27766SDomagoj Stolfascript() 2193f27766SDomagoj Stolfa{ 2293f27766SDomagoj Stolfa $dtrace -o $dtraceout.$1 -x oformat=$1 -s /dev/stdin <<__EOF__ 2393f27766SDomagoj Stolfafbt:::entry 2493f27766SDomagoj Stolfa{ 2593f27766SDomagoj Stolfa x[timestamp] = 1; 2693f27766SDomagoj Stolfa} 2793f27766SDomagoj Stolfa 2893f27766SDomagoj Stolfatick-5s 2993f27766SDomagoj Stolfa{ 3093f27766SDomagoj Stolfa exit(0); 3193f27766SDomagoj Stolfa} 3293f27766SDomagoj Stolfa__EOF__ 3393f27766SDomagoj Stolfa} 3493f27766SDomagoj Stolfa 3593f27766SDomagoj Stolfaif [ $# != 1 ]; then 3693f27766SDomagoj Stolfa echo expected one argument: '<'dtrace-path'>' 3793f27766SDomagoj Stolfa exit 2 3893f27766SDomagoj Stolfafi 3993f27766SDomagoj Stolfa 4093f27766SDomagoj Stolfadtrace=$1 4193f27766SDomagoj Stolfa 4293f27766SDomagoj Stolfascript json 4393f27766SDomagoj Stolfajq . $dtraceout.json 4493f27766SDomagoj Stolfa 4593f27766SDomagoj Stolfaif [ $? != 0 ]; then 4693f27766SDomagoj Stolfa echo $bname: failed to produce valid JSON. see $dtraceout.json 4793f27766SDomagoj Stolfa exit 1 4893f27766SDomagoj Stolfafi 4993f27766SDomagoj Stolfa 5093f27766SDomagoj Stolfascript xml 5193f27766SDomagoj Stolfaxmllint $dtraceout.xml 5293f27766SDomagoj Stolfa 5393f27766SDomagoj Stolfaif [ $? != 0 ]; then 5493f27766SDomagoj Stolfa echo $bname: failed to produce valid XML. see $dtraceout.xml 5593f27766SDomagoj Stolfa exit 1 5693f27766SDomagoj Stolfafi 5793f27766SDomagoj Stolfa 5893f27766SDomagoj Stolfarm $dtraceout.json 5993f27766SDomagoj Stolfarm $dtraceout.xml 6093f27766SDomagoj Stolfa 6193f27766SDomagoj Stolfaexit 0 62