19512fe85Sahl# 29512fe85Sahl# CDDL HEADER START 39512fe85Sahl# 49512fe85Sahl# The contents of this file are subject to the terms of the 59512fe85Sahl# Common Development and Distribution License (the "License"). 69512fe85Sahl# You may not use this file except in compliance with the License. 79512fe85Sahl# 89512fe85Sahl# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 99512fe85Sahl# or http://www.opensolaris.org/os/licensing. 109512fe85Sahl# See the License for the specific language governing permissions 119512fe85Sahl# and limitations under the License. 129512fe85Sahl# 139512fe85Sahl# When distributing Covered Code, include this CDDL HEADER in each 149512fe85Sahl# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 159512fe85Sahl# If applicable, add the following below this CDDL HEADER, with the 169512fe85Sahl# fields enclosed by brackets "[]" replaced with your own identifying 179512fe85Sahl# information: Portions Copyright [yyyy] [name of copyright owner] 189512fe85Sahl# 199512fe85Sahl# CDDL HEADER END 209512fe85Sahl# 219512fe85Sahl 229512fe85Sahl# 23bd0f52d7Sjhaslam# Copyright 2007 Sun Microsystems, Inc. All rights reserved. 249512fe85Sahl# Use is subject to license terms. 259512fe85Sahl# 269512fe85Sahl 279512fe85Sahlscript() 289512fe85Sahl{ 299512fe85Sahl $dtrace -qs /dev/stdin <<EOF 309512fe85Sahl profile-1234hz 319512fe85Sahl /arg1 != 0/ 329512fe85Sahl { 339512fe85Sahl @[umod(arg1)] = count(); 349512fe85Sahl } 359512fe85Sahl 369512fe85Sahl tick-100ms 379512fe85Sahl /i++ == 20/ 389512fe85Sahl { 399512fe85Sahl exit(0); 409512fe85Sahl } 419512fe85SahlEOF 429512fe85Sahl} 439512fe85Sahl 449512fe85Sahlspinny() 459512fe85Sahl{ 469512fe85Sahl while true; do 479512fe85Sahl let i=i+1 489512fe85Sahl done 499512fe85Sahl} 509512fe85Sahl 5123b5c241Stomeeif [ $# != 1 ]; then 5223b5c241Stomee echo expected one argument: '<'dtrace-path'>' 5323b5c241Stomee exit 2 5423b5c241Stomeefi 5523b5c241Stomee 5623b5c241Stomeedtrace=$1 579512fe85Sahl 589512fe85Sahlspinny & 599512fe85Sahlchild=$! 609512fe85Sahl 619512fe85Sahl# 629512fe85Sahl# The only thing we can be sure of here is that ksh is doing some work. 639512fe85Sahl# 64*c090e5dfSBryan Cantrillscript | tee /dev/fd/2 | egrep '(ksh|libshell)' > /dev/null 659512fe85Sahlstatus=$? 669512fe85Sahl 679512fe85Sahlkill $child 689512fe85Sahlexit $status 69