diff --git a/cddl/contrib/dtracetoolkit/Apps/Readme b/cddl/contrib/dtracetoolkit/Apps/Readme deleted file mode 100644 index 3a6812f4bfa2..000000000000 --- a/cddl/contrib/dtracetoolkit/Apps/Readme +++ /dev/null @@ -1,5 +0,0 @@ -Apps - Specific Application based analysis - - These are DTrace scripts that are written to analyse a particular - application or applictaion layer protocol. For example, Apache or NFS - scripts would appear here. diff --git a/cddl/contrib/dtracetoolkit/Apps/httpdstat.d b/cddl/contrib/dtracetoolkit/Apps/httpdstat.d deleted file mode 100755 index a053482a6c15..000000000000 --- a/cddl/contrib/dtracetoolkit/Apps/httpdstat.d +++ /dev/null @@ -1,132 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * httpdstat.d - realtime httpd statistics. Uses DTrace. - * - * $Id: httpdstat.d 2 2007-08-01 10:01:43Z brendan $ - * - * USAGE: httpdstat.d [interval [count]] - * - * interval seconds - * count number of samples - * - * FIELDS: - * TIME Time, string - * NUM Number of connections - * GET Number of "GET"s - * POST Number of "POST"s - * HEAD Number of "HEAD"s - * TRACE Number of "TRACE"s - * - * All of the statistics are printed as a value per interval (not per second). - * - * NOTE: This version does not process subsequent operations on keepalives. - * - * IDEA: Ryan Matteson (who first wrote a solution to this). - * - * COPYRIGHT: Copyright (c) 2005 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 20-Nov-2005 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option defaultargs - -inline int SCREEN = 21; - -/* - * Program Start - */ -dtrace:::BEGIN -{ - num = 0; get = 0; head = 0; post = 0; trac = 0; - lines = SCREEN + 1; - secs = $1 ? $1 : 1; - counts = $2 ? $2 : -1; - first = 1; -} - -profile:::tick-1sec -{ - secs--; -} - -/* - * Print Header - */ -dtrace:::BEGIN, -profile:::tick-1sec -/first || (secs == 0 && lines > SCREEN)/ -{ - printf("%-20s %6s %6s %5s %5s %5s\n", "TIME", - "NUM", "GET", "POST", "HEAD", "TRACE"); - lines = 0; - first = 0; -} - -/* - * Track Accept Events - */ -syscall::accept:return -/execname == "httpd"/ -{ - self->buf = 1; -} - -syscall::read:entry -/self->buf/ -{ - self->buf = arg1; -} - -/* - * Tally Data - */ -syscall::read:return -/self->buf && arg0/ -{ - this->str = (char *)copyin(self->buf, arg0); - this->str[4] = '\0'; - get += stringof(this->str) == "GET " ? 1 : 0; - post += stringof(this->str) == "POST" ? 1 : 0; - head += stringof(this->str) == "HEAD" ? 1 : 0; - trac += stringof(this->str) == "TRAC" ? 1 : 0; - num++; - self->buf = 0; -} - -/* - * Print Output - */ -profile:::tick-1sec -/secs == 0/ -{ - printf("%-20Y %6d %6d %5d %5d %5d\n", walltimestamp, - num, get, post, head, trac); - num = 0; get = 0; head = 0; post = 0; trac = 0; - secs = $1 ? $1 : 1; - lines++; - counts--; -} - -/* - * End - */ -profile:::tick-1sec -/counts == 0/ -{ - exit(0); -} diff --git a/cddl/contrib/dtracetoolkit/Apps/nfswizard.d b/cddl/contrib/dtracetoolkit/Apps/nfswizard.d deleted file mode 100755 index c63bc33dfa4e..000000000000 --- a/cddl/contrib/dtracetoolkit/Apps/nfswizard.d +++ /dev/null @@ -1,102 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * nfswizard.d - nfs client activity wizard. - * Written using DTrace (Solaris 10 3/05). - * - * This examines activity caused by NFS client processes on the same server - * that you are running this script on. A detailed report is generated - * to explain various details of NFS client activity, including response - * times and file access. - * - * $Id: nfswizard.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: nfswizard.d # hit Ctrl-C to end sample - * - * COPYRIGHT: Copyright (c) 2005, 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 02-Dec-2005 Brendan Gregg Created this. - * 20-Apr-2006 " " Last update. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); - scriptstart = walltimestamp; - timestart = timestamp; -} - -io:nfs::start -{ - /* tally file sizes */ - @file[args[2]->fi_pathname] = sum(args[0]->b_bcount); - - /* time response */ - start[args[0]->b_addr] = timestamp; - - /* overall stats */ - @rbytes = sum(args[0]->b_flags & B_READ ? args[0]->b_bcount : 0); - @wbytes = sum(args[0]->b_flags & B_READ ? 0 : args[0]->b_bcount); - @events = count(); -} - -io:nfs::done -/start[args[0]->b_addr]/ -{ - /* calculate and save response time stats */ - this->elapsed = timestamp - start[args[0]->b_addr]; - @maxtime = max(this->elapsed); - @avgtime = avg(this->elapsed); - @qnztime = quantize(this->elapsed / 1000); -} - -dtrace:::END -{ - /* print header */ - printf("NFS Client Wizard. %Y -> %Y\n\n", scriptstart, walltimestamp); - - /* print read/write stats */ - printa("Read: %@d bytes ", @rbytes); - normalize(@rbytes, 1000000); - printa("(%@d Mb)\n", @rbytes); - printa("Write: %@d bytes ", @wbytes); - normalize(@wbytes, 1000000); - printa("(%@d Mb)\n\n", @wbytes); - - /* print throughput stats */ - denormalize(@rbytes); - normalize(@rbytes, (timestamp - timestart) / 1000000); - printa("Read: %@d Kb/sec\n", @rbytes); - denormalize(@wbytes); - normalize(@wbytes, (timestamp - timestart) / 1000000); - printa("Write: %@d Kb/sec\n\n", @wbytes); - - /* print time stats */ - printa("NFS I/O events: %@d\n", @events); - normalize(@avgtime, 1000000); - printa("Avg response time: %@d ms\n", @avgtime); - normalize(@maxtime, 1000000); - printa("Max response time: %@d ms\n\n", @maxtime); - printa("Response times (us):%@d\n", @qnztime); - - /* print file stats */ - printf("Top 25 files accessed (bytes):\n"); - printf(" %-64s %s\n", "PATHNAME", "BYTES"); - trunc(@file, 25); - printa(" %-64s %@d\n", @file); -} diff --git a/cddl/contrib/dtracetoolkit/Apps/shellsnoop b/cddl/contrib/dtracetoolkit/Apps/shellsnoop deleted file mode 100755 index 69ff379a6519..000000000000 --- a/cddl/contrib/dtracetoolkit/Apps/shellsnoop +++ /dev/null @@ -1,264 +0,0 @@ -#!/bin/sh -# -# shellsnoop - A program to print read/write details from shells, -# such as keystrokes and command outputs. -# Written using DTrace (Solaris 10 3/05). -# -# This program sounds somewhat dangerous (snooping keystrokes), but is -# no more so than /usr/bin/truss, and both need root or dtrace privileges to -# run. In fact, less dangerous, as we only print visible text (not password -# text, for example). Having said that, it goes without saying that this -# program shouldn't be used for breeching privacy of other users. -# -# This was written as a tool to demonstrate the capabilities of DTrace. -# -# $Id: shellsnoop 19 2007-09-12 07:47:59Z brendan $ -# -# USAGE: shellsnoop [-hqsv] [-p PID] [-u UID] -# -# -q # quiet, only print data -# -s # include start time, us -# -v # include start time, string -# -p PID # process ID to snoop -# -u UID # user ID to snoop -# eg, -# shellsnoop # default output -# shellsnoop -v # human readable timestamps -# shellsnoop -p 1892 # snoop this PID only -# shellsnoop -qp 1892 # watch this PID data only -# -# FIELDS: -# UID User ID -# PID process ID -# PPID parent process ID -# COMM command name -# DIR direction (R read, W write) -# TEXT text contained in the read/write -# TIME timestamp for the command, us -# STRTIME timestamp for the command, string -# -# SEE ALSO: ttywatcher -# -# COPYRIGHT: Copyright (c) 2005 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# Author: Brendan Gregg [Sydney, Australia] -# -# 28-Mar-2004 Brendan Gregg Created this. -# 21-Jan-2005 " " Wrapped in sh to provide options. -# 30-Nov-2005 " " Fixed trailing buffer text bug. -# 30-Nov-2005 " " Fixed sh no keystroke text in quiet bug. -# 30-Nov-2005 " " Last update. -# - - -############################## -# --- Process Arguments --- -# -opt_pid=0; opt_uid=0; opt_time=0; opt_timestr=0; opt_quiet=0; opt_debug=0 -filter=0; pid=0; uid=0 - -while getopts dhp:qsu:v name -do - case $name in - d) opt_debug=1 ;; - p) opt_pid=1; pid=$OPTARG ;; - q) opt_quiet=1 ;; - s) opt_time=1 ;; - u) opt_uid=1; uid=$OPTARG ;; - v) opt_timestr=1 ;; - h|?) cat <<-END >&2 - USAGE: shellsnoop [-hqsv] [-p PID] [-u UID] - shellsnoop # default output - -q # quiet, only print data - -s # include start time, us - -v # include start time, string - -p PID # process ID to snoop - -u UID # user ID to snoop - END - exit 1 - esac -done - -if [ $opt_quiet -eq 1 ]; then - opt_time=0; opt_timestr=0 -fi -if [ $opt_pid -eq 1 -o $opt_uid -eq 1 ]; then - filter=1 -fi - - -################################# -# --- Main Program, DTrace --- -# -dtrace -n ' - /* - * Command line arguments - */ - inline int OPT_debug = '$opt_debug'; - inline int OPT_quiet = '$opt_quiet'; - inline int OPT_pid = '$opt_pid'; - inline int OPT_uid = '$opt_uid'; - inline int OPT_time = '$opt_time'; - inline int OPT_timestr = '$opt_timestr'; - inline int FILTER = '$filter'; - inline int PID = '$pid'; - inline int UID = '$uid'; - - #pragma D option quiet - #pragma D option switchrate=20hz - - /* - * Print header - */ - dtrace:::BEGIN /OPT_time == 1/ - { - printf("%-14s ","TIME"); - } - dtrace:::BEGIN /OPT_timestr == 1/ - { - printf("%-20s ","STRTIME"); - } - dtrace:::BEGIN /OPT_quiet == 0/ - { - printf("%5s %5s %8s %3s %s\n", "PID", "PPID", "CMD", "DIR", "TEXT"); - } - - /* - * Remember this PID is a shell child - */ - syscall::execve:entry - /execname == "sh" || execname == "ksh" || execname == "csh" || - execname == "tcsh" || execname == "zsh" || execname == "bash"/ - { - child[pid] = 1; - - } - syscall::execve:entry - /(OPT_pid == 1 && PID != ppid) || (OPT_uid == 1 && UID != uid)/ - { - /* forget if filtered */ - child[pid] = 0; - } - - /* - * Print shell keystrokes - */ - syscall::write:entry, syscall::read:entry - /(execname == "sh" || execname == "ksh" || execname == "csh" || - execname == "tcsh" || execname == "zsh" || execname == "bash") - && (arg0 >= 0 && arg0 <= 2)/ - { - self->buf = arg1; - } - syscall::write:entry, syscall::read:entry - /(OPT_pid == 1 && PID != pid) || (OPT_uid == 1 && UID != uid)/ - { - self->buf = 0; - } - syscall::write:return, syscall::read:return - /self->buf && child[pid] == 0 && OPT_time == 1/ - { - printf("%-14d ", timestamp/1000); - } - syscall::write:return, syscall::read:return - /self->buf && child[pid] == 0 && OPT_timestr == 1/ - { - printf("%-20Y ", walltimestamp); - } - syscall::write:return, syscall::read:return - /self->buf && child[pid] == 0 && OPT_quiet == 0/ - { - this->text = (char *)copyin(self->buf, arg0); - this->text[arg0] = '\'\\0\''; - - printf("%5d %5d %8s %3s %s\n", pid, curpsinfo->pr_ppid, execname, - probefunc == "read" ? "R" : "W", stringof(this->text)); - } - syscall::write:return - /self->buf && child[pid] == 0 && OPT_quiet == 1/ - { - this->text = (char *)copyin(self->buf, arg0); - this->text[arg0] = '\'\\0\''; - printf("%s", stringof(this->text)); - } - syscall::read:return - /self->buf && execname == "sh" && child[pid] == 0 && OPT_quiet == 1/ - { - this->text = (char *)copyin(self->buf, arg0); - this->text[arg0] = '\'\\0\''; - printf("%s", stringof(this->text)); - } - syscall::write:return, syscall::read:return - /self->buf && child[pid] == 0/ - { - self->buf = 0; - } - - /* - * Print command output - */ - syscall::write:entry, syscall::read:entry - /child[pid] == 1 && (arg0 == 1 || arg0 == 2)/ - { - self->buf = arg1; - } - syscall::write:return, syscall::read:return - /self->buf && OPT_time == 1/ - { - printf("%-14d ", timestamp/1000); - } - syscall::write:return, syscall::read:return - /self->buf && OPT_timestr == 1/ - { - printf("%-20Y ", walltimestamp); - } - syscall::write:return, syscall::read:return - /self->buf && OPT_quiet == 0/ - { - this->text = (char *)copyin(self->buf, arg0); - this->text[arg0] = '\'\\0\''; - - printf("%5d %5d %8s %3s %s", pid, curpsinfo->pr_ppid, execname, - probefunc == "read" ? "R" : "W", stringof(this->text)); - - /* here we check if a newline is needed */ - this->length = strlen(this->text); - printf("%s", this->text[this->length - 1] == '\'\\n\'' ? "" : "\n"); - self->buf = 0; - } - syscall::write:return, syscall::read:return - /self->buf && OPT_quiet == 1/ - { - this->text = (char *)copyin(self->buf, arg0); - this->text[arg0] = '\'\\0\''; - printf("%s", stringof(this->text)); - self->buf = 0; - } - - /* - * Cleanup - */ - syscall::exit:entry - { - child[pid] = 0; - - /* debug */ - this->parent = (char *)curthread->td_proc->p_pptr->p_comm; - OPT_debug == 1 ? printf("PID %d CMD %s exited. (%s)\n", - pid, execname, stringof(this->parent)) : 1; - } -' diff --git a/cddl/contrib/dtracetoolkit/Apps/weblatency.d b/cddl/contrib/dtracetoolkit/Apps/weblatency.d deleted file mode 100755 index 8d96d5cdd88b..000000000000 --- a/cddl/contrib/dtracetoolkit/Apps/weblatency.d +++ /dev/null @@ -1,186 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * weblatency.d - website latency statistics. - * Written using DTrace (Solaris 10 3/05). - * - * $Id: weblatency.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: weblatency.d # hit Ctrl-C to end sample - * - * See the code below for the "BROWSER" variable, which sets the browser - * to trace (currently set to "mozilla-bin"). - * - * This is written as an experimental tool, and may not work at all with - * your browser. - * - * FIELDS: - * HOST Hostname from URL - * NUM Number of GETs - * AVGTIME(ms) Average time for response, ms - * MAXTIME(ms) Maximum time for response, ms - * - * NOTE: - * - * The latency measured here is from the browser sending the GET - * request to when the browser begins to recieve the response. It - * is an overall response time for the client, and encompasses - * connection speed delays, DNS lookups, proxy delays, and web server - * response time. - * - * IDEA: Bryan Cantrill (who wrote an elegant version for Sol 10 update 1) - * - * COPYRIGHT: Copyright (c) 2005, 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * ToDo: - * Check write fd for socket, not file. - * - * 30-Nov-2005 Brendan Gregg Created this. - * 20-Apr-2006 " " Last update. - */ - -#pragma D option quiet - -/* browser's execname */ -inline string BROWSER = "mozilla-bin"; - -/* maximum expected hostname length + "GET http://" */ -inline int MAX_REQ = 64; - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -/* - * Trace brower request - * - * This is achieved by matching writes for the browser's execname that - * start with "GET", and then timing from the return of the write to - * the return of the next read in the same thread. Various stateful flags - * are used: self->fd, self->read. - * - * For performance reasons, I'd like to only process writes that follow a - * connect(), however this approach fails to process keepalives. - */ -syscall::write:entry -/execname == BROWSER/ -{ - self->buf = arg1; - self->fd = arg0 + 1; - self->nam = ""; -} - -syscall::write:return -/self->fd/ -{ - this->str = (char *)copyin(self->buf, MAX_REQ); - this->str[4] = '\0'; - self->fd = stringof(this->str) == "GET " ? self->fd : 0; -} - -syscall::write:return -/self->fd/ -{ - /* fetch browser request */ - this->str = (char *)copyin(self->buf, MAX_REQ); - this->str[MAX_REQ] = '\0'; - - /* - * This unrolled loop strips down a URL to it's hostname. - * We ought to use strtok(), but it's not available on Sol 10 3/05, - * so instead I used dirname(). It's not pretty - it's done so that - * this works on all Sol 10 versions. - */ - self->req = stringof(this->str); - self->nam = strlen(self->req) > 15 ? self->req : self->nam; - self->req = dirname(self->req); - self->nam = strlen(self->req) > 15 ? self->req : self->nam; - self->req = dirname(self->req); - self->nam = strlen(self->req) > 15 ? self->req : self->nam; - self->req = dirname(self->req); - self->nam = strlen(self->req) > 15 ? self->req : self->nam; - self->req = dirname(self->req); - self->nam = strlen(self->req) > 15 ? self->req : self->nam; - self->req = dirname(self->req); - self->nam = strlen(self->req) > 15 ? self->req : self->nam; - self->req = dirname(self->req); - self->nam = strlen(self->req) > 15 ? self->req : self->nam; - self->req = dirname(self->req); - self->nam = strlen(self->req) > 15 ? self->req : self->nam; - self->req = dirname(self->req); - self->nam = strlen(self->req) > 15 ? self->req : self->nam; - self->nam = basename(self->nam); - - /* start the timer */ - start[pid, self->fd - 1] = timestamp; - host[pid, self->fd - 1] = self->nam; - self->buf = 0; - self->fd = 0; - self->req = 0; - self->nam = 0; -} - -/* this one wasn't a GET */ -syscall::write:return -/self->buf/ -{ - self->buf = 0; - self->fd = 0; -} - -syscall::read:entry -/execname == BROWSER && start[pid, arg0]/ -{ - self->fd = arg0 + 1; -} - -/* - * Record host details - */ -syscall::read:return -/self->fd/ -{ - /* fetch details */ - self->host = stringof(host[pid, self->fd - 1]); - this->start = start[pid, self->fd - 1]; - - /* save details */ - @Avg[self->host] = avg((timestamp - this->start)/1000000); - @Max[self->host] = max((timestamp - this->start)/1000000); - @Num[self->host] = count(); - - /* clear vars */ - start[pid, self->fd - 1] = 0; - host[pid, self->fd - 1] = 0; - self->host = 0; - self->fd = 0; -} - -/* - * Output report - */ -dtrace:::END -{ - printf("%-32s %11s\n", "HOST", "NUM"); - printa("%-32s %@11d\n", @Num); - - printf("\n%-32s %11s\n", "HOST", "AVGTIME(ms)"); - printa("%-32s %@11d\n", @Avg); - - printf("\n%-32s %11s\n", "HOST", "MAXTIME(ms)"); - printa("%-32s %@11d\n", @Max); -} diff --git a/cddl/contrib/dtracetoolkit/Bin/anonpgpid.d b/cddl/contrib/dtracetoolkit/Bin/anonpgpid.d deleted file mode 120000 index f48a5104fc69..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/anonpgpid.d +++ /dev/null @@ -1 +0,0 @@ -../Mem/anonpgpid.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/bitesize.d b/cddl/contrib/dtracetoolkit/Bin/bitesize.d deleted file mode 120000 index 6f984e083f9e..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/bitesize.d +++ /dev/null @@ -1 +0,0 @@ -../Disk/bitesize.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/connections b/cddl/contrib/dtracetoolkit/Bin/connections deleted file mode 120000 index 1be9a640e58a..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/connections +++ /dev/null @@ -1 +0,0 @@ -../Net/connections \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/cpudists b/cddl/contrib/dtracetoolkit/Bin/cpudists deleted file mode 120000 index 91f0d8022968..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/cpudists +++ /dev/null @@ -1 +0,0 @@ -../Kernel/cpudists \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/cputimes b/cddl/contrib/dtracetoolkit/Bin/cputimes deleted file mode 120000 index 219dbbc6ca64..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/cputimes +++ /dev/null @@ -1 +0,0 @@ -../Kernel/cputimes \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/cputypes.d b/cddl/contrib/dtracetoolkit/Bin/cputypes.d deleted file mode 120000 index da583feb485f..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/cputypes.d +++ /dev/null @@ -1 +0,0 @@ -../Cpu/cputypes.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/cpuwalk.d b/cddl/contrib/dtracetoolkit/Bin/cpuwalk.d deleted file mode 120000 index 5a1c26e74bfd..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/cpuwalk.d +++ /dev/null @@ -1 +0,0 @@ -../Cpu/cpuwalk.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/crash.d b/cddl/contrib/dtracetoolkit/Bin/crash.d deleted file mode 120000 index d3a3cf8c78d1..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/crash.d +++ /dev/null @@ -1 +0,0 @@ -../Proc/crash.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/creatbyproc.d b/cddl/contrib/dtracetoolkit/Bin/creatbyproc.d deleted file mode 120000 index fecd0f32021f..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/creatbyproc.d +++ /dev/null @@ -1 +0,0 @@ -../Proc/creatbyproc.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/cswstat.d b/cddl/contrib/dtracetoolkit/Bin/cswstat.d deleted file mode 120000 index ea54280e10a0..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/cswstat.d +++ /dev/null @@ -1 +0,0 @@ -../Kernel/cswstat.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/dappprof b/cddl/contrib/dtracetoolkit/Bin/dappprof deleted file mode 120000 index e4fc32ef5658..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/dappprof +++ /dev/null @@ -1 +0,0 @@ -../Proc/dappprof \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/dapptrace b/cddl/contrib/dtracetoolkit/Bin/dapptrace deleted file mode 120000 index 1d38cb5ee7c4..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/dapptrace +++ /dev/null @@ -1 +0,0 @@ -../Proc/dapptrace \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/dexplorer b/cddl/contrib/dtracetoolkit/Bin/dexplorer deleted file mode 120000 index 41c36e49bd9d..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/dexplorer +++ /dev/null @@ -1 +0,0 @@ -../dexplorer \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/diskhits b/cddl/contrib/dtracetoolkit/Bin/diskhits deleted file mode 120000 index 4a57310d9333..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/diskhits +++ /dev/null @@ -1 +0,0 @@ -../Disk/diskhits \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/dispqlen.d b/cddl/contrib/dtracetoolkit/Bin/dispqlen.d deleted file mode 120000 index 1073e0b863f1..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/dispqlen.d +++ /dev/null @@ -1 +0,0 @@ -../Cpu/dispqlen.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/dnlcps.d b/cddl/contrib/dtracetoolkit/Bin/dnlcps.d deleted file mode 120000 index efca13ceaf41..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/dnlcps.d +++ /dev/null @@ -1 +0,0 @@ -../Kernel/dnlcps.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/dnlcsnoop.d b/cddl/contrib/dtracetoolkit/Bin/dnlcsnoop.d deleted file mode 120000 index 247868728e05..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/dnlcsnoop.d +++ /dev/null @@ -1 +0,0 @@ -../Kernel/dnlcsnoop.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/dnlcstat b/cddl/contrib/dtracetoolkit/Bin/dnlcstat deleted file mode 120000 index baec18905456..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/dnlcstat +++ /dev/null @@ -1 +0,0 @@ -../Kernel/dnlcstat \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/dtruss b/cddl/contrib/dtracetoolkit/Bin/dtruss deleted file mode 120000 index 90c00c6fe124..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/dtruss +++ /dev/null @@ -1 +0,0 @@ -../dtruss \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/dvmstat b/cddl/contrib/dtracetoolkit/Bin/dvmstat deleted file mode 120000 index 1b92321f0d47..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/dvmstat +++ /dev/null @@ -1 +0,0 @@ -../dvmstat \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/errinfo b/cddl/contrib/dtracetoolkit/Bin/errinfo deleted file mode 120000 index fbecf4da7e2a..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/errinfo +++ /dev/null @@ -1 +0,0 @@ -../errinfo \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/execsnoop b/cddl/contrib/dtracetoolkit/Bin/execsnoop deleted file mode 120000 index 3a0dde2b1d5c..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/execsnoop +++ /dev/null @@ -1 +0,0 @@ -../execsnoop \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/fddist b/cddl/contrib/dtracetoolkit/Bin/fddist deleted file mode 120000 index 11d6e20f3714..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/fddist +++ /dev/null @@ -1 +0,0 @@ -../Proc/fddist \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/filebyproc.d b/cddl/contrib/dtracetoolkit/Bin/filebyproc.d deleted file mode 120000 index 5c2b2c596a7c..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/filebyproc.d +++ /dev/null @@ -1 +0,0 @@ -../Proc/filebyproc.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/fspaging.d b/cddl/contrib/dtracetoolkit/Bin/fspaging.d deleted file mode 120000 index 54db157bb489..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/fspaging.d +++ /dev/null @@ -1 +0,0 @@ -../FS/fspaging.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/fsrw.d b/cddl/contrib/dtracetoolkit/Bin/fsrw.d deleted file mode 120000 index 829e583e25b0..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/fsrw.d +++ /dev/null @@ -1 +0,0 @@ -../FS/fsrw.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/guess.d b/cddl/contrib/dtracetoolkit/Bin/guess.d deleted file mode 120000 index b5a41fdf9de6..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/guess.d +++ /dev/null @@ -1 +0,0 @@ -../Misc/guess.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/hotkernel b/cddl/contrib/dtracetoolkit/Bin/hotkernel deleted file mode 120000 index 0b872c32e98b..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/hotkernel +++ /dev/null @@ -1 +0,0 @@ -../hotkernel \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/hotspot.d b/cddl/contrib/dtracetoolkit/Bin/hotspot.d deleted file mode 120000 index dad526acd3fd..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/hotspot.d +++ /dev/null @@ -1 +0,0 @@ -../Disk/hotspot.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/hotuser b/cddl/contrib/dtracetoolkit/Bin/hotuser deleted file mode 120000 index 4ff615e9c289..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/hotuser +++ /dev/null @@ -1 +0,0 @@ -../hotuser \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/httpdstat.d b/cddl/contrib/dtracetoolkit/Bin/httpdstat.d deleted file mode 120000 index 5d8900d5aa2e..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/httpdstat.d +++ /dev/null @@ -1 +0,0 @@ -../Apps/httpdstat.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/icmpstat.d b/cddl/contrib/dtracetoolkit/Bin/icmpstat.d deleted file mode 120000 index 1d63bb75875f..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/icmpstat.d +++ /dev/null @@ -1 +0,0 @@ -../Net/icmpstat.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/intbycpu.d b/cddl/contrib/dtracetoolkit/Bin/intbycpu.d deleted file mode 120000 index 4897057d6937..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/intbycpu.d +++ /dev/null @@ -1 +0,0 @@ -../Cpu/intbycpu.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/intoncpu.d b/cddl/contrib/dtracetoolkit/Bin/intoncpu.d deleted file mode 120000 index 814c7be06dab..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/intoncpu.d +++ /dev/null @@ -1 +0,0 @@ -../Cpu/intoncpu.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/inttimes.d b/cddl/contrib/dtracetoolkit/Bin/inttimes.d deleted file mode 120000 index 5b179eecfe32..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/inttimes.d +++ /dev/null @@ -1 +0,0 @@ -../Cpu/inttimes.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/iofile.d b/cddl/contrib/dtracetoolkit/Bin/iofile.d deleted file mode 120000 index 8c63c1626464..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/iofile.d +++ /dev/null @@ -1 +0,0 @@ -../Disk/iofile.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/iofileb.d b/cddl/contrib/dtracetoolkit/Bin/iofileb.d deleted file mode 120000 index 7d6d404ad0c3..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/iofileb.d +++ /dev/null @@ -1 +0,0 @@ -../Disk/iofileb.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/iopattern b/cddl/contrib/dtracetoolkit/Bin/iopattern deleted file mode 120000 index 0257e0f83f0d..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/iopattern +++ /dev/null @@ -1 +0,0 @@ -../iopattern \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/iopending b/cddl/contrib/dtracetoolkit/Bin/iopending deleted file mode 120000 index 6ba932823527..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/iopending +++ /dev/null @@ -1 +0,0 @@ -../Disk/iopending \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/iosnoop b/cddl/contrib/dtracetoolkit/Bin/iosnoop deleted file mode 120000 index 2b86bcb70f63..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/iosnoop +++ /dev/null @@ -1 +0,0 @@ -../iosnoop \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/iotop b/cddl/contrib/dtracetoolkit/Bin/iotop deleted file mode 120000 index 14c124b300c1..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/iotop +++ /dev/null @@ -1 +0,0 @@ -../iotop \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/j_calldist.d b/cddl/contrib/dtracetoolkit/Bin/j_calldist.d deleted file mode 120000 index 3d40bca13089..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/j_calldist.d +++ /dev/null @@ -1 +0,0 @@ -../Java/j_calldist.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/j_calls.d b/cddl/contrib/dtracetoolkit/Bin/j_calls.d deleted file mode 120000 index 81ddfc590d22..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/j_calls.d +++ /dev/null @@ -1 +0,0 @@ -../Java/j_calls.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/j_calltime.d b/cddl/contrib/dtracetoolkit/Bin/j_calltime.d deleted file mode 120000 index 5261cabcb917..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/j_calltime.d +++ /dev/null @@ -1 +0,0 @@ -../Java/j_calltime.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/j_classflow.d b/cddl/contrib/dtracetoolkit/Bin/j_classflow.d deleted file mode 120000 index e6fb86ad0140..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/j_classflow.d +++ /dev/null @@ -1 +0,0 @@ -../Java/j_classflow.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/j_cpudist.d b/cddl/contrib/dtracetoolkit/Bin/j_cpudist.d deleted file mode 120000 index 22f9adf86a0c..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/j_cpudist.d +++ /dev/null @@ -1 +0,0 @@ -../Java/j_cpudist.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/j_cputime.d b/cddl/contrib/dtracetoolkit/Bin/j_cputime.d deleted file mode 120000 index bfb684366074..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/j_cputime.d +++ /dev/null @@ -1 +0,0 @@ -../Java/j_cputime.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/j_events.d b/cddl/contrib/dtracetoolkit/Bin/j_events.d deleted file mode 120000 index 385456118aae..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/j_events.d +++ /dev/null @@ -1 +0,0 @@ -../Java/j_events.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/j_flow.d b/cddl/contrib/dtracetoolkit/Bin/j_flow.d deleted file mode 120000 index 852a740c83bd..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/j_flow.d +++ /dev/null @@ -1 +0,0 @@ -../Java/j_flow.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/j_flowtime.d b/cddl/contrib/dtracetoolkit/Bin/j_flowtime.d deleted file mode 120000 index c0f9faeed015..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/j_flowtime.d +++ /dev/null @@ -1 +0,0 @@ -../Java/j_flowtime.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/j_methodcalls.d b/cddl/contrib/dtracetoolkit/Bin/j_methodcalls.d deleted file mode 120000 index 9e5e17f43288..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/j_methodcalls.d +++ /dev/null @@ -1 +0,0 @@ -../Java/j_methodcalls.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/j_objnew.d b/cddl/contrib/dtracetoolkit/Bin/j_objnew.d deleted file mode 120000 index b91ddafd2cb9..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/j_objnew.d +++ /dev/null @@ -1 +0,0 @@ -../Java/j_objnew.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/j_package.d b/cddl/contrib/dtracetoolkit/Bin/j_package.d deleted file mode 120000 index 7627671107c8..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/j_package.d +++ /dev/null @@ -1 +0,0 @@ -../Java/j_package.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/j_profile.d b/cddl/contrib/dtracetoolkit/Bin/j_profile.d deleted file mode 120000 index 270532ca7971..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/j_profile.d +++ /dev/null @@ -1 +0,0 @@ -../Java/j_profile.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/j_stat.d b/cddl/contrib/dtracetoolkit/Bin/j_stat.d deleted file mode 120000 index 128f913603f2..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/j_stat.d +++ /dev/null @@ -1 +0,0 @@ -../Java/j_stat.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/j_syscalls.d b/cddl/contrib/dtracetoolkit/Bin/j_syscalls.d deleted file mode 120000 index fae39687ab58..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/j_syscalls.d +++ /dev/null @@ -1 +0,0 @@ -../Java/j_syscalls.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/j_syscolors.d b/cddl/contrib/dtracetoolkit/Bin/j_syscolors.d deleted file mode 120000 index 4acffad372b7..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/j_syscolors.d +++ /dev/null @@ -1 +0,0 @@ -../Java/j_syscolors.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/j_thread.d b/cddl/contrib/dtracetoolkit/Bin/j_thread.d deleted file mode 120000 index f88296ce202f..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/j_thread.d +++ /dev/null @@ -1 +0,0 @@ -../Java/j_thread.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/j_who.d b/cddl/contrib/dtracetoolkit/Bin/j_who.d deleted file mode 120000 index f2aba284055c..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/j_who.d +++ /dev/null @@ -1 +0,0 @@ -../Java/j_who.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/js_calldist.d b/cddl/contrib/dtracetoolkit/Bin/js_calldist.d deleted file mode 120000 index 93277b09ba67..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/js_calldist.d +++ /dev/null @@ -1 +0,0 @@ -../JavaScript/js_calldist.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/js_calls.d b/cddl/contrib/dtracetoolkit/Bin/js_calls.d deleted file mode 120000 index 9c27755e5f7b..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/js_calls.d +++ /dev/null @@ -1 +0,0 @@ -../JavaScript/js_calls.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/js_calltime.d b/cddl/contrib/dtracetoolkit/Bin/js_calltime.d deleted file mode 120000 index 6ec2eedd737d..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/js_calltime.d +++ /dev/null @@ -1 +0,0 @@ -../JavaScript/js_calltime.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/js_cpudist.d b/cddl/contrib/dtracetoolkit/Bin/js_cpudist.d deleted file mode 120000 index 2d0c07ab5370..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/js_cpudist.d +++ /dev/null @@ -1 +0,0 @@ -../JavaScript/js_cpudist.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/js_cputime.d b/cddl/contrib/dtracetoolkit/Bin/js_cputime.d deleted file mode 120000 index 1c5c716a3b16..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/js_cputime.d +++ /dev/null @@ -1 +0,0 @@ -../JavaScript/js_cputime.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/js_execs.d b/cddl/contrib/dtracetoolkit/Bin/js_execs.d deleted file mode 120000 index 2f5c4a6861fd..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/js_execs.d +++ /dev/null @@ -1 +0,0 @@ -../JavaScript/js_execs.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/js_flow.d b/cddl/contrib/dtracetoolkit/Bin/js_flow.d deleted file mode 120000 index ea2f3e78fab5..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/js_flow.d +++ /dev/null @@ -1 +0,0 @@ -../JavaScript/js_flow.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/js_flowinfo.d b/cddl/contrib/dtracetoolkit/Bin/js_flowinfo.d deleted file mode 120000 index 0edb8bd84ac8..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/js_flowinfo.d +++ /dev/null @@ -1 +0,0 @@ -../JavaScript/js_flowinfo.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/js_flowtime.d b/cddl/contrib/dtracetoolkit/Bin/js_flowtime.d deleted file mode 120000 index cec488cbfe96..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/js_flowtime.d +++ /dev/null @@ -1 +0,0 @@ -../JavaScript/js_flowtime.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/js_objcpu.d b/cddl/contrib/dtracetoolkit/Bin/js_objcpu.d deleted file mode 120000 index 51aacf53ef04..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/js_objcpu.d +++ /dev/null @@ -1 +0,0 @@ -../JavaScript/js_objcpu.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/js_objgc.d b/cddl/contrib/dtracetoolkit/Bin/js_objgc.d deleted file mode 120000 index 06f84602208c..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/js_objgc.d +++ /dev/null @@ -1 +0,0 @@ -../JavaScript/js_objgc.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/js_objnew.d b/cddl/contrib/dtracetoolkit/Bin/js_objnew.d deleted file mode 120000 index 1a7fc16abac7..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/js_objnew.d +++ /dev/null @@ -1 +0,0 @@ -../JavaScript/js_objnew.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/js_stat.d b/cddl/contrib/dtracetoolkit/Bin/js_stat.d deleted file mode 120000 index b2bc6da5871f..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/js_stat.d +++ /dev/null @@ -1 +0,0 @@ -../JavaScript/js_stat.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/js_who.d b/cddl/contrib/dtracetoolkit/Bin/js_who.d deleted file mode 120000 index 40bea74dbd19..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/js_who.d +++ /dev/null @@ -1 +0,0 @@ -../JavaScript/js_who.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/kill.d b/cddl/contrib/dtracetoolkit/Bin/kill.d deleted file mode 120000 index d8c4a73c0d55..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/kill.d +++ /dev/null @@ -1 +0,0 @@ -../Proc/kill.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/kstat_types.d b/cddl/contrib/dtracetoolkit/Bin/kstat_types.d deleted file mode 120000 index 156079c0e12c..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/kstat_types.d +++ /dev/null @@ -1 +0,0 @@ -../Kernel/kstat_types.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/lastwords b/cddl/contrib/dtracetoolkit/Bin/lastwords deleted file mode 120000 index 54fc3ae2cb8c..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/lastwords +++ /dev/null @@ -1 +0,0 @@ -../Proc/lastwords \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/loads.d b/cddl/contrib/dtracetoolkit/Bin/loads.d deleted file mode 120000 index 842dd94cce0b..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/loads.d +++ /dev/null @@ -1 +0,0 @@ -../Cpu/loads.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/lockbydist.d b/cddl/contrib/dtracetoolkit/Bin/lockbydist.d deleted file mode 120000 index 5e9b4a51ea77..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/lockbydist.d +++ /dev/null @@ -1 +0,0 @@ -../Locks/lockbydist.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/lockbyproc.d b/cddl/contrib/dtracetoolkit/Bin/lockbyproc.d deleted file mode 120000 index d16d9412107e..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/lockbyproc.d +++ /dev/null @@ -1 +0,0 @@ -../Locks/lockbyproc.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/minfbypid.d b/cddl/contrib/dtracetoolkit/Bin/minfbypid.d deleted file mode 120000 index b8ccf800e540..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/minfbypid.d +++ /dev/null @@ -1 +0,0 @@ -../Mem/minfbypid.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/minfbyproc.d b/cddl/contrib/dtracetoolkit/Bin/minfbyproc.d deleted file mode 120000 index 955320335515..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/minfbyproc.d +++ /dev/null @@ -1 +0,0 @@ -../Mem/minfbyproc.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/mmapfiles.d b/cddl/contrib/dtracetoolkit/Bin/mmapfiles.d deleted file mode 120000 index 728fd7551873..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/mmapfiles.d +++ /dev/null @@ -1 +0,0 @@ -../Proc/mmapfiles.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/modcalls.d b/cddl/contrib/dtracetoolkit/Bin/modcalls.d deleted file mode 120000 index fe49549de232..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/modcalls.d +++ /dev/null @@ -1 +0,0 @@ -../Kernel/modcalls.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/newproc.d b/cddl/contrib/dtracetoolkit/Bin/newproc.d deleted file mode 120000 index 9387784fc719..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/newproc.d +++ /dev/null @@ -1 +0,0 @@ -../Proc/newproc.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/nfswizard.d b/cddl/contrib/dtracetoolkit/Bin/nfswizard.d deleted file mode 120000 index ddc19d2f8042..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/nfswizard.d +++ /dev/null @@ -1 +0,0 @@ -../Apps/nfswizard.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/opensnoop b/cddl/contrib/dtracetoolkit/Bin/opensnoop deleted file mode 120000 index 3fcae8514482..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/opensnoop +++ /dev/null @@ -1 +0,0 @@ -../opensnoop \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/pathopens.d b/cddl/contrib/dtracetoolkit/Bin/pathopens.d deleted file mode 120000 index 21c28a5017ba..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/pathopens.d +++ /dev/null @@ -1 +0,0 @@ -../Proc/pathopens.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/pfilestat b/cddl/contrib/dtracetoolkit/Bin/pfilestat deleted file mode 120000 index 333765ff98db..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/pfilestat +++ /dev/null @@ -1 +0,0 @@ -../Proc/pfilestat \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/pgpginbypid.d b/cddl/contrib/dtracetoolkit/Bin/pgpginbypid.d deleted file mode 120000 index cfa2d799f0bc..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/pgpginbypid.d +++ /dev/null @@ -1 +0,0 @@ -../Mem/pgpginbypid.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/pgpginbyproc.d b/cddl/contrib/dtracetoolkit/Bin/pgpginbyproc.d deleted file mode 120000 index 4e9a8b754f58..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/pgpginbyproc.d +++ /dev/null @@ -1 +0,0 @@ -../Mem/pgpginbyproc.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/php_calldist.d b/cddl/contrib/dtracetoolkit/Bin/php_calldist.d deleted file mode 120000 index 5ac4b43e2f7f..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/php_calldist.d +++ /dev/null @@ -1 +0,0 @@ -../Php/php_calldist.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/php_calltime.d b/cddl/contrib/dtracetoolkit/Bin/php_calltime.d deleted file mode 120000 index 49fb14b78cd9..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/php_calltime.d +++ /dev/null @@ -1 +0,0 @@ -../Php/php_calltime.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/php_cpudist.d b/cddl/contrib/dtracetoolkit/Bin/php_cpudist.d deleted file mode 120000 index 6e6595e00e1b..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/php_cpudist.d +++ /dev/null @@ -1 +0,0 @@ -../Php/php_cpudist.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/php_cputime.d b/cddl/contrib/dtracetoolkit/Bin/php_cputime.d deleted file mode 120000 index 3e8ccb942b01..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/php_cputime.d +++ /dev/null @@ -1 +0,0 @@ -../Php/php_cputime.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/php_flow.d b/cddl/contrib/dtracetoolkit/Bin/php_flow.d deleted file mode 120000 index fa86f75a0bb4..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/php_flow.d +++ /dev/null @@ -1 +0,0 @@ -../Php/php_flow.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/php_flowinfo.d b/cddl/contrib/dtracetoolkit/Bin/php_flowinfo.d deleted file mode 120000 index 52ef64b7f459..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/php_flowinfo.d +++ /dev/null @@ -1 +0,0 @@ -../Php/php_flowinfo.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/php_flowtime.d b/cddl/contrib/dtracetoolkit/Bin/php_flowtime.d deleted file mode 120000 index 67dbe844b304..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/php_flowtime.d +++ /dev/null @@ -1 +0,0 @@ -../Php/php_flowtime.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/php_funccalls.d b/cddl/contrib/dtracetoolkit/Bin/php_funccalls.d deleted file mode 120000 index 2ba056bfe5e7..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/php_funccalls.d +++ /dev/null @@ -1 +0,0 @@ -../Php/php_funccalls.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/php_malloc.d b/cddl/contrib/dtracetoolkit/Bin/php_malloc.d deleted file mode 120000 index 9c51d8344eb2..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/php_malloc.d +++ /dev/null @@ -1 +0,0 @@ -../Php/php_malloc.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/php_syscalls.d b/cddl/contrib/dtracetoolkit/Bin/php_syscalls.d deleted file mode 120000 index 6587c4e1c387..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/php_syscalls.d +++ /dev/null @@ -1 +0,0 @@ -../Php/php_syscalls.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/php_syscolors.d b/cddl/contrib/dtracetoolkit/Bin/php_syscolors.d deleted file mode 120000 index 463f287a412d..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/php_syscolors.d +++ /dev/null @@ -1 +0,0 @@ -../Php/php_syscolors.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/php_who.d b/cddl/contrib/dtracetoolkit/Bin/php_who.d deleted file mode 120000 index 31d6acfd5773..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/php_who.d +++ /dev/null @@ -1 +0,0 @@ -../Php/php_who.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/pidpersec.d b/cddl/contrib/dtracetoolkit/Bin/pidpersec.d deleted file mode 120000 index 2ec6eb14514c..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/pidpersec.d +++ /dev/null @@ -1 +0,0 @@ -../Proc/pidpersec.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/pl_calldist.d b/cddl/contrib/dtracetoolkit/Bin/pl_calldist.d deleted file mode 120000 index d5ef923a2672..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/pl_calldist.d +++ /dev/null @@ -1 +0,0 @@ -../Perl/pl_calldist.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/pl_calltime.d b/cddl/contrib/dtracetoolkit/Bin/pl_calltime.d deleted file mode 120000 index 38986ec85b66..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/pl_calltime.d +++ /dev/null @@ -1 +0,0 @@ -../Perl/pl_calltime.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/pl_cpudist.d b/cddl/contrib/dtracetoolkit/Bin/pl_cpudist.d deleted file mode 120000 index ce4703602d09..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/pl_cpudist.d +++ /dev/null @@ -1 +0,0 @@ -../Perl/pl_cpudist.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/pl_cputime.d b/cddl/contrib/dtracetoolkit/Bin/pl_cputime.d deleted file mode 120000 index 66ea2f7867fe..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/pl_cputime.d +++ /dev/null @@ -1 +0,0 @@ -../Perl/pl_cputime.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/pl_flow.d b/cddl/contrib/dtracetoolkit/Bin/pl_flow.d deleted file mode 120000 index b5d566e1e13a..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/pl_flow.d +++ /dev/null @@ -1 +0,0 @@ -../Perl/pl_flow.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/pl_flowinfo.d b/cddl/contrib/dtracetoolkit/Bin/pl_flowinfo.d deleted file mode 120000 index ad53e51a6c75..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/pl_flowinfo.d +++ /dev/null @@ -1 +0,0 @@ -../Perl/pl_flowinfo.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/pl_flowtime.d b/cddl/contrib/dtracetoolkit/Bin/pl_flowtime.d deleted file mode 120000 index 89bee37932e2..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/pl_flowtime.d +++ /dev/null @@ -1 +0,0 @@ -../Perl/pl_flowtime.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/pl_malloc.d b/cddl/contrib/dtracetoolkit/Bin/pl_malloc.d deleted file mode 120000 index 025e4ef92f42..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/pl_malloc.d +++ /dev/null @@ -1 +0,0 @@ -../Perl/pl_malloc.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/pl_subcalls.d b/cddl/contrib/dtracetoolkit/Bin/pl_subcalls.d deleted file mode 120000 index 350f8c120550..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/pl_subcalls.d +++ /dev/null @@ -1 +0,0 @@ -../Perl/pl_subcalls.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/pl_syscalls.d b/cddl/contrib/dtracetoolkit/Bin/pl_syscalls.d deleted file mode 120000 index a1ab6e5e939d..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/pl_syscalls.d +++ /dev/null @@ -1 +0,0 @@ -../Perl/pl_syscalls.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/pl_syscolors.d b/cddl/contrib/dtracetoolkit/Bin/pl_syscolors.d deleted file mode 120000 index ebc087f4e4a0..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/pl_syscolors.d +++ /dev/null @@ -1 +0,0 @@ -../Perl/pl_syscolors.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/pl_who.d b/cddl/contrib/dtracetoolkit/Bin/pl_who.d deleted file mode 120000 index 398de670a223..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/pl_who.d +++ /dev/null @@ -1 +0,0 @@ -../Perl/pl_who.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/priclass.d b/cddl/contrib/dtracetoolkit/Bin/priclass.d deleted file mode 120000 index 09cd160a7375..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/priclass.d +++ /dev/null @@ -1 +0,0 @@ -../Kernel/priclass.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/pridist.d b/cddl/contrib/dtracetoolkit/Bin/pridist.d deleted file mode 120000 index 3c25cbdd35d9..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/pridist.d +++ /dev/null @@ -1 +0,0 @@ -../Kernel/pridist.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/procsystime b/cddl/contrib/dtracetoolkit/Bin/procsystime deleted file mode 120000 index 891c2a1d2f08..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/procsystime +++ /dev/null @@ -1 +0,0 @@ -../procsystime \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/putnexts.d b/cddl/contrib/dtracetoolkit/Bin/putnexts.d deleted file mode 120000 index 23cba6e46535..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/putnexts.d +++ /dev/null @@ -1 +0,0 @@ -../Kernel/putnexts.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/py_calldist.d b/cddl/contrib/dtracetoolkit/Bin/py_calldist.d deleted file mode 120000 index 4a007c54fff1..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/py_calldist.d +++ /dev/null @@ -1 +0,0 @@ -../Python/py_calldist.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/py_calltime.d b/cddl/contrib/dtracetoolkit/Bin/py_calltime.d deleted file mode 120000 index 6f1c400aba08..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/py_calltime.d +++ /dev/null @@ -1 +0,0 @@ -../Python/py_calltime.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/py_cpudist.d b/cddl/contrib/dtracetoolkit/Bin/py_cpudist.d deleted file mode 120000 index 76ce8db570a0..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/py_cpudist.d +++ /dev/null @@ -1 +0,0 @@ -../Python/py_cpudist.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/py_cputime.d b/cddl/contrib/dtracetoolkit/Bin/py_cputime.d deleted file mode 120000 index d11dd87ac40d..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/py_cputime.d +++ /dev/null @@ -1 +0,0 @@ -../Python/py_cputime.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/py_flow.d b/cddl/contrib/dtracetoolkit/Bin/py_flow.d deleted file mode 120000 index bf1485aff777..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/py_flow.d +++ /dev/null @@ -1 +0,0 @@ -../Python/py_flow.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/py_flowinfo.d b/cddl/contrib/dtracetoolkit/Bin/py_flowinfo.d deleted file mode 120000 index adc611499207..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/py_flowinfo.d +++ /dev/null @@ -1 +0,0 @@ -../Python/py_flowinfo.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/py_flowtime.d b/cddl/contrib/dtracetoolkit/Bin/py_flowtime.d deleted file mode 120000 index 1ae51db26bf5..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/py_flowtime.d +++ /dev/null @@ -1 +0,0 @@ -../Python/py_flowtime.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/py_funccalls.d b/cddl/contrib/dtracetoolkit/Bin/py_funccalls.d deleted file mode 120000 index 81015120f6ab..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/py_funccalls.d +++ /dev/null @@ -1 +0,0 @@ -../Python/py_funccalls.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/py_malloc.d b/cddl/contrib/dtracetoolkit/Bin/py_malloc.d deleted file mode 120000 index ed37a3b05678..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/py_malloc.d +++ /dev/null @@ -1 +0,0 @@ -../Python/py_malloc.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/py_mallocstk.d b/cddl/contrib/dtracetoolkit/Bin/py_mallocstk.d deleted file mode 120000 index d2bb1bbfc71e..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/py_mallocstk.d +++ /dev/null @@ -1 +0,0 @@ -../Python/py_mallocstk.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/py_profile.d b/cddl/contrib/dtracetoolkit/Bin/py_profile.d deleted file mode 120000 index 3eb72196f3f0..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/py_profile.d +++ /dev/null @@ -1 +0,0 @@ -../Python/py_profile.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/py_syscalls.d b/cddl/contrib/dtracetoolkit/Bin/py_syscalls.d deleted file mode 120000 index ecf137c31404..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/py_syscalls.d +++ /dev/null @@ -1 +0,0 @@ -../Python/py_syscalls.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/py_syscolors.d b/cddl/contrib/dtracetoolkit/Bin/py_syscolors.d deleted file mode 120000 index 6781115d28a3..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/py_syscolors.d +++ /dev/null @@ -1 +0,0 @@ -../Python/py_syscolors.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/py_who.d b/cddl/contrib/dtracetoolkit/Bin/py_who.d deleted file mode 120000 index 28db7e5f3e03..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/py_who.d +++ /dev/null @@ -1 +0,0 @@ -../Python/py_who.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/rb_calldist.d b/cddl/contrib/dtracetoolkit/Bin/rb_calldist.d deleted file mode 120000 index 8067860713ce..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/rb_calldist.d +++ /dev/null @@ -1 +0,0 @@ -../Ruby/rb_calldist.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/rb_calls.d b/cddl/contrib/dtracetoolkit/Bin/rb_calls.d deleted file mode 120000 index 266bacb2bf13..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/rb_calls.d +++ /dev/null @@ -1 +0,0 @@ -../Ruby/rb_calls.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/rb_calltime.d b/cddl/contrib/dtracetoolkit/Bin/rb_calltime.d deleted file mode 120000 index f00df1a616bd..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/rb_calltime.d +++ /dev/null @@ -1 +0,0 @@ -../Ruby/rb_calltime.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/rb_cpudist.d b/cddl/contrib/dtracetoolkit/Bin/rb_cpudist.d deleted file mode 120000 index 6e77cc33b7f5..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/rb_cpudist.d +++ /dev/null @@ -1 +0,0 @@ -../Ruby/rb_cpudist.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/rb_cputime.d b/cddl/contrib/dtracetoolkit/Bin/rb_cputime.d deleted file mode 120000 index 88d9138ef8f6..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/rb_cputime.d +++ /dev/null @@ -1 +0,0 @@ -../Ruby/rb_cputime.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/rb_flow.d b/cddl/contrib/dtracetoolkit/Bin/rb_flow.d deleted file mode 120000 index 1a0f490cde70..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/rb_flow.d +++ /dev/null @@ -1 +0,0 @@ -../Ruby/rb_flow.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/rb_flowinfo.d b/cddl/contrib/dtracetoolkit/Bin/rb_flowinfo.d deleted file mode 120000 index b8130191c8f5..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/rb_flowinfo.d +++ /dev/null @@ -1 +0,0 @@ -../Ruby/rb_flowinfo.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/rb_flowtime.d b/cddl/contrib/dtracetoolkit/Bin/rb_flowtime.d deleted file mode 120000 index 911ea08907cf..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/rb_flowtime.d +++ /dev/null @@ -1 +0,0 @@ -../Ruby/rb_flowtime.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/rb_funccalls.d b/cddl/contrib/dtracetoolkit/Bin/rb_funccalls.d deleted file mode 120000 index 2a3ac9a4adcf..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/rb_funccalls.d +++ /dev/null @@ -1 +0,0 @@ -../Ruby/rb_funccalls.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/rb_lines.d b/cddl/contrib/dtracetoolkit/Bin/rb_lines.d deleted file mode 120000 index 3447ccfedde3..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/rb_lines.d +++ /dev/null @@ -1 +0,0 @@ -../Ruby/rb_lines.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/rb_malloc.d b/cddl/contrib/dtracetoolkit/Bin/rb_malloc.d deleted file mode 120000 index b3e2ba77de96..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/rb_malloc.d +++ /dev/null @@ -1 +0,0 @@ -../Ruby/rb_malloc.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/rb_objcpu.d b/cddl/contrib/dtracetoolkit/Bin/rb_objcpu.d deleted file mode 120000 index ac7d6a22403f..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/rb_objcpu.d +++ /dev/null @@ -1 +0,0 @@ -../Ruby/rb_objcpu.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/rb_objnew.d b/cddl/contrib/dtracetoolkit/Bin/rb_objnew.d deleted file mode 120000 index ca7689888eac..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/rb_objnew.d +++ /dev/null @@ -1 +0,0 @@ -../Ruby/rb_objnew.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/rb_stat.d b/cddl/contrib/dtracetoolkit/Bin/rb_stat.d deleted file mode 120000 index 7a0e2aef1101..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/rb_stat.d +++ /dev/null @@ -1 +0,0 @@ -../Ruby/rb_stat.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/rb_syscalls.d b/cddl/contrib/dtracetoolkit/Bin/rb_syscalls.d deleted file mode 120000 index 1b15e57e4647..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/rb_syscalls.d +++ /dev/null @@ -1 +0,0 @@ -../Ruby/rb_syscalls.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/rb_syscolors.d b/cddl/contrib/dtracetoolkit/Bin/rb_syscolors.d deleted file mode 120000 index 4fd3d6a0c423..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/rb_syscolors.d +++ /dev/null @@ -1 +0,0 @@ -../Ruby/rb_syscolors.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/rb_who.d b/cddl/contrib/dtracetoolkit/Bin/rb_who.d deleted file mode 120000 index effc0ce82217..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/rb_who.d +++ /dev/null @@ -1 +0,0 @@ -../Ruby/rb_who.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/readbytes.d b/cddl/contrib/dtracetoolkit/Bin/readbytes.d deleted file mode 120000 index 4b82f0ced66c..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/readbytes.d +++ /dev/null @@ -1 +0,0 @@ -../Proc/readbytes.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/readdist.d b/cddl/contrib/dtracetoolkit/Bin/readdist.d deleted file mode 120000 index d73e49cec889..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/readdist.d +++ /dev/null @@ -1 +0,0 @@ -../Proc/readdist.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/rfileio.d b/cddl/contrib/dtracetoolkit/Bin/rfileio.d deleted file mode 120000 index a73a1bcfbfb9..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/rfileio.d +++ /dev/null @@ -1 +0,0 @@ -../FS/rfileio.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/rfsio.d b/cddl/contrib/dtracetoolkit/Bin/rfsio.d deleted file mode 120000 index 2dcbe2cd1493..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/rfsio.d +++ /dev/null @@ -1 +0,0 @@ -../FS/rfsio.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/runocc.d b/cddl/contrib/dtracetoolkit/Bin/runocc.d deleted file mode 120000 index 9b856b366296..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/runocc.d +++ /dev/null @@ -1 +0,0 @@ -../Cpu/runocc.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/rwbbypid.d b/cddl/contrib/dtracetoolkit/Bin/rwbbypid.d deleted file mode 120000 index be6540134d50..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/rwbbypid.d +++ /dev/null @@ -1 +0,0 @@ -../Proc/rwbbypid.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/rwbypid.d b/cddl/contrib/dtracetoolkit/Bin/rwbypid.d deleted file mode 120000 index 9dcec04b7b39..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/rwbypid.d +++ /dev/null @@ -1 +0,0 @@ -../Proc/rwbypid.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/rwbytype.d b/cddl/contrib/dtracetoolkit/Bin/rwbytype.d deleted file mode 120000 index a02b48d0a46d..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/rwbytype.d +++ /dev/null @@ -1 +0,0 @@ -../Proc/rwbytype.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/rwsnoop b/cddl/contrib/dtracetoolkit/Bin/rwsnoop deleted file mode 120000 index 3398d039476f..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/rwsnoop +++ /dev/null @@ -1 +0,0 @@ -../rwsnoop \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/rwtop b/cddl/contrib/dtracetoolkit/Bin/rwtop deleted file mode 120000 index 64e421bd72a5..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/rwtop +++ /dev/null @@ -1 +0,0 @@ -../rwtop \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/sampleproc b/cddl/contrib/dtracetoolkit/Bin/sampleproc deleted file mode 120000 index 7bdd2896b6f2..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/sampleproc +++ /dev/null @@ -1 +0,0 @@ -../Proc/sampleproc \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/sar-c.d b/cddl/contrib/dtracetoolkit/Bin/sar-c.d deleted file mode 120000 index 9a2221025781..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/sar-c.d +++ /dev/null @@ -1 +0,0 @@ -../System/sar-c.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/seeksize.d b/cddl/contrib/dtracetoolkit/Bin/seeksize.d deleted file mode 120000 index 3f853d79798c..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/seeksize.d +++ /dev/null @@ -1 +0,0 @@ -../Disk/seeksize.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/setuids.d b/cddl/contrib/dtracetoolkit/Bin/setuids.d deleted file mode 120000 index 43dbf8a72365..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/setuids.d +++ /dev/null @@ -1 +0,0 @@ -../User/setuids.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/sh_calldist.d b/cddl/contrib/dtracetoolkit/Bin/sh_calldist.d deleted file mode 120000 index abc69280fe66..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/sh_calldist.d +++ /dev/null @@ -1 +0,0 @@ -../Shell/sh_calldist.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/sh_calls.d b/cddl/contrib/dtracetoolkit/Bin/sh_calls.d deleted file mode 120000 index 2fa61317e21c..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/sh_calls.d +++ /dev/null @@ -1 +0,0 @@ -../Shell/sh_calls.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/sh_calltime.d b/cddl/contrib/dtracetoolkit/Bin/sh_calltime.d deleted file mode 120000 index 35331d361607..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/sh_calltime.d +++ /dev/null @@ -1 +0,0 @@ -../Shell/sh_calltime.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/sh_cpudist.d b/cddl/contrib/dtracetoolkit/Bin/sh_cpudist.d deleted file mode 120000 index d2fd1ce9d9f0..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/sh_cpudist.d +++ /dev/null @@ -1 +0,0 @@ -../Shell/sh_cpudist.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/sh_cputime.d b/cddl/contrib/dtracetoolkit/Bin/sh_cputime.d deleted file mode 120000 index 7188fc50a32e..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/sh_cputime.d +++ /dev/null @@ -1 +0,0 @@ -../Shell/sh_cputime.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/sh_flow.d b/cddl/contrib/dtracetoolkit/Bin/sh_flow.d deleted file mode 120000 index fc02ecf33544..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/sh_flow.d +++ /dev/null @@ -1 +0,0 @@ -../Shell/sh_flow.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/sh_flowinfo.d b/cddl/contrib/dtracetoolkit/Bin/sh_flowinfo.d deleted file mode 120000 index 10da77a9e072..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/sh_flowinfo.d +++ /dev/null @@ -1 +0,0 @@ -../Shell/sh_flowinfo.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/sh_flowtime.d b/cddl/contrib/dtracetoolkit/Bin/sh_flowtime.d deleted file mode 120000 index c3c3cb8a0cf8..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/sh_flowtime.d +++ /dev/null @@ -1 +0,0 @@ -../Shell/sh_flowtime.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/sh_lines.d b/cddl/contrib/dtracetoolkit/Bin/sh_lines.d deleted file mode 120000 index 918890ebfb93..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/sh_lines.d +++ /dev/null @@ -1 +0,0 @@ -../Shell/sh_lines.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/sh_pidcolors.d b/cddl/contrib/dtracetoolkit/Bin/sh_pidcolors.d deleted file mode 120000 index 24ae05471166..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/sh_pidcolors.d +++ /dev/null @@ -1 +0,0 @@ -../Shell/sh_pidcolors.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/sh_stat.d b/cddl/contrib/dtracetoolkit/Bin/sh_stat.d deleted file mode 120000 index 0dafd999b0e0..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/sh_stat.d +++ /dev/null @@ -1 +0,0 @@ -../Shell/sh_stat.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/sh_syscalls.d b/cddl/contrib/dtracetoolkit/Bin/sh_syscalls.d deleted file mode 120000 index 0402c76e8e02..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/sh_syscalls.d +++ /dev/null @@ -1 +0,0 @@ -../Shell/sh_syscalls.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/sh_syscolors.d b/cddl/contrib/dtracetoolkit/Bin/sh_syscolors.d deleted file mode 120000 index c79f82883525..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/sh_syscolors.d +++ /dev/null @@ -1 +0,0 @@ -../Shell/sh_syscolors.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/sh_wasted.d b/cddl/contrib/dtracetoolkit/Bin/sh_wasted.d deleted file mode 120000 index 564fc98adfeb..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/sh_wasted.d +++ /dev/null @@ -1 +0,0 @@ -../Shell/sh_wasted.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/sh_who.d b/cddl/contrib/dtracetoolkit/Bin/sh_who.d deleted file mode 120000 index ca00fab11e4d..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/sh_who.d +++ /dev/null @@ -1 +0,0 @@ -../Shell/sh_who.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/shellsnoop b/cddl/contrib/dtracetoolkit/Bin/shellsnoop deleted file mode 120000 index 84169abed066..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/shellsnoop +++ /dev/null @@ -1 +0,0 @@ -../Apps/shellsnoop \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/shortlived.d b/cddl/contrib/dtracetoolkit/Bin/shortlived.d deleted file mode 120000 index 6c234cf6dc4b..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/shortlived.d +++ /dev/null @@ -1 +0,0 @@ -../Proc/shortlived.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/sigdist.d b/cddl/contrib/dtracetoolkit/Bin/sigdist.d deleted file mode 120000 index 838da2686546..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/sigdist.d +++ /dev/null @@ -1 +0,0 @@ -../Proc/sigdist.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/stacksize.d b/cddl/contrib/dtracetoolkit/Bin/stacksize.d deleted file mode 120000 index cb6fec40bb79..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/stacksize.d +++ /dev/null @@ -1 +0,0 @@ -../Proc/stacksize.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/statsnoop b/cddl/contrib/dtracetoolkit/Bin/statsnoop deleted file mode 120000 index 445e361554aa..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/statsnoop +++ /dev/null @@ -1 +0,0 @@ -../statsnoop \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/swapinfo.d b/cddl/contrib/dtracetoolkit/Bin/swapinfo.d deleted file mode 120000 index e5cd10f76920..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/swapinfo.d +++ /dev/null @@ -1 +0,0 @@ -../Mem/swapinfo.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/sysbypid.d b/cddl/contrib/dtracetoolkit/Bin/sysbypid.d deleted file mode 120000 index 761ada95b82f..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/sysbypid.d +++ /dev/null @@ -1 +0,0 @@ -../Proc/sysbypid.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/syscallbypid.d b/cddl/contrib/dtracetoolkit/Bin/syscallbypid.d deleted file mode 120000 index eca83c7bf2d6..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/syscallbypid.d +++ /dev/null @@ -1 +0,0 @@ -../Proc/syscallbypid.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/syscallbyproc.d b/cddl/contrib/dtracetoolkit/Bin/syscallbyproc.d deleted file mode 120000 index 0260655574bb..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/syscallbyproc.d +++ /dev/null @@ -1 +0,0 @@ -../Proc/syscallbyproc.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/syscallbysysc.d b/cddl/contrib/dtracetoolkit/Bin/syscallbysysc.d deleted file mode 120000 index 43258f1ebdc4..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/syscallbysysc.d +++ /dev/null @@ -1 +0,0 @@ -../System/syscallbysysc.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/tcl_calldist.d b/cddl/contrib/dtracetoolkit/Bin/tcl_calldist.d deleted file mode 120000 index 6e3cf23de470..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/tcl_calldist.d +++ /dev/null @@ -1 +0,0 @@ -../Tcl/tcl_calldist.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/tcl_calls.d b/cddl/contrib/dtracetoolkit/Bin/tcl_calls.d deleted file mode 120000 index 3a48d0b3eda1..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/tcl_calls.d +++ /dev/null @@ -1 +0,0 @@ -../Tcl/tcl_calls.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/tcl_calltime.d b/cddl/contrib/dtracetoolkit/Bin/tcl_calltime.d deleted file mode 120000 index 32cead5d1edc..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/tcl_calltime.d +++ /dev/null @@ -1 +0,0 @@ -../Tcl/tcl_calltime.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/tcl_cpudist.d b/cddl/contrib/dtracetoolkit/Bin/tcl_cpudist.d deleted file mode 120000 index 1724115a9b64..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/tcl_cpudist.d +++ /dev/null @@ -1 +0,0 @@ -../Tcl/tcl_cpudist.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/tcl_cputime.d b/cddl/contrib/dtracetoolkit/Bin/tcl_cputime.d deleted file mode 120000 index e8269db5c879..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/tcl_cputime.d +++ /dev/null @@ -1 +0,0 @@ -../Tcl/tcl_cputime.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/tcl_flow.d b/cddl/contrib/dtracetoolkit/Bin/tcl_flow.d deleted file mode 120000 index 4f3e01f16541..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/tcl_flow.d +++ /dev/null @@ -1 +0,0 @@ -../Tcl/tcl_flow.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/tcl_flowtime.d b/cddl/contrib/dtracetoolkit/Bin/tcl_flowtime.d deleted file mode 120000 index 3664f7a1100e..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/tcl_flowtime.d +++ /dev/null @@ -1 +0,0 @@ -../Tcl/tcl_flowtime.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/tcl_ins.d b/cddl/contrib/dtracetoolkit/Bin/tcl_ins.d deleted file mode 120000 index d7480340a0ff..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/tcl_ins.d +++ /dev/null @@ -1 +0,0 @@ -../Tcl/tcl_ins.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/tcl_insflow.d b/cddl/contrib/dtracetoolkit/Bin/tcl_insflow.d deleted file mode 120000 index 9f716bda057e..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/tcl_insflow.d +++ /dev/null @@ -1 +0,0 @@ -../Tcl/tcl_insflow.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/tcl_proccalls.d b/cddl/contrib/dtracetoolkit/Bin/tcl_proccalls.d deleted file mode 120000 index 704e0b5cf20f..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/tcl_proccalls.d +++ /dev/null @@ -1 +0,0 @@ -../Tcl/tcl_proccalls.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/tcl_procflow.d b/cddl/contrib/dtracetoolkit/Bin/tcl_procflow.d deleted file mode 120000 index 51da9dcd15bf..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/tcl_procflow.d +++ /dev/null @@ -1 +0,0 @@ -../Tcl/tcl_procflow.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/tcl_stat.d b/cddl/contrib/dtracetoolkit/Bin/tcl_stat.d deleted file mode 120000 index 7f9659a2e8c1..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/tcl_stat.d +++ /dev/null @@ -1 +0,0 @@ -../Tcl/tcl_stat.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/tcl_syscalls.d b/cddl/contrib/dtracetoolkit/Bin/tcl_syscalls.d deleted file mode 120000 index aec76739ca2c..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/tcl_syscalls.d +++ /dev/null @@ -1 +0,0 @@ -../Tcl/tcl_syscalls.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/tcl_syscolors.d b/cddl/contrib/dtracetoolkit/Bin/tcl_syscolors.d deleted file mode 120000 index 890ea5ff3a2c..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/tcl_syscolors.d +++ /dev/null @@ -1 +0,0 @@ -../Tcl/tcl_syscolors.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/tcl_who.d b/cddl/contrib/dtracetoolkit/Bin/tcl_who.d deleted file mode 120000 index 7917b5ed7bab..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/tcl_who.d +++ /dev/null @@ -1 +0,0 @@ -../Tcl/tcl_who.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/tcpsnoop b/cddl/contrib/dtracetoolkit/Bin/tcpsnoop deleted file mode 120000 index 7f7b37d4394d..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/tcpsnoop +++ /dev/null @@ -1 +0,0 @@ -../Net/tcpsnoop \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/tcpsnoop.d b/cddl/contrib/dtracetoolkit/Bin/tcpsnoop.d deleted file mode 120000 index ad9ccf93a10d..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/tcpsnoop.d +++ /dev/null @@ -1 +0,0 @@ -../Net/tcpsnoop.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/tcpsnoop_snv b/cddl/contrib/dtracetoolkit/Bin/tcpsnoop_snv deleted file mode 120000 index 7ea5a09274d6..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/tcpsnoop_snv +++ /dev/null @@ -1 +0,0 @@ -../Net/tcpsnoop_snv \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/tcpsnoop_snv.d b/cddl/contrib/dtracetoolkit/Bin/tcpsnoop_snv.d deleted file mode 120000 index a2321e0d5947..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/tcpsnoop_snv.d +++ /dev/null @@ -1 +0,0 @@ -../Net/tcpsnoop_snv.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/tcpstat.d b/cddl/contrib/dtracetoolkit/Bin/tcpstat.d deleted file mode 120000 index 176f0e322756..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/tcpstat.d +++ /dev/null @@ -1 +0,0 @@ -../Net/tcpstat.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/tcptop b/cddl/contrib/dtracetoolkit/Bin/tcptop deleted file mode 120000 index a97fec359309..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/tcptop +++ /dev/null @@ -1 +0,0 @@ -../Net/tcptop \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/tcptop_snv b/cddl/contrib/dtracetoolkit/Bin/tcptop_snv deleted file mode 120000 index ad75a7b77596..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/tcptop_snv +++ /dev/null @@ -1 +0,0 @@ -../Net/tcptop_snv \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/tcpwdist.d b/cddl/contrib/dtracetoolkit/Bin/tcpwdist.d deleted file mode 120000 index 0be2a4139776..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/tcpwdist.d +++ /dev/null @@ -1 +0,0 @@ -../Net/tcpwdist.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/threaded.d b/cddl/contrib/dtracetoolkit/Bin/threaded.d deleted file mode 120000 index b9febd847996..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/threaded.d +++ /dev/null @@ -1 +0,0 @@ -../Proc/threaded.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/topsyscall b/cddl/contrib/dtracetoolkit/Bin/topsyscall deleted file mode 120000 index b9a2eec61fac..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/topsyscall +++ /dev/null @@ -1 +0,0 @@ -../System/topsyscall \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/topsysproc b/cddl/contrib/dtracetoolkit/Bin/topsysproc deleted file mode 120000 index d523f507cf9e..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/topsysproc +++ /dev/null @@ -1 +0,0 @@ -../Proc/topsysproc \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/udpstat.d b/cddl/contrib/dtracetoolkit/Bin/udpstat.d deleted file mode 120000 index 11d0bca5f36f..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/udpstat.d +++ /dev/null @@ -1 +0,0 @@ -../Net/udpstat.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/uname-a.d b/cddl/contrib/dtracetoolkit/Bin/uname-a.d deleted file mode 120000 index 11251757f57e..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/uname-a.d +++ /dev/null @@ -1 +0,0 @@ -../System/uname-a.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/vmbypid.d b/cddl/contrib/dtracetoolkit/Bin/vmbypid.d deleted file mode 120000 index 16e5ac4edadb..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/vmbypid.d +++ /dev/null @@ -1 +0,0 @@ -../Mem/vmbypid.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/vmstat-p.d b/cddl/contrib/dtracetoolkit/Bin/vmstat-p.d deleted file mode 120000 index a75e5a1b1544..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/vmstat-p.d +++ /dev/null @@ -1 +0,0 @@ -../Mem/vmstat-p.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/vmstat.d b/cddl/contrib/dtracetoolkit/Bin/vmstat.d deleted file mode 120000 index 395ba5f80858..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/vmstat.d +++ /dev/null @@ -1 +0,0 @@ -../Mem/vmstat.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/vopstat b/cddl/contrib/dtracetoolkit/Bin/vopstat deleted file mode 120000 index f38b57905d6e..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/vopstat +++ /dev/null @@ -1 +0,0 @@ -../FS/vopstat \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/weblatency.d b/cddl/contrib/dtracetoolkit/Bin/weblatency.d deleted file mode 120000 index c16bb2ee361b..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/weblatency.d +++ /dev/null @@ -1 +0,0 @@ -../Apps/weblatency.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/whatexec.d b/cddl/contrib/dtracetoolkit/Bin/whatexec.d deleted file mode 120000 index 660ff83826b7..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/whatexec.d +++ /dev/null @@ -1 +0,0 @@ -../Kernel/whatexec.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/woof.d b/cddl/contrib/dtracetoolkit/Bin/woof.d deleted file mode 120000 index a380d7c2f2ca..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/woof.d +++ /dev/null @@ -1 +0,0 @@ -../Misc/woof.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/wpm.d b/cddl/contrib/dtracetoolkit/Bin/wpm.d deleted file mode 120000 index fee9c99a1efb..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/wpm.d +++ /dev/null @@ -1 +0,0 @@ -../Misc/wpm.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/writebytes.d b/cddl/contrib/dtracetoolkit/Bin/writebytes.d deleted file mode 120000 index 586cbd75ba86..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/writebytes.d +++ /dev/null @@ -1 +0,0 @@ -../Proc/writebytes.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/writedist.d b/cddl/contrib/dtracetoolkit/Bin/writedist.d deleted file mode 120000 index 3710f132fe16..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/writedist.d +++ /dev/null @@ -1 +0,0 @@ -../Proc/writedist.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/xcallsbypid.d b/cddl/contrib/dtracetoolkit/Bin/xcallsbypid.d deleted file mode 120000 index 08c7feca8235..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/xcallsbypid.d +++ /dev/null @@ -1 +0,0 @@ -../Cpu/xcallsbypid.d \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/xvmstat b/cddl/contrib/dtracetoolkit/Bin/xvmstat deleted file mode 120000 index 24008fbb4672..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/xvmstat +++ /dev/null @@ -1 +0,0 @@ -../Mem/xvmstat \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Bin/zvmstat b/cddl/contrib/dtracetoolkit/Bin/zvmstat deleted file mode 120000 index 41c7dbbb31e0..000000000000 --- a/cddl/contrib/dtracetoolkit/Bin/zvmstat +++ /dev/null @@ -1 +0,0 @@ -../Zones/zvmstat \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Code/Java/Func_abc.java b/cddl/contrib/dtracetoolkit/Code/Java/Func_abc.java deleted file mode 100644 index c14012e4988e..000000000000 --- a/cddl/contrib/dtracetoolkit/Code/Java/Func_abc.java +++ /dev/null @@ -1,26 +0,0 @@ -public class Func_abc { - public static void func_c() { - System.out.println("Function C"); - try { - Thread.currentThread().sleep(1000); - } catch (Exception e) { } - } - public static void func_b() { - System.out.println("Function B"); - try { - Thread.currentThread().sleep(1000); - } catch (Exception e) { } - func_c(); - } - public static void func_a() { - System.out.println("Function A"); - try { - Thread.currentThread().sleep(1000); - } catch (Exception e) { } - func_b(); - } - - public static void main(String[] args) { - func_a(); - } -} diff --git a/cddl/contrib/dtracetoolkit/Code/Java/Func_loop.java b/cddl/contrib/dtracetoolkit/Code/Java/Func_loop.java deleted file mode 100644 index 81be852bb7f1..000000000000 --- a/cddl/contrib/dtracetoolkit/Code/Java/Func_loop.java +++ /dev/null @@ -1,19 +0,0 @@ -public class Func_loop { - public static void func_c() { - System.out.println("Function C"); - while (true) { - } - } - public static void func_b() { - System.out.println("Function B"); - func_c(); - } - public static void func_a() { - System.out.println("Function A"); - func_b(); - } - - public static void main(String[] args) { - func_a(); - } -} diff --git a/cddl/contrib/dtracetoolkit/Code/JavaScript/func_clock.html b/cddl/contrib/dtracetoolkit/Code/JavaScript/func_clock.html deleted file mode 100644 index c25610b30f2c..000000000000 --- a/cddl/contrib/dtracetoolkit/Code/JavaScript/func_clock.html +++ /dev/null @@ -1,39 +0,0 @@ - - -func_clock, JavaScript - - - -
- - diff --git a/cddl/contrib/dtracetoolkit/Code/JavaScript/func_slow.html b/cddl/contrib/dtracetoolkit/Code/JavaScript/func_slow.html deleted file mode 100644 index 14fdfda3870c..000000000000 --- a/cddl/contrib/dtracetoolkit/Code/JavaScript/func_slow.html +++ /dev/null @@ -1,31 +0,0 @@ - -func_slow, JavaScript - - - - diff --git a/cddl/contrib/dtracetoolkit/Code/Perl/func_abc.pl b/cddl/contrib/dtracetoolkit/Code/Perl/func_abc.pl deleted file mode 100755 index 394f1c2b245a..000000000000 --- a/cddl/contrib/dtracetoolkit/Code/Perl/func_abc.pl +++ /dev/null @@ -1,20 +0,0 @@ -#!./perl -w - -sub func_c { - print "Function C\n"; - sleep 1; -} - -sub func_b { - print "Function B\n"; - sleep 1; - func_c(); -} - -sub func_a { - print "Function A\n"; - sleep 1; - func_b(); -} - -func_a(); diff --git a/cddl/contrib/dtracetoolkit/Code/Perl/func_malloc.pl b/cddl/contrib/dtracetoolkit/Code/Perl/func_malloc.pl deleted file mode 100755 index 5340c82b2cdc..000000000000 --- a/cddl/contrib/dtracetoolkit/Code/Perl/func_malloc.pl +++ /dev/null @@ -1,18 +0,0 @@ -#!./perl -w - -sub func_c { - print "Function C\n"; -} - -sub func_b { - print "Function B\n"; - my $b = "B" x 100_000; - func_c(); -} - -sub func_a { - print "Function A\n"; - func_b(); -} - -func_a(); diff --git a/cddl/contrib/dtracetoolkit/Code/Perl/func_slow.pl b/cddl/contrib/dtracetoolkit/Code/Perl/func_slow.pl deleted file mode 100755 index f32d09ed9bf8..000000000000 --- a/cddl/contrib/dtracetoolkit/Code/Perl/func_slow.pl +++ /dev/null @@ -1,20 +0,0 @@ -#!./perl -w - -sub func_c { - print "Function C\n"; - for (my $i = 0; $i < 3000000; $i++) { my $j = $i + 1; } -} - -sub func_b { - print "Function B\n"; - for (my $i = 0; $i < 2000000; $i++) { my $j = $i + 1 ; } - func_c(); -} - -sub func_a { - print "Function A\n"; - for (my $i = 0; $i < 1000000; $i++) { my $j = $i + 1; } - func_b(); -} - -func_a(); diff --git a/cddl/contrib/dtracetoolkit/Code/Perl/hello.pl b/cddl/contrib/dtracetoolkit/Code/Perl/hello.pl deleted file mode 100755 index 3ca70a2847c8..000000000000 --- a/cddl/contrib/dtracetoolkit/Code/Perl/hello.pl +++ /dev/null @@ -1,3 +0,0 @@ -#!./perl - -print "Hello World!\n"; diff --git a/cddl/contrib/dtracetoolkit/Code/Perl/hello_strict.pl b/cddl/contrib/dtracetoolkit/Code/Perl/hello_strict.pl deleted file mode 100755 index 78003a971448..000000000000 --- a/cddl/contrib/dtracetoolkit/Code/Perl/hello_strict.pl +++ /dev/null @@ -1,5 +0,0 @@ -#!./perl -w - -use strict; - -print "Hello World!\n"; diff --git a/cddl/contrib/dtracetoolkit/Code/Php/func_abc.php b/cddl/contrib/dtracetoolkit/Code/Php/func_abc.php deleted file mode 100644 index 916561157881..000000000000 --- a/cddl/contrib/dtracetoolkit/Code/Php/func_abc.php +++ /dev/null @@ -1,23 +0,0 @@ - diff --git a/cddl/contrib/dtracetoolkit/Code/Python/func_abc.py b/cddl/contrib/dtracetoolkit/Code/Python/func_abc.py deleted file mode 100755 index 0d4919fb8930..000000000000 --- a/cddl/contrib/dtracetoolkit/Code/Python/func_abc.py +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/python - -import time - -def func_c(): - print "Function C" - time.sleep(1) - -def func_b(): - print "Function B" - time.sleep(1) - func_c() - -def func_a(): - print "Function A" - time.sleep(1) - func_b() - -func_a() diff --git a/cddl/contrib/dtracetoolkit/Code/Python/func_slow.py b/cddl/contrib/dtracetoolkit/Code/Python/func_slow.py deleted file mode 100755 index 9cba9c5b1204..000000000000 --- a/cddl/contrib/dtracetoolkit/Code/Python/func_slow.py +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/python - -def func_c(): - print "Function C" - i = 0 - while (i < 3000000): - i = i + 1 - j = i + 1 - -def func_b(): - print "Function B" - i = 0 - while (i < 2000000): - i = i + 1 - j = i + 1 - func_c() - -def func_a(): - print "Function A" - i = 0 - while (i < 1000000): - i = i + 1 - j = i + 1 - func_b() - -func_a() diff --git a/cddl/contrib/dtracetoolkit/Code/Readme b/cddl/contrib/dtracetoolkit/Code/Readme deleted file mode 100644 index f8b16d79b7e4..000000000000 --- a/cddl/contrib/dtracetoolkit/Code/Readme +++ /dev/null @@ -1,16 +0,0 @@ -Code - Example Programs - - This directory contains example software sorted by language, which may - be used as the target for DTrace scripts. These examples are simple and - to the point, and are intended as example targets for when learing - DTrace. - - Some people attempt to learn DTrace by tracing their complex real - world application first. That's the hard way. Try these programs instead, - and once you are confident here, move onto harder targets. - - Some of these programs feature in the example files in the /Examples - directory. - - This directory does not contain DTrace scripts. - diff --git a/cddl/contrib/dtracetoolkit/Code/Ruby/func_abc.rb b/cddl/contrib/dtracetoolkit/Code/Ruby/func_abc.rb deleted file mode 100755 index 75adaf9f7ff1..000000000000 --- a/cddl/contrib/dtracetoolkit/Code/Ruby/func_abc.rb +++ /dev/null @@ -1,20 +0,0 @@ -#!./ruby -w - -def func_c - print "Function C\n" - sleep 1 -end - -def func_b - print "Function B\n" - sleep 1 - func_c -end - -def func_a - print "Function A\n" - sleep 1 - func_b -end - -func_a diff --git a/cddl/contrib/dtracetoolkit/Code/Ruby/func_slow.rb b/cddl/contrib/dtracetoolkit/Code/Ruby/func_slow.rb deleted file mode 100755 index 87a498c6a3b1..000000000000 --- a/cddl/contrib/dtracetoolkit/Code/Ruby/func_slow.rb +++ /dev/null @@ -1,32 +0,0 @@ -#!./ruby -w - -def func_c - print "Function C\n" - i = 0 - while i < 300000 - i = i + 1 - j = i + 1 - end -end - -def func_b - print "Function B\n" - i = 0 - while i < 200000 - i = i + 1 - j = i + 1 - end - func_c -end - -def func_a - print "Function A\n" - i = 0 - while i < 100000 - i = i + 1 - j = i + 1 - end - func_b -end - -func_a diff --git a/cddl/contrib/dtracetoolkit/Code/Shell/func_abc.sh b/cddl/contrib/dtracetoolkit/Code/Shell/func_abc.sh deleted file mode 100755 index b44ce570ab93..000000000000 --- a/cddl/contrib/dtracetoolkit/Code/Shell/func_abc.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!./sh - -func_c() -{ - echo "Function C" - sleep 1 -} - -func_b() -{ - echo "Function B" - sleep 1 - func_c -} - -func_a() -{ - echo "Function A" - sleep 1 - func_b -} - -func_a diff --git a/cddl/contrib/dtracetoolkit/Code/Shell/func_slow.sh b/cddl/contrib/dtracetoolkit/Code/Shell/func_slow.sh deleted file mode 100755 index 3407646f9c64..000000000000 --- a/cddl/contrib/dtracetoolkit/Code/Shell/func_slow.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!./sh - -func_c() -{ - echo "Function C" - i=0 - while [ $i -lt 300 ] - do - i=`expr $i + 1` - done -} - -func_b() -{ - echo "Function B" - i=0 - while [ $i -lt 200 ] - do - i=`expr $i + 1` - done - func_c -} - -func_a() -{ - echo "Function A" - i=0 - while [ $i -lt 100 ] - do - i=`expr $i + 1` - done - func_b -} - -func_a diff --git a/cddl/contrib/dtracetoolkit/Code/Shell/func_waste.sh b/cddl/contrib/dtracetoolkit/Code/Shell/func_waste.sh deleted file mode 100755 index bfeeecb4ef4e..000000000000 --- a/cddl/contrib/dtracetoolkit/Code/Shell/func_waste.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!./sh - -func_c() -{ - /usr/bin/echo "Function C" - sleep 1 -} - -func_b() -{ - /usr/bin/echo "Function B" - sleep 1 - func_c -} - -func_a() -{ - /usr/bin/echo "Function A" - sleep 1 - func_b -} - -func_a diff --git a/cddl/contrib/dtracetoolkit/Code/Tcl/func_abc.tcl b/cddl/contrib/dtracetoolkit/Code/Tcl/func_abc.tcl deleted file mode 100644 index c84acb074882..000000000000 --- a/cddl/contrib/dtracetoolkit/Code/Tcl/func_abc.tcl +++ /dev/null @@ -1,20 +0,0 @@ -#!./tclsh - -proc func_c {} { - puts "Function C" - after 1000 -} - -proc func_b {} { - puts "Function B" - after 1000 - func_c -} - -proc func_a {} { - puts "Function A" - after 1000 - func_b -} - -func_a diff --git a/cddl/contrib/dtracetoolkit/Code/Tcl/func_slow.tcl b/cddl/contrib/dtracetoolkit/Code/Tcl/func_slow.tcl deleted file mode 100644 index d4fc59894680..000000000000 --- a/cddl/contrib/dtracetoolkit/Code/Tcl/func_slow.tcl +++ /dev/null @@ -1,29 +0,0 @@ -#!./tclsh - -proc func_c {} { - puts "Function C" - set i 0 - while {$i < 300000} { - set i [expr $i + 1] - } -} - -proc func_b {} { - puts "Function B" - set i 0 - while {$i < 200000} { - set i [expr $i + 1] - } - func_c -} - -proc func_a {} { - puts "Function A" - set i 0 - while {$i < 100000} { - set i [expr $i + 1] - } - func_b -} - -func_a diff --git a/cddl/contrib/dtracetoolkit/Cpu/Readme b/cddl/contrib/dtracetoolkit/Cpu/Readme deleted file mode 100644 index e0f8698c71b2..000000000000 --- a/cddl/contrib/dtracetoolkit/Cpu/Readme +++ /dev/null @@ -1,3 +0,0 @@ -Cpu - CPU based analysis - - This would include activity by CPU. diff --git a/cddl/contrib/dtracetoolkit/Cpu/cputypes.d b/cddl/contrib/dtracetoolkit/Cpu/cputypes.d deleted file mode 100755 index 213af9efa935..000000000000 --- a/cddl/contrib/dtracetoolkit/Cpu/cputypes.d +++ /dev/null @@ -1,66 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * cputypes.d - list CPU type info. - * Written using DTrace (Solaris 10 3/05). - * - * $Id: cputypes.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: cputypes.d - * - * FIELDS: - * CPU CPU ID - * CHIP chip ID - * PSET processor set ID - * LGRP latency group ID - * CLOCK clock speed, MHz - * TYPE CPU type - * FPU floating point identifier types - * - * SEE ALSO: psrinfo(1M) - * /usr/include/sys/processor.h - * - * COPYRIGHT: Copyright (c) 2005 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 27-Jun-2005 Brendan Gregg Created this. - * 27-Jun-2005 " " Last update. - */ - -#pragma D option quiet -#pragma D option bufsize=64k - -dtrace:::BEGIN -{ - printf("%4s %4s %4s %4s %6s %-16s %s\n", - "CPU", "CHIP", "PSET", "LGRP", "CLOCK", "TYPE", "FPU"); - done[0] = 0; -} - -profile:::profile-10ms -/done[cpu] == 0/ -{ - printf("%4d %4d %4d %4d %6d %-16s %s\n", - cpu, curcpu->cpu_chip, curcpu->cpu_pset, - curcpu->cpu_lgrp, curcpu->cpu_info.pi_clock, - stringof(curcpu->cpu_info.pi_processor_type), - stringof(curcpu->cpu_info.pi_fputypes)); - done[cpu]++; -} - -profile:::tick-100ms -{ - exit(0); -} diff --git a/cddl/contrib/dtracetoolkit/Cpu/cpuwalk.d b/cddl/contrib/dtracetoolkit/Cpu/cpuwalk.d deleted file mode 100755 index 495f64bb5f95..000000000000 --- a/cddl/contrib/dtracetoolkit/Cpu/cpuwalk.d +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * cpuwalk.d - Measure which CPUs a process runs on. - * Written using DTrace (Solaris 10 3/05) - * - * This program is for multi-CPU servers, and can help identify if a process - * is running on multiple CPUs concurrently or not. - * - * $Id: cpuwalk.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: cpuwalk.d [duration] - * eg, - * cpuwalk.d 10 # sample for 10 seconds - * cpuwalk.d # sample until Ctrl-C is hit - * - * FIELDS: - * value CPU id - * count Number of 1000 hz samples on this CPU - * - * COPYRIGHT: Copyright (c) 2005 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 22-Sep-2005 Brendan Gregg Created this. - * 14-Feb-2006 " " Last update. - */ - -#pragma D option quiet -#pragma D option defaultargs - -inline int MAXCPUID = 1024; - -dtrace:::BEGIN -{ - $1 ? printf("Sampling...\n") : - printf("Sampling... Hit Ctrl-C to end.\n"); - seconds = 0; -} - -profile:::profile-1000hz -/pid/ -{ - @sample[pid, execname] = lquantize(cpu, 0, MAXCPUID, 1); -} - -profile:::tick-1sec -{ - seconds++; -} - -profile:::tick-1sec -/seconds == $1/ -{ - exit(0); -} - -dtrace:::END -{ - printa("\n PID: %-8d CMD: %s\n%@d", @sample); -} diff --git a/cddl/contrib/dtracetoolkit/Cpu/dispqlen.d b/cddl/contrib/dtracetoolkit/Cpu/dispqlen.d deleted file mode 100755 index 46742c5a02b1..000000000000 --- a/cddl/contrib/dtracetoolkit/Cpu/dispqlen.d +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * dispqlen.d - dispatcher queue length by CPU. - * Written using DTrace (Solaris 10 3/05). - * - * $Id: dispqlen.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: dispqlen.d # hit Ctrl-C to end sample - * - * NOTES: The dispatcher queue length is an indication of CPU saturation. - * It is not an indicatior of utilisation - the CPUs may or may not be - * utilised when the dispatcher queue reports a length of zero. - * - * SEE ALSO: uptime(1M) - * - * COPYRIGHT: Copyright (c) 2005 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 27-Jun-2005 Brendan Gregg Created this. - * 14-Feb-2006 " " Last update. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Sampling... Hit Ctrl-C to end.\n"); -} - -profile:::profile-1000hz -{ - @queue[cpu] = - lquantize(curthread->t_cpu->cpu_disp->disp_nrunnable, 0, 64, 1); -} - -dtrace:::END -{ - printa(" CPU %d%@d\n", @queue); -} diff --git a/cddl/contrib/dtracetoolkit/Cpu/intbycpu.d b/cddl/contrib/dtracetoolkit/Cpu/intbycpu.d deleted file mode 100755 index 606f40280564..000000000000 --- a/cddl/contrib/dtracetoolkit/Cpu/intbycpu.d +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * intbycpu.d - interrupts by CPU. - * Written using DTrace (Solaris 10 3/05). - * - * $Id: intbycpu.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: intbycpu.d # hit Ctrl-C to end sample - * - * FIELDS: - * CPU CPU number - * INTERRUPTS number of interrupts in sample - * - * This is based on a DTrace OneLiner from the DTraceToolkit. - * - * COPYRIGHT: Copyright (c) 2005, 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 15-May-2005 Brendan Gregg Created this. - * 20-Apr-2006 " " Last update. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -sdt:::interrupt-start { @num[cpu] = count(); } - -dtrace:::END -{ - printf("%-16s %16s\n", "CPU", "INTERRUPTS"); - printa("%-16d %@16d\n", @num); -} diff --git a/cddl/contrib/dtracetoolkit/Cpu/intoncpu.d b/cddl/contrib/dtracetoolkit/Cpu/intoncpu.d deleted file mode 100755 index b32685ab689b..000000000000 --- a/cddl/contrib/dtracetoolkit/Cpu/intoncpu.d +++ /dev/null @@ -1,66 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * intoncpu.d - print interrupt on-cpu usage. - * Written using DTrace (Solaris 10 3/05) - * - * $Id: intoncpu.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: intoncpu.d # wait several seconds, then hit Ctrl-C - * - * FIELDS: - * value Time interrupt thread was on-cpu, ns - * count Number of occurrences of at least this time - * - * BASED ON: /usr/demo/dtrace/intr.d - * - * SEE ALSO: DTrace Guide "sdt Provider" chapter (docs.sun.com) - * intrstat(1M) - * - * PORTIONS: Copyright (c) 2005, 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-May-2005 Brendan Gregg Created this. - * 20-Apr-2006 " " Last update. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -sdt:::interrupt-start -{ - self->ts = vtimestamp; -} - -sdt:::interrupt-complete -/self->ts && arg0 != 0/ -{ - this->devi = (struct dev_info *)arg0; - /* this checks the pointer is valid, */ - self->name = this->devi != 0 ? - stringof(`devnamesp[this->devi->devi_major].dn_name) : "?"; - this->inst = this->devi != 0 ? this->devi->devi_instance : 0; - @Time[self->name, this->inst] = quantize(vtimestamp - self->ts); - self->name = 0; -} - -dtrace:::END -{ - printa("%s%d\n%@d", @Time); -} diff --git a/cddl/contrib/dtracetoolkit/Cpu/inttimes.d b/cddl/contrib/dtracetoolkit/Cpu/inttimes.d deleted file mode 100755 index 926a566553e5..000000000000 --- a/cddl/contrib/dtracetoolkit/Cpu/inttimes.d +++ /dev/null @@ -1,73 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * inttimes.d - print interrupt on-cpu time. - * Written using DTrace (Solaris 10 3/05) - * - * $Id: inttimes.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: inttimes.d # wait several seconds, then hit Ctrl-C - * - * FIELDS: - * DEVICE instance name of device driver - * TIME (ns) sum of time spent servicing interrupt (ns) - * - * BASED ON: /usr/demo/dtrace/intr.d - * - * SEE ALSO: - * DTrace Guide "sdt Provider" chapter (docs.sun.com) - * intrstat(1M) - * - * PORTIONS: Copyright (c) 2005 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 28-Jun-2005 Brendan Gregg Created this. - * 20-Apr-2006 " " Last update. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -sdt:::interrupt-start -{ - self->ts = vtimestamp; -} - -sdt:::interrupt-complete -/self->ts && arg0 != 0/ -{ - this->devi = (struct dev_info *)arg0; - /* this checks the pointer is valid, */ - self->name = this->devi != 0 ? - stringof(`devnamesp[this->devi->devi_major].dn_name) : "?"; - this->inst = this->devi != 0 ? this->devi->devi_instance : 0; - @num[self->name, this->inst] = sum(vtimestamp - self->ts); - self->name = 0; -} - -sdt:::interrupt-complete -{ - self->ts = 0; -} - -dtrace:::END -{ - printf("%11s %16s\n", "DEVICE", "TIME (ns)"); - printa("%10s%-3d %@16d\n", @num); -} diff --git a/cddl/contrib/dtracetoolkit/Cpu/loads.d b/cddl/contrib/dtracetoolkit/Cpu/loads.d deleted file mode 100755 index 681e8f6beb7d..000000000000 --- a/cddl/contrib/dtracetoolkit/Cpu/loads.d +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * loads.d - print load averages. Written using DTrace (Solaris 10 3/05). - * - * These are the same load averages that the "uptime" command prints. - * The purpose of this script is to demonstrate fetching these values - * from the DTrace language. - * - * $Id: loads.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: loads.d - * - * SEE ALSO: uptime(1) - * - * The first field is the 1 minute average, the second is the 5 minute, - * and the third is the 15 minute average. The value represents the average - * number of runnable threads in the system, a value higher than your - * CPU (core/hwthread) count may be a sign of CPU saturation. - * - * COPYRIGHT: Copyright (c) 2005 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 10-Jun-2005 Brendan Gregg Created this. - * 10-Jun-2005 " " Last update. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - /* fetch load averages */ - this->load1a = `hp_avenrun[0] / 65536; - this->load5a = `hp_avenrun[1] / 65536; - this->load15a = `hp_avenrun[2] / 65536; - this->load1b = ((`hp_avenrun[0] % 65536) * 100) / 65536; - this->load5b = ((`hp_avenrun[1] % 65536) * 100) / 65536; - this->load15b = ((`hp_avenrun[2] % 65536) * 100) / 65536; - - /* print load average */ - printf("%Y, load average: %d.%02d, %d.%02d, %d.%02d\n", - walltimestamp, this->load1a, this->load1b, this->load5a, - this->load5b, this->load15a, this->load15b); - - exit(0); -} diff --git a/cddl/contrib/dtracetoolkit/Cpu/runocc.d b/cddl/contrib/dtracetoolkit/Cpu/runocc.d deleted file mode 100755 index a2b046971a2c..000000000000 --- a/cddl/contrib/dtracetoolkit/Cpu/runocc.d +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * runocc.d - run queue occupancy by CPU. - * Written using DTrace (Solaris 10 3/05). - * - * This prints the dispatcher run queue occupancy by CPU each second. - * A consistant run queue occupancy is a sign of CPU saturation. - * - * The value is similar to that seen in "sar -q", however this is - * calculated in a more accurate manner - sampling at 1000 Hertz. - * - * $Id: runocc.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: runocc.d - * - * FIELDS: - * CPU cpu ID - * %runocc % run queue occupancy, sampled at 1000 Hertz - * - * SEE ALSO: Solaris Internals 2nd Ed, vol 2, CPU chapter. - * - * COPYRIGHT: Copyright (c) 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 02-Mar-2006 Brendan Gregg Created this. - * 24-Apr-2006 " " Last update. - */ - -#pragma D option quiet - -profile-1000hz -/curthread->t_cpu->cpu_disp->disp_nrunnable/ -{ - @qocc[cpu] = count(); -} - -profile:::tick-1sec -{ - normalize(@qocc, 10); - printf("\n%8s %8s\n", "CPU", "%runocc"); - printa("%8d %@8d\n", @qocc); - clear(@qocc); -} diff --git a/cddl/contrib/dtracetoolkit/Cpu/xcallsbypid.d b/cddl/contrib/dtracetoolkit/Cpu/xcallsbypid.d deleted file mode 100755 index b08027c2a254..000000000000 --- a/cddl/contrib/dtracetoolkit/Cpu/xcallsbypid.d +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * xcallsbypid.d - CPU cross calls by PID. - * Writen using DTrace (Solaris 10 3/05). - * - * $Id: xcallsbypid.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: xcallsbypid.d # hit Ctrl-C to end sample - * - * FIELDS: - * PID process ID - * CMD process name - * XCALLS number of cross calls - * - * COPYRIGHT: Copyright (c) 2005, 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 17-Sep-2005 Brendan Gregg Created this. - * 20-Apr-2006 " " Last update. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -sysinfo:::xcalls -{ - @num[pid, execname] = count(); -} - -dtrace:::END -{ - printf("%6s %-16s %16s\n", "PID", "CMD", "XCALLS"); - printa("%6d %-16s %@16d\n", @num); -} diff --git a/cddl/contrib/dtracetoolkit/Disk/Readme b/cddl/contrib/dtracetoolkit/Disk/Readme deleted file mode 100644 index 37a5301cb466..000000000000 --- a/cddl/contrib/dtracetoolkit/Disk/Readme +++ /dev/null @@ -1,3 +0,0 @@ -Disk - Disk based analysis - - These are scripts that analyse I/O activity that has made it to the disks. diff --git a/cddl/contrib/dtracetoolkit/Disk/bitesize.d b/cddl/contrib/dtracetoolkit/Disk/bitesize.d deleted file mode 100755 index f2e8ea4fcc3b..000000000000 --- a/cddl/contrib/dtracetoolkit/Disk/bitesize.d +++ /dev/null @@ -1,81 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * bitesize.d - analyse disk I/O size by process. - * Written using DTrace (Solaris 10 3/05). - * - * This produces a report for the size of disk events caused by - * processes. These are the disk events sent by the block I/O driver. - * - * If applications must use the disks, we generally prefer they do so - * with large I/O sizes. - * - * $Id: bitesize.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: bitesize.d # wait several seconds, then hit Ctrl-C - * - * FIELDS: - * PID process ID - * CMD command and argument list - * value size in bytes - * count number of I/O operations - * - * NOTES: - * - * The application may be requesting smaller sized operations, which - * are being rounded up to the nearest sector size or UFS block size. - * To analyse what the application is requesting, DTraceToolkit programs - * such as Proc/fddist may help. - * - * SEE ALSO: seeksize.d, iosnoop - * - * COPYRIGHT: Copyright (c) 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 31-Mar-2004 Brendan Gregg Created this, build 51. - * 10-Oct-2004 " " Rewrote to use the io provider, build 63. - * 18-Feb-2006 " " Last update. - */ - -#pragma D option quiet - -/* - * Print header - */ -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -/* - * Process io start - */ -io:::start -{ - /* fetch details */ - this->size = args[0]->b_bcount; - - /* store details */ - @Size[pid, curpsinfo->pr_psargs] = quantize(this->size); -} - -/* - * Print final report - */ -dtrace:::END -{ - printf("\n%8s %s\n", "PID", "CMD"); - printa("%8d %S\n%@d\n", @Size); -} diff --git a/cddl/contrib/dtracetoolkit/Disk/diskhits b/cddl/contrib/dtracetoolkit/Disk/diskhits deleted file mode 100755 index 3d72e4ade583..000000000000 --- a/cddl/contrib/dtracetoolkit/Disk/diskhits +++ /dev/null @@ -1,113 +0,0 @@ -#!/usr/bin/ksh -# -# diskhits - disk access by file offset. -# Written using DTrace (Solaris 10 3/05). -# -# $Id: diskhits 3 2007-08-01 10:50:08Z brendan $ -# -# This prints how a file was accessed, the locations on a distribution plot. -# This is for the cache misses only - the file activity that resulted in -# disk events. -# -# USAGE: diskhits pathname -# eg, -# diskhits /var/adm/messages -# -# FIELDS: -# Location (KB) The file offset of the disk activity, Kbytes. -# Size (KB) Size of the disk activity, Kbytes. -# Total RW Total disk activity, reads + writes. -# -# BASED ON: /usr/demo/dtrace/applicat.d -# -# SEE ALSO: DTrace Guide "io Provider" chapter (docs.sun.com) -# iosnoop (DTraceToolkit) -# -# PORTIONS: Copyright (c) 2005, 2006 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# 08-Jun-2005 Brendan Gregg Created this. -# 20-Apr-2006 " " Last update. -# - -### Usage -function usage -{ - cat <<-END >&2 - USAGE: diskhits pathname - eg, - diskhits /var/adm/wtmpx - END - exit 1 -} - -### Process arguments -if (( $# != 1 )); then - usage -fi -if [[ $1 == "-h" ]]; then - usage -fi -pathname=$1 -if [[ ! -e $pathname ]]; then - print "ERROR2: file $pathname not found" >&2 - exit 2 -fi - -### Calculate output scale -report_lines=20 -set -- `ls -l $pathname` -filesize=$5 -(( file_kb_max = filesize / 1024 )) -(( scale_kb = filesize / (1024 * report_lines) )) -if (( file_kb_max < 20 )); then file_kb_max=20; fi -if (( scale_kb < 1 )); then scale_kb=1; fi - -# -# Run DTrace -# -/usr/sbin/dtrace -n ' - #pragma D option quiet - - inline string PATHNAME = "'$pathname'"; - inline int FILE_KB_MAX = '$file_kb_max'; - inline int SCALE_KB = '$scale_kb'; - - dtrace:::BEGIN - { - printf("Tracing... Hit Ctrl-C to end.\n"); - } - - io:::start - /args[2]->fi_pathname == PATHNAME/ - { - this->kb = args[2]->fi_offset == -1 ? -1 : args[2]->fi_offset / 1024; - @Location = lquantize(this->kb, 0, FILE_KB_MAX, SCALE_KB); - @Size = quantize(args[0]->b_bcount/1024); - @Total = sum(args[0]->b_bcount/1024); - } - - dtrace:::END - { - printf("Location (KB),"); - printa(@Location); - - printf("Size (KB),"); - printa(@Size); - - printa("Total RW: %@d KB\n", @Total); - } -' diff --git a/cddl/contrib/dtracetoolkit/Disk/hotspot.d b/cddl/contrib/dtracetoolkit/Disk/hotspot.d deleted file mode 100755 index 6ab6ee45d69a..000000000000 --- a/cddl/contrib/dtracetoolkit/Disk/hotspot.d +++ /dev/null @@ -1,71 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * hotspot.d - plot disk event by location, look for hotspots. - * Written in DTrace (Solaris 10 3/05). - * - * This simple DTrace script determines if disk activity is occuring in - * the one place - a "hotspot". This helps us understand the system's usage - * of a disk, it does not imply that the existance or not of a hotspot is - * good or bad (often may be good, less seeking). - * - * $Id: hotspot.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: hotspot.d # hit Ctrl-C to end - * - * FIELDS: - * Disk disk instance name - * Major driver major number - * Minor driver minor number - * value location, by megabyte - * count number of I/O operations - * - * COPYRIGHT: Copyright (c) 2005, 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 07-May-2005 Brendan Gregg Created this. - * 20-Apr-2006 " " Last update. - */ - -#pragma D option quiet - -inline int DISK_MB_MAX = 1000000; /* max size of a single disk */ -inline int REPORT_SCALE_MB = 1000; /* output step size for report */ - -/* - * Print header - */ -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -/* - * Process disk event - */ -io:::start -{ - this->mb = args[0]->b_blkno / 2048; - @Block[args[1]->dev_statname, args[1]->dev_major, args[1]->dev_minor] = - lquantize(this->mb, 0, DISK_MB_MAX, REPORT_SCALE_MB); -} - -/* - * Print final report - */ -dtrace:::END -{ - printa("Disk: %s Major,Minor: %d,%d\n%@d\n", @Block); -} diff --git a/cddl/contrib/dtracetoolkit/Disk/iofile.d b/cddl/contrib/dtracetoolkit/Disk/iofile.d deleted file mode 100755 index 255057a7ebd7..000000000000 --- a/cddl/contrib/dtracetoolkit/Disk/iofile.d +++ /dev/null @@ -1,79 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * iofile.d - I/O wait time by filename and process. - * Written using DTrace (Solaris 10 3/05). - * - * This prints the total I/O wait times for each filename by process. - * This can help determine why an application is performing poorly by - * identifying which file they are waiting on, and the total times. - * Both disk and NFS I/O are measured. - * - * $Id: iofile.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: iofile.d # wait, then hit Ctrl-C to end - * - * FIELDS: - * PID Process ID - * CMD Process name - * TIME Total wait time for disk events, us - * FILE File pathname - * - * BASED ON: /usr/demo/dtrace/iocpu.d - * - * SEE ALSO: iosnoop, iotop - * - * PORTIONS: Copyright (c) 2005, 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 24-Jul-2005 Brendan Gregg Created this. - * 20-Apr-2006 " " Last update. - */ - -#pragma D option quiet - -/* print header */ -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -/* save time at start */ -io:::wait-start -{ - self->start = timestamp; -} - -/* process event */ -io:::wait-done -/self->start/ -{ - /* - * wait-done is used as we are measing wait times. It also - * is triggered when the correct thread is on the CPU, obviating - * the need to link process details to the start event. - */ - this->elapsed = timestamp - self->start; - @files[pid, execname, args[2]->fi_pathname] = sum(this->elapsed); - self->start = 0; -} - -/* print report */ -dtrace:::END -{ - normalize(@files, 1000); - printf("%6s %-12s %8s %s\n", "PID", "CMD", "TIME", "FILE"); - printa("%6d %-12.12s %@8d %s\n", @files); -} diff --git a/cddl/contrib/dtracetoolkit/Disk/iofileb.d b/cddl/contrib/dtracetoolkit/Disk/iofileb.d deleted file mode 100755 index e7572f338ad1..000000000000 --- a/cddl/contrib/dtracetoolkit/Disk/iofileb.d +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * iofileb.d - I/O bytes by filename and process. - * Written using DTrace (Solaris 10 3/05). - * - * This prints a summary of requested disk activity by pathname, - * providing totals of the I/O events in bytes. It is a companion to the - * iofile.d script - which prints in terms of I/O wait time, not bytes. - * I/O wait time is a better metric for understanding performance issues. - * Both disk and NFS I/O are measured. - * - * $Id: iofileb.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: iofileb.d # wait several seconds, then hit Ctrl-C - * - * FIELDS: - * PID process ID - * CMD command name - * KB Kilobytes of disk I/O - * FILE Full pathname of the file - * - * COPYRIGHT: Copyright (c) 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 20-Feb-2006 Brendan Gregg Created this. - * 20-Feb-2006 " " Last update. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -io:::start -{ - @files[pid, execname, args[2]->fi_pathname] = sum(args[0]->b_bcount); -} - -dtrace:::END -{ - normalize(@files, 1024); - printf("%6s %-12s %6s %s\n", "PID", "CMD", "KB", "FILE"); - printa("%6d %-12.12s %@6d %s\n", @files); -} diff --git a/cddl/contrib/dtracetoolkit/Disk/iopending b/cddl/contrib/dtracetoolkit/Disk/iopending deleted file mode 100755 index ef9d4da7a625..000000000000 --- a/cddl/contrib/dtracetoolkit/Disk/iopending +++ /dev/null @@ -1,261 +0,0 @@ -#!/usr/bin/ksh -# -# iopending - Print a plot for the number of pending disk I/O events. -# Written using DTrace (Solaris 10 3/05). -# -# This is measuring disk events that have made it past system caches. -# By plotting a distribution graph of the number of pending events, the -# "serialness" or "parallelness" of disk behaviour can be distinguished. -# -# $Id: iopending 3 2007-08-01 10:50:08Z brendan $ -# -# USAGE: iopending [-c] [-d device] [-f filename] -# [-m mount_point] [interval [count]] -# -# -c # clear the screen -# -d device # instance name to snoop (eg, dad0) -# -f filename # full pathname of file to snoop -# -m mount_point # this FS only (will skip raw events) -# eg, -# iopending # default output, 5 second intervals -# iopending 1 # 1 second samples -# iopending -c # clear the screen -# iopending 5 12 # print 12 x 5 second samples -# -# FIELDS: -# value number of pending events, 0 == idle -# count number of samples @ 1000 Hz -# load 1 min load average -# disk_r total disk read Kbytes for sample -# disk_w total disk write Kbytes for sample -# -# SEE ALSO: iosnoop, iotop -# -# IDEA: Dr Rex di Bona (Sydney, Australia) -# -# COPYRIGHT: Copyright (c) 2005, 2006 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# Author: Brendan Gregg [Sydney, Australia] -# -# 01-Nov-2005 Brendan Gregg Created this. -# 20-Apr-2006 " " Last update. -# - - -############################## -# --- Process Arguments --- -# - -### default variables -opt_device=0; opt_file=0; opt_mount=0; opt_clear=0; -opt_def=1; filter=0; device=.; filename=.; mount=. -interval=5; count=-1 - -### process options -while getopts cd:f:hm: name -do - case $name in - c) opt_clear=1 ;; - d) opt_device=1; device=$OPTARG ;; - f) opt_file=1; filename=$OPTARG ;; - m) opt_mount=1; mount=$OPTARG ;; - h|?) cat <<-END >&2 - USAGE: iopending [-c] [-d device] [-f filename] - [-m mount_point] [interval [count]] - - -c # clear the screen - -d device # instance name to snoop - -f filename # snoop this file only - -m mount_point # this FS only - eg, - iopending # default output, 5 second samples - iopending 1 # 1 second samples - iopending -m / # snoop events on filesystem / only - iopending 5 12 # print 12 x 5 second samples - END - exit 1 - esac -done - -shift $(( $OPTIND - 1 )) - -### option logic -if [[ "$1" > 0 ]]; then - interval=$1; shift -fi -if [[ "$1" > 0 ]]; then - count=$1; shift -fi -if (( opt_device || opt_mount || opt_file )); then - filter=1 -fi -if (( opt_clear )); then - clearstr=`clear` -else - clearstr=. -fi - - - -################################# -# --- Main Program, DTrace --- -# -/usr/sbin/dtrace -n ' - /* - * Command line arguments - */ - inline int OPT_def = '$opt_def'; - inline int OPT_clear = '$opt_clear'; - inline int OPT_device = '$opt_device'; - inline int OPT_mount = '$opt_mount'; - inline int OPT_file = '$opt_file'; - inline int INTERVAL = '$interval'; - inline int COUNTER = '$count'; - inline int FILTER = '$filter'; - inline string DEVICE = "'$device'"; - inline string FILENAME = "'$filename'"; - inline string MOUNT = "'$mount'"; - inline string CLEAR = "'$clearstr'"; - - inline int MAX_PENDING = 32; /* max pending value */ - - #pragma D option quiet - - /* - * Print header - */ - dtrace:::BEGIN - { - /* starting values */ - counts = COUNTER; - secs = INTERVAL; - disk_r = 0; - disk_w = 0; - pending = 0; - - printf("Tracing... Please wait.\n"); - } - - /* - * Check event is being traced - */ - io:genunix::start, - io:genunix::done - { - /* default is to trace unless filtering, */ - this->ok = FILTER ? 0 : 1; - - /* check each filter, */ - (OPT_device == 1 && DEVICE == args[1]->dev_statname)? this->ok = 1 : 1; - (OPT_file == 1 && FILENAME == args[2]->fi_pathname) ? this->ok = 1 : 1; - (OPT_mount == 1 && MOUNT == args[2]->fi_mount) ? this->ok = 1 : 1; - } - - /* - * Store entry details - */ - io:genunix::start - /this->ok/ - { - /* track bytes */ - disk_r += args[0]->b_flags & B_READ ? args[0]->b_bcount : 0; - disk_w += args[0]->b_flags & B_READ ? 0 : args[0]->b_bcount; - - /* increase event pending count */ - pending++; - } - - /* - * Process and Print completion - */ - io:genunix::done - /this->ok/ - { - /* decrease event pending count */ - pending--; - } - - /* - * Prevent pending from underflowing - * this can happen if this program is started during disk events. - */ - io:genunix::done - /pending < 0/ - { - pending = 0; - } - - /* - * Timer - */ - profile:::tick-1sec - { - secs--; - } - - profile:::profile-1000hz - { - @out = lquantize(pending, 0, MAX_PENDING, 1); - } - - /* - * Print Report - */ - profile:::tick-1sec - /secs == 0/ - { - /* fetch 1 min load average */ - this->load1a = `hp_avenrun[0] / 65536; - this->load1b = ((`hp_avenrun[0] % 65536) * 100) / 65536; - - /* convert counters to Kbytes */ - disk_r /= 1024; - disk_w /= 1024; - - /* print status */ - OPT_clear ? printf("%s", CLEAR) : 1; - printf("%Y, load: %d.%02d, disk_r: %6d KB, disk_w: %6d KB", - walltimestamp, this->load1a, this->load1b, disk_r, disk_w); - - /* print output */ - printa(@out); - - /* clear data */ - trunc(@out); - disk_r = 0; - disk_w = 0; - secs = INTERVAL; - counts--; - } - - /* - * End of program - */ - profile:::tick-1sec - /counts == 0/ - { - exit(0); - } - - /* - * Cleanup for Ctrl-C - */ - dtrace:::END - { - trunc(@out); - } -' diff --git a/cddl/contrib/dtracetoolkit/Disk/seeksize.d b/cddl/contrib/dtracetoolkit/Disk/seeksize.d deleted file mode 100755 index 963d9ad6d637..000000000000 --- a/cddl/contrib/dtracetoolkit/Disk/seeksize.d +++ /dev/null @@ -1,85 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * seeksize.d - analyse disk head seek distance by process. - * Written using DTrace (Solaris 10 3/05). - * - * Disk I/O events caused by processes will in turn cause the disk heads - * to seek. This program analyses those seeks, so that we can determine - * if processes are causing the disks to seek in a "random" or "sequential" - * manner. - * - * $Id: seeksize.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: seeksize.d # wait several seconds, then hit Ctrl-C - * - * FIELDS: - * PID process ID - * CMD command and argument list - * value distance in disk blocks (sectors) - * count number of I/O operations - * - * SEE ALSO: bitesize.d, iosnoop - * - * COPYRIGHT: Copyright (c) 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 11-Sep-2004 Brendan Gregg Created this. - * 10-Oct-2004 " " Rewrote to use the io provider. - * 20-Apr-2006 " " Last update. - */ - -#pragma D option quiet - -/* - * Print header - */ -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -self int last[dev_t]; - -/* - * Process io start - */ -io:genunix::start -/self->last[args[0]->b_edev] != 0/ -{ - /* calculate seek distance */ - this->last = self->last[args[0]->b_edev]; - this->dist = (int)(args[0]->b_blkno - this->last) > 0 ? - args[0]->b_blkno - this->last : this->last - args[0]->b_blkno; - - /* store details */ - @Size[pid, curpsinfo->pr_psargs] = quantize(this->dist); -} - -io:genunix::start -{ - /* save last position of disk head */ - self->last[args[0]->b_edev] = args[0]->b_blkno + - args[0]->b_bcount / 512; -} - -/* - * Print final report - */ -dtrace:::END -{ - printf("\n%8s %s\n", "PID", "CMD"); - printa("%8d %S\n%@d\n", @Size); -} diff --git a/cddl/contrib/dtracetoolkit/Docs/Contents b/cddl/contrib/dtracetoolkit/Docs/Contents deleted file mode 100644 index 525fd05b85a7..000000000000 --- a/cddl/contrib/dtracetoolkit/Docs/Contents +++ /dev/null @@ -1,152 +0,0 @@ -Contents - Command Summary - - The following is a list of commands found in the DTraceToolkit, along - with their directory location. - -Generally commands that end in a ".d" are DTrace scripts, and commands -that don't are DTrace scripts wrapped in another language (eg, shell -or Perl). See the Docs/Readme for instructions for finding their docs. - -DTraceToolkit/ - dexplorer run a series of scripts and archive output - dtruss process syscall info. DTrace truss - dvmstat vmstat by PID/name/command - errinfo report syscall failures with details - execsnoop snoop process execution as it occurs - iosnoop snoop I/O events as they occur - iopattern print disk I/O pattern - iotop display top disk I/O events by process - opensnoop snoop file opens as they occur - procsystime analyse process system call times - rwsnoop snoop read/write events - rwtop display top read/write bytes by process - statsnoop snoop file stats as they occur - Apps/ - httpdstat.d realtime httpd statistics - nfswizard.d NFS client activity wizard - shellsnoop snoop live shell activity - weblatency.d website latency statistics - Cpu/ - cputypes.d list CPU types - cpuwalk.d measure which CPUs a process runs on - dispqlen.d dispatcher queue length by CPU - intbycpu.d interrupts by CPU - intoncpu.d interrput on-cpu usage - inttimes.d interrput on-cpu time total - loads.d print load averages - runocc.d run queue occupancy by CPU - xcallsbypid.d CPU cross calls by PID - Disk/ - bitesize.d print disk event size report - diskhits disk access by file offset - hotspot.d print disk event by location - iofile.d I/O wait time by filename and process - iofileb.d I/O bytes by filename and process - iopending plot number of pending disk events - pathopens.d pathnames successfully opened count - seeksize.d print disk seek size report - Docs/ - oneliners.txt DTrace oneliners - FS/ - fsrw.d file system read/write event tracing - fspaging.d file system read/write and paging tracing - rfsio.d read FS I/O stats, with cache miss rate - rfileio.d read file I/O stats, with cache miss rate - vopstat vnode interface statistics - Java/ - j_*.d 18 scripts for tracing Java using the hotspot provider - JavaScript/ - js_*.d 14 scripts for JavaScript with the Mozilla provider - Kernel/ - cputimes print time by Kernel/Idle/Process - cpudists time distribution by Kernel/Idle/Process - cswstat.d context switch time statistics - dnlcps.d DNLC stats by process - dnlcsnoop.d snoop DNLC activity - dnlcstat DNLC statistics - kstat_types.d trace kstat reads with type info - modcalls.d kernel function calls by module name - priclass.d priority distribution by scheduling class - pridist.d process priority distribution - putnexts.d trace who is putting to which streams module - whatexec.d examine the type of files executed - Locks/ - lockbyproc.d lock time by process name - lockbydist.d lock time distribution by process name - Mem/ - anonpgpid.d anonymous memory paging info by PID on CPU - minfbypid.d minor faults by PID - minfbyproc.d minor faults by process name - pgpginbypid.d pages paged in by PID - pgpginbyproc.d pages paged in by process name - swapinfo.d print virtual memory info - vmbypid.d virtual memory stats by PID - vmstat.d vmstat demo using DTrace - vmstat-p.d vmstat -p demo using DTrace - xvmstat extended vmstat demo using DTrace - Misc/ - guess.d guessing game - wpm.d words per minute tracing - woof.d audio alert for new processes - Net/ - connections print inbound TCP connections by process - icmpstat.d print ICMP statistics - tcpsnoop snoop TCP network packets by process, Solaris 10 3/05 - tcpsnoop_snv snoop TCP network packets by process, Solaris Nevada - tcpsnoop.d snoop TCP network packets by process, Solaris 10 3/05 - tcpsnoop_snv.d snoop TCP network packets by process, Solaris Nevada - tcpstat.d print TCP statistics - tcptop display top TCP network packets by PID, Solaris 10 3/05 - tcptop_snv display top TCP network packets by PID, Solaris Nevada - tcpwdist.d simple TCP write distribution by process - udpstat.d print UDP statistics - Perl/ - pl_*.d 12 scripts for tracing Perl - Php/ - php_*.d 12 scripts for tracing Php - Proc/ - crash.d crashed application report - creatbyproc.d snoop file creat() by process name - dappprof profile user and lib function usage - dapptrace trace user and lib function usage - fddist file descriptor usage distribution - fileproc.d snoop files opened by process - kill.d snoop process signals - lastwords print syscalls before exit - mmapfiles.d mmap'd files by process - newproc.d snoop new processes - pfilestat show I/O latency break down by FD - pidpersec.d print new PIDs per sec - readbytes.d read bytes by process name - readdist.d read distribution by process name - rwbbypid.d read/write bytes by PID - rwbypid.d read/write calls by PID - rwbytype.d read/write bytes by vnode type - sampleproc sample processes on the CPUs - shortlived.d check short lived process time - sigdist.d signal distribution by process name - stacksize.d measure stack size for running threads - sysbypid.d system stats by PID - syscallbyproc.d system calls by process name - syscallbypid.d system calls by process ID - threaded.d sample multi-threaded CPU usage - topsysproc display top syscalls by process name - writebytes.d write bytes by process name - writedist.d write distribution by process name - Python/ - py_*.d 14 scripts for tracing Python - Shell/ - sh_*.d 15 scripts for tracing the Bourne shell - System/ - sar-c.d sar -c demo using DTrace - syscallbysysc.d system calls by system call - topsyscall display top system call type - uname-a.d uname -a demo using DTrace - Tcl/ - tcl_*.d 15 scripts for tracing Tcl - User/ - setuids.d snoop setuid calls - Zones/ - zvmstat vmstat info by zone - -Total: 230 scripts diff --git a/cddl/contrib/dtracetoolkit/Docs/Examples b/cddl/contrib/dtracetoolkit/Docs/Examples deleted file mode 120000 index 309832683601..000000000000 --- a/cddl/contrib/dtracetoolkit/Docs/Examples +++ /dev/null @@ -1 +0,0 @@ -../Examples \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Docs/Faq b/cddl/contrib/dtracetoolkit/Docs/Faq deleted file mode 100644 index 4919cac9fc51..000000000000 --- a/cddl/contrib/dtracetoolkit/Docs/Faq +++ /dev/null @@ -1,126 +0,0 @@ -Faq - Frequently Asked Questions - - The following may serve as a guide to the DTraceToolkit. - -16-May-2005, ver 0.30 (first version of the FAQ) - -The DTraceToolkit is new, and as such there hasn't been many questions asked. -This may be better called a "possibly asked questions" :) - - -Questions - -1. Intro -1.1. What is the DTraceToolkit? -1.2. Who wrote the DTraceToolkit? -1.3. Where do I get support? -1.4. Am I now a performance tuning expert? -1.5. Will this solve all my performance problems? -1.6. So the DTraceToolkit *is* DTrace? - -2. Toolkit -2.1. What is in it? -2.2. What performance effect can the DTraceToolkit cause? - -3. Contributing -3.1. Where do I send bugs? - - -Answers - -1. Intro - -1.1. What is the DTraceToolkit? - - The DTraceToolkit is a collection of tools written using DTrace for - the Solaris 10[tm] OS by Sun Microsystems[tm]. Many of these scripts - will also work on OpenSolaris. - -1.2. Who wrote the DTraceToolkit? - - Volunteers of the DTrace and OpenSolaris community. Check the scripts - themselves, Docs/Contrib, Docs/Who and Docs/History. - -1.3. Where do I get support? - - As the DTraceToolkit is a freeware product, there is no official company - offering support for this. Sun Microsystems does not support this. If you - post messages to the DTrace forums found in the Docs/Links file, a - volunteer may help you out. - -1.4. Am I now a performance tuning expert? - - The DTraceToolkit does not turn people into performance tuning experts in - the same way that owning a set of golf clubs won't make you a professional - golfer. Experience and understanding are necessary. The toolkit certainly - helps by fetching the data in an easy way, and also by providing some - documentation. So it is valuable, but not magical. - -1.5. Will this solve all my performance problems? - - This is similar to the previous point; the DTraceToolkit is valuable - for it's scripts and documentation, but it's no magical product. - Understanding and experience are necessary. - -1.6. So the DTraceToolkit *is* DTrace? - - The DTraceToolkit is one use of DTrace, but there is far more to DTrace - than just the toolkit. DTrace allows people to write their own customised - scripts to solve a wide number of problems. - - Think of the DTraceToolkit as a starting point. Maybe your problem has - a solution in the kit. Maybe changing one of the toolkit programs slightly - is what you want. Finally you may need to write your script from scratch. - - -2. Toolkit - -2.1. What is in it? - - Read the Guide file for a table of contents, and Docs/Contents for a - list of commands. - -2.2. What performance effect can the DTraceToolkit cause? - - Enabling DTrace to monitor events has little effect on the system, - especially when compared to the disruptive behaviour of truss (See - http://www.brendangregg.com/DTrace/dtracevstruss.html for a comparison). - - It really boils down to how often the events occur that you are monitoring. - The following numbers have been provided as an approximation: - - 1. Fixed rate scripts. For example, dispqlen.d samples at 1000 hz. - The impact will be negligible, close to 0% CPU. (in testing, 0.1% CPU). - - 2. Demand rated scripts. For example, iosnoop probes disk I/O events. - The impact depends on the rate of events, for many servers the disk - events would be slow enough for this to be less than 0.2% CPU. - Scripts such as execsnoop would expect even fewer events, their impact - would be close to 0.0% CPU. However scripts that monitor potentially - very rapid events will have a greater impact, for example running - dapptrace on Xorg (over 6000 lines of output per second) was consuming - around 10% of a CPU to do so. - - 3. Heavy voodoo scripts. A few scripts in the toolkit must probe either - a ton of different events, or very rapid events, or both. They are - going to hurt and there is no way around it. Scripts such as cputimes - and cpudists trace very frequent events, and can chew around 5% of - the CPUs; scripts such as dapptrace and dappprof trace extreamly - frequent events, and can chew over 20%. - - There is an emphasis in the DTraceToolkit to write demand rated scripts - that measure the fewest events, such that their impact is close to 0.0% - CPU usage. Some scripts are fixed rate, which are safer as their impact - has a known upper bound, and are most suitable to run in production. - - There are additional notes in Notes/ALLoverhead_notes.txt about the - overheads for running DTrace. - - -3. Contributing - -3.1. Where do I send bugs? - - The DTraceToolkit maintainer. See the Docs/Maintainer file. - - diff --git a/cddl/contrib/dtracetoolkit/Docs/History b/cddl/contrib/dtracetoolkit/Docs/History deleted file mode 100644 index d92bf11436e4..000000000000 --- a/cddl/contrib/dtracetoolkit/Docs/History +++ /dev/null @@ -1,249 +0,0 @@ -History - History of the DTraceToolkit - ------------------------------------------------------------------------------- -20-Apr-2005 Brendan Gregg Idea - For a while I had thought that a DTrace toolkit would be a nice - idea, but on this day it became clear. I was explaining DTrace to - an SSE from Sun (Canberra, Australia), who had a need for using - DTrace but didn't have the time to sit down and write all the - tools he was after. It simply made sense to have a DTrace toolkit - that people could download or carry around a copy to use. Some - people would write DTrace tools, others would use the toolkit. ------------------------------------------------------------------------------- -15-May-2005 Brendan Gregg Version 0.30 - I had discussed the idea of a DTrace toolkit with the Sun PAE guys in - Adelaide, Australia. It was making more sense now. It would be much - like the SE Toolkit, not just due to the large number of sample - scripts provided, but also due to the role it would play: few people - wrote SE Toolkit programs, more people used it as a toolkit. While - we would like a majority of Solaris users to write DTrace scripts, - the reality is that many would want to use a prewritten toolkit. - Today I created the toolkit as version 0.30, with 11 main directories, - a dozen scripts, man pages and a structure for documentation. ------------------------------------------------------------------------------- -16-May-2005 Brendan Gregg OneLiners - I've been using the toolkit for a day now (wow!), and have noticed - a few problems I've been fixing. One of them was the dtrace oneliners. - I have them in two files, Docs/oneliners.txt and the examples in - Docs/Examples/oneliners_examples.txt. The problem is that when I'm - looking for a script, I'm looking in Docs/Commands - a list of the - seperate script files, or I'm doing an ls or find. Ok, so I've now - made each one liner a seperate script. This seems at first pretty - silly since they are oneliners and shouldn't deserve an entire script - each, but I've found having them as seperate scripts makes them far - easier to find and use. The scripts and man page for each script do - point out the fact that it's a one liner. ------------------------------------------------------------------------------- -17-May-2005 Brendan Gregg Version 0.33 - Version 0.33 with 33 scripts. Maybe I should make the version number - equal the script count. :) I just finished dtruss, dapptrace and - dappprof. ------------------------------------------------------------------------------- -08-Jun-2005 Brendan Gregg Name changes. - I've renamed Docs/Commands to Docs/Contents. I found myself typing - "more Docs/Contents" by mistake a lot. ok, maybe it made more sense - to call it Contents after all. I've also made a symlink to it called - Index. ------------------------------------------------------------------------------- -08-Jun-2005 Brendan Gregg Version 0.35 - Version 0.35 with 35 scripts. Also touched up procsystime and some - man pages. Added the CDDL version 1.0. ------------------------------------------------------------------------------- -09-Jun-2005 Brendan Gregg Version 0.42 - Added 7 more scripts. ------------------------------------------------------------------------------- -14-Jun-2005 Brendan Gregg Version 0.57 - Added heaps of new scripts. Now at 57 scripts. ------------------------------------------------------------------------------- -17-Jun-2005 Brendan Gregg Version 0.61 - Restyled many commands. ------------------------------------------------------------------------------- -28-Jun-2005 Brendan Gregg Version 0.70 - Added several commands including dexplorer. Developed a few useful - variants of classic scripts while writing dexplorer, and have added - them to the toolkit (I kept wanting to run them individually but - not have to run an entire dexplorer). ------------------------------------------------------------------------------- -25-Jul-2005 Brendan Gregg Version 0.77 - Added tcpsnoop.d, tcpsnoop, tcptop. Because of their addition I have - dropped tcpwbytes.d and tcpwlist. These are complex scripts, but they - track TCP in an accurate manner. However! also because they are - complex scripts, I expect they will require maintainence for newer - versions of [Open]Solaris, as various probes may change. They will - become much more stable once a network provider has been added to - DTrace (which may be some time away). - Also added iotop, and updated a bunch of scripts. A lot of work went - into this version, although the version change doesn't reflect that - (I'm still keeping the version number == to number of scripts). - Also added rwsnoop, rwtop, and more. ------------------------------------------------------------------------------- -26-Jul-2005 Brendan Gregg Version 0.82 - Many new scripts added, many updates. This is a major release. ------------------------------------------------------------------------------- -17-Sep-2005 Brendan Gregg Version 0.83 - A few scripts have been updated so that they work better. - execsnoop, iosnoop, opensnoop and rwsnoop will be more responsive - (increased switchrate). ------------------------------------------------------------------------------- -22-Sep-2005 Brendan Gregg Version 0.84 - Some updates, fixed some bugs (cputimes, cpudists). Added cpuwalk.d. ------------------------------------------------------------------------------- -15-Nov-2005 Brendan Gregg Sys Admin Magazine - Ryan Matteson wrote an article on the DTraceToolkit which has been - printed in Sys Admin Magazine, December 2005. It's quite good, - and made it as the feature article - which means it will be available - online for some time. Thanks Matty, and Sys Admin Magazine! - "Observing I/O Behavior with the DTraceToolkit" - http://www.samag.com/documents/sam0512a/ ------------------------------------------------------------------------------- -01-Dec-2005 Brendan Gregg Version 0.88 - Many scripts were updated. Added the Apps category. I had planned - to add some key scripts, but they haven't made it out of testing yet. ------------------------------------------------------------------------------- -03-Dec-2005 Brendan Gregg Version 0.89 - Added nfswisard.d, fixed a minor bug with tcp* tools (see - dtrace-discuss mailing list). ------------------------------------------------------------------------------- -12-Jan-2006 Brendan Gregg Version 0.92 - Added a few scripts including rwbytype.d. Fixed several issues. ------------------------------------------------------------------------------- -09-Apr-2006 Brendan Gregg Solaris Internals 2nd Edition - In the past few months I have been contributing to Solaris Internals - 2nd Edition. This book (now two volumes) is really amazing. The 2nd - volume does use the DTraceToolkit where appropriate, and covers loads - of useful topics. While writing and reviewing material for Solaris - Internals, I've had numerous new ideas for DTrace scripts. Not only - that, but a few people have managed to send me well styled, carefully - tested, well considered DTrace scripts for inclusion in the toolkit. ------------------------------------------------------------------------------- -20-Apr-2006 Brendan Gregg TCP bug fixed - Stefan Parvu sent me a bug for the tcp* scripts: on build 31+ they - error'd on the symbol SS_TCP_FAST_ACCEPT. This symbol was - renamed to SS_DIRECT (I checked the code, they are used in the - same way). Ironically, when I first wrote the scripts I had hardcoded - the value 0x00200000, then rewrote it "properly" by importing - the header files and using the symbol name. Had I been lazy and left - it hardcoded, the bug would never have eventuated. Not to worry, - it has returned to being hardcoded, so that it works on all builds - (until something else changes). ------------------------------------------------------------------------------- -21-Apr-2006 Brendan Gregg Restyled - again! - I've been writing the "DTraceToolkit Style Guide", to document - the style that these scripts obey. It is quite strict, and sets - the bar fairly high. I've been warned that it may cause very few - people to ever contribute scripts, which is fine. At some point - I'll carefully explain the mentality behind this, but in a nutshell: - Users on critical production servers expect the tools to be - accurate, carefully tested, and cause no undocumented harm. ------------------------------------------------------------------------------- -22-Apr-2006 Brendan Gregg Docs changes - The "Contrib" file was merged into the "Who" file. In hindsight - it is better to keep this data together than to split it up. ------------------------------------------------------------------------------- -24-Apr-2006 Brendan Gregg Version 0.96 - The toolkit now contains 104 scripts, however I'll keep the version - number < 1.00 until the dust has settled on these new scripts. - There is some special significance with version 1.00, it would - imply that every script had been tested for some time - not that - I've just added a few. - There is a new main directory, FS for file system related scripts. - There are some interesting scripts in there, from or based on - Solaris Internals 2nd ed, vol 2. ------------------------------------------------------------------------------- -30-Sep-2007 Brendan Gregg Version 0.99 - It's been a year and a half since the last release, and a lot has - happneed. Firstly, the DTraceToolkit has featured in the Prentice Hall - book, - Solaris Performance and Tools - DTrace and mdb techniques for Solaris 10 and OpenSolaris - - written by Richard McDougall, Jim Mauro and myself. It is a companion - book to "Solaris Internals 2nd edition" by Richard McDougall and - Jim Mauro. If you are serious about becomming a DTrace guru, - especially on Solaris, then please study both books. (Yes, I realize - that many people are using the DTraceToolkit because they don't have - the time or don't want to become DTrace gurus; well, so long as - you are using DTrace anyway :). The performance book was a great relief - to write - since we were able to put to print much performance wisdom - and knowledge that was begging to be documented. - - Then, in late 2006 I joined an advanced products engineering team - at Sun in San Francisco, a team which includes the three members of - team DTrace. It's been a great opportunity to learn from such - engineers, and to contribute more directly to DTrace. So far my work - has included writing a JavaScript provider, integrated inet_ntoa() - style functions into DTrace, and prototying DTrace IP, TCP and UDP - providers. - - Working on the network providers is good news for the DTraceToolkit, - as it will indirectly help the tcp* scripts become more stable. Yes, - those scripts have broken a few more times during the last 18 months, - sorry about that, and it will keep happening until we have stable - network providers. This is why I only ever wrote three tcp* scripts, - and not at least a dozen, which I'd really like to do. - - I did leave my pile of old SPARC and x86 development servers behind - in Australia, and brought over a couple of laptops. That has made me - more dependant on Stefan for testing the toolkit - especially on SPARC. - - So, it's been about 18 months since the last release, which is - mostly due to having less spare time due to moving countries and - learning a new job. - - Michelle from Sun docs has been asking for a newer version of the - DTraceToolkit for the OpenSolaris starter kit, which is why I'm - releasing this version now and not waiting a few more weeks as - I complete bug fixes. - - So the good and the bad news for this release, starting with the bad, - - Bad: tcpsnoop/tcptop still don't work on some Solaris 10 releases. - I've added versions that should work on Solaris Nevada and OpenSolaris - for releases from around late 2007. They are likely to break again. - The real answer, as always, is for stable nework providers to be - integrated into Solaris. - - Many of the exciting new language provider scripts in this release - currently require downloading, patching and compling of the language - interpreter to get working. See the Readme file in each directory - for pointers. - - Good: many more scripts to cover the new DTrace language providers - that are available (the DTraceToolkit is now 227 scripts). Many - updates to the Notes directory. Bug fixes. Some new categories - other than for scripts: Code - for simple programs to DTrace (and - for the example files), and Snippits - for useful lumps of DTrace - code to copy-n-paste from. The man pages are also making room - for documenting both stability and supported operating systems for - each script - now that DTrace exists for MacOS X Leopard, the - DTraceToolkit will begin supporting multiple operating systems. - - This can be thought of as a developer's release of the DTraceToolkit - - to help people start using DTrace with Perl, Python, Ruby, Php, Java, - JavaScript, Shell and Tcl. I've written about 15 scripts for each - language, to cover the basics and to show the way for deeper analysis. - The scripts are also similar from one language to another, having - devoleped a tried-and-tested group of scripts for analyzing real world - issues - it made sense to repeat these scripts for every language - possible. To see what I mean, try reading, - - Examples/j_cputime_example.txt Examples/py_cputime_example.txt - Examples/js_cputime_example.txt Examples/rb_cputime_example.txt - Examples/php_cputime_example.txt Examples/sh_cputime_example.txt - Examples/pl_cputime_example.txt Examples/tcl_cputime_example.txt - - You might notice that the example files are more clearly and carefully - explained. Claire (my wife), wrote close to one hundred of them for - this release while I focused on writing and testing the scripts. - Claire has worked as a SysAdmin and as an IT instructor, and is well - skilled at explaining relavent technical details. And she can spell - much better than I can. :) - - The future: I still have many new scripts and some bug fixes in mind, - as well as generally improving the Notes and Examples provided. - Hopefully it won't be too many months before you see another - release. Check here for the lastest installment, - - http://www.opensolaris.org/os/community/dtrace/dtracetoolkit ------------------------------------------------------------------------------- - diff --git a/cddl/contrib/dtracetoolkit/Docs/Index b/cddl/contrib/dtracetoolkit/Docs/Index deleted file mode 120000 index 9ae9ea0ab582..000000000000 --- a/cddl/contrib/dtracetoolkit/Docs/Index +++ /dev/null @@ -1 +0,0 @@ -Contents \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Docs/Links b/cddl/contrib/dtracetoolkit/Docs/Links deleted file mode 100644 index 182bb548b5b2..000000000000 --- a/cddl/contrib/dtracetoolkit/Docs/Links +++ /dev/null @@ -1,30 +0,0 @@ -Links - DTrace links - - http://www.opensolaris.org/os/community/dtrace/dtracetoolkit - DTraceToolkit Home - - http://www.opensolaris.org/os/community/dtrace - OpenSolaris DTrace site - - http://www.brendangregg.com/dtrace.html - DTraceToolkit - DTrace Tools - - http://www.sun.com/bigadmin/content/dtrace - DTrace site on BigAdmin - - http://docs.sun.com/db/doc/817-6223 - DTrace Guide (answerbook) - - http://blogs.sun.com/roller/page/bmc - Bryan Cantrill's Blog (DTrace Team) - - http://blogs.sun.com/roller/page/ahl - Adam Leventhal's Blog (DTrace Team) - - http://blogs.sun.com/mws - Mike Shapiro's Blog (DTrace Team) - - http://www.solarisinternals.com/si/dtrace/index.php - DTrace scripts by Richard McDougall - diff --git a/cddl/contrib/dtracetoolkit/Docs/Maintainer b/cddl/contrib/dtracetoolkit/Docs/Maintainer deleted file mode 100644 index 3a8bb429a1c4..000000000000 --- a/cddl/contrib/dtracetoolkit/Docs/Maintainer +++ /dev/null @@ -1,6 +0,0 @@ -Maintainer - The DTraceToolkit Author and Maintainer, - - Brendan Gregg - brendan@sun.com (or see website below for emailaddr) - http://www.brendangregg.com - diff --git a/cddl/contrib/dtracetoolkit/Docs/Notes b/cddl/contrib/dtracetoolkit/Docs/Notes deleted file mode 120000 index e0856feb2688..000000000000 --- a/cddl/contrib/dtracetoolkit/Docs/Notes +++ /dev/null @@ -1 +0,0 @@ -../Notes \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Docs/Readme b/cddl/contrib/dtracetoolkit/Docs/Readme deleted file mode 100644 index 1f98f38d30f1..000000000000 --- a/cddl/contrib/dtracetoolkit/Docs/Readme +++ /dev/null @@ -1,21 +0,0 @@ -Docs - DTraceToolkit Documentation - - Docs/Contents summary of toolkit commands - Examples examples of command usage - Notes notes on commands - -The following may be followed to learn about a DTraceToolkit command, - - 1. read "Contents" for a command name and toolkit location. - 2. run the command with "-h" to check it's usage. - 3. read the manpage from Man/man1m. - 4. read the examples from Examples. - 5. read the notes from Notes. - 6. read the script itself - -Try the following to discover all docs related to a command, eg iosnoop, - - find . | grep iosnoop - -best run from the DTraceToolkit root directory. - diff --git a/cddl/contrib/dtracetoolkit/Docs/ToDo b/cddl/contrib/dtracetoolkit/Docs/ToDo deleted file mode 100644 index 5561ea4b17ad..000000000000 --- a/cddl/contrib/dtracetoolkit/Docs/ToDo +++ /dev/null @@ -1,7 +0,0 @@ -ToDo - To Do List - - The following is a list of todo reminders for the DTraceToolkit. - -* Run PHP examples on mediawiki. - - diff --git a/cddl/contrib/dtracetoolkit/Docs/Who b/cddl/contrib/dtracetoolkit/Docs/Who deleted file mode 100644 index f1019a9b92b1..000000000000 --- a/cddl/contrib/dtracetoolkit/Docs/Who +++ /dev/null @@ -1,74 +0,0 @@ -Who - Who the Contributers are - - This is a record of contributors to the DTraceToolkit whose name isn't - already mentioned (such as in the source of a script). - - -In alphabetical first-name order, - -Adam Leventhal - Location: CA, USA - Blog: http://blogs.sun.com/ahl - wrote DTrace itself - -Ben Rockwood - Location: CA, USA - Website: http://www.cuddletech.com - first encouraged the idea of DTrace oneliners - -Brendan Gregg - Location: Sydney, Australia - Website: http://www.brendangregg.com - Email: brendan.gregg@tpg.com.au (maybe, check the website above) - Blog: http://bdgregg.blogspot.com - Notes: Also see http://www.brendangregg.com/dtrace.html - created toolkit, tools, manpages, example docs, notes docs, testing - -Bryan Cantrill - Location: CA, USA - Blog: http://blogs.sun.com/bmc - wrote DTrace itself - -David Rubio - technical advice - -James Dickens - Location: WI, USA - Blog: http://uadmin.blogspot.com - tool ideas and testing - -Jonathan Adams - Blog: http://blogs.sun.com/jwadams - wrote stacksize.d - -Mike Shapiro - Location: CA, USA - Blog: http://blogs.sun.com/mws - wrote DTrace itself - -Nathan Kroenert - Location: Sydney, Australia - thoughts on how to present tools - -Richard McDougall - Location: CA, USA - Website: http://www.solarisinternals.com - Blog: http://blogs.sun.com/rmc - wrote pfilestat, vopstat - -Ryan Matteson - Location: USA - Blog: http://blogomatty.blogspot.com - tool ideas and testing - -Stefan Parvu - Blog: http://stefanparvu.blogspot.com - suggestions, bug fixes, extensive testing - -unknown Sun people - wrote /usr/demo/dtrace tools, which some of the toolkit tools are - based on. See "BASED ON" in source or man page, or try the following, - cd Bin - grep 'BASED ON' * - for a list. - diff --git a/cddl/contrib/dtracetoolkit/Docs/cddl1.txt b/cddl/contrib/dtracetoolkit/Docs/cddl1.txt deleted file mode 100644 index b3487ade1b87..000000000000 --- a/cddl/contrib/dtracetoolkit/Docs/cddl1.txt +++ /dev/null @@ -1,385 +0,0 @@ - -COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 - - - 1. Definitions. - - 1.1. ÒContributorÓ means each individual or entity that - creates or contributes to the creation of Modifications. - - 1.2. ÒContributor VersionÓ means the combination of the - Original Software, prior Modifications used by a - Contributor (if any), and the Modifications made by that - particular Contributor. - - 1.3. ÒCovered SoftwareÓ means (a) the Original Software, or - (b) Modifications, or (c) the combination of files - containing Original Software with files containing - Modifications, in each case including portions thereof. - - 1.4. ÒExecutableÓ means the Covered Software in any form - other than Source Code. - - 1.5. ÒInitial DeveloperÓ means the individual or entity - that first makes Original Software available under this - License. - - 1.6. ÒLarger WorkÓ means a work which combines Covered - Software or portions thereof with code not governed by the - terms of this License. - - 1.7. ÒLicenseÓ means this document. - - 1.8. ÒLicensableÓ means having the right to grant, to the - maximum extent possible, whether at the time of the initial - grant or subsequently acquired, any and all of the rights - conveyed herein. - - 1.9. ÒModificationsÓ means the Source Code and Executable - form of any of the following: - - A. Any file that results from an addition to, - deletion from or modification of the contents of a - file containing Original Software or previous - Modifications; - - B. Any new file that contains any part of the - Original Software or previous Modification; or - - C. Any new file that is contributed or otherwise made - available under the terms of this License. - - 1.10. ÒOriginal SoftwareÓ means the Source Code and - Executable form of computer software code that is - originally released under this License. - - 1.11. ÒPatent ClaimsÓ means any patent claim(s), now owned - or hereafter acquired, including without limitation, - method, process, and apparatus claims, in any patent - Licensable by grantor. - - 1.12. ÒSource CodeÓ means (a) the common form of computer - software code in which modifications are made and (b) - associated documentation included in or with such code. - - 1.13. ÒYouÓ (or ÒYourÓ) means an individual or a legal - entity exercising rights under, and complying with all of - the terms of, this License. For legal entities, ÒYouÓ - includes any entity which controls, is controlled by, or is - under common control with You. For purposes of this - definition, ÒcontrolÓ means (a) the power, direct or - indirect, to cause the direction or management of such - entity, whether by contract or otherwise, or (b) ownership - of more than fifty percent (50%) of the outstanding shares - or beneficial ownership of such entity. - - 2. License Grants. - - 2.1. The Initial Developer Grant. - - Conditioned upon Your compliance with Section 3.1 below and - subject to third party intellectual property claims, the - Initial Developer hereby grants You a world-wide, - royalty-free, non-exclusive license: - - (a) under intellectual property rights (other than - patent or trademark) Licensable by Initial Developer, - to use, reproduce, modify, display, perform, - sublicense and distribute the Original Software (or - portions thereof), with or without Modifications, - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, - using or selling of Original Software, to make, have - made, use, practice, sell, and offer for sale, and/or - otherwise dispose of the Original Software (or - portions thereof). - - (c) The licenses granted in Sections 2.1(a) and (b) - are effective on the date Initial Developer first - distributes or otherwise makes the Original Software - available to a third party under the terms of this - License. - - (d) Notwithstanding Section 2.1(b) above, no patent - license is granted: (1) for code that You delete from - the Original Software, or (2) for infringements - caused by: (i) the modification of the Original - Software, or (ii) the combination of the Original - Software with other software or devices. - - 2.2. Contributor Grant. - - Conditioned upon Your compliance with Section 3.1 below and - subject to third party intellectual property claims, each - Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - - (a) under intellectual property rights (other than - patent or trademark) Licensable by Contributor to - use, reproduce, modify, display, perform, sublicense - and distribute the Modifications created by such - Contributor (or portions thereof), either on an - unmodified basis, with other Modifications, as - Covered Software and/or as part of a Larger Work; and - - - (b) under Patent Claims infringed by the making, - using, or selling of Modifications made by that - Contributor either alone and/or in combination with - its Contributor Version (or portions of such - combination), to make, use, sell, offer for sale, - have made, and/or otherwise dispose of: (1) - Modifications made by that Contributor (or portions - thereof); and (2) the combination of Modifications - made by that Contributor with its Contributor Version - (or portions of such combination). - - (c) The licenses granted in Sections 2.2(a) and - 2.2(b) are effective on the date Contributor first - distributes or otherwise makes the Modifications - available to a third party. - - (d) Notwithstanding Section 2.2(b) above, no patent - license is granted: (1) for any code that Contributor - has deleted from the Contributor Version; (2) for - infringements caused by: (i) third party - modifications of Contributor Version, or (ii) the - combination of Modifications made by that Contributor - with other software (except as part of the - Contributor Version) or other devices; or (3) under - Patent Claims infringed by Covered Software in the - absence of Modifications made by that Contributor. - - 3. Distribution Obligations. - - 3.1. Availability of Source Code. - - Any Covered Software that You distribute or otherwise make - available in Executable form must also be made available in - Source Code form and that Source Code form must be - distributed only under the terms of this License. You must - include a copy of this License with every copy of the - Source Code form of the Covered Software You distribute or - otherwise make available. You must inform recipients of any - such Covered Software in Executable form as to how they can - obtain such Covered Software in Source Code form in a - reasonable manner on or through a medium customarily used - for software exchange. - - 3.2. Modifications. - - The Modifications that You create or to which You - contribute are governed by the terms of this License. You - represent that You believe Your Modifications are Your - original creation(s) and/or You have sufficient rights to - grant the rights conveyed by this License. - - 3.3. Required Notices. - - You must include a notice in each of Your Modifications - that identifies You as the Contributor of the Modification. - You may not remove or alter any copyright, patent or - trademark notices contained within the Covered Software, or - any notices of licensing or any descriptive text giving - attribution to any Contributor or the Initial Developer. - - 3.4. Application of Additional Terms. - - You may not offer or impose any terms on any Covered - Software in Source Code form that alters or restricts the - applicable version of this License or the recipientsÕ - rights hereunder. You may choose to offer, and to charge a - fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Software. - However, you may do so only on Your own behalf, and not on - behalf of the Initial Developer or any Contributor. You - must make it absolutely clear that any such warranty, - support, indemnity or liability obligation is offered by - You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred - by the Initial Developer or such Contributor as a result of - warranty, support, indemnity or liability terms You offer. - - - 3.5. Distribution of Executable Versions. - - You may distribute the Executable form of the Covered - Software under the terms of this License or under the terms - of a license of Your choice, which may contain terms - different from this License, provided that You are in - compliance with the terms of this License and that the - license for the Executable form does not attempt to limit - or alter the recipientÕs rights in the Source Code form - from the rights set forth in this License. If You - distribute the Covered Software in Executable form under a - different license, You must make it absolutely clear that - any terms which differ from this License are offered by You - alone, not by the Initial Developer or Contributor. You - hereby agree to indemnify the Initial Developer and every - Contributor for any liability incurred by the Initial - Developer or such Contributor as a result of any such terms - You offer. - - 3.6. Larger Works. - - You may create a Larger Work by combining Covered Software - with other code not governed by the terms of this License - and distribute the Larger Work as a single product. In such - a case, You must make sure the requirements of this License - are fulfilled for the Covered Software. - - 4. Versions of the License. - - 4.1. New Versions. - - Sun Microsystems, Inc. is the initial license steward and - may publish revised and/or new versions of this License - from time to time. Each version will be given a - distinguishing version number. Except as provided in - Section 4.3, no one other than the license steward has the - right to modify this License. - - 4.2. Effect of New Versions. - - You may always continue to use, distribute or otherwise - make the Covered Software available under the terms of the - version of the License under which You originally received - the Covered Software. If the Initial Developer includes a - notice in the Original Software prohibiting it from being - distributed or otherwise made available under any - subsequent version of the License, You must distribute and - make the Covered Software available under the terms of the - version of the License under which You originally received - the Covered Software. Otherwise, You may also choose to - use, distribute or otherwise make the Covered Software - available under the terms of any subsequent version of the - License published by the license steward. - - 4.3. Modified Versions. - - When You are an Initial Developer and You want to create a - new license for Your Original Software, You may create and - use a modified version of this License if You: (a) rename - the license and remove any references to the name of the - license steward (except to note that the license differs - from this License); and (b) otherwise make it clear that - the license contains terms which differ from this License. - - - 5. DISCLAIMER OF WARRANTY. - - COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN ÒAS ISÓ - BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, - INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED - SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR - PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND - PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY - COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE - INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF - ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF - WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS - DISCLAIMER. - - 6. TERMINATION. - - 6.1. This License and the rights granted hereunder will - terminate automatically if You fail to comply with terms - herein and fail to cure such breach within 30 days of - becoming aware of the breach. Provisions which, by their - nature, must remain in effect beyond the termination of - this License shall survive. - - 6.2. If You assert a patent infringement claim (excluding - declaratory judgment actions) against Initial Developer or - a Contributor (the Initial Developer or Contributor against - whom You assert such claim is referred to as ÒParticipantÓ) - alleging that the Participant Software (meaning the - Contributor Version where the Participant is a Contributor - or the Original Software where the Participant is the - Initial Developer) directly or indirectly infringes any - patent, then any and all rights granted directly or - indirectly to You by such Participant, the Initial - Developer (if the Initial Developer is not the Participant) - and all Contributors under Sections 2.1 and/or 2.2 of this - License shall, upon 60 days notice from Participant - terminate prospectively and automatically at the expiration - of such 60 day notice period, unless if within such 60 day - period You withdraw Your claim with respect to the - Participant Software against such Participant either - unilaterally or pursuant to a written agreement with - Participant. - - 6.3. In the event of termination under Sections 6.1 or 6.2 - above, all end user licenses that have been validly granted - by You or any distributor hereunder prior to termination - (excluding licenses granted to You by any distributor) - shall survive termination. - - 7. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE - INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF - COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE - LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR - CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT - LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK - STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL - INJURY RESULTING FROM SUCH PARTYÕS NEGLIGENCE TO THE EXTENT - APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO - NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR - CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT - APPLY TO YOU. - - 8. U.S. GOVERNMENT END USERS. - - The Covered Software is a Òcommercial item,Ó as that term is - defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of Òcommercial - computer softwareÓ (as that term is defined at 48 C.F.R. ¤ - 252.227-7014(a)(1)) and Òcommercial computer software - documentationÓ as such terms are used in 48 C.F.R. 12.212 (Sept. - 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 - through 227.7202-4 (June 1995), all U.S. Government End Users - acquire Covered Software with only those rights set forth herein. - This U.S. Government Rights clause is in lieu of, and supersedes, - any other FAR, DFAR, or other clause or provision that addresses - Government rights in computer software under this License. - - 9. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the - extent necessary to make it enforceable. This License shall be - governed by the law of the jurisdiction specified in a notice - contained within the Original Software (except to the extent - applicable law, if any, provides otherwise), excluding such - jurisdictionÕs conflict-of-law provisions. Any litigation - relating to this License shall be subject to the jurisdiction of - the courts located in the jurisdiction and venue specified in a - notice contained within the Original Software, with the losing - party responsible for costs, including, without limitation, court - costs and reasonable attorneysÕ fees and expenses. The - application of the United Nations Convention on Contracts for the - International Sale of Goods is expressly excluded. Any law or - regulation which provides that the language of a contract shall - be construed against the drafter shall not apply to this License. - You agree that You alone are responsible for compliance with the - United States export administration regulations (and the export - control laws and regulation of any other countries) when You use, - distribute or otherwise make available any Covered Software. - - 10. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or - indirectly, out of its utilization of rights under this License - and You agree to work with Initial Developer and Contributors to - distribute such responsibility on an equitable basis. Nothing - herein is intended or shall be deemed to constitute any admission - of liability. diff --git a/cddl/contrib/dtracetoolkit/Docs/oneliners.txt b/cddl/contrib/dtracetoolkit/Docs/oneliners.txt deleted file mode 100644 index fca2aa313e2f..000000000000 --- a/cddl/contrib/dtracetoolkit/Docs/oneliners.txt +++ /dev/null @@ -1,81 +0,0 @@ -# -# DTrace OneLiners -# - -DTrace One Liners, - -# New processes with arguments, -dtrace -n 'proc:::exec-success { trace(curpsinfo->pr_psargs); }' - -# Files opened by process name, -dtrace -n 'syscall::open*:entry { printf("%s %s",execname,copyinstr(arg0)); }' - -# Files created using creat() by process name, -dtrace -n 'syscall::creat*:entry { printf("%s %s",execname,copyinstr(arg0)); }' - -# Syscall count by process name, -dtrace -n 'syscall:::entry { @num[execname] = count(); }' - -# Syscall count by syscall, -dtrace -n 'syscall:::entry { @num[probefunc] = count(); }' - -# Syscall count by process ID, -dtrace -n 'syscall:::entry { @num[pid,execname] = count(); }' - -# Read bytes by process name, -dtrace -n 'sysinfo:::readch { @bytes[execname] = sum(arg0); }' - -# Write bytes by process name, -dtrace -n 'sysinfo:::writech { @bytes[execname] = sum(arg0); }' - -# Read size distribution by process name, -dtrace -n 'sysinfo:::readch { @dist[execname] = quantize(arg0); }' - -# Write size distribution by process name, -dtrace -n 'sysinfo:::writech { @dist[execname] = quantize(arg0); }' - -# Disk size by process ID, -dtrace -n 'io:::start { printf("%d %s %d",pid,execname,args[0]->b_bcount); }' - -# Disk size aggregation -dtrace -n 'io:::start { @size[execname] = quantize(args[0]->b_bcount); }' - -# Pages paged in by process name, -dtrace -n 'vminfo:::pgpgin { @pg[execname] = sum(arg0); }' - -# Minor faults by process name, -dtrace -n 'vminfo:::as_fault { @mem[execname] = sum(arg0); }' - -# Interrupts by CPU, -dtrace -n 'sdt:::interrupt-start { @num[cpu] = count(); }' - -# CPU cross calls by process name, -dtrace -n 'sysinfo:::xcalls { @num[execname] = count(); }' - -# Lock time by process name, -dtrace -n 'lockstat:::adaptive-block { @time[execname] = sum(arg1); }' - -# Lock distribution by process name, -dtrace -n 'lockstat:::adaptive-block { @time[execname] = quantize(arg1); }' - -# Kernel funtion calls by module -dtrace -n 'fbt:::entry { @calls[probemod] = count(); }' - -# Stack size for processes -dtrace -n 'sched:::on-cpu { @[execname] = max(curthread->t_procp->p_stksize);}' - -# Kill all top processes when they are invoked, -dtrace -wn 'syscall::exece:return /execname == "top"/ { raise(9); }' - - - -DTrace Longer One Liners, - -# New processes with arguments and time, -dtrace -qn 'syscall::exec*:return { printf("%Y %s\n",walltimestamp,curpsinfo->pr_psargs); }' - -# Successful signal details, -dtrace -n 'proc:::signal-send /pid/ { printf("%s -%d %d",execname,args[2],args[1]->pr_pid); }' - - - diff --git a/cddl/contrib/dtracetoolkit/Examples/Copyright b/cddl/contrib/dtracetoolkit/Examples/Copyright deleted file mode 100644 index d802fe9086b4..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/Copyright +++ /dev/null @@ -1 +0,0 @@ -The examples in this directory are copyright to their author. diff --git a/cddl/contrib/dtracetoolkit/Examples/Readme b/cddl/contrib/dtracetoolkit/Examples/Readme deleted file mode 100644 index 762a3312abf8..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/Readme +++ /dev/null @@ -1,21 +0,0 @@ -Examples - Script demos, screenshots, and how to read the output - - This directory contains an example file per script in the DTraceToolkit. - - When I hear of a new performance tool or what not, the first thing I want - to see are screenshots. They illustrate, - - - generally what the tool is for - - many details and features, since the output is (supposed to be) - as intuitive as possible - - how to use the tool (command line usage) - - It is a rapid way to get a handle on what a tool generally is, and how - to start using it. The files in this directory serve that purpose. - - These are especially important now that the DTraceToolkit has over 200 - scripts. Flicking through these files and seeing the screenshots may - be the quickest way to find what you are after. - - Of course, don't forget to read the man pages and notes files too :) - diff --git a/cddl/contrib/dtracetoolkit/Examples/anonpgpid_example.txt b/cddl/contrib/dtracetoolkit/Examples/anonpgpid_example.txt deleted file mode 100644 index b505f3d1596f..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/anonpgpid_example.txt +++ /dev/null @@ -1,73 +0,0 @@ -The following is a demonstration of the anonpgpid.d script, - - -Here we run it on a system that is implementing memory caps using the -resource capping daemon, "rcapd", - - # anonpgpid.d - Tracing... Hit Ctrl-C to end. - ^C - PID CMD D BYTES - 6215 bash R 8192 - 6215 bash W 126976 - 5809 rcapd R 245760 - 6222 memleak.pl R 974848 - 6222 memleak.pl W 3055616 - -The "memleak.pl" process consumes memory, and we can see above that it has -encountered both reads and writes to the physical swap device - it is being -paged out. A bash shell was also effected (which was in the same project that -rcapd was monitoring). - - - -The following is an ordinary system that is very low on memory, - - # anonpgpid.d - Tracing... Hit Ctrl-C to end. - ^C - PID CMD D BYTES - 18885 sendmail R 4096 - 18600 automountd R 4096 - 1 init R 4096 - 2456 inetd R 8192 - 18546 nscd R 8192 - 2400 bash R 12288 - 217 utmpd R 28672 - 221 ttymon R 32768 - 210 sac R 36864 - 18777 snmpd R 49152 - 18440 init R 49152 - 89 nscd R 61440 - 318 syslogd R 73728 - 487 snmpd R 81920 - 2453 inetd R 102400 - 165 in.routed R 131072 - 294 automountd R 135168 - 215 inetd R 135168 - 187 rpcbind R 204800 - 86 kcfd R 290816 - 7 svc.startd R 1015808 - 9 svc.configd R 1478656 - 2 pageout W 23453696 - -The "pageout" process is responsible for writing all the anonymous memory -pages to the physical swap device, and we can see from the above that it -has written 23 Mb. When processes access anonymous memory that has been -swapped out, a major fault occurs and the memory is paged back in; in this -case we can trace the process that was effected, and from the above we can -see that several processes have been effected by the memory pressure. -The most is "svc.configd", which needed to page back in 1.4 Mb of anonymous -memory. - - - -Sometimes anonpgpid.d doesn't help too much. Here we only have pageouts -to the physical swap device and no pageins, - - # anonpgpid.d - ^C - PID CMD D BYTES - 2 pageout W 61083648 - -Only pageout is identified. diff --git a/cddl/contrib/dtracetoolkit/Examples/bitesize_example.txt b/cddl/contrib/dtracetoolkit/Examples/bitesize_example.txt deleted file mode 100644 index dcc697d5070d..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/bitesize_example.txt +++ /dev/null @@ -1,74 +0,0 @@ -In this example, bitesize.d was run for several seconds then Ctrl-C was hit. -As bitesize.d runs it records how processes on the system are accessing the -disks - in particular the size of the I/O operation. It is usually desirable -for processes to be requesting large I/O operations rather than taking many -small "bites". - -The final report highlights how processes performed. The find command mostly -read 1K blocks while the tar command was reading large blocks - both as -expected. - - # bitesize.d - Tracing... Hit Ctrl-C to end. - ^C - - PID CMD - 7110 -bash\0 - - value ------------- Distribution ------------- count - 512 | 0 - 1024 |@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 2048 | 0 - 4096 |@@@@@@@@@@@@@ 1 - 8192 | 0 - - 7110 sync\0 - - value ------------- Distribution ------------- count - 512 | 0 - 1024 |@@@@@ 1 - 2048 |@@@@@@@@@@ 2 - 4096 | 0 - 8192 |@@@@@@@@@@@@@@@@@@@@@@@@@ 5 - 16384 | 0 - - 0 sched\0 - - value ------------- Distribution ------------- count - 1024 | 0 - 2048 |@@@ 1 - 4096 | 0 - 8192 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 10 - 16384 | 0 - - 7109 find /\0 - - value ------------- Distribution ------------- count - 512 | 0 - 1024 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1452 - 2048 |@@ 91 - 4096 | 33 - 8192 |@@ 97 - 16384 | 0 - - 3 fsflush\0 - - value ------------- Distribution ------------- count - 4096 | 0 - 8192 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 449 - 16384 | 0 - - 7108 tar cf /dev/null /\0 - - value ------------- Distribution ------------- count - 256 | 0 - 512 | 70 - 1024 |@@@@@@@@@@ 1306 - 2048 |@@@@ 569 - 4096 |@@@@@@@@@ 1286 - 8192 |@@@@@@@@@@ 1403 - 16384 |@ 190 - 32768 |@@@ 396 - 65536 | 0 - - diff --git a/cddl/contrib/dtracetoolkit/Examples/connections_example.txt b/cddl/contrib/dtracetoolkit/Examples/connections_example.txt deleted file mode 100644 index e39d063113a8..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/connections_example.txt +++ /dev/null @@ -1,23 +0,0 @@ -The following is an example of connections. As inbound TCP connections are -established their details are printed out. This includes the UID, PID and -CMD of the server process that is listening on that port, - - # connections - UID PID CMD TYPE PORT IP_SOURCE - 0 242 inetd tcp 79 192.168.1.1 - 0 359 sshd tcp 22 192.168.1.1 - 100 1532 Xorg tcp 6000 192.168.1.1 - ^C - - -In another window snoop was running for comparison, - - # snoop 'tcp[13:1] = 0x02' - Using device /dev/rtls0 (promiscuous mode) - mars -> jupiter FINGER C port=56760 - mars -> jupiter TCP D=22 S=56761 Syn Seq=3264782212 Len=0 ... - mars -> jupiter XWIN C port=56763 - -snoop can already tell me that these connections are happening - but does not -print out details of the server that accepted the connection. - diff --git a/cddl/contrib/dtracetoolkit/Examples/cpudists_example.txt b/cddl/contrib/dtracetoolkit/Examples/cpudists_example.txt deleted file mode 100644 index aa8256b7b7a9..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/cpudists_example.txt +++ /dev/null @@ -1,276 +0,0 @@ -The following demonstrates the cpudists program. It prints distributions -of CPU time consumed by the Kernel, Idle thread, or Processes. - -Here we run cpudists for 5 seconds once, - -# ./cpudists 5 1 -2005 Apr 28 00:08:42, - KERNEL - value ------------- Distribution ------------- count - 4096 | 0 - 8192 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1134 - 16384 |@@@@@@@@@ 344 - 32768 |@@@ 104 - 65536 | 3 - 131072 | 0 - 262144 | 1 - 524288 | 0 - 1048576 | 11 - 2097152 | 0 - - PROCESS - value ------------- Distribution ------------- count - 8192 | 0 - 16384 |@@@@@@@@@ 170 - 32768 |@@@@@@@@@@@@@@@@@@ 331 - 65536 |@@@@@@@@ 152 - 131072 |@ 17 - 262144 |@ 25 - 524288 |@ 13 - 1048576 | 4 - 2097152 | 9 - 4194304 | 0 - - IDLE - value ------------- Distribution ------------- count - 2097152 | 0 - 4194304 |@ 9 - 8388608 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 418 - 16777216 |@@@ 31 - 33554432 | 0 - -The value indicates the time in nanoseconds, the count the number of -runs for this length. - -From the above, we can see the kernel has run many times - but for short -intervals each time. Processes have taken fom 10 to 60 microseconds; -and when the idle thread runs it runs for some time - around 8 milliseconds -for each. - - - - -cpudists has a "-a" option for all processes, - -# ./cpudists -a 5 1 -2005 Apr 28 00:17:34, - mapping-daemon - value ------------- Distribution ------------- count - 8192 | 0 - 16384 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 32768 |@@@@@@@@@@@@@ 1 - 65536 | 0 - - sendmail - value ------------- Distribution ------------- count - 8192 | 0 - 16384 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 32768 | 0 - 65536 |@@@@@@@@@@@@@ 1 - 131072 | 0 - - nautilus - value ------------- Distribution ------------- count - 8192 | 0 - 16384 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 32768 | 0 - 65536 |@@@@@@@@@@@@@ 1 - 131072 | 0 - - fmd - value ------------- Distribution ------------- count - 8192 | 0 - 16384 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 32768 | 0 - 65536 |@@@@@@@@@@@@@ 1 - 131072 | 0 - - in.routed - value ------------- Distribution ------------- count - 65536 | 0 - 131072 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 262144 | 0 - - miniserv.pl - value ------------- Distribution ------------- count - 8192 | 0 - 16384 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 32768 | 0 - 65536 | 0 - 131072 |@@@@@@@@@@@@@ 1 - 262144 | 0 - - xscreensaver - value ------------- Distribution ------------- count - 8192 | 0 - 16384 |@@@@@@@@@@@@@@@@@@@@ 2 - 32768 | 0 - 65536 |@@@@@@@@@@@@@@@@@@@@ 2 - 131072 | 0 - -gnome-vfs-daemon - value ------------- Distribution ------------- count - 8192 | 0 - 16384 |@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 32768 | 0 - 65536 |@@@@@@@@@@@@@@@@ 2 - 131072 | 0 - - gnome-panel - value ------------- Distribution ------------- count - 8192 | 0 - 16384 |@@@@@@@@ 1 - 32768 |@@@@@@@@@@@@@@@@ 2 - 65536 | 0 - 131072 |@@@@@@@@@@@@@@@@ 2 - 262144 | 0 - - svc.startd - value ------------- Distribution ------------- count - 8192 | 0 - 16384 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 10 - 32768 |@@@@@@@@@@@ 4 - 65536 |@@@ 1 - 131072 | 0 - - nscd - value ------------- Distribution ------------- count - 8192 | 0 - 16384 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 25 - 32768 |@ 1 - 65536 | 0 - 131072 |@ 1 - 262144 | 0 - -gnome-netstatus- - value ------------- Distribution ------------- count - 8192 | 0 - 16384 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 32768 | 0 - 65536 | 0 - 131072 | 0 - 262144 | 0 - 524288 | 0 - 1048576 |@@@@@@@@@@@@@ 1 - 2097152 | 0 - - mixer_applet2 - value ------------- Distribution ------------- count - 8192 | 0 - 16384 |@@@@@@@@@ 10 - 32768 |@@@@@@@@@@@@@@@@@ 19 - 65536 |@@@@@@@@@@@@@@ 16 - 131072 | 0 - - soffice.bin - value ------------- Distribution ------------- count - 8192 | 0 - 16384 |@@@@@@@@@ 7 - 32768 |@@@@@@@@@@@@@@@@@@@ 14 - 65536 |@@@@@@@@ 6 - 131072 | 0 - 262144 |@@@ 2 - 524288 | 0 - 1048576 | 0 - 2097152 |@ 1 - 4194304 | 0 - - dtrace - value ------------- Distribution ------------- count - 8192 | 0 - 16384 |@@@@@@@@@@@@@@@@@@@@@@@@@ 8 - 32768 | 0 - 65536 | 0 - 131072 | 0 - 262144 |@@@ 1 - 524288 |@@@@@@@@@ 3 - 1048576 | 0 - 2097152 |@@@ 1 - 4194304 | 0 - - Xorg - value ------------- Distribution ------------- count - 32768 | 0 - 65536 |@@@@@@@@@@@@@@@@@@@@ 15 - 131072 |@@@@@@@@ 6 - 262144 |@@@@@@@@@@@@ 9 - 524288 | 0 - - java_vm - value ------------- Distribution ------------- count - 8192 | 0 - 16384 |@@@@@@@@@@@@@@@@@@@@ 101 - 32768 |@@@@@@@@@@@@@@@@ 84 - 65536 |@@@@ 20 - 131072 | 0 - - gnome-terminal - value ------------- Distribution ------------- count - 16384 | 0 - 32768 |@@@@@@@@@@@@@@@@ 12 - 65536 |@@@@@@@@@@@ 8 - 131072 |@ 1 - 262144 | 0 - 524288 |@@@@@@@@@@@@ 9 - 1048576 | 0 - - acroread - value ------------- Distribution ------------- count - 8192 | 0 - 16384 | 1 - 32768 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 188 - 65536 |@@@@@@@@ 47 - 131072 |@@ 10 - 262144 | 0 - - mozilla-bin - value ------------- Distribution ------------- count - 8192 | 0 - 16384 |@@@@@@@@ 21 - 32768 |@@@@@ 13 - 65536 |@@@@@@@@@@@@@ 36 - 131072 |@@@@@@@ 19 - 262144 |@@@ 9 - 524288 |@@ 5 - 1048576 |@ 2 - 2097152 |@@ 5 - 4194304 | 0 - - KERNEL - value ------------- Distribution ------------- count - 4096 | 0 - 8192 |@@@@@@@@@@@@@@@@@@@@@@@@@@ 1085 - 16384 |@@@@@@@@@@@ 443 - 32768 |@@ 98 - 65536 | 5 - 131072 | 1 - 262144 | 1 - 524288 | 0 - 1048576 | 11 - 2097152 | 0 - - fsflush - value ------------- Distribution ------------- count - 131072 | 0 - 262144 |@@@@@@@ 1 - 524288 | 0 - 1048576 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 4 - 2097152 | 0 - 4194304 | 0 - 8388608 | 0 - 16777216 | 0 - 33554432 |@@@@@@@ 1 - 67108864 | 0 - - IDLE - value ------------- Distribution ------------- count - 524288 | 0 - 1048576 | 1 - 2097152 | 0 - 4194304 |@ 13 - 8388608 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 411 - 16777216 |@@@ 31 - 33554432 | 0 - - - diff --git a/cddl/contrib/dtracetoolkit/Examples/cputimes_example.txt b/cddl/contrib/dtracetoolkit/Examples/cputimes_example.txt deleted file mode 100644 index 253a7a34bd6e..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/cputimes_example.txt +++ /dev/null @@ -1,210 +0,0 @@ -The following demonstrates running the cputimes program on an idle system. -We use an interval of 1 second and a count of 3, - - # ./cputimes 1 3 - 2005 Apr 27 23:37:58, - THREADS TIME (ns) - KERNEL 10795499 - PROCESS 20941091 - IDLE 970707443 - 2005 Apr 27 23:37:59, - THREADS TIME (ns) - KERNEL 8919418 - PROCESS 77446789 - IDLE 910555040 - 2005 Apr 27 23:38:00, - THREADS TIME (ns) - KERNEL 8615123 - PROCESS 78314246 - IDLE 810100417 - -In the above output, we can see a breakdown of CPU time into the catagories -KERNEL, PROCESS and IDLE. The time is measured in nanoseconds. Most of the -time is in the IDLE category, as the system is idle. Very little time -was spent serving the kernel. - - - - -In the following example, several programs are run to hog the CPUs, - - # ./cputimes 1 3 - 2005 Apr 27 23:40:58, - THREADS TIME (ns) - KERNEL 11398807 - PROCESS 992254664 - 2005 Apr 27 23:40:59, - THREADS TIME (ns) - KERNEL 9205260 - PROCESS 987561182 - 2005 Apr 27 23:41:00, - THREADS TIME (ns) - KERNEL 9196669 - PROCESS 877850474 - -Now there is no IDLE category, as the system is 100% utilised. -The programs were the following, - - while :; do :; done & - -which keeps the CPU busy. - - - - -In the following example a different style of program is run to hog the CPUs, - - while :; do date; done - -This causes many processes to be created and destroyed in a hurry, and can -be difficult to troubleshoot (tools like prstat cannot sample quick enough -to easily identify what is going on). The following is the cputimes output, - - # ./cputimes 1 3 - 2005 Apr 27 23:45:30, - THREADS TIME (ns) - KERNEL 192647392 - PROCESS 835397568 - 2005 Apr 27 23:45:31, - THREADS TIME (ns) - KERNEL 168773713 - PROCESS 810825730 - 2005 Apr 27 23:45:32, - THREADS TIME (ns) - KERNEL 151676122 - PROCESS 728477272 - -Now the kernel is doing a substantial amount of work to create and destroy -these processes. - - - - -In the following example, a large amount of network activity occurs while -cputimes is running, - - # ./cputimes 1 6 - 2005 Apr 27 23:49:29, - THREADS TIME (ns) - KERNEL 10596399 - PROCESS 21793920 - IDLE 974395713 - 2005 Apr 27 23:49:30, - THREADS TIME (ns) - KERNEL 251465759 - IDLE 357436576 - PROCESS 508986422 - 2005 Apr 27 23:49:31, - THREADS TIME (ns) - IDLE 9758227 - KERNEL 367645318 - PROCESS 385427847 - 2005 Apr 27 23:49:32, - THREADS TIME (ns) - IDLE 28351679 - KERNEL 436022725 - PROCESS 451304688 - 2005 Apr 27 23:49:33, - THREADS TIME (ns) - KERNEL 262586158 - PROCESS 325238896 - IDLE 358243503 - 2005 Apr 27 23:49:34, - THREADS TIME (ns) - KERNEL 10075578 - PROCESS 238170506 - IDLE 647956998 - -Initially the system is idle. A command is run to cause heavy network -activity, which peaks during the fourth sample - during which the kernel -is using around 40% of the CPU. The Solaris 10 command "intrstat" can -help to analyse this activity further. - - - - -Longer samples are possible. The following is a 60 second sample, - - # ./cputimes 60 1 - 2005 Apr 27 23:53:02, - THREADS TIME (ns) - KERNEL 689808449 - PROCESS 8529562214 - IDLE 50406951876 - # - - - - -cputimes has a "-a" option to print all processes. The following is a -single 1 second sample with -a, - - # ./cputimes -a 1 1 - 2005 Apr 28 00:00:32, - THREADS TIME (ns) - svc.startd 51042 - nautilus 130645 - in.routed 131823 - fmd 152822 - nscd 307042 - dsdm 415799 - mixer_applet2 551066 - gnome-smproxy 587234 - xscreensaver 672270 - fsflush 1060196 - java_vm 1552988 - wnck-applet 2060870 - dtrace 2398658 - acroread 2614687 - soffice.bin 2825117 - mozilla-bin 5497488 - KERNEL 13541120 - metacity 28924204 - gnome-terminal 74304348 - Xorg 289631407 - IDLE 465054209 - -The times are in nanoseconds, and multiple processes with the same name -have their times aggregated. The above output is at an amazing resolution - -svc.startd ran for 51 microseconds, and soffice.bin ran for 28 milliseconds. - - - - -The following is a 10 second sample on an idle desktop, - - # ./cputimes -a 10 1 - 2005 Apr 28 00:03:57, - THREADS TIME (ns) - snmpd 127859 - fmd 171897 - inetd 177134 - svc.configd 185006 - mapping-daemon 197674 - miniserv.pl 305603 - gconfd-2 330511 - xscreensaver 443207 - sendmail 473434 - nautilus 506799 - gnome-vfs-daemon 549037 - gnome-panel 770631 - nscd 885353 - svc.startd 1181286 - gnome-netstatus- 4329671 - mixer_applet2 4833519 - dtrace 6244366 - in.routed 6556075 - fsflush 9553155 - soffice.bin 13954327 - java_vm 16285243 - acroread 32126193 - gnome-terminal 34891991 - Xorg 35553412 - mozilla-bin 67855629 - KERNEL 94834997 - IDLE 9540941846 - -Wow, maybe not as idle as I thought! - - - diff --git a/cddl/contrib/dtracetoolkit/Examples/cputypes_example.txt b/cddl/contrib/dtracetoolkit/Examples/cputypes_example.txt deleted file mode 100644 index 158a43f15875..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/cputypes_example.txt +++ /dev/null @@ -1,40 +0,0 @@ -The following are demonstrations of the cputypes.d script, - - -This is running cputypes.d on a desktop, - - # cputypes.d - CPU CHIP PSET LGRP CLOCK TYPE FPU - 0 0 0 0 867 i386 i387 compatible - -fairly boring. - - - -The following is a multi CPU x86 server, - - # cputypes.d - CPU CHIP PSET LGRP CLOCK TYPE FPU - 0 0 0 0 2791 i386 i387 compatible - 1 3 1 0 2791 i386 i387 compatible - 2 0 0 0 2791 i386 i387 compatible - 3 3 0 0 2791 i386 i387 compatible - -Much more interesting! We can see from the CHIP field that there is actually -two CPUs, each with two cores. There is also two processor sets (0, 1). - -The CPUs were printed in CPU id order by mere chance. - - - -Here is a multi CPU SPARC server, - - # cputypes.d - CPU CHIP PSET LGRP CLOCK TYPE FPU - 0 0 0 0 400 sparcv9 sparcv9 - 1 1 0 0 400 sparcv9 sparcv9 - 4 4 0 0 400 sparcv9 sparcv9 - 5 5 0 0 400 sparcv9 sparcv9 - - - diff --git a/cddl/contrib/dtracetoolkit/Examples/cpuwalk_example.txt b/cddl/contrib/dtracetoolkit/Examples/cpuwalk_example.txt deleted file mode 100644 index 34afa959815e..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/cpuwalk_example.txt +++ /dev/null @@ -1,85 +0,0 @@ -The following is a demonstration of the cpuwalk.d script, - - -cpuwalk.d is not that useful on a single CPU server, - - # cpuwalk.d - Sampling... Hit Ctrl-C to end. - ^C - - PID: 18843 CMD: bash - - value ------------- Distribution ------------- count - < 0 | 0 - 0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 30 - 1 | 0 - - PID: 8079 CMD: mozilla-bin - - value ------------- Distribution ------------- count - < 0 | 0 - 0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 10 - 1 | 0 - -The output above shows that PID 18843, "bash", was sampled on CPU 0 a total -of 30 times (we sample at 1000 hz). - - - -The following is a demonstration of running cpuwalk.d with a 5 second -duration. This is on a 4 CPU server running a multithreaded CPU bound -application called "cputhread", - - # cpuwalk.d 5 - Sampling... - - PID: 3 CMD: fsflush - - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 30 - 3 | 0 - - PID: 12186 CMD: cputhread - - value ------------- Distribution ------------- count - < 0 | 0 - 0 |@@@@@@@@@@ 4900 - 1 |@@@@@@@@@@ 4900 - 2 |@@@@@@@@@@ 4860 - 3 |@@@@@@@@@@ 4890 - 4 | 0 - -As we are sampling at 1000 hz, the application cputhread is indeed running -concurrently across all available CPUs. We measured the applicaiton on -CPU 0 a total of 4900 times, on CPU 1 a total of 4900 times, etc. As there -are around 5000 samples per CPU available in this 5 second 1000 hz sample, -the application is using almost all the CPU capacity in this server well. - - - -The following is a similar demonstration, this time running a multithreaded -CPU bound application called "cpuserial" that has a poor use of locking -such that the threads "serialise", - - - # cpuwalk.d 5 - Sampling... - - PID: 12194 CMD: cpuserial - - value ------------- Distribution ------------- count - < 0 | 0 - 0 |@@@ 470 - 1 |@@@@@@ 920 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@ 3840 - 3 |@@@@@@ 850 - 4 | 0 - -In the above, we can see that this CPU bound application is not making -efficient use of the CPU resources available, only reaching 3840 samples -on CPU 2 out of a potential 5000. This problem was caused by a poor use -of locks. - - - diff --git a/cddl/contrib/dtracetoolkit/Examples/crash_example.txt b/cddl/contrib/dtracetoolkit/Examples/crash_example.txt deleted file mode 100644 index f0034d3b74d9..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/crash_example.txt +++ /dev/null @@ -1,68 +0,0 @@ -The following is an example of the crashed application script, crash.d -This demonstration is for version 0.80 of crash.d, newer versions may -produce enhanced output. - -Here is the report generated as crash.d catches a crashing procmail process, - -# ./crash.d -Waiting for crashing applications... - ------------------------------------------------------ -CRASH DETECTED at 2005 May 30 19:41:34 ------------------------------------------------------ -Type: SIGSEGV -Program: procmail -Args: procmail -m\0 -PID: 2877 -TID: 1 -LWPs: 1 -PPID: 1778 -UID: 100 -GID: 1 -TaskID: 76 -ProjID: 3 -PoolID: 0 -ZoneID: 0 -zone: global -CWD: /usr/include/sys -errno: 0 - -User Stack Backtrace, - procmail`sendcomsat+0x24 - procmail`Terminate+0x76 - procmail`0x805a2b0 - procmail`0x805a40f - libc.so.1`__sighndlr+0xf - libc.so.1`call_user_handler+0x22b - libc.so.1`sigacthandler+0xbb - 0xffffffff - procmail`rread+0x1d - procmail`0x805bcb4 - procmail`read2blk+0x6b - procmail`readdyn+0x1f - procmail`readmail+0x181 - procmail`main+0x532 - procmail`_start+0x5d - -Kernel Stack Backtrace, - genunix`sigaddqa+0x3f - genunix`trapsig+0xdb - unix`trap+0xc2b - unix`_cmntrap+0x83 - -Ansestors, - 2877 procmail -m\0 - 1778 bash\0 - 1777 xterm -bg black -fg grey70 -sl 500 -vb\0 - 1 /sbin/init\0 - 0 sched\0 - -Times, - User: 0 ticks - Sys: 1 ticks - Elapsed: 3307 ms - -Sizes, - Heap: 16388 bytes - Stack: 8192 bytes - diff --git a/cddl/contrib/dtracetoolkit/Examples/creatbyproc_example.txt b/cddl/contrib/dtracetoolkit/Examples/creatbyproc_example.txt deleted file mode 100644 index 295e07ff2fbb..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/creatbyproc_example.txt +++ /dev/null @@ -1,23 +0,0 @@ -The following is an example of the creatbyproc.d script, - - -Here we run creatbyproc.d for several seconds, - - # ./creatbyproc.d - dtrace: script './creatbyproc.d' matched 2 probes - CPU ID FUNCTION:NAME - 0 5438 creat64:entry touch /tmp/newfile - 0 5438 creat64:entry sh /tmp/mpLaaOik - 0 5438 creat64:entry sh /dev/null - ^C - -In another window, the following commands were run, - - touch /tmp/newfile - man ls - -The file creation activity caused by these commands can be seen in the -output by creatbyproc.d - - - diff --git a/cddl/contrib/dtracetoolkit/Examples/cswstat_example.txt b/cddl/contrib/dtracetoolkit/Examples/cswstat_example.txt deleted file mode 100644 index d45347c64f33..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/cswstat_example.txt +++ /dev/null @@ -1,25 +0,0 @@ -The following is an example of the cswstat.d script, - - # cswstat.d - TIME NUM CSWTIME AVGTIME - 2005 May 17 01:57:21 276 2407 8 - 2005 May 17 01:57:22 283 2251 7 - 2005 May 17 01:57:23 259 2098 8 - 2005 May 17 01:57:24 268 2169 8 - 2005 May 17 01:57:25 1248 10864 8 - 2005 May 17 01:57:26 2421 21263 8 - 2005 May 17 01:57:27 2183 19804 9 - 2005 May 17 01:57:28 1980 18640 9 - 2005 May 17 01:57:29 794 7422 9 - 2005 May 17 01:57:30 275 2233 8 - 2005 May 17 01:57:31 288 2338 8 - 2005 May 17 01:57:32 545 4154 7 - 2005 May 17 01:57:33 264 2149 8 - ^C - -In the above output, the average context switch time is 8 microseconds. -During the sample there was a burst of activity, increasing the number -of context switches per second from around 270 to over 2000. The time -consumed by all of these context switches in total is printed, peaking -at 21 ms. - diff --git a/cddl/contrib/dtracetoolkit/Examples/dappprof_example.txt b/cddl/contrib/dtracetoolkit/Examples/dappprof_example.txt deleted file mode 100644 index a2c3935939c2..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/dappprof_example.txt +++ /dev/null @@ -1,71 +0,0 @@ -The following is a demonstration of the dappprof command, - -This is the usage for version 0.60, - - # dappprof -h - USAGE: dappprof [-cehoTU] [-u lib] { -p PID | command } - - -p PID # examine this PID - -a # print all details - -c # print syscall counts - -e # print elapsed times (us) - -o # print on cpu times - -T # print totals - -u lib # trace this library instead - -U # trace all libraries + user funcs - -b bufsize # dynamic variable buf size - eg, - dappprof df -h # run and examine "df -h" - dappprof -p 1871 # examine PID 1871 - dappprof -ap 1871 # print all data - - - -The following shows running dappprof with the "banner hello" command. -Elapsed and on-cpu times are printed (-eo), as well as counts (-c) and -totals (-T), - - # dappprof -eocT banner hello - - # # ###### # # #### - # # # # # # # - ###### ##### # # # # - # # # # # # # - # # # # # # # - # # ###### ###### ###### #### - - - CALL COUNT - __fsr 1 - main 1 - banprt 1 - banner 1 - banset 1 - convert 5 - banfil 5 - TOTAL: 15 - - CALL ELAPSED - banset 37363 - banfil 147407 - convert 149606 - banprt 423507 - banner 891088 - __fsr 1694349 - TOTAL: 3343320 - - CALL CPU - banset 7532 - convert 8805 - banfil 11092 - __fsr 15708 - banner 48696 - banprt 388853 - TOTAL: 480686 - -The above output has analysed user functions (the default). It makes it -easy to identify which function is being called the most (COUNT), which -is taking the most time (ELAPSED), and which is consuming the most CPU (CPU). -These times are totals for all the functions called. - - diff --git a/cddl/contrib/dtracetoolkit/Examples/dapptrace_example.txt b/cddl/contrib/dtracetoolkit/Examples/dapptrace_example.txt deleted file mode 100644 index f19606ceca51..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/dapptrace_example.txt +++ /dev/null @@ -1,215 +0,0 @@ -The following is a demonstration of the dapptrace command, - -This is the usage for version 0.60, - - # dapptrace -h - USAGE: dapptrace [-acdeholFLU] [-u lib] { -p PID | command } - - -p PID # examine this PID - -a # print all details - -c # print syscall counts - -d # print relative times (us) - -e # print elapsed times (us) - -F # print flow indentation - -l # print pid/lwpid - -o # print CPU on cpu times - -u lib # trace this library instead - -U # trace all libraries + user funcs - -b bufsize # dynamic variable buf size - eg, - dapptrace df -h # run and examine "df -h" - dapptrace -p 1871 # examine PID 1871 - dapptrace -Fp 1871 # print using flow indents - dapptrace -eop 1871 # print elapsed and CPU times - - - -The following is an example of the default output. We run dapptrace with -the "banner hello" command, - - # dapptrace banner hi - - # # # - # # # - ###### # - # # # - # # # - # # # - - CALL(args) = return - -> __fsr(0x2, 0x8047D7C, 0x8047D88) - <- __fsr = 122 - -> main(0x2, 0x8047D7C, 0x8047D88) - -> banner(0x8047E3B, 0x80614C2, 0x8047D38) - -> banset(0x20, 0x80614C2, 0x8047DCC) - <- banset = 36 - -> convert(0x68, 0x8047DCC, 0x2) - <- convert = 319 - -> banfil(0x8061412, 0x80614C2, 0x8047DCC) - <- banfil = 57 - -> convert(0x69, 0x8047DCC, 0x2) - <- convert = 319 - -> banfil(0x8061419, 0x80614CA, 0x8047DCC) - <- banfil = 57 - <- banner = 118 - -> banprt(0x80614C2, 0x8047D38, 0xD27FB824) - <- banprt = 74 - -The default output shows user function calls. An entry is prefixed -with a "->", and the return has a "<-". - - - -Here we run dapptrace with the -F for flow indent option, - - # dapptrace -F banner hi - - # # # - # # # - ###### # - # # # - # # # - # # # - - CALL(args) = return - -> __fsr(0x2, 0x8047D7C, 0x8047D88) - <- __fsr = 122 - -> main(0x2, 0x8047D7C, 0x8047D88) - -> banner(0x8047E3B, 0x80614C2, 0x8047D38) - -> banset(0x20, 0x80614C2, 0x8047DCC) - <- banset = 36 - -> convert(0x68, 0x8047DCC, 0x2) - <- convert = 319 - -> banfil(0x8061412, 0x80614C2, 0x8047DCC) - <- banfil = 57 - -> convert(0x69, 0x8047DCC, 0x2) - <- convert = 319 - -> banfil(0x8061419, 0x80614CA, 0x8047DCC) - <- banfil = 57 - <- banner = 118 - -> banprt(0x80614C2, 0x8047D38, 0xD27FB824) - <- banprt = 74 - -The above output illustrates the flow of the program, which functions -call which other functions. - - - -Now the same command is run with -d to display relative timestamps, - - # dapptrace -dF banner hi - - # # # - # # # - ###### # - # # # - # # # - # # # - - RELATIVE CALL(args) = return - 2512 -> __fsr(0x2, 0x8047D7C, 0x8047D88) - 2516 <- __fsr = 122 - 2518 -> main(0x2, 0x8047D7C, 0x8047D88) - 2863 -> banner(0x8047E3B, 0x80614C2, 0x8047D38) - 2865 -> banset(0x20, 0x80614C2, 0x8047DCC) - 2872 <- banset = 36 - 2874 -> convert(0x68, 0x8047DCC, 0x2) - 2877 <- convert = 319 - 2879 -> banfil(0x8061412, 0x80614C2, 0x8047DCC) - 2882 <- banfil = 57 - 2883 -> convert(0x69, 0x8047DCC, 0x2) - 2885 <- convert = 319 - 2886 -> banfil(0x8061419, 0x80614CA, 0x8047DCC) - 2888 <- banfil = 57 - 2890 <- banner = 118 - 2892 -> banprt(0x80614C2, 0x8047D38, 0xD27FB824) - 3214 <- banprt = 74 - -The relative times are in microseconds since the program's invocation. Great! - - - -Even better is if we use the -eo options, to print elapsed times and on-cpu -times, - - # dapptrace -eoF banner hi - - # # # - # # # - ###### # - # # # - # # # - # # # - - ELAPSD CPU CALL(args) = return - . . -> __fsr(0x2, 0x8047D7C, 0x8047D88) - 41 4 <- __fsr = 122 - . . -> main(0x2, 0x8047D7C, 0x8047D88) - . . -> banner(0x8047E3B, 0x80614C2, 0x8047D38) - . . -> banset(0x20, 0x80614C2, 0x8047DCC) - 29 6 <- banset = 36 - . . -> convert(0x68, 0x8047DCC, 0x2) - 26 3 <- convert = 319 - . . -> banfil(0x8061412, 0x80614C2, 0x8047DCC) - 25 2 <- banfil = 57 - . . -> convert(0x69, 0x8047DCC, 0x2) - 23 1 <- convert = 319 - . . -> banfil(0x8061419, 0x80614CA, 0x8047DCC) - 23 1 <- banfil = 57 - 309 28 <- banner = 118 - . . -> banprt(0x80614C2, 0x8047D38, 0xD27FB824) - 349 322 <- banprt = 74 - -Now it is easy to see which functions take the longest (elapsed), and -which consume the most CPU cycles. - - - -The following demonstrates the -U option, to trace all libraries, - - # dapptrace -U banner hi - - # # # - # # # - ###### # - # # # - # # # - # # # - - CALL(args) = return - -> ld.so.1:_rt_boot(0x8047E34, 0x8047E3B, 0x0) - -> ld.so.1:_setup(0x8047D38, 0x20AE4, 0x3) - -> ld.so.1:setup(0x8047D88, 0x8047DCC, 0x0) - -> ld.so.1:fmap_setup(0x0, 0xD27FB2E4, 0xD27FB824) - <- ld.so.1:fmap_setup = 125 - -> ld.so.1:addfree(0xD27FD3C0, 0xC40, 0x0) - <- ld.so.1:addfree = 65 - -> ld.so.1:security(0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF) - <- ld.so.1:security = 142 - -> ld.so.1:readenv_user(0x8047D88, 0xD27FB204, 0xD27FB220) - -> ld.so.1:ld_str_env(0x8047E3E, 0xD27FB204, 0xD27FB220) - <- ld.so.1:ld_str_env = 389 - -> ld.so.1:ld_str_env(0x8047E45, 0xD27FB204, 0xD27FB220) - <- ld.so.1:ld_str_env = 389 - -> ld.so.1:ld_str_env(0x8047E49, 0xD27FB204, 0xD27FB220) - <- ld.so.1:ld_str_env = 389 - -> ld.so.1:ld_str_env(0x8047E50, 0xD27FB204, 0xD27FB220) - -> ld.so.1:strncmp(0x8047E53, 0xD27F7BEB, 0x4) - <- ld.so.1:strncmp = 113 - -> ld.so.1:rd_event(0xD27FB1F8, 0x3, 0x0) - [...4486 lines deleted...] - -> ld.so.1:_lwp_mutex_unlock(0xD27FD380, 0xD27FB824, 0x8047C04) - <- ld.so.1:_lwp_mutex_unlock = 47 - <- ld.so.1:rt_mutex_unlock = 34 - -> ld.so.1:rt_bind_clear(0x1, 0xD279ECC0, 0xD27FDB2C) - <- ld.so.1:rt_bind_clear = 34 - <- ld.so.1:leave = 210 - <- ld.so.1:elf_bndr = 803 - <- ld.so.1:elf_rtbndr = 35 - -The output was huge, around 4500 lines long. Function names are prefixed -with their library name, eg "ld.so.1". - -This full output should be used with caution, as it enables so many probes -it could well be a burden on the system. - diff --git a/cddl/contrib/dtracetoolkit/Examples/dexplorer_example.txt b/cddl/contrib/dtracetoolkit/Examples/dexplorer_example.txt deleted file mode 100644 index cba6171c350e..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/dexplorer_example.txt +++ /dev/null @@ -1,95 +0,0 @@ -The following is a demonstration of the dexplorer program. - - -Here we run dexplorer with no arguments. By default it will sample various -system activities using DTrace at 5 seconds per sample. It creates an -output tar.gz file containing all the DTrace output, - - # dexplorer - Output dir will be the current dir (/export/home/root/DTrace/Dexplorer). - Hit enter for yes, or type path: - Starting dexplorer ver 0.70. - Sample interval is 5 seconds. Total run is > 100 seconds. - 0% Interrupts by CPU... - 5% Interrupt counts... - 10% Dispatcher queue length by CPU... - 15% Sdt counts... - 20% Pages paged in by process name... - 25% Files opened count... - 30% Disk I/O size distribution by process name... - 35% Minor faults by process name... - 40% Vminfo data by process name... - 45% Mib data by mib statistic... - 50% TCP write bytes by process... - 55% Sample process @ 1000 Hz... - 60% Syscall count by process name... - 65% Syscall count by syscall... - 70% Read bytes by process name... - 75% Write bytes by process name... - 80% Sysinfo counts by process name... - 85% New process counts with arguments... - 90% Signal counts... - 95% Syscall error counts... - 100% Done. - File is de_jupiter_200506271803.tar.gz - -As each sample is taken, a line of output is printed above. The above example -is for version 0.70, newer versions of dexplorer are likely to print more -lines as they take more samples. - -The final line states which file all the output is now in. - - - - -The following displays the contents of a dexplorer file, - - # gunzip de_jupiter_200506271803.tar.gz - # tar xf de_jupiter_200506271803.tar - de_jupiter_200506271803 - de_jupiter_200506271803/Cpu - de_jupiter_200506271803/Cpu/interrupt_by_cpu - de_jupiter_200506271803/Cpu/interrupt_time - de_jupiter_200506271803/Cpu/dispqlen_by_cpu - de_jupiter_200506271803/Cpu/sdt_count - de_jupiter_200506271803/Disk - de_jupiter_200506271803/Disk/pgpgin_by_processname - de_jupiter_200506271803/Disk/fileopen_count - de_jupiter_200506271803/Disk/sizedist_by_processname - de_jupiter_200506271803/Mem - de_jupiter_200506271803/Mem/minf_by_processname - de_jupiter_200506271803/Mem/vminfo_by_processname - de_jupiter_200506271803/Net - de_jupiter_200506271803/Net/mib_data - de_jupiter_200506271803/Net/tcpw_by_process - de_jupiter_200506271803/Proc - de_jupiter_200506271803/Proc/sample_process - de_jupiter_200506271803/Proc/syscall_by_processname - de_jupiter_200506271803/Proc/syscall_count - de_jupiter_200506271803/Proc/readb_by_processname - de_jupiter_200506271803/Proc/writeb_by_processname - de_jupiter_200506271803/Proc/sysinfo_by_processname - de_jupiter_200506271803/Proc/newprocess_count - de_jupiter_200506271803/Proc/signal_count - de_jupiter_200506271803/Proc/syscall_errors - de_jupiter_200506271803/Info - de_jupiter_200506271803/Info/uname-a - de_jupiter_200506271803/Info/psrinfo-v - de_jupiter_200506271803/Info/prtconf - de_jupiter_200506271803/Info/df-k - de_jupiter_200506271803/Info/ifconfig-a - de_jupiter_200506271803/Info/ps-o - de_jupiter_200506271803/Info/uptime - de_jupiter_200506271803/log - - - -The following demonstrates running dexplorer in full quiet mode, - - # dexplorer -qy -d /var/tmp - # - -No text is written to the screen (-qy). The output file will have been -put in /var/tmp (-d). - - diff --git a/cddl/contrib/dtracetoolkit/Examples/diskhits_example.txt b/cddl/contrib/dtracetoolkit/Examples/diskhits_example.txt deleted file mode 100644 index 6fe3a859a972..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/diskhits_example.txt +++ /dev/null @@ -1,107 +0,0 @@ -The following is a demonstration of the diskhits command. - - -Here we run diskhits on a large file, /extra1/contents with is 46 Mb, and -currently hasn't been accessed (so isn't in any cache). - -While diskhits is running, the file is grep'd in another window. This causes -the entire file to be read, - - # ./diskhits /extra1/contents - Tracing... Hit Ctrl-C to end. - ^C - Location (KB), - - value ------------- Distribution ------------- count - < 0 | 0 - 0 |@@ 47 - 2303 |@@ 41 - 4606 |@@ 41 - 6909 |@@ 42 - 9212 |@@ 41 - 11515 |@@ 41 - 13818 |@@ 42 - 16121 |@@ 43 - 18424 |@@ 42 - 20727 |@@ 41 - 23030 |@@ 41 - 25333 |@@ 41 - 27636 |@@ 41 - 29939 |@@ 42 - 32242 |@@ 44 - 34545 |@@ 41 - 36848 |@@ 41 - 39151 |@@ 41 - 41454 |@@ 41 - 43757 |@@ 40 - >= 46060 | 0 - - Size (KB), - - value ------------- Distribution ------------- count - 4 | 0 - 8 | 6 - 16 | 10 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 818 - 64 | 0 - - Total RW: 46064 KB - -Ok, so the file was read evently with each access around 32 to 63 Kb in size, -and a total of 46 Mb read. This all makes sense, as it is reading the file -for the first time. - - - -Now the same file is grep'd with diskhits running, this time we can see what -effect caching the file has made, - - # ./diskhits /extra1/contents - Tracing... Hit Ctrl-C to end. - ^C - Location (KB), - - value ------------- Distribution ------------- count - 2303 | 0 - 4606 | 5 - 6909 |@ 67 - 9212 |@@@@ 170 - 11515 |@@@@@ 216 - 13818 |@@@@@ 224 - 16121 |@@@@@@ 287 - 18424 |@@@@@ 227 - 20727 |@@@ 144 - 23030 |@@ 75 - 25333 |@ 59 - 27636 |@ 42 - 29939 |@ 41 - 32242 |@ 44 - 34545 |@ 41 - 36848 |@ 41 - 39151 |@ 41 - 41454 |@ 41 - 43757 |@ 39 - >= 46060 | 0 - - Size (KB), - - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@ 1137 - 8 |@@@@@ 211 - 16 |@@ 111 - 32 |@@@@@@@@ 345 - 64 | 0 - - Total RW: 29392 KB - -The difference is dramatic. This time only 29 Mb is read, leaving around -17 Mb that was read from the cache. The way the file is read differs - -in the later half of the file it looks the same, but in the first half there -are many more events; oddly enough, this is because the early part of the -file is cached more, the extra events are likely to be much smaller in size - -as indicated in the difference in the size distribution. - -It appears that everything less that 4606 Kb has remained in the cache, with -zero hits for that range. - diff --git a/cddl/contrib/dtracetoolkit/Examples/dispqlen_example.txt b/cddl/contrib/dtracetoolkit/Examples/dispqlen_example.txt deleted file mode 100644 index f3542c00ea82..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/dispqlen_example.txt +++ /dev/null @@ -1,62 +0,0 @@ -This is a demonstration of the dispqlen.d script, - - -Here we run it on a single CPU desktop, - - # dispqlen.d - Sampling... Hit Ctrl-C to end. - ^C - CPU 0 - value ------------- Distribution ------------- count - < 0 | 0 - 0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1790 - 1 |@@@ 160 - 2 | 10 - 3 | 0 - -The output shows the length of the dispatcher queue is mostly 0. This is -evidence that the CPU is not very saturated. It does not indicate that the -CPU is idle - as we are measuring the length of the queue, not what is -on the CPU. - - - -Here it is run on a multi CPU server, - - # dispqlen.d - Sampling... Hit Ctrl-C to end. - ^C - CPU 1 - value ------------- Distribution ------------- count - < 0 | 0 - 0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1573 - 1 |@@@@@@@@@ 436 - 2 | 4 - 3 | 0 - - CPU 4 - value ------------- Distribution ------------- count - < 0 | 0 - 0 |@@@@@@@@@@@@@@@@@@@@@@ 1100 - 1 |@@@@@@@@@@@@@@@@@@ 912 - 2 | 1 - 3 | 0 - - CPU 0 - value ------------- Distribution ------------- count - < 0 | 0 - 0 |@@@@@@@@@@@@@@@@@ 846 - 1 |@@@@@@@@@@@@@@@@@@@@@@@ 1167 - 2 | 0 - - CPU 5 - value ------------- Distribution ------------- count - < 0 | 0 - 0 |@@@@@@@@ 397 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1537 - 2 |@@ 79 - 3 | 0 - -The above output shows that threads are queueing up on CPU 5 much more than -CPU 0. - diff --git a/cddl/contrib/dtracetoolkit/Examples/dnlcps_example.txt b/cddl/contrib/dtracetoolkit/Examples/dnlcps_example.txt deleted file mode 100644 index eed35b41f70a..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/dnlcps_example.txt +++ /dev/null @@ -1,47 +0,0 @@ -The following is a demonstration of the dnlcps.d script. - - -Here we run dnlcps.d for o few seconds, then hit Ctrl-C, - - # dnlcps.d - Tracing... Hit Ctrl-C to end. - ^C - CMD: bash PID: 12508 - - value ------------- Distribution ------------- count - < 0 | 0 - 0 |@@@@@@@@@@@@@@@@ 2 - >= 1 |@@@@@@@@@@@@@@@@@@@@@@@@ 3 - - CMD: nscd PID: 109 - - value ------------- Distribution ------------- count - 0 | 0 - >= 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 4 - - CMD: in.routed PID: 143 - - value ------------- Distribution ------------- count - 0 | 0 - >= 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 12 - - CMD: ls PID: 12508 - - value ------------- Distribution ------------- count - < 0 | 0 - 0 |@@@ 2 - >= 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 22 - - CMD: find PID: 12507 - - value ------------- Distribution ------------- count - < 0 | 0 - 0 |@@@@@@@@@@@@@@ 5768 - >= 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@ 11263 - -A "find" command was running at the time, which had 11,263 hits on the DNLC -and 5768 misses. An "ls" command scored 22 hits. - -The above distribution output can help us identify if procesess -are both using the DNLC a lot, and what hit rate they are scoring. - diff --git a/cddl/contrib/dtracetoolkit/Examples/dnlcsnoop_example.txt b/cddl/contrib/dtracetoolkit/Examples/dnlcsnoop_example.txt deleted file mode 100644 index 45915f1088b4..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/dnlcsnoop_example.txt +++ /dev/null @@ -1,88 +0,0 @@ -The following is a demonstration of the dnlcsnoop.d script. - - -Here we run dnlcsnoop.d, while in another window a "find /etc/default" -command is executed, - - # dnlcsnoop.d - PID CMD TIME HIT PATH - 9185 bash 9 Y /etc - 9185 bash 3 Y /etc - 12293 bash 9 Y /usr - 12293 bash 3 Y /usr/bin - 12293 bash 4 Y /usr/bin/find - 12293 bash 7 Y /lib - 12293 bash 3 Y /lib/ld.so.1 - 12293 find 6 Y /usr - 12293 find 3 Y /usr/bin - 12293 find 3 Y /usr/bin/find - 12293 find 3 Y /usr - 12293 find 3 Y /usr/lib - 12293 find 3 Y /usr/lib/ld.so.1 - 12293 find 3 Y /usr/lib/.. - 12293 find 3 Y /usr/.. - 12293 find 3 Y /lib - 12293 find 3 Y /lib/ld.so.1 - 12293 find 3 Y /usr - 12293 find 3 Y /usr/bin - 12293 find 2 Y /usr/bin/find - 12293 find 4 Y /var - 12293 find 3 Y /var/ld - 12293 find 3 Y /var/ld/ld.config - 12293 find 3 Y /lib - 12293 find 3 Y /lib/libc.so.1 - 12293 find 3 Y /lib - 12293 find 3 Y /lib/libc.so.1 - 12293 find 3 Y /lib - 12293 find 3 Y /lib/libc.so.1 - 12293 find 8 Y /export - 12293 find 4 Y /export/home - 12293 find 3 Y /export/home/root - 12293 find 4 Y /export/home/root/CacheKit-0.93 - 12293 find 3 Y /export - 12293 find 3 Y /export/home - 12293 find 3 Y /export/home/root - 12293 find 3 Y /export/home/root/CacheKit-0.93 - 12293 find 3 Y /etc - 12293 find 3 Y /etc/default - 12293 find 3 Y /etc - 12293 find 3 Y /etc/default - 12293 find 5 N /etc/default/cron - 12293 find 3 N /etc/default/devfsadm - 12293 find 4 N /etc/default/fs - 12293 find 4 N /etc/default/kbd - 12293 find 3 N /etc/default/keyserv - 12293 find 4 N /etc/default/nss - 12293 find 3 N /etc/default/syslogd - 12293 find 3 N /etc/default/tar - 12293 find 4 N /etc/default/utmpd - 12293 find 5 N /etc/default/init - 12293 find 4 Y /etc/default/login - 12293 find 4 Y /etc/default/su - 12293 find 3 N /etc/default/passwd - 12293 find 3 N /etc/default/dhcpagent - 12293 find 4 N /etc/default/inetinit - 12293 find 3 N /etc/default/ipsec - 12293 find 3 N /etc/default/mpathd - 12293 find 3 N /etc/default/telnetd - 12293 find 3 Y /etc/default/nfs - 12293 find 3 N /etc/default/autofs - 12293 find 9 Y /etc/default/ftp - 12293 find 5 N /etc/default/rpc.nisd - 12293 find 5 N /etc/default/nfslogd - 12293 find 4 N /etc/default/lu - 12293 find 6 N /etc/default/power - 12293 find 5 N /etc/default/sys-suspend - 12293 find 6 N /etc/default/metassist.xml - 12293 find 5 N /etc/default/yppasswdd - 12293 find 4 N /etc/default/webconsole - 12293 find 5 Y /export - 12293 find 4 Y /export/home - 12293 find 4 Y /export/home/root - 12293 find 4 Y /export/home/root/CacheKit-0.93 - -The DNLC is the Directory Name Lookup Cache. Here we can see name lookups, -and whether the cache returned a hit. "/export/home/root/CacheKit-0.93" was -looked up a few times - this was the current directory that the find -command was executed from. - diff --git a/cddl/contrib/dtracetoolkit/Examples/dnlcstat_example.txt b/cddl/contrib/dtracetoolkit/Examples/dnlcstat_example.txt deleted file mode 100644 index a6ce1d6ec3d5..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/dnlcstat_example.txt +++ /dev/null @@ -1,40 +0,0 @@ -The following is a demonstration of the dnlcstat command. - - -Here we run dnlcstat with no options. It prints a line every second, - - # dnlcstat - dnlc %hit hit miss - 0 0 0 - 0 0 0 - 93 95 7 - 89 1920 231 - 89 2130 243 - 91 2358 232 - 92 1476 124 - 92 1953 159 - 94 2416 134 - 94 1962 114 - 95 2113 101 - 97 1969 54 - 98 1489 26 - 41 564 786 - 40 622 913 - 35 520 952 - 27 937 2503 - 22 1696 5806 - 22 955 3281 - 21 1377 5059 - 31 2043 4516 - 22 1423 4968 - 13 550 3438 - 2 95 3810 - 0 58 6410 - 4 223 4433 - 4 198 4491 - 7 339 4383 - -In another window, a "find /" was run. We can see the DNLC activity above, -initially there are high hit rates in the DNLC - over 90%. Eventually -the find command exhausts the DNLC, and the hit rate drops to below 10%. - diff --git a/cddl/contrib/dtracetoolkit/Examples/dtruss_example.txt b/cddl/contrib/dtracetoolkit/Examples/dtruss_example.txt deleted file mode 100644 index 107fc1978426..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/dtruss_example.txt +++ /dev/null @@ -1,120 +0,0 @@ -The following demonstrates the dtruss command - a DTrace version of truss. -This version is designed to be less intrusive and safer than running truss. - -dtruss has many options. Here is the help for version 0.70, - - USAGE: dtruss [-acdefholL] [-t syscall] { -p PID | -n name | command } - - -p PID # examine this PID - -n name # examine this process name - -t syscall # examine this syscall only - -a # print all details - -c # print syscall counts - -d # print relative times (us) - -e # print elapsed times (us) - -f # follow children - -l # force printing pid/lwpid - -o # print on cpu times - -L # don't print pid/lwpid - -b bufsize # dynamic variable buf size - eg, - dtruss df -h # run and examine "df -h" - dtruss -p 1871 # examine PID 1871 - dtruss -n tar # examine all processes called "tar" - dtruss -f test.sh # run test.sh and follow children - - - -For example, here we dtruss any process with the name "ksh" - the Korn shell, - - # dtruss -n ksh - PID/LWP SYSCALL(args) = return - 27547/1: llseek(0x3F, 0xE4E, 0x0) = 3662 0 - 27547/1: read(0x3F, "\0", 0x400) = 0 0 - 27547/1: llseek(0x3F, 0x0, 0x0) = 3662 0 - 27547/1: write(0x3F, "ls -l\n\0", 0x8) = 8 0 - 27547/1: fdsync(0x3F, 0x10, 0xFEC1D444) = 0 0 - 27547/1: lwp_sigmask(0x3, 0x20000, 0x0) = 0xFFBFFEFF 0 - 27547/1: stat64("/usr/bin/ls\0", 0x8047A00, 0xFEC1D444) = 0 0 - 27547/1: lwp_sigmask(0x3, 0x0, 0x0) = 0xFFBFFEFF 0 - [...] - -The output for each system call does not yet evaluate as much as truss does. - - - -In the following example, syscall elapsed and overhead times are measured. -Elapsed times represent the time from syscall start to finish; overhead -times measure the time spent on the CPU, - - # dtruss -eon bash - PID/LWP ELAPSD CPU SYSCALL(args) = return - 3911/1: 41 26 write(0x2, "l\0", 0x1) = 1 0 - 3911/1: 1001579 43 read(0x0, "s\0", 0x1) = 1 0 - 3911/1: 38 26 write(0x2, "s\0", 0x1) = 1 0 - 3911/1: 1019129 43 read(0x0, " \001\0", 0x1) = 1 0 - 3911/1: 38 26 write(0x2, " \0", 0x1) = 1 0 - 3911/1: 998533 43 read(0x0, "-\0", 0x1) = 1 0 - 3911/1: 38 26 write(0x2, "-\001\0", 0x1) = 1 0 - 3911/1: 1094323 42 read(0x0, "l\0", 0x1) = 1 0 - 3911/1: 39 27 write(0x2, "l\001\0", 0x1) = 1 0 - 3911/1: 1210496 44 read(0x0, "\r\0", 0x1) = 1 0 - 3911/1: 40 28 write(0x2, "\n\001\0", 0x1) = 1 0 - 3911/1: 9 1 lwp_sigmask(0x3, 0x2, 0x0) = 0xFFBFFEFF 0 - 3911/1: 70 63 ioctl(0x0, 0x540F, 0x80F6D00) = 0 0 - -A bash command was in another window, where the "ls -l" command was being -typed. The keystrokes can be seen above, along with the long elapsed times -(keystroke delays), and short overhead times (as the bash process blocks -on the read and leaves the CPU). - - - -Now dtruss is put to the test. Here we truss a test program that runs several -hundred smaller programs, which in turn generate thousands of system calls. - -First, as a "control" we run the program without a truss or dtruss running, - - # time ./test - real 0m38.508s - user 0m5.299s - sys 0m25.668s - -Now we try truss, - - # time truss ./test 2> /dev/null - real 0m41.281s - user 0m0.558s - sys 0m1.351s - -Now we try dtruss, - - # time dtruss ./test 2> /dev/null - real 0m46.226s - user 0m6.771s - sys 0m31.703s - -In the above test, truss slowed the program from 38 seconds to 41. dtruss -slowed the program from 38 seconds to 46, slightly slower that truss... - -Now we try follow mode "-f". The test program does run several hundred -smaller programs, so now there are plenty more system calls to track, - - # time truss -f ./test 2> /dev/null - real 2m28.317s - user 0m0.893s - sys 0m3.527s - -Now we try dtruss, - - # time dtruss -f ./test 2> /dev/null - real 0m56.179s - user 0m10.040s - sys 0m38.185s - -Wow, the difference is huge! truss slows the program from 38 to 148 seconds; -but dtruss has only slowed the program from 38 to 56 seconds. - - - - diff --git a/cddl/contrib/dtracetoolkit/Examples/dvmstat_example.txt b/cddl/contrib/dtracetoolkit/Examples/dvmstat_example.txt deleted file mode 100644 index 1fb7fbb739d1..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/dvmstat_example.txt +++ /dev/null @@ -1,91 +0,0 @@ -The following is a demonstration of the dvmstat program, - - -Here we run dvmstat to monitor all processes called "find". In another -window, a "find /" command is run, - - # dvmstat -n find - re maj mf fr epi epo api apo fpi fpo sy - 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 - 6336 0 372 0 0 0 0 0 0 0 22255 - 1624 0 0 0 0 0 0 0 0 0 5497 - 2292 0 0 0 0 0 0 0 0 0 7715 - 13064 0 0 0 0 0 0 0 0 0 43998 - 7972 168 0 0 0 0 0 0 168 0 38361 - 468 636 0 0 0 0 0 0 636 0 13774 - 376 588 0 0 0 0 0 0 588 0 10723 - 80 636 0 0 0 0 0 0 656 0 11078 - 48 772 0 0 0 0 0 0 812 0 9841 - 16 1028 0 0 0 0 0 0 1056 0 10752 - 0 1712 0 0 0 0 0 0 1740 0 12176 - 4 1224 0 0 0 0 0 0 1236 0 9024 - -The output above is spectacular! When the find command is first run, -it begins be reading data from the file cache, as indicated by the "re" -reclaims, and a lack of "fpi" filesystem page ins. - -Eventually the find command travels to places which are not cached, we can -see the "re" value drops, and both the "maj" major faults and "fpi" values -increase. This transition from cache hits to file system activity is -very clear from the above output. - - - -Here we run a dvmstat to examine the PID 3778, - - # dvmstat -p 3778 - re maj mf fr epi epo api apo fpi fpo sy - 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 - 24 28 0 0 0 0 0 0 28 0 109 - 4 148 16 0 0 0 0 0 148 0 1883 - 16 412 384 0 0 0 0 0 412 0 21019 - 0 0 0 0 0 0 0 0 0 0 3 - 0 0 0 0 0 0 0 0 0 0 221 - 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 84 - 0 0 0 0 0 0 0 0 0 0 0 - -Here we can see the statistics for that process only. - - - -The following runs the date command through dvmstat, - - # dvmstat date - Sun Jun 12 17:44:24 EST 2005 - re maj mf fr epi epo api apo fpi fpo sy - 16 0 208 0 0 0 0 0 0 0 38 - -The values above are for the date command only. - - - -Now we run dvmstat on a tar command. Here we tar around 50Mb of files, -so the command takes around 20 seconds to complete, - - # dvmstat tar cf backup.tar DTrace - re maj mf fr epi epo api apo fpi fpo sy - 20 256 304 0 8 0 0 0 352 0 621 - 4540 56 896 0 0 0 0 0 4636 0 1005 - 4432 12 644 0 0 0 0 0 4384 0 906 - 680 180 136 0 8 0 0 0 1056 0 502 - 2328 60 468 0 0 0 0 0 2296 0 592 - 1300 380 272 0 0 0 0 0 1704 0 1095 - 2816 72 560 0 0 0 0 0 2940 0 709 - 4084 40 416 0 0 0 0 0 4220 0 894 - 2764 4 276 0 0 0 0 0 2700 0 566 - 1824 96 328 0 0 0 0 0 2072 0 556 - 3408 80 392 0 20 0 0 0 3496 0 857 - 2804 92 552 0 4 0 0 0 2924 0 741 - 1344 16 272 0 0 0 0 0 1376 0 289 - 3284 52 520 0 12 0 0 0 3260 0 743 - 4832 200 812 0 0 0 0 0 5292 0 1276 - 11052 56 2200 0 0 0 0 0 8676 0 2326 - 5256 328 1020 0 8 0 0 0 4404 0 1725 - re maj mf fr epi epo api apo fpi fpo sy - 404 340 72 0 64 0 0 0 536 0 1135 - -Great! Activity from the tar command such as "fpi"s can be clearly seen. - diff --git a/cddl/contrib/dtracetoolkit/Examples/errinfo_example.txt b/cddl/contrib/dtracetoolkit/Examples/errinfo_example.txt deleted file mode 100644 index 1dcb28d29db9..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/errinfo_example.txt +++ /dev/null @@ -1,90 +0,0 @@ -This is an example of the errinfo program, which prints details on syscall -failures. - -By default it "snoops" syscall failures and prints their details, - - # ./errinfo - EXEC SYSCALL ERR DESC - wnck-applet read 11 Resource temporarily unavailable - Xorg read 11 Resource temporarily unavailable - nautilus read 11 Resource temporarily unavailable - Xorg read 11 Resource temporarily unavailable - dsdm read 11 Resource temporarily unavailable - Xorg read 11 Resource temporarily unavailable - Xorg pollsys 4 interrupted system call - mozilla-bin lwp_park 62 timer expired - gnome-netstatus- ioctl 12 Not enough core - mozilla-bin lwp_park 62 timer expired - Xorg read 11 Resource temporarily unavailable - mozilla-bin lwp_park 62 timer expired - [...] - -which is useful to see these events live, but can scroll off the screen -somewhat rapidly.. so, - - - -The "-c" option will count the number of errors. Hit Ctrl-C to stop the -sample. For example, - -# ./errinfo -c -Tracing... Hit Ctrl-C to end. -^C - EXEC SYSCALL ERR COUNT DESC - nscd fcntl 22 1 Invalid argument - xscreensaver read 11 1 Resource temporarily unavailable - inetd lwp_park 62 1 timer expired - svc.startd lwp_park 62 1 timer expired - svc.configd lwp_park 62 1 timer expired - ttymon ioctl 25 1 Inappropriate ioctl for device -gnome-netstatus- ioctl 12 2 Not enough core - mozilla-bin lwp_kill 3 2 No such process - mozilla-bin connect 150 5 operation now in progress - svc.startd portfs 62 8 timer expired - java_vm lwp_cond_wait 62 8 timer expired - soffice.bin read 11 9 Resource temporarily unavailable - gnome-terminal read 11 23 Resource temporarily unavailable - mozilla-bin recv 11 26 Resource temporarily unavailable - nautilus read 11 26 Resource temporarily unavailable -gnome-settings-d read 11 26 Resource temporarily unavailable - gnome-smproxy read 11 34 Resource temporarily unavailable - gnome-panel read 11 42 Resource temporarily unavailable - dsdm read 11 112 Resource temporarily unavailable - metacity read 11 128 Resource temporarily unavailable - mozilla-bin lwp_park 62 133 timer expired - Xorg pollsys 4 147 interrupted system call - wnck-applet read 11 179 Resource temporarily unavailable - mozilla-bin read 11 258 Resource temporarily unavailable - Xorg read 11 1707 Resource temporarily unavailable - -Ok, so Xorg has received 1707 of the same type of error for the syscall read(). - - - -The "-n" option lets us match on one type of process only. In the following -we match processes that have the name "mozilla-bin", - -# ./errinfo -c -n mozilla-bin -Tracing... Hit Ctrl-C to end. -^C - EXEC SYSCALL ERR COUNT DESC - mozilla-bin getpeername 134 1 Socket is not connected - mozilla-bin recv 11 2 Resource temporarily unavailable - mozilla-bin lwp_kill 3 2 No such process - mozilla-bin connect 150 5 operation now in progress - mozilla-bin lwp_park 62 207 timer expired - mozilla-bin read 11 396 Resource temporarily unavailable - - - -The "-p" option lets us examine one PID only. The following example examines -PID 1119, - -# ./errinfo -c -p 1119 -Tracing... Hit Ctrl-C to end. -^C - EXEC SYSCALL ERR COUNT DESC - Xorg pollsys 4 47 interrupted system call - Xorg read 11 669 Resource temporarily unavailable - - diff --git a/cddl/contrib/dtracetoolkit/Examples/execsnoop_example.txt b/cddl/contrib/dtracetoolkit/Examples/execsnoop_example.txt deleted file mode 100644 index e55682a9e64a..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/execsnoop_example.txt +++ /dev/null @@ -1,78 +0,0 @@ -The following is an example of execsnoop. As processes are executed their -details are printed out. Another user was logged in running a few commands -which can be viewed below, - - # ./execsnoop - UID PID PPID ARGS - 100 3008 2656 ls - 100 3009 2656 ls -l - 100 3010 2656 cat /etc/passwd - 100 3011 2656 vi /etc/hosts - 100 3012 2656 date - 100 3013 2656 ls -l - 100 3014 2656 ls - 100 3015 2656 finger - [...] - - - -In this example the command "man gzip" was executed. The output lets us -see what the man command is actually doing, - - # ./execsnoop - UID PID PPID ARGS - 100 3064 2656 man gzip - 100 3065 3064 sh -c cd /usr/share/man; tbl /usr/share/man/man1/gzip.1 |nroff -u0 -Tlp -man - - 100 3067 3066 tbl /usr/share/man/man1/gzip.1 - 100 3068 3066 nroff -u0 -Tlp -man - - 100 3066 3065 col -x - 100 3069 3064 sh -c trap '' 1 15; /usr/bin/mv -f /tmp/mpoMaa_f /usr/share/man/cat1/gzip.1 2> - 100 3070 3069 /usr/bin/mv -f /tmp/mpoMaa_f /usr/share/man/cat1/gzip.1 - 100 3071 3064 sh -c more -s /tmp/mpoMaa_f - 100 3072 3071 more -s /tmp/mpoMaa_f - ^C - - - -Execsnoop has other options, - - # ./execsnoop -h - USAGE: execsnoop [-a|-A|-sv] [-c command] - execsnoop # default output - -a # print all data - -A # dump all data, space delimited - -s # include start time, us - -v # include start time, string - -c command # command name to snoop - - - -In particular the verbose option for human readable timestamps is -very useful, - - # ./execsnoop -v - STRTIME UID PID PPID ARGS - 2005 Jan 22 00:07:22 0 23053 20933 date - 2005 Jan 22 00:07:24 0 23054 20933 uname -a - 2005 Jan 22 00:07:25 0 23055 20933 ls -latr - 2005 Jan 22 00:07:27 0 23056 20933 df -k - 2005 Jan 22 00:07:29 0 23057 20933 ps -ef - 2005 Jan 22 00:07:29 0 23057 20933 ps -ef - 2005 Jan 22 00:07:34 0 23058 20933 uptime - 2005 Jan 22 00:07:34 0 23058 20933 uptime - [...] - - - -It is also possible to match particular commands. Here we watch -anyone using the vi command only, - - # ./execsnoop -vc vi - STRTIME UID PID PPID ARGS - 2005 Jan 22 00:10:33 0 23063 20933 vi /etc/passwd - 2005 Jan 22 00:10:40 0 23064 20933 vi /etc/shadow - 2005 Jan 22 00:10:51 0 23065 20933 vi /etc/group - 2005 Jan 22 00:10:57 0 23066 20933 vi /.rhosts - [...] - - diff --git a/cddl/contrib/dtracetoolkit/Examples/fddist_example.txt b/cddl/contrib/dtracetoolkit/Examples/fddist_example.txt deleted file mode 100644 index 3d943b9e0185..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/fddist_example.txt +++ /dev/null @@ -1,38 +0,0 @@ -The following is a demonstration of the fddist command, - - -Here fddist is run for a few seconds on an idle workstation, - - Tracing reads and writes... Hit Ctrl-C to end. - ^C - EXEC: dtrace PID: 3288 - - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 2 | 0 - - EXEC: mozilla-bin PID: 1659 - - value ------------- Distribution ------------- count - 3 | 0 - 4 |@@@@@@@@@@ 28 - 5 | 0 - 6 |@@@@@@@@@@@@@@@ 40 - 7 |@@@@@@@@@@@@@@@ 40 - 8 | 0 - - EXEC: Xorg PID: 1532 - - value ------------- Distribution ------------- count - 22 | 0 - 23 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 57 - 24 | 0 - -The above displays the usage pattern for process file descriptors. -We can see the Xorg process (PID 1532) has made 57 reads or writes to -it's file descriptor 23. - -The pfiles(1) command can be used to help determine what file -descriptor 23 actually is. - diff --git a/cddl/contrib/dtracetoolkit/Examples/filebyproc_example.txt b/cddl/contrib/dtracetoolkit/Examples/filebyproc_example.txt deleted file mode 100644 index 8267da2fc083..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/filebyproc_example.txt +++ /dev/null @@ -1,27 +0,0 @@ -The following is an example of the filebyproc.d script, - - # filebyproc.d - dtrace: description 'syscall::open*:entry ' matched 2 probes - CPU ID FUNCTION:NAME - 0 14 open:entry gnome-netstatus- /dev/kstat - 0 14 open:entry man /var/ld/ld.config - 0 14 open:entry man /lib/libc.so.1 - 0 14 open:entry man /usr/share/man/man.cf - 0 14 open:entry man /usr/share/man/windex - 0 14 open:entry man /usr/share/man/man1/ls.1 - 0 14 open:entry man /usr/share/man/man1/ls.1 - 0 14 open:entry man /tmp/mpqea4RF - 0 14 open:entry sh /var/ld/ld.config - 0 14 open:entry sh /lib/libc.so.1 - 0 14 open:entry neqn /var/ld/ld.config - 0 14 open:entry neqn /lib/libc.so.1 - 0 14 open:entry neqn /usr/share/lib/pub/eqnchar - 0 14 open:entry tbl /var/ld/ld.config - 0 14 open:entry tbl /lib/libc.so.1 - 0 14 open:entry tbl /usr/share/man/man1/ls.1 - 0 14 open:entry nroff /var/ld/ld.config - [...] - -In the above example, the command "man ls" was run. Each file that was -attempted to be opened can be seen, along with the program name responsible. - diff --git a/cddl/contrib/dtracetoolkit/Examples/fspaging_example.txt b/cddl/contrib/dtracetoolkit/Examples/fspaging_example.txt deleted file mode 100644 index c29cb086b832..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/fspaging_example.txt +++ /dev/null @@ -1,32 +0,0 @@ -The following is a short sample of output from the fspaging.d script. - - -fspaging.d traces syscall read and writes, vnode interface reads, writes, -getpage and putpage, and disk io. - - # ./fspaging.d - Event Device RW Size Offset Path - disk_io dad1 R 1024 0 /extra1 - disk_io dad1 R 8192 0 - disk_io dad1 R 2048 0 - sc-write . W 51200 0 /extra1/outfile - fop_write . W 51200 0 /extra1/outfile - fop_getpage . R 8192 0 /extra1/50k - disk_io dad1 R 8192 0 /extra1/50k - disk_ra dad1 R 8192 8 /extra1/50k - fop_getpage . R 8192 8 /extra1/50k - disk_ra dad1 R 34816 16 /extra1/50k - fop_getpage . R 8192 16 /extra1/50k - fop_getpage . R 8192 24 /extra1/50k - fop_getpage . R 8192 32 /extra1/50k - fop_getpage . R 8192 40 /extra1/50k - fop_getpage . R 8192 48 /extra1/50k - fop_putpage . W 8192 0 /extra1/outfile - fop_putpage . W 8192 8 /extra1/outfile - fop_putpage . W 8192 16 /extra1/outfile - fop_putpage . W 8192 24 /extra1/outfile - fop_putpage . W 8192 32 /extra1/outfile - fop_putpage . W 8192 40 /extra1/outfile - disk_io dad1 W 51200 0 /extra1/outfile - -For a full discussion of this example, see fsrw_example.txt. diff --git a/cddl/contrib/dtracetoolkit/Examples/fsrw_example.txt b/cddl/contrib/dtracetoolkit/Examples/fsrw_example.txt deleted file mode 100644 index b153303738ee..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/fsrw_example.txt +++ /dev/null @@ -1,129 +0,0 @@ -The following are demonstrations of the fsrw.d script. - - -Here the fsrw.d script was running while a 50 Kbyte file was read, - - # ./fsrw.d - Event Device RW Size Offset Path - sc-read . R 8192 0 /extra1/50k - fop_read . R 8192 0 /extra1/50k - disk_io cmdk0 R 8192 0 /extra1/50k - disk_ra cmdk0 R 8192 8 /extra1/50k - sc-read . R 8192 8 /extra1/50k - fop_read . R 8192 8 /extra1/50k - disk_ra cmdk0 R 34816 16 /extra1/50k - sc-read . R 8192 16 /extra1/50k - fop_read . R 8192 16 /extra1/50k - sc-read . R 8192 24 /extra1/50k - fop_read . R 8192 24 /extra1/50k - sc-read . R 8192 32 /extra1/50k - fop_read . R 8192 32 /extra1/50k - sc-read . R 8192 40 /extra1/50k - fop_read . R 8192 40 /extra1/50k - sc-read . R 8192 48 /extra1/50k - fop_read . R 8192 48 /extra1/50k - sc-read . R 8192 50 /extra1/50k - fop_read . R 8192 50 /extra1/50k - ^C - -By looking closely at the Offset (Kbytes) and Size of each transaction, we -can see how the read() system calls (sc-read) were satisfied by the file -system. There were 8 read() system calls, and 3 disk events - 2 of which were -UFS read-ahead (disk_ra). The final read-ahead was for 34 Kbytes and began -with an offset of 16 Kbytes, which read the remaining file data (34 + 16 = 50 -Kbytes). The subsequent read() system calls and corresponding fop_read() calls -returned from the page cache. - - - -The following demonstrates how a logical I/O is broken up into multiple -physical I/O events. Here a dd command was used to read 1 Mbytes from the -/var/sadm/install/contents file while fsrw.d was tracing. - - # ./fsrw.d - Event Device RW Size Offset Path - sc-read . R 1048576 0 /var/sadm/install/contents - fop_read . R 1048576 0 /var/sadm/install/contents - disk_ra cmdk0 R 4096 72 /var/sadm/install/contents - disk_ra cmdk0 R 8192 96 - disk_ra cmdk0 R 57344 96 /var/sadm/install/contents - disk_ra cmdk0 R 57344 152 /var/sadm/install/contents - disk_ra cmdk0 R 57344 208 /var/sadm/install/contents - disk_ra cmdk0 R 49152 264 /var/sadm/install/contents - disk_ra cmdk0 R 57344 312 /var/sadm/install/contents - disk_ra cmdk0 R 57344 368 /var/sadm/install/contents - disk_ra cmdk0 R 57344 424 /var/sadm/install/contents - disk_ra cmdk0 R 57344 480 /var/sadm/install/contents - disk_ra cmdk0 R 57344 536 /var/sadm/install/contents - disk_ra cmdk0 R 57344 592 /var/sadm/install/contents - disk_ra cmdk0 R 57344 648 /var/sadm/install/contents - disk_ra cmdk0 R 57344 704 /var/sadm/install/contents - disk_ra cmdk0 R 57344 760 /var/sadm/install/contents - disk_ra cmdk0 R 57344 816 /var/sadm/install/contents - disk_ra cmdk0 R 57344 872 /var/sadm/install/contents - disk_ra cmdk0 R 57344 928 /var/sadm/install/contents - disk_ra cmdk0 R 57344 984 /var/sadm/install/contents - disk_ra cmdk0 R 57344 1040 /var/sadm/install/contents - ^C - -Both the read() syscall (sc-read) and the fop_read() call asked the file system -for 1048576 bytes, which was then broken into numerous disk I/O events of up to -56 Kbytes in size. The 8192 byte read with a path of "" is likely to be -the file system reading the indirect block pointers for the -/var/sadm/install/contents file (something DTrace could confirm in detail). - - - - -The following traces activity as a cp command copies a 50 Kbyte file. - - # ./fsrw.d - Event Device RW Size Offset Path - disk_io dad1 R 1024 0 /extra1 - disk_io dad1 R 8192 0 - disk_io dad1 R 8192 0 - disk_io dad1 R 2048 0 - disk_io dad1 R 2048 0 - sc-write . W 51200 0 /extra1/outfile - fop_write . W 51200 0 /extra1/outfile - disk_io dad1 R 8192 0 /extra1/50k - disk_ra dad1 R 8192 8 /extra1/50k - disk_ra dad1 R 34816 16 /extra1/50k - disk_io dad1 R 2048 0 - disk_io dad1 W 49152 0 /extra1/outfile - ^C - -Reads including UFS read-ahead can be seen as the file is read. -The output finishes with disk writes as the new file is flushed to disk. -The syscall write() and fop_write() can be seen to the /extra1/outfile, -however there is no syscall read() or fop_read() to /extra1/50k - which -we may have expected to occur before the writes. This is due to the way -the cp command now works, it uses mmap() to map files in for reading. -This activity can be seen if we also trace fop_getpage() and fop_putpage(), -as the fspaging.d dtrace script does. - - # ./fspaging.d - Event Device RW Size Offset Path - disk_io dad1 R 1024 0 /extra1 - disk_io dad1 R 8192 0 - disk_io dad1 R 2048 0 - sc-write . W 51200 0 /extra1/outfile - fop_write . W 51200 0 /extra1/outfile - fop_getpage . R 8192 0 /extra1/50k - disk_io dad1 R 8192 0 /extra1/50k - disk_ra dad1 R 8192 8 /extra1/50k - fop_getpage . R 8192 8 /extra1/50k - disk_ra dad1 R 34816 16 /extra1/50k - fop_getpage . R 8192 16 /extra1/50k - fop_getpage . R 8192 24 /extra1/50k - fop_getpage . R 8192 32 /extra1/50k - fop_getpage . R 8192 40 /extra1/50k - fop_getpage . R 8192 48 /extra1/50k - fop_putpage . W 8192 0 /extra1/outfile - fop_putpage . W 8192 8 /extra1/outfile - fop_putpage . W 8192 16 /extra1/outfile - fop_putpage . W 8192 24 /extra1/outfile - fop_putpage . W 8192 32 /extra1/outfile - fop_putpage . W 8192 40 /extra1/outfile - disk_io dad1 W 51200 0 /extra1/outfile - diff --git a/cddl/contrib/dtracetoolkit/Examples/guess_example.txt b/cddl/contrib/dtracetoolkit/Examples/guess_example.txt deleted file mode 100644 index 74be8b3a4d81..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/guess_example.txt +++ /dev/null @@ -1,39 +0,0 @@ -The following is a demonstration of the guess.d script, - - -guess.d is a guessing game written in DTrace. It goes like this, - - # ./guess.d - guess.d - Guess a number between 1 and 100 - - Enter guess 1: 50 - Lower... - Enter guess 2: 25 - Higher... - Enter guess 3: 37 - Higher... - Enter guess 4: 44 - Higher... - Enter guess 5: 48 - Lower... - Enter guess 6: 46 - Lower... - Enter guess 7: 45 - Correct! That took 7 guesses. - - Please enter your name: Brendan Gregg - - Previous high scores, - Fred Nurk 7 - Brendan Gregg 7 - -It was written as a demonstration of the same code written in dozens of -languages. It makes a good demonstration, as it covers integer and string -variables, conditional statements, loops, keyboard input, screen output, -and file input and output. - -Written in DTrace however, is not such a good demonstration! DTrace doesn't -have loops (it doesn't really need them either) which made the code a -little odd. DTrace also doesn't have keyboard input... So this script is -somewhat amusing as an example, but not terribly useful. - diff --git a/cddl/contrib/dtracetoolkit/Examples/hotkernel_example.txt b/cddl/contrib/dtracetoolkit/Examples/hotkernel_example.txt deleted file mode 100644 index d8a5aec0b98f..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/hotkernel_example.txt +++ /dev/null @@ -1,153 +0,0 @@ -The following are demonstrations of the hotkernel DTrace program. - - -Here hotkernel is run for a couple of seconds then Ctrl-C is hit, - - # ./hotkernel - Sampling... Hit Ctrl-C to end. - ^C - FUNCTION COUNT PCNT - unix`swtch 1 0.1% - pcplusmp`apic_redistribute_compute 1 0.1% - genunix`strrput 1 0.1% - unix`sys_call 1 0.1% - genunix`fsflush_do_pages 1 0.1% - TS`ts_wakeup 1 0.1% - genunix`callout_schedule_1 1 0.1% - unix`page_create_putback 1 0.1% - unix`mutex_enter 4 0.3% - unix`cpu_halt 1575 99.2% - -The output summarises which kernel-level function was sampled on the -CPU the most. This report shows that unix`cpu_halt was sampled 1575 -times, which was 99.2% of the kernel-level samples. - -As it turns out, unix`cpu_halt is called on this x86 server as part of the -kernel idle thread - explaining why it is so often found on the CPU, - - # dtrace -n 'fbt::cpu_halt:entry { @[stack()] = count(); }' - dtrace: description 'fbt::cpu_halt:entry ' matched 1 probe - ^C - - unix`idle+0x3b - unix`thread_start+0x3 - 956 - -This kernel stack trace indicates that cpu_halt() is called by idle(). - -The following is a SPARC example, - - # ./hotkernel - Sampling... Hit Ctrl-C to end. - ^C - FUNCTION COUNT PCNT - genunix`fop_ioctl 1 0.1% - genunix`allocb_cred 1 0.1% - genunix`poll_common 1 0.1% - genunix`cv_block 1 0.1% - genunix`strioctl 1 0.1% - genunix`disp_lock_exit 1 0.1% - genunix`crfree 1 0.1% - ufs`ufs_getpage 1 0.1% - SUNW,UltraSPARC-IIi`copyin 1 0.1% - genunix`strmakedata 1 0.1% - genunix`cv_waituntil_sig 1 0.1% - SUNW,UltraSPARC-IIi`prefetch_page_r 1 0.1% - unix`set_freemem 1 0.1% - unix`page_trylock 1 0.1% - genunix`anon_get_ptr 1 0.1% - unix`page_hashin 1 0.1% - genunix`bt_getlowbit 1 0.1% - unix`pp_load_tlb 1 0.1% - unix`_resume_from_idle 1 0.1% - unix`hat_pageunload 1 0.1% - genunix`strrput 1 0.1% - genunix`strpoll 1 0.1% - unix`page_do_hashin 1 0.1% - unix`cpu_vm_stats_ks_update 1 0.1% - genunix`sleepq_wakeone_chan 1 0.1% - unix`lock_set_spl 1 0.1% - tl`tl_wput 1 0.1% - genunix`kstrgetmsg 1 0.1% - genunix`qbackenable 1 0.1% - genunix`releasef 1 0.1% - genunix`callout_execute 1 0.1% - uata`ata_hba_start 1 0.1% - genunix`pcacheset_cmp 1 0.1% - genunix`sleepq_insert 1 0.1% - genunix`syscall_mstate 1 0.1% - sockfs`sotpi_recvmsg 1 0.1% - genunix`strput 1 0.1% - genunix`timespectohz 1 0.1% - unix`lock_clear_splx 1 0.1% - genunix`read 1 0.1% - genunix`as_segcompar 1 0.1% - unix`atomic_cas_64 1 0.1% - unix`mutex_exit 1 0.1% - genunix`cv_unsleep 1 0.1% - unix`putnext 1 0.1% - unix`intr_thread 1 0.1% - genunix`hrt2tv 1 0.1% - sockfs`socktpi_poll 1 0.1% - unix`sfmmu_mlspl_enter 1 0.1% - SUNW,UltraSPARC-IIi`get_ecache_tag 1 0.1% - SUNW,UltraSPARC-IIi`gethrestime 1 0.1% - genunix`cv_timedwait_sig 1 0.1% - genunix`getq_noenab 1 0.1% - SUNW,UltraSPARC-IIi`flushecacheline 1 0.1% - unix`utl0 1 0.1% - genunix`anon_alloc 1 0.1% - unix`page_downgrade 1 0.1% - unix`setfrontdq 1 0.1% - genunix`timeout_common 1 0.1% - unix`bzero 1 0.1% - unix`ktl0 2 0.1% - genunix`canputnext 2 0.1% - genunix`clear_active_fd 2 0.1% - unix`sfmmu_tlb_demap 2 0.1% - unix`page_vpadd 2 0.1% - SUNW,UltraSPARC-IIi`check_ecache_line 2 0.1% - genunix`cyclic_softint 2 0.1% - genunix`restore_mstate 2 0.1% - genunix`anon_map_getpages 2 0.1% - genunix`putq 2 0.1% - unix`page_lookup_create 2 0.1% - dtrace`dtrace_dynvar_clean 2 0.1% - unix`sfmmu_pageunload 2 0.1% - genunix`cpu_decay 2 0.1% - genunix`kmem_cache_alloc 3 0.2% - unix`rw_exit 3 0.2% - tl`tl_wput_data_ser 3 0.2% - unix`page_get_replacement_page 3 0.2% - unix`page_sub 3 0.2% - genunix`clock 3 0.2% - SUNW,UltraSPARC-IIi`copyout 3 0.2% - unix`mutex_enter 4 0.2% - genunix`pcache_poll 5 0.3% - SUNW,UltraSPARC-IIi`scrub_ecache_line 5 0.3% - SUNW,UltraSPARC-IIi`hwblkpagecopy 22 1.2% - SUNW,UltraSPARC-IIi`hwblkclr 39 2.1% - unix`generic_idle_cpu 506 26.8% - unix`idle 1199 63.5% - -Which shows the most common function is unix`idle. - - - - -Now the hotkernel tool is demonstrated with the -m option, to only print -out samples by module, - - # ./hotkernel -m - Sampling... Hit Ctrl-C to end. - ^C - MODULE COUNT PCNT - usbms 1 0.0% - specfs 1 0.0% - uhci 1 0.0% - sockfs 2 0.0% - genunix 28 0.6% - unix 4539 99.3% - -Here, genunix and unix (the two core parts of the kernel) were the most -common module to be executing on-CPU. diff --git a/cddl/contrib/dtracetoolkit/Examples/hotspot_example.txt b/cddl/contrib/dtracetoolkit/Examples/hotspot_example.txt deleted file mode 100644 index 179ba8d0a18f..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/hotspot_example.txt +++ /dev/null @@ -1,34 +0,0 @@ -The following is a demonstration of the hotspot.d script. - -Here the script is run while a large file is copied from one filesystem -(cmdk0 102,0) to another (cmdk0 102,3). We can see the file mostly resided -around the 9000 to 10999 Mb range on the source disk (102,0), and was -copied to the 0 to 999 Mb range on the target disk (102,3). - - # ./hotspot.d - Tracing... Hit Ctrl-C to end. - ^C - Disk: cmdk0 Major,Minor: 102,3 - - value ------------- Distribution ------------- count - < 0 | 0 - 0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 418 - 1000 | 0 - - Disk: cmdk0 Major,Minor: 102,0 - - value ------------- Distribution ------------- count - < 0 | 0 - 0 | 1 - 1000 | 5 - 2000 | 0 - 3000 | 0 - 4000 | 0 - 5000 | 0 - 6000 | 0 - 7000 | 0 - 8000 | 0 - 9000 |@@@@@ 171 - 10000 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1157 - 11000 | 0 - diff --git a/cddl/contrib/dtracetoolkit/Examples/hotuser_example.txt b/cddl/contrib/dtracetoolkit/Examples/hotuser_example.txt deleted file mode 100644 index c038acd6cda8..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/hotuser_example.txt +++ /dev/null @@ -1,107 +0,0 @@ -The following are demonstrations of the hotuser DTrace program. - - -Here, hotuser is run on a test program called "dofuncs", which is hard coded -to spend half its time in delta(), a third in beta() and a sixth in alpha(). - - # ./hotuser -c ./dofuncs - Sampling... Hit Ctrl-C to end. - ^C - FUNCTION COUNT PCNT - dofuncs`alpha 511 16.5% - dofuncs`beta 1029 33.3% - dofuncs`delta 1552 50.2% - -hotuser has accurately sampled which user-level functions are on the CPU, -producing a report of the expected breakdown. The hottest user-level function -is delta(), which was sampled 1552 times - 50.2% of the total samples. - - - -Now hotuser is run on gunzip, to find which functions are most often -on the CPU, - - # ./hotuser -c 'gunzip contents.gz' - Sampling... Hit Ctrl-C to end. - - FUNCTION COUNT PCNT - libc.so.1`_free_unlocked 1 0.1% - gunzip`unzip 1 0.1% - ld.so.1`strcmp 1 0.1% - gunzip`inflate_dynamic 1 0.1% - libc.so.1`_write 1 0.1% - gunzip`write_buf 1 0.1% - gunzip`0x2d990 2 0.3% - libc.so.1`write 2 0.3% - gunzip`0x2d994 2 0.3% - ld.so.1`rtld_db_preinit 3 0.4% - gunzip`0x2d98c 7 0.9% - gunzip`huft_build 9 1.2% - libc_psr.so.1`memcpy 138 18.5% - gunzip`inflate_codes 233 31.2% - gunzip`updcrc 344 46.1% - -This shows that updcrc() was sampled 344 times, and 46.1% of the total -samples. - - - -A -l option will provide a breakdown on libraries only. hotuser -is run on gzip to show library usage only, - - # ./hotuser -lc 'gzip contents' - Sampling... Hit Ctrl-C to end. - - LIBRARY COUNT PCNT - libc.so.1 2 0.0% - libc_psr.so.1 37 0.9% - gzip 4113 99.1% - -This shows that code in the gzip binary itself was on the CPU 99.1% of -the sample times, with libc_psr.so.1 code on the CPU 0.9% of the time. - - - -The following shows library usage of mozilla. The pgrep command is used to -match the most recent PID of mozilla-bin. - - # ./hotuser -lp `pgrep -n mozilla-bin` - Sampling... Hit Ctrl-C to end. - ^C - LIBRARY COUNT PCNT - libplds4.so 1 0.1% - libappcomps.so 1 0.1% - libi18n.so 1 0.1% - libuconv.so 1 0.1% - libpref.so 1 0.1% - libblueprint.so 1 0.1% - libz.so.1 2 0.2% - libcaps.so 2 0.2% - libXrender.so.1 2 0.2% - libimglib2.so 2 0.2% - libXft.so.2 3 0.3% - libCrun.so.1 3 0.3% - libdocshell.so 3 0.3% - libplc4.so 4 0.4% - libgtk-x11-2.0.so.0.400.9 5 0.5% - libjsd.so 5 0.5% - libX11.so.4 5 0.5% - libnecko.so 8 0.9% - libwidget_gtk2.so 9 1.0% - libgkgfx.so 13 1.4% - libglib-2.0.so.0.400.1 14 1.5% - libgfx_gtk.so 18 2.0% - libnspr4.so 20 2.2% - libxpconnect.so 22 2.4% - libgdk-x11-2.0.so.0.400.9 23 2.5% - libgobject-2.0.so.0.400.1 25 2.7% - libhtmlpars.so 27 3.0% - libfontconfig.so.1 41 4.5% - libxpcom.so 49 5.4% - mozilla-bin 55 6.0% - libmozjs.so 80 8.8% - libc.so.1 115 12.6% - libgklayout.so 352 38.6% - -This shows that 352 samples found code from libgklayout.so running, which -was 38.6% of the samples. diff --git a/cddl/contrib/dtracetoolkit/Examples/httpdstat_example.txt b/cddl/contrib/dtracetoolkit/Examples/httpdstat_example.txt deleted file mode 100644 index b9f59e8ca687..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/httpdstat_example.txt +++ /dev/null @@ -1,36 +0,0 @@ -The following is an example of using the httpdstat.d script. - - -This Solaris 10 server is running Apache as a webserver. The script matches -on the process name "httpd". Here it shows many GET connections, - - # httpdstat.d - TIME NUM GET POST HEAD TRACE - 2005 Nov 29 18:46:46 38 38 0 0 0 - 2005 Nov 29 18:46:47 109 109 0 0 0 - 2005 Nov 29 18:46:48 112 112 0 0 0 - 2005 Nov 29 18:46:49 113 113 0 0 0 - 2005 Nov 29 18:46:50 107 107 0 0 0 - 2005 Nov 29 18:46:51 56 56 0 0 0 - 2005 Nov 29 18:46:52 0 0 0 0 0 - 2005 Nov 29 18:46:53 0 0 0 0 0 - 2005 Nov 29 18:46:54 20 20 0 0 0 - 2005 Nov 29 18:46:55 48 48 0 0 0 - ^C - -For a few seconds we had around 100 GETs per second. - - - -httpdstat.d accepts an argument as the sample interval, here we print a -line every 30 seconds, - - # httpdstat.d 30 - TIME NUM GET POST HEAD TRACE - 2005 Nov 29 18:50:49 462 458 3 1 0 - 2005 Nov 29 18:51:19 421 413 5 2 1 - 2005 Nov 29 18:51:49 1361 1358 3 0 0 - ^C - -The values are for the entire interval. - diff --git a/cddl/contrib/dtracetoolkit/Examples/icmpstat_example.txt b/cddl/contrib/dtracetoolkit/Examples/icmpstat_example.txt deleted file mode 100644 index e8b8cfe6500b..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/icmpstat_example.txt +++ /dev/null @@ -1,29 +0,0 @@ -The following is a demonstration of the icmpstat.d script, - - -Here we run it and catch an inbound ping, - - # icmpstat.d - 2005 Jul 25 23:05:39, - - STATISTIC VALUE - - 2005 Jul 25 23:05:40, - - STATISTIC VALUE - icmpOutMsgs 1 - icmpOutEchoReps 1 - icmpInEchos 1 - icmpInMsgs 1 - - 2005 Jul 25 23:05:41, - - STATISTIC VALUE - - ^C - -Files such as /usr/include/inet/mib2.h may explain each of the statistics. - -The icmpstat.d is a simple demonstration of tracing ICMP activity. It may -serve as the starting point for other scripts. - diff --git a/cddl/contrib/dtracetoolkit/Examples/intbycpu_example.txt b/cddl/contrib/dtracetoolkit/Examples/intbycpu_example.txt deleted file mode 100644 index 5ed213cba6ba..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/intbycpu_example.txt +++ /dev/null @@ -1,11 +0,0 @@ -The following is a demonstration of the intbycpu.d script, - - # intbycpu.d - Tracing... Hit Ctrl-C to end. - ^C - CPU INTERRUPTS - 0 374 - 1 412 - -In the above output, CPU 1 had 412 interrupts, and CPU 0 had 374. - diff --git a/cddl/contrib/dtracetoolkit/Examples/intoncpu_example.txt b/cddl/contrib/dtracetoolkit/Examples/intoncpu_example.txt deleted file mode 100644 index ed408eb6a17d..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/intoncpu_example.txt +++ /dev/null @@ -1,93 +0,0 @@ -The following is an example of the intoncpu.d script. - - -Here we run it for a few seconds then hit Ctrl-C, - - # ./intoncpu.d - Tracing... Hit Ctrl-C to end. - ^C - uhci1 - - value ------------- Distribution ------------- count - 2048 | 0 - 4096 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 8192 | 0 - uhci0 - - value ------------- Distribution ------------- count - 512 | 0 - 1024 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 16 - 2048 |@@@@ 2 - 4096 |@@ 1 - 8192 |@@ 1 - 16384 | 0 - rtls0 - - value ------------- Distribution ------------- count - 512 | 0 - 1024 |@@@@@@@@@@@@@@@@ 8 - 2048 |@@@@@@@@@@ 5 - 4096 |@@@@@@ 3 - 8192 | 0 - 16384 |@@ 1 - 32768 |@@ 1 - 65536 |@@@@ 2 - 131072 | 0 - -The rtls0 driver (the network interface) has encourtered the most interrupts, -with the time taken to process each interrupt visible as a distribution. -These times ranged from around 1000 ns (1 us), to at least 65536 ns (65 us). - -To determine which devices the instance names represent (eg, "uhci1"), the -/etc/path_to_inst file could be examied. - - - -The following is a longer example of running intoncpu.d, - - # ./intoncpu.d - Tracing... Hit Ctrl-C to end. - ^C - uhci1 - - value ------------- Distribution ------------- count - 2048 | 0 - 4096 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 6 - 8192 | 0 - ata1 - - value ------------- Distribution ------------- count - 8192 | 0 - 16384 |@@@@@@@@@@@@@@@@@@@@ 2 - 32768 |@@@@@@@@@@@@@@@@@@@@ 2 - 65536 | 0 - ata0 - - value ------------- Distribution ------------- count - 2048 | 0 - 4096 |@@@@@@@@@@@@@ 55 - 8192 |@@@@@@@@@@@@@@@@@@@@@@@@@@ 113 - 16384 |@ 5 - 32768 | 0 - uhci0 - - value ------------- Distribution ------------- count - 512 | 0 - 1024 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1288 - 2048 |@@ 53 - 4096 | 6 - 8192 | 0 - rtls0 - - value ------------- Distribution ------------- count - 512 | 0 - 1024 |@@@@@@@@@@@@@@@@@@@@ 665 - 2048 |@@@@@@@@@ 307 - 4096 |@ 35 - 8192 | 0 - 16384 |@@@@@@@ 229 - 32768 |@@@ 91 - 65536 |@ 19 - 131072 | 1 - 262144 | 0 - diff --git a/cddl/contrib/dtracetoolkit/Examples/inttimes_example.txt b/cddl/contrib/dtracetoolkit/Examples/inttimes_example.txt deleted file mode 100644 index 384d700ba234..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/inttimes_example.txt +++ /dev/null @@ -1,18 +0,0 @@ -The following is a demonstration of the inttimes.d script, - - -Here we run it for a few seconds then hit Ctrl-C, - - # inttimes.d - Tracing... Hit Ctrl-C to end. - ^C - DEVICE TIME (ns) - ata0 22324 - uhci1 45893 - ata1 138559 - uhci0 229226 - i80420 1305617 - rtls0 2540175 - -In the above output, we can see that the rtls0 driver spent 2540 us on the -CPU servicing interrupts, while ata0 spent only 22 us. diff --git a/cddl/contrib/dtracetoolkit/Examples/iofile_example.txt b/cddl/contrib/dtracetoolkit/Examples/iofile_example.txt deleted file mode 100644 index f4fc476910f0..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/iofile_example.txt +++ /dev/null @@ -1,35 +0,0 @@ -The following is a demonstration of the iofile.d script, - - -Here we run it while a tar command is backing up /var/adm, - - # iofile.d - Tracing... Hit Ctrl-C to end. - ^C - PID CMD TIME FILE - 5206 tar 109 /var/adm/acct/nite - 5206 tar 110 /var/adm/acct/sum - 5206 tar 114 /var/adm/acct/fiscal - 5206 tar 117 /var/adm/messages.3 - 5206 tar 172 /var/adm/sa - 5206 tar 3605 /var/adm/messages.2 - 5206 tar 4548 /var/adm/spellhist - 5206 tar 5769 /var/adm/exacct/brendan1task - 5206 tar 6416 /var/adm/acct - 5206 tar 7587 /var/adm/messages.1 - 5206 tar 8246 /var/adm/exacct/task - 5206 tar 8320 /var/adm/pool - 5206 tar 8973 /var/adm/pool/history - 5206 tar 9183 /var/adm/exacct - 3 fsflush 10882 - 5206 tar 11861 /var/adm/exacct/flow - 5206 tar 12042 /var/adm/messages.0 - 5206 tar 12408 /var/adm/sm.bin - 5206 tar 13021 /var/adm/sulog - 5206 tar 19007 /var/adm/streams - 5206 tar 21811 - 5206 tar 24918 /var/adm/exacct/proc - -In the above output, we can see that the tar command spent 24918 us (25 ms) -waiting for disk I/O on the /var/adm/exacct/proc file. - diff --git a/cddl/contrib/dtracetoolkit/Examples/iofileb_example.txt b/cddl/contrib/dtracetoolkit/Examples/iofileb_example.txt deleted file mode 100644 index 21597f7e776d..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/iofileb_example.txt +++ /dev/null @@ -1,23 +0,0 @@ -The following is a demonstration of the iofileb.d script, - - -Here we run it while a tar command is backing up /var/adm, - - # ./iofileb.d - Tracing... Hit Ctrl-C to end. - ^C - PID CMD KB FILE - 29529 tar 56 /var/adm/sa/sa31 - 29529 tar 56 /var/adm/sa/sa03 - 29529 tar 56 /var/adm/sa/sa02 - 29529 tar 56 /var/adm/sa/sa01 - 29529 tar 56 /var/adm/sa/sa04 - 29529 tar 56 /var/adm/sa/sa27 - 29529 tar 56 /var/adm/sa/sa28 - 29529 tar 324 /var/adm/exacct/task - 29529 tar 736 /var/adm/wtmpx - -In the above output, we can see that the tar command has caused 736 Kbytes -of the /var/adm/wtmpx file to be read from disk. All af the Kbyte values -measured are for disk activity. - diff --git a/cddl/contrib/dtracetoolkit/Examples/iopattern_example.txt b/cddl/contrib/dtracetoolkit/Examples/iopattern_example.txt deleted file mode 100644 index 818a4a22e6dc..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/iopattern_example.txt +++ /dev/null @@ -1,57 +0,0 @@ -The following is a demonstration of the iopattern program, - - -Here we run iopattern for a few seconds then hit Ctrl-C. There is a "dd" -command running on this system to intentionally create heavy sequential -disk activity, - - # iopattern - %RAN %SEQ COUNT MIN MAX AVG KR KW - 1 99 465 4096 57344 52992 23916 148 - 0 100 556 57344 57344 57344 31136 0 - 0 100 634 57344 57344 57344 35504 0 - 6 94 554 512 57344 54034 29184 49 - 0 100 489 57344 57344 57344 27384 0 - 21 79 568 4096 57344 46188 25576 44 - 4 96 431 4096 57344 56118 23620 0 - ^C - -In the above output we can see that the disk activity is mostly sequential. -The disks are also pulling around 30 Mb during each sample, with a large -average event size. - - - -The following demonstrates iopattern while running a "find" command to -cause random disk activity, - - # iopattern - %RAN %SEQ COUNT MIN MAX AVG KR KW - 86 14 400 1024 8192 1543 603 0 - 81 19 455 1024 8192 1606 714 0 - 89 11 469 512 8192 1854 550 299 - 83 17 463 1024 8192 1782 806 0 - 87 13 394 1024 8192 1551 597 0 - 85 15 348 512 57344 2835 808 155 - 91 9 513 512 47616 2812 570 839 - 76 24 317 512 35840 3755 562 600 - ^C - -In the above output, we can see from the percentages that the disk events -were mostly random. We can also see that the average event size is small - -which makes sense if we are reading through many directory files. - - - -iopattern has options. Here we print timestamps "-v" and measure every 10 -seconds, - - # iopattern -v 10 - TIME %RAN %SEQ COUNT MIN MAX AVG KR KW - 2005 Jul 25 20:40:55 97 3 33 512 8192 1163 8 29 - 2005 Jul 25 20:41:05 0 0 0 0 0 0 0 0 - 2005 Jul 25 20:41:15 84 16 6 512 11776 5973 22 13 - 2005 Jul 25 20:41:25 100 0 26 512 8192 1496 8 30 - 2005 Jul 25 20:41:35 0 0 0 0 0 0 0 0 - ^C - diff --git a/cddl/contrib/dtracetoolkit/Examples/iopending_example.txt b/cddl/contrib/dtracetoolkit/Examples/iopending_example.txt deleted file mode 100644 index f4bc8225c867..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/iopending_example.txt +++ /dev/null @@ -1,126 +0,0 @@ -The following is a demonstration of the iopending tool, - -Here we run it with a sample interval of 1 second, - - # iopending 1 - Tracing... Please wait. - 2006 Jan 6 20:21:59, load: 0.02, disk_r: 0 KB, disk_w: 0 KB - - value ------------- Distribution ------------- count - < 0 | 0 - 0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1010 - 1 | 0 - - 2006 Jan 6 20:22:00, load: 0.03, disk_r: 0 KB, disk_w: 0 KB - - value ------------- Distribution ------------- count - < 0 | 0 - 0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1000 - 1 | 0 - - 2006 Jan 6 20:22:01, load: 0.03, disk_r: 0 KB, disk_w: 0 KB - - value ------------- Distribution ------------- count - < 0 | 0 - 0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1000 - 1 | 0 - - ^C - -The iopending tool samples at 1000 Hz, and prints a distribution of how many -disk events were "pending" completion. In the above example the disks are -quiet - for all the samples there are zero disk events pending. - - - -Now iopending is run with no arguments. It will default to an interval of 5 -seconds, - - # iopending - Tracing... Please wait. - 2006 Jan 6 19:15:41, load: 0.03, disk_r: 3599 KB, disk_w: 0 KB - - value ------------- Distribution ------------- count - < 0 | 0 - 0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 4450 - 1 |@@@ 390 - 2 |@ 80 - 3 | 40 - 4 | 20 - 5 | 30 - 6 | 0 - - ^C - -In the above output there was a little disk activity. For 390 samples there -was 1 I/O event pending; for 80 samples there was 2, and so on. - - - - -In the following example iopending is run during heavy disk activity. We -print output every 10 seconds, - - # iopending 10 - Tracing... Please wait. - 2006 Jan 6 20:58:07, load: 0.03, disk_r: 25172 KB, disk_w: 33321 KB - - value ------------- Distribution ------------- count - < 0 | 0 - 0 |@@@@@@@@@ 2160 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 6720 - 2 |@@@@ 1000 - 3 | 50 - 4 | 30 - 5 | 20 - 6 | 10 - 7 | 10 - 8 | 10 - 9 | 0 - - 2006 Jan 6 20:58:17, load: 0.05, disk_r: 8409 KB, disk_w: 12449 KB - - value ------------- Distribution ------------- count - < 0 | 0 - 0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 7260 - 1 |@@@@@@@ 1700 - 2 |@ 300 - 3 | 0 - 4 | 10 - 5 | 10 - 6 | 10 - 7 | 20 - 8 | 0 - 9 | 0 - 10 | 0 - 11 | 0 - 12 | 0 - 13 | 0 - 14 | 0 - 15 | 0 - 16 | 0 - 17 | 10 - 18 | 20 - 19 | 0 - 20 | 0 - 21 | 0 - 22 | 0 - 23 | 0 - 24 | 0 - 25 | 0 - 26 | 0 - 27 | 0 - 28 | 0 - 29 | 0 - 30 | 0 - 31 | 10 - >= 32 |@@@ 650 - - ^C - -In the first output, most of the time (67%) there was 1 event pending, -and for a short time there were 8 events pending. In the second output we -see many samples were off the scale - 650 samples at 32 or more pending -events. For this sample I had typed "sync" in another window, which -queued many disk events immediately which were eventually completed. - diff --git a/cddl/contrib/dtracetoolkit/Examples/iosnoop_example.txt b/cddl/contrib/dtracetoolkit/Examples/iosnoop_example.txt deleted file mode 100644 index addb7dcbbe46..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/iosnoop_example.txt +++ /dev/null @@ -1,39 +0,0 @@ -The following demonstrates iosnoop. It was run on a system that was -fairly quiet until a tar command was run, - -# ./iosnoop - UID PID D BLOCK SIZE COMM PATHNAME - 0 0 W 1067 512 sched - 0 0 W 6496304 1024 sched - 0 3 W 6498797 512 fsflush - 0 0 W 1067 512 sched - 0 0 W 6496304 1024 sched - 100 443 R 892288 4096 Xsun /usr/openwin/bin/Xsun - 100 443 R 891456 4096 Xsun /usr/openwin/bin/Xsun - 100 15795 R 3808 8192 tar /usr/bin/eject - 100 15795 R 35904 6144 tar /usr/bin/eject - 100 15795 R 39828 6144 tar /usr/bin/env - 100 15795 R 3872 8192 tar /usr/bin/expr - 100 15795 R 21120 7168 tar /usr/bin/expr - 100 15795 R 43680 6144 tar /usr/bin/false - 100 15795 R 44176 6144 tar /usr/bin/fdetach - 100 15795 R 3920 8192 tar /usr/bin/fdformat - 100 15795 R 3936 8192 tar /usr/bin/fdformat - 100 15795 R 4080 8192 tar /usr/bin/fdformat - 100 15795 R 9680 3072 tar /usr/bin/fdformat - 100 15795 R 4096 8192 tar /usr/bin/fgrep - 100 15795 R 46896 6144 tar /usr/bin/fgrep - 100 15795 R 4112 8192 tar /usr/bin/file - 100 15795 R 4128 8192 tar /usr/bin/file - 100 15795 R 4144 8192 tar /usr/bin/file - 100 15795 R 21552 7168 tar /usr/bin/file - 100 15795 R 4192 8192 tar /usr/bin/fmli - 100 15795 R 4208 8192 tar /usr/bin/fmli - 100 15795 R 4224 57344 tar /usr/bin/fmli - 100 15795 R 4336 24576 tar /usr/bin/fmli - 100 15795 R 695792 8192 tar - 100 15795 R 696432 57344 tar /usr/bin/fmli -[...] - - - diff --git a/cddl/contrib/dtracetoolkit/Examples/iotop_example.txt b/cddl/contrib/dtracetoolkit/Examples/iotop_example.txt deleted file mode 100644 index 8cf55c189ba3..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/iotop_example.txt +++ /dev/null @@ -1,142 +0,0 @@ -The following are demonstrations of the iotop program, - - -Here we run iotop with the -C option to not clear the screen, but instead -provide a scrolling output, - - # iotop -C - Tracing... Please wait. - 2005 Jul 16 00:34:40, load: 1.21, disk_r: 12891 KB, disk_w: 1087 KB - - UID PID PPID CMD DEVICE MAJ MIN D BYTES - 0 3 0 fsflush cmdk0 102 4 W 512 - 0 3 0 fsflush cmdk0 102 0 W 11776 - 0 27751 20320 tar cmdk0 102 16 W 23040 - 0 3 0 fsflush cmdk0 102 0 R 73728 - 0 0 0 sched cmdk0 102 0 R 548864 - 0 0 0 sched cmdk0 102 0 W 1078272 - 0 27751 20320 tar cmdk0 102 16 R 1514496 - 0 27751 20320 tar cmdk0 102 3 R 11767808 - - 2005 Jul 16 00:34:45, load: 1.23, disk_r: 83849 KB, disk_w: 488 KB - - UID PID PPID CMD DEVICE MAJ MIN D BYTES - 0 0 0 sched cmdk0 102 4 W 1536 - 0 0 0 sched cmdk0 102 0 R 131072 - 0 27752 20320 find cmdk0 102 0 R 262144 - 0 0 0 sched cmdk0 102 0 W 498176 - 0 27751 20320 tar cmdk0 102 3 R 11780096 - 0 27751 20320 tar cmdk0 102 5 R 29745152 - 0 27751 20320 tar cmdk0 102 4 R 47203328 - - 2005 Jul 16 00:34:50, load: 1.25, disk_r: 22394 KB, disk_w: 2 KB - - UID PID PPID CMD DEVICE MAJ MIN D BYTES - 0 27752 20320 find cmdk0 102 0 W 2048 - 0 0 0 sched cmdk0 102 0 R 16384 - 0 321 1 automountd cmdk0 102 0 R 22528 - 0 27752 20320 find cmdk0 102 0 R 1462272 - 0 27751 20320 tar cmdk0 102 5 R 17465344 - -In the above output, we can see a tar command is reading from the cmdk0 -disk, from several different slices (different minor numbers), on the last -report focusing on 102,5 (an "ls -lL" in /dev/dsk can explain the number to -slice mappings). - -The disk_r and disk_w values give a summary of the overall activity in -bytes. - - - -Bytes can be used as a yardstick to determine which process is keeping the -disks busy, however either of the delta times available from iotop would -be more accurate (as they take into account whether the activity is random -or sequential). - - # iotop -Co - Tracing... Please wait. - 2005 Jul 16 00:39:03, load: 1.10, disk_r: 5302 KB, disk_w: 20 KB - - UID PID PPID CMD DEVICE MAJ MIN D DISKTIME - 0 0 0 sched cmdk0 102 0 W 532 - 0 0 0 sched cmdk0 102 0 R 245398 - 0 27758 20320 find cmdk0 102 0 R 3094794 - - 2005 Jul 16 00:39:08, load: 1.14, disk_r: 5268 KB, disk_w: 273 KB - - UID PID PPID CMD DEVICE MAJ MIN D DISKTIME - 0 3 0 fsflush cmdk0 102 0 W 2834 - 0 0 0 sched cmdk0 102 0 W 263527 - 0 0 0 sched cmdk0 102 0 R 285015 - 0 3 0 fsflush cmdk0 102 0 R 519187 - 0 27758 20320 find cmdk0 102 0 R 2429232 - - 2005 Jul 16 00:39:13, load: 1.16, disk_r: 602 KB, disk_w: 1238 KB - - UID PID PPID CMD DEVICE MAJ MIN D DISKTIME - 0 3 0 fsflush cmdk0 102 4 W 200 - 0 3 0 fsflush cmdk0 102 6 W 260 - 0 3 0 fsflush cmdk0 102 0 W 883 - 0 27758 20320 find cmdk0 102 0 R 55686 - 0 3 0 fsflush cmdk0 102 0 R 317508 - 0 0 0 sched cmdk0 102 0 R 320195 - 0 0 0 sched cmdk0 102 0 W 571084 - [...] - -The disk time is in microseconds. In the first sample, we can see the find -command caused a total of 3.094 seconds of disk time - the duration of the -samples here is 5 seconds (the default), so it would be fair to say that -the find command is keeping the disk 60% busy. - - - -A new option for iotop is to print percents "-P" which are based on disk -I/O times, and hense are a fair measurementt of what is keeping the disks -busy. - - # iotop -PC 1 - Tracing... Please wait. - 2005 Nov 18 15:26:14, load: 0.24, disk_r: 13176 KB, disk_w: 0 KB - - UID PID PPID CMD DEVICE MAJ MIN D %I/O - 0 2215 1663 bart cmdk0 102 0 R 85 - - 2005 Nov 18 15:26:15, load: 0.25, disk_r: 5263 KB, disk_w: 0 KB - - UID PID PPID CMD DEVICE MAJ MIN D %I/O - 0 2214 1663 find cmdk0 102 0 R 15 - 0 2215 1663 bart cmdk0 102 0 R 67 - - 2005 Nov 18 15:26:16, load: 0.25, disk_r: 8724 KB, disk_w: 0 KB - - UID PID PPID CMD DEVICE MAJ MIN D %I/O - 0 2214 1663 find cmdk0 102 0 R 10 - 0 2215 1663 bart cmdk0 102 0 R 71 - - 2005 Nov 18 15:26:17, load: 0.25, disk_r: 7528 KB, disk_w: 0 KB - - UID PID PPID CMD DEVICE MAJ MIN D %I/O - 0 2214 1663 find cmdk0 102 0 R 0 - 0 2215 1663 bart cmdk0 102 0 R 85 - - 2005 Nov 18 15:26:18, load: 0.26, disk_r: 11389 KB, disk_w: 0 KB - - UID PID PPID CMD DEVICE MAJ MIN D %I/O - 0 2214 1663 find cmdk0 102 0 R 2 - 0 2215 1663 bart cmdk0 102 0 R 80 - - 2005 Nov 18 15:26:19, load: 0.26, disk_r: 22109 KB, disk_w: 0 KB - - UID PID PPID CMD DEVICE MAJ MIN D %I/O - 0 2215 1663 bart cmdk0 102 0 R 76 - - ^C - -In the above output, bart and find jostle for disk access as they create -a database of file checksums. The command was, - - find / | bart create -I > /dev/null - -Note that the %I/O is in terms of 1 disk. A %I/O of say 200 is allowed - it -would mean that effectively 2 disks were at 100%, or 4 disks at 50%, etc. - diff --git a/cddl/contrib/dtracetoolkit/Examples/j_calldist_example.txt b/cddl/contrib/dtracetoolkit/Examples/j_calldist_example.txt deleted file mode 100644 index b659c0afc3ed..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/j_calldist_example.txt +++ /dev/null @@ -1,247 +0,0 @@ -This is an example of j_calldist.d showing the elapsed times for different -types of Java operations. - -This traces activity from all Java processes on the system with hotspot -provider support (1.6.0), and produces the output in graphical format, showing -a histogram of the amount of time taken by each call. Method calls are only -visible when using the flag "+ExtendedDTraceProbes". eg, -java -XX:+ExtendedDTraceProbes classfile - -Because of the extensive results returned otherwise, this script will show you -a configurable number of results in each section. The default (as in this -example) is ten. - -Here we see it tracing the activity of Code/Java/Func_abc. - -# j_calldist.d -Tracing... Hit Ctrl-C to end. -^C - -Top 10 elapsed times (us), - -Top 10 exclusive method elapsed times (us), - PID=311342, method, sun/net/www/ParseUtil.decode - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@ 3 - 512 | 0 - 1024 |@@@@@@@@@@@@@@@@@@@@@@ 5 - 2048 |@@@@ 1 - 4096 | 0 - - PID=311342, method, java/net/URLClassLoader. - value ------------- Distribution ------------- count - 4096 | 0 - 8192 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16384 | 0 - - PID=311342, method, java/util/jar/JarFile.hasClassPathAttribute - value ------------- Distribution ------------- count - 4096 | 0 - 8192 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16384 | 0 - - PID=311342, method, java/util/zip/ZipFile.read - value ------------- Distribution ------------- count - 4096 | 0 - 8192 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16384 | 0 - - PID=311342, method, sun/nio/cs/US_ASCII.newEncoder - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - 32 | 0 - 64 | 0 - 128 | 0 - 256 | 0 - 512 | 0 - 1024 | 0 - 2048 | 0 - 4096 | 0 - 8192 |@@@@@@@@@@@@@@@@@@@@ 1 - 16384 | 0 - - PID=311342, method, java/util/zip/ZipFile.getInputStream - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - 64 | 0 - 128 | 0 - 256 | 0 - 512 | 0 - 1024 | 0 - 2048 | 0 - 4096 | 0 - 8192 |@@@@@@@@@@@@@@@@@@@@ 1 - 16384 | 0 - - PID=311342, method, sun/nio/cs/US_ASCII.newDecoder - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@ 1 - 16 |@@@@@@@@@@@@@@@@@@@@ 2 - 32 | 0 - 64 | 0 - 128 | 0 - 256 | 0 - 512 | 0 - 1024 | 0 - 2048 | 0 - 4096 | 0 - 8192 |@@@@@@@@@@ 1 - 16384 | 0 - - PID=311342, method, java/util/HashMap. - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@ 8 - 16 |@@@@@@@@@@@@@@@@ 9 - 32 |@@@@@@@@@ 5 - 64 | 0 - 128 | 0 - 256 | 0 - 512 | 0 - 1024 | 0 - 2048 | 0 - 4096 | 0 - 8192 |@@ 1 - 16384 | 0 - - PID=311342, method, java/io/UnixFileSystem.normalize - value ------------- Distribution ------------- count - 4 | 0 - 8 |@ 1 - 16 | 0 - 32 | 0 - 64 |@@@@@@@@@ 8 - 128 |@@@@@@@@@@@@@ 11 - 256 |@@@@@@ 5 - 512 |@@@@@@@@@ 8 - 1024 | 0 - 2048 | 0 - 4096 |@ 1 - 8192 | 0 - - PID=311342, method, java/lang/Thread.sleep - value ------------- Distribution ------------- count - 262144 | 0 - 524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 1048576 | 0 - - -Top 10 inclusive method elapsed times (us), - PID=311342, method, java/net/URLClassLoader$1.run - value ------------- Distribution ------------- count - 8192 | 0 - 16384 |@@@@@@@@@@@@@@@@@@@@ 1 - 32768 | 0 - 65536 |@@@@@@@@@@@@@@@@@@@@ 1 - 131072 | 0 - - PID=311342, method, java/net/URLClassLoader.findClass - value ------------- Distribution ------------- count - 8192 | 0 - 16384 |@@@@@@@@@@@@@@@@@@@@ 1 - 32768 | 0 - 65536 |@@@@@@@@@@@@@@@@@@@@ 1 - 131072 | 0 - - PID=311342, method, sun/misc/URLClassPath.getLoader - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@ 1 - 32 | 0 - 64 | 0 - 128 | 0 - 256 | 0 - 512 | 0 - 1024 | 0 - 2048 |@@@@@@ 2 - 4096 |@@@@@@@@@@@@@@@@@@@@@@@@@ 8 - 8192 | 0 - 16384 |@@@ 1 - 32768 | 0 - 65536 |@@@ 1 - 131072 | 0 - - PID=311342, method, java/lang/ClassLoader.loadClass - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@ 6 - 256 |@@@@@@@@@@@@@@@@@@@@@@ 15 - 512 |@@@@ 3 - 1024 | 0 - 2048 | 0 - 4096 | 0 - 8192 | 0 - 16384 | 0 - 32768 | 0 - 65536 |@@@@ 3 - 131072 | 0 - - PID=311342, method, java/security/AccessController.doPrivileged - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@ 2 - 32 |@ 1 - 64 |@@@@ 4 - 128 |@@@@@@@@@@@@@@@@ 17 - 256 |@ 1 - 512 |@@@@ 4 - 1024 |@@ 2 - 2048 |@ 1 - 4096 |@@@@@@ 6 - 8192 |@ 1 - 16384 |@@ 2 - 32768 | 0 - 65536 |@@ 2 - 131072 | 0 - - PID=311342, method, Func_abc.func_c - value ------------- Distribution ------------- count - 262144 | 0 - 524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1048576 | 0 - - PID=311342, method, Func_abc.func_b - value ------------- Distribution ------------- count - 524288 | 0 - 1048576 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2097152 | 0 - - PID=311342, method, java/lang/Thread.sleep - value ------------- Distribution ------------- count - 262144 | 0 - 524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 1048576 | 0 - - PID=311342, method, Func_abc.func_a - value ------------- Distribution ------------- count - 1048576 | 0 - 2097152 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4194304 | 0 - - PID=311342, method, Func_abc.main - value ------------- Distribution ------------- count - 1048576 | 0 - 2097152 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4194304 | 0 - -The elapsed times section is empty. It would show us anything that is not a -Java method - garbage collection for example. However there was nothing of -the kind in this example. - -The exclusive method elapsed times show us the time spent in the top ten most -time consuming methods, not including time spent in subroutines called by -those methods. - -The inclusive method elapsed times show us the time spent in the top ten most -time consuming methods including time spent in subroutines called by those -methods. - -It is important to pay close attention to the third column, "count" as this -will indicate if there were any instances in a particular timeframe, even if -the number is too small to show up on the histogram clearly. diff --git a/cddl/contrib/dtracetoolkit/Examples/j_calls_example.txt b/cddl/contrib/dtracetoolkit/Examples/j_calls_example.txt deleted file mode 100644 index 3aacb2c9025c..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/j_calls_example.txt +++ /dev/null @@ -1,137 +0,0 @@ -The following are examples of running the j_calls.d script. - -This traces activity from all Java processes on the system with hotspot -provider support (1.6.0). Method calls and object allocation are only visible -when using the flag "+ExtendedDTraceProbes". eg, -java -XX:+ExtendedDTraceProbes classfile - -Here we see it running on Code/Java/Func_abc - -# j_calls.d -Tracing... Hit Ctrl-C to end. -^C - - PID TYPE NAME COUNT - 311334 cload Func_abc 1 - 311334 cload java/io/BufferedInputStream 1 - 311334 cload java/io/BufferedOutputStream 1 - 311334 cload java/io/BufferedReader 1 - 311334 cload java/io/BufferedWriter 1 - 311334 cload java/io/Closeable 1 - 311334 cload java/io/Console 1 - 311334 cload java/io/Console$1 1 - 311334 cload java/io/Console$1$1 1 - 311334 cload java/io/DataInput 1 - 311334 cload java/io/DataInputStream 1 - 311334 cload java/io/DeleteOnExitHook 1 - 311334 cload java/io/ExpiringCache 1 - 311334 cload java/io/ExpiringCache$1 1 - 311334 cload java/io/ExpiringCache$Entry 1 - 311334 cload java/io/File 1 - 311334 cload java/io/File$1 1 - 311334 cload java/io/FileDescriptor 1 - 311334 cload java/io/FileInputStream 1 - 311334 cload java/io/FileOutputStream 1 - 311334 cload java/io/FilePermission 1 - 311334 cload java/io/FilePermission$1 1 - 311334 cload java/io/FilePermissionCollection 1 - 311334 cload java/io/FileReader 1 - 311334 cload java/io/FileSystem 1 - 311334 cload java/io/FilterInputStream 1 - 311334 cload java/io/FilterOutputStream 1 - 311334 cload java/io/Flushable 1 - 311334 cload java/io/InputStream 1 - 311334 cload java/io/InputStreamReader 1 - 311334 cload java/io/ObjectStreamClass 1 - 311334 cload java/io/ObjectStreamField 1 - 311334 cload java/io/OutputStream 1 - 311334 cload java/io/OutputStreamWriter 1 - 311334 cload java/io/PrintStream 1 - 311334 cload java/io/Reader 1 - 311334 cload java/io/Serializable 1 - 311334 cload java/io/UnixFileSystem 1 - 311334 cload java/io/Writer 1 - 311334 cload java/lang/AbstractStringBuilder 1 - 311334 cload java/lang/Appendable 1 - 311334 cload java/lang/ApplicationShutdownHooks 1 - 311334 cload java/lang/ArithmeticException 1 - 311334 cload java/lang/ArrayStoreException 1 - 311334 cload java/lang/Boolean 1 - 311334 cload java/lang/Byte 1 - 311334 cload java/lang/CharSequence 1 - 311334 cload java/lang/Character 1 - 311334 cload java/lang/CharacterDataLatin1 1 - 311334 cload java/lang/Class 1 -[... 1400 lines truncated ...] - 311334 method java/lang/Class.getClassLoader0 34 - 311334 method java/lang/String.toLowerCase 34 - 311334 method sun/security/action/GetPropertyAction.run 34 - 311334 method java/nio/CharBuffer.arrayOffset 36 - 311334 method java/util/HashMap.getEntry 36 - 311334 method java/io/File. 37 - 311334 method java/io/UnixFileSystem.prefixLength 37 - 311334 oalloc java/io/File 37 - 311334 oalloc java/lang/reflect/Field 37 - 311334 method java/io/BufferedReader.readLine 38 - 311334 method java/util/concurrent/locks/AbstractOwnableSynchronizer.setExclusiveOwnerThread 38 - 311334 method java/lang/CharacterDataLatin1.toLowerCase 41 - 311334 method java/lang/CharacterDataLatin1.getProperties 43 - 311334 method java/security/AccessController.doPrivileged 43 - 311334 method java/util/Vector.size 43 - 311334 method java/nio/Buffer.position 44 - 311334 method java/nio/ByteBuffer.arrayOffset 44 - 311334 method java/lang/System.getProperty 48 - 311334 method java/util/Properties.getProperty 50 - 311334 method java/util/BitSet.expandTo 51 - 311334 method java/util/BitSet.set 51 - 311334 method java/lang/System.checkKey 56 - 311334 method java/lang/Thread.currentThread 57 - 311334 method java/util/Hashtable$Entry. 57 - 311334 oalloc [Ljava/lang/String; 57 - 311334 oalloc java/util/Hashtable$Entry 57 - 311334 method java/util/Hashtable.get 59 - 311334 method java/util/Hashtable.put 63 - 311334 method java/util/BitSet.checkInvariants 71 - 311334 method java/util/BitSet.wordIndex 72 - 311334 method java/lang/StringBuilder. 73 - 311334 method java/lang/StringBuilder.toString 73 - 311334 oalloc java/lang/StringBuilder 73 - 311334 method java/lang/AbstractStringBuilder.expandCapacity 81 - 311334 method java/util/HashMap.hash 81 - 311334 method java/util/HashMap.indexFor 81 - 311334 method java/lang/AbstractStringBuilder. 82 - 311334 method java/lang/Character.toLowerCase 82 - 311334 method java/lang/String.startsWith 83 - 311334 method java/util/Arrays.copyOf 87 - 311334 method java/lang/String.lastIndexOf 90 - 311334 method java/lang/String.substring 94 - 311334 method java/util/Arrays.copyOfRange 107 - 311334 method java/lang/String.getChars 156 - 311334 method java/lang/System.getSecurityManager 174 - 311334 method java/lang/String. 175 - 311334 method java/lang/String.equals 202 - 311334 method java/lang/Math.min 208 - 311334 method java/lang/String.hashCode 213 - 311334 method java/lang/String.indexOf 302 - 311334 oalloc [Ljava/lang/Object; 326 - 311334 method java/lang/System.arraycopy 360 - 311334 oalloc [I 374 - 311334 oalloc java/lang/Class 395 - 311334 oalloc [B 406 - 311334 oalloc [S 486 - 311334 method java/lang/StringBuilder.append 533 - 311334 oalloc [[I 541 - 311334 method java/lang/AbstractStringBuilder.append 549 - 311334 method java/lang/Object. 823 - 311334 oalloc java/lang/String 931 - 311334 oalloc [C 1076 - 311334 method java/lang/String.charAt 1960 - -This shows us each of the events associated with the PID 311334, and the -number of times each event happened. These events can be of type cload (class -load), method (method call), mcompile (method compile), mload (compiled method -load), oalloc (object alloc) or thread (thread start). - -In this case you can see 1960 calls to java/lang/String.charAt, and 1076 -object allocations of type [C. - diff --git a/cddl/contrib/dtracetoolkit/Examples/j_calltime_example.txt b/cddl/contrib/dtracetoolkit/Examples/j_calltime_example.txt deleted file mode 100644 index 937e06f2a08a..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/j_calltime_example.txt +++ /dev/null @@ -1,67 +0,0 @@ -The following are examples of j_calltime.d. - -This script traces the elapsed time of Java methods and prints a report of the -top ten in each category. This number is configurable with simple edit of -the DTrace script - -Here it traces the example program, Code/Java/Func_abc - -# j_calltime.d -Tracing... Hit Ctrl-C to end. -^C - -Top 10 counts, - PID TYPE NAME COUNT - 311358 method java/lang/String.equals 202 - 311358 method java/lang/Math.min 208 - 311358 method java/lang/String.hashCode 213 - 311358 method java/lang/String.indexOf 302 - 311358 method java/lang/System.arraycopy 360 - 311358 method java/lang/StringBuilder.append 533 - 311358 method java/lang/AbstractStringBuilder.append 549 - 311358 method java/lang/Object. 823 - 311358 method java/lang/String.charAt 1960 - 0 total - 12020 - -Top 10 elapsed times (us), - PID TYPE NAME TOTAL - -Top 10 exclusive method elapsed times (us), - PID TYPE NAME TOTAL - 311358 method java/nio/ByteBuffer. 5430 - 311358 method java/lang/String.charAt 6079 - 311358 method java/lang/String. 7306 - 311358 method java/lang/StringBuilder.append 10240 - 311358 method java/util/StringTokenizer.scanToken 11075 - 311358 method java/net/URL. 12519 - 311358 method java/io/UnixFileSystem.normalize 13218 - 311358 method sun/net/www/ParseUtil.decode 14208 - 311358 method java/lang/Thread.sleep 3016374 - 0 total - 3344993 - -Top 10 inclusive method elapsed times (us), - PID TYPE NAME TOTAL - 311358 method sun/misc/Launcher. 129120 - 311358 method java/lang/ClassLoader.initSystemClassLoader 129851 - 311358 method java/lang/ClassLoader.getSystemClassLoader 129897 - 311358 method java/lang/ClassLoader.loadClass 267404 - 311358 method java/security/AccessController.doPrivileged 278364 - 311358 method Func_abc.func_c 1009971 - 311358 method Func_abc.func_b 2019995 - 311358 method java/lang/Thread.sleep 3016374 - 311358 method Func_abc.func_a 3027043 - 311358 method Func_abc.main 3027068 - -Counts shows us how many times each different method was called, and how -many methods were called in total. - -The exclusive method elapsed times show the time that each method spent -processing code - while not in other method. - -The inclusive method elapsed times show the time that each method spent -processing code, including the time spent in other calls. - -These elapsed times are the absolute time from when the method began to -when it completed - which includes off-CPU time due to other system events -such as I/O, scheduling, interrupts, etc. - diff --git a/cddl/contrib/dtracetoolkit/Examples/j_classflow_example.txt b/cddl/contrib/dtracetoolkit/Examples/j_classflow_example.txt deleted file mode 100644 index b8a9b75000cd..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/j_classflow_example.txt +++ /dev/null @@ -1,89 +0,0 @@ -Following are examples of j_classflow.d. - -This watches Java method entries and returns from all Java processes on the -system with hotspot provider support (1.6.0) and the flag -"+ExtendedDTraceProbes". eg, java -XX:+ExtendedDTraceProbes classfile - -Here we can see it run on Code/Java/Func_abc. - -# j_classflow.d Func_abc - C PID TIME(us) -- CLASS.METHOD - 0 311425 4789778117827 -> Func_abc.main - 0 311425 4789778117844 -> Func_abc.func_a - 0 311425 4789779120071 -> Func_abc.func_b - 0 311425 4789780130070 -> Func_abc.func_c - 0 311425 4789781140067 <- Func_abc.func_c - 0 311425 4789781140079 <- Func_abc.func_b - 0 311425 4789781140087 <- Func_abc.func_a - 0 311425 4789781140095 <- Func_abc.main -^C - -The first column, C gives us the CPU ID. - -The second column, TIME(us), gives us the time since boot in microseconds. - -The third column, PID gives us the Process ID. - -The fourth column, CLASS.METHOD gives us the Java class and method name. - -We can see that Func_abc.main called Func.abc.func_a, which in turn -called Func_abc.funcb etc. - -Here we can see an example of running it on java/io/BufferedOutputStream - -# j_classflow.d java/io/BufferedOutputStream - C PID TIME(us) -- CLASS.METHOD - 0 311461 4790094765413 -> java/io/BufferedOutputStream. - 0 311461 4790094765459 <- java/io/BufferedOutputStream. - 0 311461 4790094779559 -> java/io/BufferedOutputStream. - 0 311461 4790094779595 <- java/io/BufferedOutputStream. - 0 311461 4790094965883 -> java/io/BufferedOutputStream.write - 0 311461 4790094965913 <- java/io/BufferedOutputStream.write - 0 311461 4790094965926 -> java/io/BufferedOutputStream.flush - 0 311461 4790094965936 -> java/io/BufferedOutputStream.flushBuffer - 0 311461 4790094966279 <- java/io/BufferedOutputStream.flushBuffer - 0 311461 4790094966293 <- java/io/BufferedOutputStream.flush - 0 311461 4790094966588 -> java/io/BufferedOutputStream.write - 0 311461 4790094966602 <- java/io/BufferedOutputStream.write - 0 311461 4790094966610 -> java/io/BufferedOutputStream.flush - 0 311461 4790094966618 -> java/io/BufferedOutputStream.flushBuffer - 0 311461 4790094966778 <- java/io/BufferedOutputStream.flushBuffer - 0 311461 4790094966787 <- java/io/BufferedOutputStream.flush - 0 311461 4790094966811 -> java/io/BufferedOutputStream.flush - 0 311461 4790094966819 -> java/io/BufferedOutputStream.flushBuffer - 0 311461 4790094966828 <- java/io/BufferedOutputStream.flushBuffer - 0 311461 4790094966836 <- java/io/BufferedOutputStream.flush - 0 311461 4790095970345 -> java/io/BufferedOutputStream.write - 0 311461 4790095970372 <- java/io/BufferedOutputStream.write - 0 311461 4790095970382 -> java/io/BufferedOutputStream.flush - 0 311461 4790095970390 -> java/io/BufferedOutputStream.flushBuffer - 0 311461 4790095970453 <- java/io/BufferedOutputStream.flushBuffer - 0 311461 4790095970462 <- java/io/BufferedOutputStream.flush - 0 311461 4790095970737 -> java/io/BufferedOutputStream.write - 0 311461 4790095970751 <- java/io/BufferedOutputStream.write - 0 311461 4790095970759 -> java/io/BufferedOutputStream.flush - 0 311461 4790095970766 -> java/io/BufferedOutputStream.flushBuffer - 0 311461 4790095970795 <- java/io/BufferedOutputStream.flushBuffer - 0 311461 4790095970804 <- java/io/BufferedOutputStream.flush - 0 311461 4790095970828 -> java/io/BufferedOutputStream.flush - 0 311461 4790095970836 -> java/io/BufferedOutputStream.flushBuffer - 0 311461 4790095970844 <- java/io/BufferedOutputStream.flushBuffer - 0 311461 4790095970853 <- java/io/BufferedOutputStream.flush - 0 311461 4790096980348 -> java/io/BufferedOutputStream.write - 0 311461 4790096980373 <- java/io/BufferedOutputStream.write - 0 311461 4790096980383 -> java/io/BufferedOutputStream.flush - 0 311461 4790096980391 -> java/io/BufferedOutputStream.flushBuffer - 0 311461 4790096980452 <- java/io/BufferedOutputStream.flushBuffer - 0 311461 4790096980460 <- java/io/BufferedOutputStream.flush - 0 311461 4790096980735 -> java/io/BufferedOutputStream.write - 0 311461 4790096980749 <- java/io/BufferedOutputStream.write - 0 311461 4790096980757 -> java/io/BufferedOutputStream.flush - 0 311461 4790096980765 -> java/io/BufferedOutputStream.flushBuffer - 0 311461 4790096980794 <- java/io/BufferedOutputStream.flushBuffer - 0 311461 4790096980803 <- java/io/BufferedOutputStream.flush - 0 311461 4790096980826 -> java/io/BufferedOutputStream.flush - 0 311461 4790096980834 -> java/io/BufferedOutputStream.flushBuffer - 0 311461 4790096980843 <- java/io/BufferedOutputStream.flushBuffer - 0 311461 4790096980851 <- java/io/BufferedOutputStream.flush - - diff --git a/cddl/contrib/dtracetoolkit/Examples/j_cpudist_example.txt b/cddl/contrib/dtracetoolkit/Examples/j_cpudist_example.txt deleted file mode 100644 index 15abac649a5f..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/j_cpudist_example.txt +++ /dev/null @@ -1,252 +0,0 @@ -This is an example of j_cpudist.d showing the elapsed times for different -types of Java operations. - -This traces activity from all Java processes on the system with hotspot -provider support (1.6.0), and produces the output in graphical format, showing -a histogram of the amount of time taken by each call. Method calls are only -visible when using the flag "+ExtendedDTraceProbes". eg, -java -XX:+ExtendedDTraceProbes classfile - -Because of the extensive results returned otherwise, this script will show you -a configurable number of results in each section. The default (as in this -example) is ten. - -Here we see it tracing the activity of Code/Java/Func_abc. - -# j_cpudist.d -Tracing... Hit Ctrl-C to end. -^C - -Top 10 on-CPU times (us), - -Top 10 exclusive method on-CPU times (us), - PID=311364, method, java/lang/AbstractStringBuilder.append - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 382 - 2 |@@@@@@@@@@@ 151 - 4 |@ 13 - 8 | 1 - 16 | 1 - 32 | 1 - 64 | 0 - - PID=311364, method, java/util/Arrays.copyOf - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 68 - 4 |@@@@@@@ 15 - 8 | 0 - 16 | 0 - 32 | 1 - 64 | 1 - 128 | 0 - 256 |@ 2 - 512 | 0 - - PID=311364, method, java/io/UnixFileSystem.normalize - value ------------- Distribution ------------- count - 1 | 0 - 2 |@ 1 - 4 | 0 - 8 |@@@@@@@@@@@ 9 - 16 |@@@@@@@@@@@@@@ 12 - 32 |@@@@@@ 5 - 64 |@@@@@@@ 6 - 128 |@ 1 - 256 | 0 - - PID=311364, method, java/io/File. - value ------------- Distribution ------------- count - 512 | 0 - 1024 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2048 | 0 - - PID=311364, method, sun/misc/URLClassPath$JarLoader.getJarFile - value ------------- Distribution ------------- count - 512 | 0 - 1024 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2048 | 0 - - PID=311364, method, java/io/FilePermission$1.run - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@ 2 - 4 |@@@@@@@@@@ 1 - 8 | 0 - 16 | 0 - 32 | 0 - 64 | 0 - 128 | 0 - 256 | 0 - 512 | 0 - 1024 |@@@@@@@@@@ 1 - 2048 | 0 - - PID=311364, method, java/lang/StringBuilder.append - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 526 - 4 | 2 - 8 | 0 - 16 | 4 - 32 | 1 - 64 | 0 - - PID=311364, method, java/lang/String. - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 162 - 4 |@@ 10 - 8 | 0 - 16 | 0 - 32 | 0 - 64 | 1 - 128 | 0 - 256 | 1 - 512 | 0 - 1024 | 1 - 2048 | 0 - - PID=311364, method, java/lang/String.charAt - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1953 - 2 | 3 - 4 | 1 - 8 | 1 - 16 | 2 - 32 | 0 - - PID=311364, method, java/lang/System.initializeSystemClass - value ------------- Distribution ------------- count - 1024 | 0 - 2048 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4096 | 0 - - -Top 10 inclusive method on-CPU times (us), - PID=311364, method, sun/misc/Launcher$ExtClassLoader. - value ------------- Distribution ------------- count - 8192 | 0 - 16384 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32768 | 0 - - PID=311364, method, sun/misc/Launcher$ExtClassLoader.getExtClassLoader - value ------------- Distribution ------------- count - 8192 | 0 - 16384 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32768 | 0 - - PID=311364, method, sun/misc/Launcher$ExtClassLoader.getExtURLs - value ------------- Distribution ------------- count - 8192 | 0 - 16384 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32768 | 0 - - PID=311364, method, sun/misc/Launcher. - value ------------- Distribution ------------- count - 8192 | 0 - 16384 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32768 | 0 - - PID=311364, method, sun/misc/Launcher. - value ------------- Distribution ------------- count - 8192 | 0 - 16384 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32768 | 0 - - PID=311364, method, java/lang/ClassLoader.loadClassInternal - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 6 - 128 |@@@@@@@@@ 2 - 256 | 0 - 512 | 0 - 1024 | 0 - 2048 | 0 - 4096 | 0 - 8192 | 0 - 16384 |@@@@ 1 - 32768 | 0 - - PID=311364, method, sun/misc/Launcher$AppClassLoader.loadClass - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 6 - 128 |@@@@@@@@@ 2 - 256 | 0 - 512 | 0 - 1024 | 0 - 2048 | 0 - 4096 | 0 - 8192 | 0 - 16384 |@@@@ 1 - 32768 | 0 - - PID=311364, method, sun/misc/URLClassPath.getLoader - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@ 1 - 8 | 0 - 16 | 0 - 32 | 0 - 64 | 0 - 128 | 0 - 256 |@@@ 1 - 512 |@@@@@@@@@@@@@@@@@@@@@@ 7 - 1024 |@@@@@@ 2 - 2048 | 0 - 4096 |@@@ 1 - 8192 |@@@ 1 - 16384 | 0 - - PID=311364, method, java/lang/ClassLoader.loadClass - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@ 6 - 64 |@@@@@@@@@@@@@@@@@@@@@ 14 - 128 |@@@@@@ 4 - 256 | 0 - 512 | 0 - 1024 | 0 - 2048 | 0 - 4096 | 0 - 8192 |@ 1 - 16384 |@@@ 2 - 32768 | 0 - - PID=311364, method, java/security/AccessController.doPrivileged - value ------------- Distribution ------------- count - 2 | 0 - 4 |@ 1 - 8 |@@@@ 4 - 16 |@@@@@@@@@@ 11 - 32 |@@@@@@@@@@ 11 - 64 | 0 - 128 |@@@ 3 - 256 |@ 1 - 512 |@@@@@ 5 - 1024 |@@ 2 - 2048 |@ 1 - 4096 |@ 1 - 8192 |@@ 2 - 16384 |@ 1 - 32768 | 0 - -The elapsed times section is empty. It would show us anything that is not a -Java method - garbage collection for example. However there was nothing of -the kind in this example. - -The exclusive method elapsed times show us the time spent on-CPU by the most -time consuming methods, not including time spent in subroutines called by -those methods. - -The inclusive method elapsed times show us the time spent on-CPU by the top -ten most time consuming methods including time spent in subroutines called by -those methods. - -It is important to pay close attention to the third column, "count" as this -will indicate if there were any instances in a particular timeframe, even if -the number is too small to show up on the histogram clearly. - diff --git a/cddl/contrib/dtracetoolkit/Examples/j_cputime_example.txt b/cddl/contrib/dtracetoolkit/Examples/j_cputime_example.txt deleted file mode 100644 index 0947cc05cbcd..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/j_cputime_example.txt +++ /dev/null @@ -1,75 +0,0 @@ -The following are examples of j_cputime.d. - -This script traces the on-CPU time of Java methods and prints a report. Here -it traces the example program, Code/Java/Func_abc - -# j_cputime.d -Tracing... Hit Ctrl-C to end. -^C - -Top 10 counts, - PID TYPE NAME COUNT - 311374 method java/lang/String.equals 202 - 311374 method java/lang/Math.min 208 - 311374 method java/lang/String.hashCode 213 - 311374 method java/lang/String.indexOf 302 - 311374 method java/lang/System.arraycopy 360 - 311374 method java/lang/StringBuilder.append 533 - 311374 method java/lang/AbstractStringBuilder.append 549 - 311374 method java/lang/Object. 823 - 311374 method java/lang/String.charAt 1960 - 0 total - 12020 - -Top 10 on-CPU times (us), - PID TYPE NAME TOTAL - -Top 10 exclusive method on-CPU times (us), - PID TYPE NAME TOTAL - 311374 method java/io/FilePermission$1.run 1055 - 311374 method java/util/Arrays.copyOf 1110 - 311374 method sun/net/www/ParseUtil.decode 1161 - 311374 method java/io/File. 1212 - 311374 method java/lang/StringBuilder.append 1228 - 311374 method java/io/UnixFileSystem.normalize 1402 - 311374 method java/lang/String. 2251 - 311374 method java/lang/String.charAt 2262 - 311374 method java/lang/System.initializeSystemClass 2751 - 0 total - 99868 - -Top 10 inclusive method on-CPU times (us), - PID TYPE NAME TOTAL - 311374 method java/lang/ClassLoader.loadClassInternal 25826 - 311374 method sun/misc/Launcher$ExtClassLoader.getExtClassLoader 25914 - 311374 method java/net/URL. 27677 - 311374 method sun/misc/Launcher. 28566 - 311374 method sun/misc/Launcher. 28744 - 311374 method java/lang/ClassLoader.initSystemClassLoader 29241 - 311374 method java/lang/ClassLoader.getSystemClassLoader 29249 - 311374 method java/lang/System.initializeSystemClass 33814 - 311374 method java/lang/ClassLoader.loadClass 66564 - 311374 method java/security/AccessController.doPrivileged 67499 - -You can see that it prints the top ten results in each of four categories. - -The first section reports how many times each subroutine was called, and it's -type. - -The second section reports on the on-CPU time of anything that was not of type -"method", in this case - none. - -The exclusive method on-CPU times shows, amongst other results, that -java/lang/String.charAt spent around 2,200 microseconds on-CPU. This times -excludes time spent in other subroutines. - -The inclusive method on-CPU times show the times that various methods -spent on-CPU. This includes the time spent in other subroutines called. - -These on-CPU times are the time the thread spent running on a CPU, from when -the subroutine began to when it completed. This does not include time -spent off-CPU time such as sleeping for I/O or waiting for scheduling. - -On-CPU times are useful for showing who is causing the CPUs to be busy. -See Notes/ALLoncpu_notes.txt for more details. Also see -Notes/ALLexclusive_notes.txt and Notes/ALLinclusive_notes.txt for a -detailed explanation of exclusive vs inclusive subroutine time. - diff --git a/cddl/contrib/dtracetoolkit/Examples/j_events_example.txt b/cddl/contrib/dtracetoolkit/Examples/j_events_example.txt deleted file mode 100644 index 2c48700f3d21..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/j_events_example.txt +++ /dev/null @@ -1,134 +0,0 @@ -The following are examples of j_events.d. - -This counts events from all Java processes on the system with hotspot -provider support (1.6.0). Some events such as method calls are only visible -when using the flag "+ExtendedDTraceProbes". eg, -java -XX:+ExtendedDTraceProbes classfile - -Here you can see it running while the program Code/Java/Func_abc - -# j_events.d -Tracing... Hit Ctrl-C to end. -^C - - PID EVENT COUNT - 311379 AttachCurrentThread-entry 1 - 311379 AttachCurrentThread-return 1 - 311379 CallIntMethod-entry 1 - 311379 CallIntMethod-return 1 - 311379 CallStaticBooleanMethod-entry 1 - 311379 CallStaticBooleanMethod-return 1 - 311379 CallStaticObjectMethod-entry 1 - 311379 CallStaticObjectMethod-return 1 - 311379 CallStaticObjectMethodV-entry 1 - 311379 CallStaticObjectMethodV-return 1 - 311379 CallStaticVoidMethod-entry 1 - 311379 CallStaticVoidMethod-return 1 - 311379 CreateJavaVM-entry 1 - 311379 CreateJavaVM-return 1 - 311379 DestroyJavaVM-entry 1 - 311379 DestroyJavaVM-return 1 - 311379 DetachCurrentThread-entry 1 - 311379 DetachCurrentThread-return 1 - 311379 ExceptionCheck-entry 1 - 311379 ExceptionCheck-return 1 - 311379 ExceptionClear-entry 1 - 311379 ExceptionClear-return 1 - 311379 GetDefaultJavaVMInitArgs-entry 1 - 311379 GetDefaultJavaVMInitArgs-return 1 - 311379 GetJavaVM-entry 1 - 311379 GetJavaVM-return 1 - 311379 GetStringRegion-entry 1 - 311379 GetStringRegion-return 1 - 311379 NewByteArray-entry 1 - 311379 NewByteArray-return 1 - 311379 NewObject-entry 1 - 311379 NewObject-return 1 - 311379 NewObjectV-entry 1 - 311379 NewObjectV-return 1 - 311379 SetBooleanField-entry 1 - 311379 SetBooleanField-return 1 - 311379 ToReflectedMethod-entry 1 - 311379 ToReflectedMethod-return 1 - 311379 vm-init-begin 1 - 311379 vm-init-end 1 - 311379 vm-shutdown 1 - 311379 NewGlobalRef-entry 2 - 311379 NewGlobalRef-return 2 - 311379 monitor-wait 2 - 311379 GetStaticFieldID-entry 3 - 311379 GetStaticFieldID-return 3 - 311379 NewObjectArray-entry 3 - 311379 NewObjectArray-return 3 - 311379 SetStaticObjectField-entry 3 - 311379 SetStaticObjectField-return 3 - 311379 GetStaticMethodID-entry 4 - 311379 GetStaticMethodID-return 4 - 311379 EnsureLocalCapacity-entry 5 - 311379 EnsureLocalCapacity-return 5 - 311379 SetByteArrayRegion-entry 5 - 311379 SetByteArrayRegion-return 5 - 311379 SetLongField-entry 5 - 311379 SetLongField-return 5 - 311379 GetMethodID-entry 6 - 311379 GetMethodID-return 6 - 311379 GetObjectArrayElement-entry 6 - 311379 GetObjectArrayElement-return 6 - 311379 GetSuperclass-entry 6 - 311379 GetSuperclass-return 6 - 311379 thread-start 6 - 311379 SetIntField-entry 8 - 311379 SetIntField-return 8 - 311379 GetArrayLength-entry 9 - 311379 GetArrayLength-return 9 - 311379 GetByteArrayRegion-entry 9 - 311379 GetByteArrayRegion-return 9 - 311379 RegisterNatives-entry 9 - 311379 RegisterNatives-return 9 - 311379 GetObjectClass-entry 10 - 311379 GetObjectClass-return 10 - 311379 FindClass-entry 11 - 311379 FindClass-return 11 - 311379 SetObjectArrayElement-entry 12 - 311379 SetObjectArrayElement-return 12 - 311379 GetStringUTFLength-entry 18 - 311379 GetStringUTFLength-return 18 - 311379 GetStringUTFRegion-entry 18 - 311379 GetStringUTFRegion-return 18 - 311379 GetFieldID-entry 21 - 311379 GetFieldID-return 21 - 309790 CallStaticVoidMethod-entry 24 - 309790 CallStaticVoidMethod-return 24 - 194441 CallStaticVoidMethod-entry 26 - 194441 CallStaticVoidMethod-return 26 - 311379 GetStringUTFChars-entry 29 - 311379 GetStringUTFChars-return 29 - 311379 ReleaseStringUTFChars-entry 29 - 311379 ReleaseStringUTFChars-return 29 - 311379 CallObjectMethod-entry 30 - 311379 CallObjectMethod-return 30 - 311379 GetStringCritical-entry 35 - 311379 GetStringCritical-return 35 - 311379 ReleaseStringCritical-entry 35 - 311379 ReleaseStringCritical-return 35 - 311379 ExceptionOccurred-entry 46 - 311379 ExceptionOccurred-return 46 - 311379 GetStringLength-entry 54 - 311379 GetStringLength-return 54 - 311379 NewStringUTF-entry 54 - 311379 NewStringUTF-return 54 - 311379 NewString-entry 55 - 311379 NewString-return 55 - 311379 GetObjectField-entry 60 - 311379 GetObjectField-return 60 - 311379 DeleteLocalRef-entry 108 - 311379 DeleteLocalRef-return 108 - 311379 class-loaded 327 - 311379 object-alloc 5389 - 311379 method-return 12024 - 311379 method-entry 12031 - -You can see that nearly all of the events recorded are from PID 311379, which -we can assume in this case is the program in question. Not all of the lines -correspond to this, however, which is something to be aware of while analysing -the results. diff --git a/cddl/contrib/dtracetoolkit/Examples/j_flow_example.txt b/cddl/contrib/dtracetoolkit/Examples/j_flow_example.txt deleted file mode 100644 index 433bef314224..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/j_flow_example.txt +++ /dev/null @@ -1,1292 +0,0 @@ -The following are examples of j_flow.d. - -This is a simple script to trace the not-so-simple flow of Java methods and -classes. Here it traces the example program, Code/Java/func_abc - -# j_flow.d - C PID TIME(us) -- CLASS.METHOD - 0 311403 4789112583163 -> java/lang/Object. - 0 311403 4789112583207 -> java/lang/Object.registerNatives - 0 311403 4789112583323 <- java/lang/Object.registerNatives - 0 311403 4789112583333 <- java/lang/Object. - 0 311403 4789112583343 -> java/lang/String. - 0 311403 4789112583732 -> java/lang/String$CaseInsensitiveComparator. - 0 311403 4789112583743 -> java/lang/String$CaseInsensitiveComparator. - 0 311403 4789112583752 -> java/lang/Object. - 0 311403 4789112583760 <- java/lang/Object. - 0 311403 4789112583767 <- java/lang/String$CaseInsensitiveComparator. - 0 311403 4789112583774 <- java/lang/String$CaseInsensitiveComparator. - 0 311403 4789112583783 <- java/lang/String. - 0 311403 4789112583849 -> java/lang/System. - 0 311403 4789112583859 -> java/lang/System.registerNatives - 0 311403 4789112583878 <- java/lang/System.registerNatives - 0 311403 4789112583887 -> java/lang/System.nullInputStream - 0 311403 4789112583895 -> java/lang/System.currentTimeMillis - 0 311403 4789112583905 <- java/lang/System.currentTimeMillis - 0 311403 4789112583913 <- java/lang/System.nullInputStream - 0 311403 4789112583923 -> java/lang/System.nullPrintStream - 0 311403 4789112583929 -> java/lang/System.currentTimeMillis - 0 311403 4789112583937 <- java/lang/System.currentTimeMillis - 0 311403 4789112583944 <- java/lang/System.nullPrintStream - 0 311403 4789112583951 -> java/lang/System.nullPrintStream - 0 311403 4789112583958 -> java/lang/System.currentTimeMillis - 0 311403 4789112583965 <- java/lang/System.currentTimeMillis - 0 311403 4789112583972 <- java/lang/System.nullPrintStream - 0 311403 4789112583982 <- java/lang/System. - 0 311403 4789112584058 -> java/lang/ThreadGroup. - 0 311403 4789112584068 -> java/lang/Object. - 0 311403 4789112584075 <- java/lang/Object. - 0 311403 4789112584100 <- java/lang/ThreadGroup. - 0 311403 4789112584109 -> java/lang/ThreadGroup. - 0 311403 4789112584116 -> java/lang/Object. - 0 311403 4789112584123 <- java/lang/Object. - 0 311403 4789112584139 -> java/lang/ThreadGroup.checkAccess - 0 311403 4789112584148 -> java/lang/System.getSecurityManager - 0 311403 4789112584157 <- java/lang/System.getSecurityManager - 0 311403 4789112584164 <- java/lang/ThreadGroup.checkAccess - 0 311403 4789112584175 -> java/lang/ThreadGroup.add - 0 311403 4789112584196 <- java/lang/ThreadGroup.add - 0 311403 4789112584202 <- java/lang/ThreadGroup. - 0 311403 4789112584385 -> java/lang/Thread. - 0 311403 4789112584396 -> java/lang/Thread.registerNatives - 0 311403 4789112584421 <- java/lang/Thread.registerNatives - 0 311403 4789112584779 -> java/lang/RuntimePermission. - 0 311403 4789112584789 -> java/security/BasicPermission. - 0 311403 4789112584798 -> java/security/Permission. - 0 311403 4789112584806 -> java/lang/Object. - 0 311403 4789112584814 <- java/lang/Object. - 0 311403 4789112584823 <- java/security/Permission. - 0 311403 4789112584831 -> java/security/BasicPermission.init - 0 311403 4789112584842 -> java/lang/String.length - 0 311403 4789112584850 <- java/lang/String.length - 0 311403 4789112584860 -> java/lang/String.charAt - 0 311403 4789112584869 <- java/lang/String.charAt - 0 311403 4789112584880 -> java/lang/String.equals - 0 311403 4789112584888 <- java/lang/String.equals - 0 311403 4789112584896 <- java/security/BasicPermission.init - 0 311403 4789112584903 <- java/security/BasicPermission. - 0 311403 4789112584910 <- java/lang/RuntimePermission. - 0 311403 4789112585319 -> sun/misc/SoftCache. - 0 311403 4789112585329 -> java/util/AbstractMap. - 0 311403 4789112585337 -> java/lang/Object. - 0 311403 4789112585345 <- java/lang/Object. - 0 311403 4789112585355 <- java/util/AbstractMap. - 0 311403 4789112585485 -> java/lang/ref/ReferenceQueue. - 0 311403 4789112585554 -> java/lang/ref/ReferenceQueue$Null. - 0 311403 4789112585564 -> java/lang/ref/ReferenceQueue$Null. - 0 311403 4789112585572 -> java/lang/ref/ReferenceQueue. - 0 311403 4789112585581 -> java/lang/Object. - 0 311403 4789112585589 <- java/lang/Object. - 0 311403 4789112585646 -> java/lang/ref/ReferenceQueue$Lock. - 0 311403 4789112585656 -> java/lang/ref/ReferenceQueue$Lock. - 0 311403 4789112585664 -> java/lang/Object. - 0 311403 4789112585671 <- java/lang/Object. - 0 311403 4789112585678 <- java/lang/ref/ReferenceQueue$Lock. - 0 311403 4789112585685 <- java/lang/ref/ReferenceQueue$Lock. - 0 311403 4789112585696 <- java/lang/ref/ReferenceQueue. - 0 311403 4789112585702 <- java/lang/ref/ReferenceQueue$Null. - 0 311403 4789112585709 <- java/lang/ref/ReferenceQueue$Null. - 0 311403 4789112585717 -> java/lang/ref/ReferenceQueue$Null. - 0 311403 4789112585723 -> java/lang/ref/ReferenceQueue$Null. - 0 311403 4789112585729 -> java/lang/ref/ReferenceQueue. - 0 311403 4789112585736 -> java/lang/Object. - 0 311403 4789112585743 <- java/lang/Object. - 0 311403 4789112585748 -> java/lang/ref/ReferenceQueue$Lock. - 0 311403 4789112585755 -> java/lang/ref/ReferenceQueue$Lock. - 0 311403 4789112585761 -> java/lang/Object. - 0 311403 4789112585768 <- java/lang/Object. - 0 311403 4789112585796 <- java/lang/ref/ReferenceQueue$Lock. - 0 311403 4789112585803 <- java/lang/ref/ReferenceQueue$Lock. -[... 22800 lines truncated ...] - 0 311403 4789112982170 <- java/lang/reflect/Method.getModifiers - 0 311403 4789112982182 -> Func_abc.main - 0 311403 4789112982193 -> Func_abc.func_a - 0 311403 4789112982201 -> java/lang/ClassLoader.checkPackageAccess - 0 311403 4789112982208 -> java/lang/System.getSecurityManager - 0 311403 4789112982215 <- java/lang/System.getSecurityManager - 0 311403 4789112982221 -> java/util/HashSet.add - 0 311403 4789112982228 -> java/util/HashMap.put - 0 311403 4789112982234 -> java/lang/Object.hashCode - 0 311403 4789112982241 <- java/lang/Object.hashCode - 0 311403 4789112982247 -> java/util/HashMap.hash - 0 311403 4789112982254 <- java/util/HashMap.hash - 0 311403 4789112982260 -> java/util/HashMap.indexFor - 0 311403 4789112982267 <- java/util/HashMap.indexFor - 0 311403 4789112982274 <- java/util/HashMap.put - 0 311403 4789112982280 <- java/util/HashSet.add - 0 311403 4789112982287 <- java/lang/ClassLoader.checkPackageAccess - 0 311403 4789112982349 -> java/lang/ClassLoader.loadClassInternal - 0 311403 4789112982356 -> java/lang/ClassLoader.loadClass - 0 311403 4789112982363 -> sun/misc/Launcher$AppClassLoader.loadClass - 0 311403 4789112982369 -> java/lang/String.lastIndexOf - 0 311403 4789112982376 -> java/lang/String.lastIndexOf - 0 311403 4789112982384 <- java/lang/String.lastIndexOf - 0 311403 4789112982391 <- java/lang/String.lastIndexOf - 0 311403 4789112982396 -> java/lang/System.getSecurityManager - 0 311403 4789112982404 <- java/lang/System.getSecurityManager - 0 311403 4789112982410 -> java/lang/ClassLoader.loadClass - 0 311403 4789112982416 -> java/lang/ClassLoader.findLoadedClass - 0 311403 4789112982422 -> java/lang/ClassLoader.check - 0 311403 4789112982429 <- java/lang/ClassLoader.check - 0 311403 4789112982435 -> java/lang/ClassLoader.checkName - 0 311403 4789112982442 -> java/lang/String.indexOf - 0 311403 4789112982448 -> java/lang/String.indexOf - 0 311403 4789112982456 <- java/lang/String.indexOf - 0 311403 4789112982462 <- java/lang/String.indexOf - 0 311403 4789112982468 -> sun/misc/VM.allowArraySyntax - 0 311403 4789112982475 <- sun/misc/VM.allowArraySyntax - 0 311403 4789112982481 -> java/lang/String.charAt - 0 311403 4789112982488 <- java/lang/String.charAt - 0 311403 4789112982495 <- java/lang/ClassLoader.checkName - 0 311403 4789112982501 -> java/lang/ClassLoader.findLoadedClass0 - 0 311403 4789112982510 <- java/lang/ClassLoader.findLoadedClass0 - 0 311403 4789112982517 <- java/lang/ClassLoader.findLoadedClass - 0 311403 4789112982524 -> java/lang/ClassLoader.loadClass - 0 311403 4789112982530 -> java/lang/ClassLoader.findLoadedClass - 0 311403 4789112982536 -> java/lang/ClassLoader.check - 0 311403 4789112982543 <- java/lang/ClassLoader.check - 0 311403 4789112982549 -> java/lang/ClassLoader.checkName - 0 311403 4789112982555 -> java/lang/String.indexOf - 0 311403 4789112982561 -> java/lang/String.indexOf - 0 311403 4789112982569 <- java/lang/String.indexOf - 0 311403 4789112982576 <- java/lang/String.indexOf - 0 311403 4789112982582 -> sun/misc/VM.allowArraySyntax - 0 311403 4789112982589 <- sun/misc/VM.allowArraySyntax - 0 311403 4789112982594 -> java/lang/String.charAt - 0 311403 4789112982602 <- java/lang/String.charAt - 0 311403 4789112982608 <- java/lang/ClassLoader.checkName - 0 311403 4789112982614 -> java/lang/ClassLoader.findLoadedClass0 - 0 311403 4789112982623 <- java/lang/ClassLoader.findLoadedClass0 - 0 311403 4789112982630 <- java/lang/ClassLoader.findLoadedClass - 0 311403 4789112982636 -> java/lang/ClassLoader.findBootstrapClass0 - 0 311403 4789112982642 -> java/lang/ClassLoader.check - 0 311403 4789112982650 <- java/lang/ClassLoader.check - 0 311403 4789112982655 -> java/lang/ClassLoader.checkName - 0 311403 4789112982662 -> java/lang/String.indexOf - 0 311403 4789112982668 -> java/lang/String.indexOf - 0 311403 4789112982676 <- java/lang/String.indexOf - 0 311403 4789112982682 <- java/lang/String.indexOf - 0 311403 4789112982688 -> sun/misc/VM.allowArraySyntax - 0 311403 4789112982695 <- sun/misc/VM.allowArraySyntax - 0 311403 4789112982701 -> java/lang/String.charAt - 0 311403 4789112982708 <- java/lang/String.charAt - 0 311403 4789112982715 <- java/lang/ClassLoader.checkName - 0 311403 4789112982720 -> java/lang/ClassLoader.findBootstrapClass - 0 311403 4789112982730 <- java/lang/ClassLoader.findBootstrapClass - 0 311403 4789112982737 <- java/lang/ClassLoader.findBootstrapClass0 - 0 311403 4789112982744 <- java/lang/ClassLoader.loadClass - 0 311403 4789112982751 <- java/lang/ClassLoader.loadClass - 0 311403 4789112982757 <- sun/misc/Launcher$AppClassLoader.loadClass - 0 311403 4789112982764 <- java/lang/ClassLoader.loadClass - 0 311403 4789112982771 <- java/lang/ClassLoader.loadClassInternal - 0 311403 4789112982780 -> java/lang/ClassLoader.checkPackageAccess - 0 311403 4789112982787 -> java/lang/System.getSecurityManager - 0 311403 4789112982794 <- java/lang/System.getSecurityManager - 0 311403 4789112982800 -> java/util/HashSet.add - 0 311403 4789112982806 -> java/util/HashMap.put - 0 311403 4789112982813 -> java/lang/Object.hashCode - 0 311403 4789112982820 <- java/lang/Object.hashCode - 0 311403 4789112982826 -> java/util/HashMap.hash - 0 311403 4789112982833 <- java/util/HashMap.hash - 0 311403 4789112982839 -> java/util/HashMap.indexFor - 0 311403 4789112982846 <- java/util/HashMap.indexFor - 0 311403 4789112982853 <- java/util/HashMap.put - 0 311403 4789112982859 <- java/util/HashSet.add - 0 311403 4789112982866 <- java/lang/ClassLoader.checkPackageAccess - 0 311403 4789112982879 -> java/io/PrintStream.println - 0 311403 4789112982889 -> java/io/PrintStream.print - 0 311403 4789112982897 -> java/io/PrintStream.write - 0 311403 4789112982906 -> java/io/PrintStream.ensureOpen - 0 311403 4789112982916 <- java/io/PrintStream.ensureOpen - 0 311403 4789112982927 -> java/io/Writer.write - 0 311403 4789112982939 -> java/io/BufferedWriter.write - 0 311403 4789112982948 -> java/io/BufferedWriter.ensureOpen - 0 311403 4789112982956 <- java/io/BufferedWriter.ensureOpen - 0 311403 4789112982964 -> java/io/BufferedWriter.min - 0 311403 4789112982971 <- java/io/BufferedWriter.min - 0 311403 4789112982980 -> java/lang/String.getChars - 0 311403 4789112982987 -> java/lang/System.arraycopy - 0 311403 4789112982995 <- java/lang/System.arraycopy - 0 311403 4789112983002 <- java/lang/String.getChars - 0 311403 4789112983009 <- java/io/BufferedWriter.write - 0 311403 4789112983016 <- java/io/Writer.write - 0 311403 4789112983024 -> java/io/BufferedWriter.flushBuffer - 0 311403 4789112983031 -> java/io/BufferedWriter.ensureOpen - 0 311403 4789112983038 <- java/io/BufferedWriter.ensureOpen - 0 311403 4789112983046 -> java/io/OutputStreamWriter.write - 0 311403 4789112983056 -> sun/nio/cs/StreamEncoder.write - 0 311403 4789112983066 -> sun/nio/cs/StreamEncoder.ensureOpen - 0 311403 4789112983073 <- sun/nio/cs/StreamEncoder.ensureOpen - 0 311403 4789112983082 -> sun/nio/cs/StreamEncoder.implWrite - 0 311403 4789112983093 -> java/nio/CharBuffer.wrap - 0 311403 4789112983099 -> java/nio/HeapCharBuffer. - 0 311403 4789112983106 -> java/nio/CharBuffer. - 0 311403 4789112983113 -> java/nio/Buffer. - 0 311403 4789112983119 -> java/lang/Object. - 0 311403 4789112983126 <- java/lang/Object. - 0 311403 4789112983133 -> java/nio/Buffer.limit - 0 311403 4789112983140 <- java/nio/Buffer.limit - 0 311403 4789112983146 -> java/nio/Buffer.position - 0 311403 4789112983153 <- java/nio/Buffer.position - 0 311403 4789112983160 <- java/nio/Buffer. - 0 311403 4789112983166 <- java/nio/CharBuffer. - 0 311403 4789112983173 <- java/nio/HeapCharBuffer. - 0 311403 4789112983180 <- java/nio/CharBuffer.wrap - 0 311403 4789112983188 -> java/nio/Buffer.hasRemaining - 0 311403 4789112983196 <- java/nio/Buffer.hasRemaining - 0 311403 4789112983206 -> java/nio/charset/CharsetEncoder.encode - 0 311403 4789112983216 -> sun/nio/cs/US_ASCII$Encoder.encodeLoop - 0 311403 4789112983226 -> java/nio/CharBuffer.hasArray - 0 311403 4789112983233 <- java/nio/CharBuffer.hasArray - 0 311403 4789112983243 -> java/nio/ByteBuffer.hasArray - 0 311403 4789112983250 <- java/nio/ByteBuffer.hasArray - 0 311403 4789112983259 -> sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop - 0 311403 4789112983267 -> java/nio/CharBuffer.array - 0 311403 4789112983274 <- java/nio/CharBuffer.array - 0 311403 4789112983282 -> java/nio/CharBuffer.arrayOffset - 0 311403 4789112983289 <- java/nio/CharBuffer.arrayOffset - 0 311403 4789112983297 -> java/nio/CharBuffer.arrayOffset - 0 311403 4789112983305 <- java/nio/CharBuffer.arrayOffset - 0 311403 4789112983316 -> java/nio/ByteBuffer.array - 0 311403 4789112983323 <- java/nio/ByteBuffer.array - 0 311403 4789112983331 -> java/nio/ByteBuffer.arrayOffset - 0 311403 4789112983338 <- java/nio/ByteBuffer.arrayOffset - 0 311403 4789112983346 -> java/nio/ByteBuffer.arrayOffset - 0 311403 4789112983354 <- java/nio/ByteBuffer.arrayOffset - 0 311403 4789112983366 -> java/nio/CharBuffer.arrayOffset - 0 311403 4789112983374 <- java/nio/CharBuffer.arrayOffset - 0 311403 4789112983382 -> java/nio/Buffer.position - 0 311403 4789112983389 <- java/nio/Buffer.position - 0 311403 4789112983395 -> java/nio/ByteBuffer.arrayOffset - 0 311403 4789112983402 <- java/nio/ByteBuffer.arrayOffset - 0 311403 4789112983410 -> java/nio/Buffer.position - 0 311403 4789112983417 <- java/nio/Buffer.position - 0 311403 4789112983424 <- sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop - 0 311403 4789112983431 <- sun/nio/cs/US_ASCII$Encoder.encodeLoop - 0 311403 4789112983439 -> java/nio/charset/CoderResult.isOverflow - 0 311403 4789112983447 <- java/nio/charset/CoderResult.isOverflow - 0 311403 4789112983454 -> java/nio/charset/CoderResult.isUnderflow - 0 311403 4789112983462 <- java/nio/charset/CoderResult.isUnderflow - 0 311403 4789112983469 <- java/nio/charset/CharsetEncoder.encode - 0 311403 4789112983477 -> java/nio/charset/CoderResult.isUnderflow - 0 311403 4789112983485 <- java/nio/charset/CoderResult.isUnderflow - 0 311403 4789112983494 -> java/nio/Buffer.remaining - 0 311403 4789112983501 <- java/nio/Buffer.remaining - 0 311403 4789112983508 <- sun/nio/cs/StreamEncoder.implWrite - 0 311403 4789112983515 <- sun/nio/cs/StreamEncoder.write - 0 311403 4789112983522 <- java/io/OutputStreamWriter.write - 0 311403 4789112983528 <- java/io/BufferedWriter.flushBuffer - 0 311403 4789112983537 -> java/io/OutputStreamWriter.flushBuffer - 0 311403 4789112983546 -> sun/nio/cs/StreamEncoder.flushBuffer - 0 311403 4789112983555 -> sun/nio/cs/StreamEncoder.implFlushBuffer - 0 311403 4789112983565 -> sun/nio/cs/StreamEncoder.writeBytes - 0 311403 4789112983574 -> java/nio/Buffer.flip - 0 311403 4789112983581 <- java/nio/Buffer.flip - 0 311403 4789112983591 -> java/nio/ByteBuffer.array - 0 311403 4789112983598 <- java/nio/ByteBuffer.array - 0 311403 4789112983606 -> java/nio/ByteBuffer.arrayOffset - 0 311403 4789112983613 <- java/nio/ByteBuffer.arrayOffset - 0 311403 4789112983623 -> java/io/PrintStream.write - 0 311403 4789112983629 -> java/io/PrintStream.ensureOpen - 0 311403 4789112983636 <- java/io/PrintStream.ensureOpen - 0 311403 4789112983645 -> java/io/BufferedOutputStream.write - 0 311403 4789112983657 -> java/lang/System.arraycopy - 0 311403 4789112983664 <- java/lang/System.arraycopy - 0 311403 4789112983671 <- java/io/BufferedOutputStream.write - 0 311403 4789112983679 -> java/io/BufferedOutputStream.flush - 0 311403 4789112983688 -> java/io/BufferedOutputStream.flushBuffer - 0 311403 4789112983698 -> java/io/FileOutputStream.write - 0 311403 4789112983707 -> java/io/FileOutputStream.writeBytes - 0 311403 4789112983860 <- java/io/FileOutputStream.writeBytes - 0 311403 4789112983868 <- java/io/FileOutputStream.write - 0 311403 4789112983874 <- java/io/BufferedOutputStream.flushBuffer - 0 311403 4789112983885 <- java/io/BufferedOutputStream.flush - 0 311403 4789112983892 <- java/io/PrintStream.write - 0 311403 4789112983901 -> java/nio/Buffer.clear - 0 311403 4789112983909 <- java/nio/Buffer.clear - 0 311403 4789112983915 <- sun/nio/cs/StreamEncoder.writeBytes - 0 311403 4789112983922 <- sun/nio/cs/StreamEncoder.implFlushBuffer - 0 311403 4789112983929 <- sun/nio/cs/StreamEncoder.flushBuffer - 0 311403 4789112983936 <- java/io/OutputStreamWriter.flushBuffer - 0 311403 4789112983946 -> java/lang/String.indexOf - 0 311403 4789112983952 -> java/lang/String.indexOf - 0 311403 4789112983961 <- java/lang/String.indexOf - 0 311403 4789112983967 <- java/lang/String.indexOf - 0 311403 4789112983974 <- java/io/PrintStream.write - 0 311403 4789112983981 <- java/io/PrintStream.print - 0 311403 4789112983989 -> java/io/PrintStream.newLine - 0 311403 4789112983995 -> java/io/PrintStream.ensureOpen - 0 311403 4789112984002 <- java/io/PrintStream.ensureOpen - 0 311403 4789112984010 -> java/io/BufferedWriter.newLine - 0 311403 4789112984019 -> java/io/Writer.write - 0 311403 4789112984025 -> java/io/BufferedWriter.write - 0 311403 4789112984031 -> java/io/BufferedWriter.ensureOpen - 0 311403 4789112984039 <- java/io/BufferedWriter.ensureOpen - 0 311403 4789112984045 -> java/io/BufferedWriter.min - 0 311403 4789112984052 <- java/io/BufferedWriter.min - 0 311403 4789112984058 -> java/lang/String.getChars - 0 311403 4789112984064 -> java/lang/System.arraycopy - 0 311403 4789112984072 <- java/lang/System.arraycopy - 0 311403 4789112984078 <- java/lang/String.getChars - 0 311403 4789112984085 <- java/io/BufferedWriter.write - 0 311403 4789112984092 <- java/io/Writer.write - 0 311403 4789112984099 <- java/io/BufferedWriter.newLine - 0 311403 4789112984104 -> java/io/BufferedWriter.flushBuffer - 0 311403 4789112984111 -> java/io/BufferedWriter.ensureOpen - 0 311403 4789112984118 <- java/io/BufferedWriter.ensureOpen - 0 311403 4789112984124 -> java/io/OutputStreamWriter.write - 0 311403 4789112984130 -> sun/nio/cs/StreamEncoder.write - 0 311403 4789112984137 -> sun/nio/cs/StreamEncoder.ensureOpen - 0 311403 4789112984144 <- sun/nio/cs/StreamEncoder.ensureOpen - 0 311403 4789112984150 -> sun/nio/cs/StreamEncoder.implWrite - 0 311403 4789112984156 -> java/nio/CharBuffer.wrap - 0 311403 4789112984163 -> java/nio/HeapCharBuffer. - 0 311403 4789112984169 -> java/nio/CharBuffer. - 0 311403 4789112984175 -> java/nio/Buffer. - 0 311403 4789112984181 -> java/lang/Object. - 0 311403 4789112984189 <- java/lang/Object. - 0 311403 4789112984194 -> java/nio/Buffer.limit - 0 311403 4789112984202 <- java/nio/Buffer.limit - 0 311403 4789112984207 -> java/nio/Buffer.position - 0 311403 4789112984214 <- java/nio/Buffer.position - 0 311403 4789112984221 <- java/nio/Buffer. - 0 311403 4789112984228 <- java/nio/CharBuffer. - 0 311403 4789112984234 <- java/nio/HeapCharBuffer. - 0 311403 4789112984241 <- java/nio/CharBuffer.wrap - 0 311403 4789112984247 -> java/nio/Buffer.hasRemaining - 0 311403 4789112984254 <- java/nio/Buffer.hasRemaining - 0 311403 4789112984260 -> java/nio/charset/CharsetEncoder.encode - 0 311403 4789112984266 -> sun/nio/cs/US_ASCII$Encoder.encodeLoop - 0 311403 4789112984273 -> java/nio/CharBuffer.hasArray - 0 311403 4789112984280 <- java/nio/CharBuffer.hasArray - 0 311403 4789112984286 -> java/nio/ByteBuffer.hasArray - 0 311403 4789112984293 <- java/nio/ByteBuffer.hasArray - 0 311403 4789112984299 -> sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop - 0 311403 4789112984305 -> java/nio/CharBuffer.array - 0 311403 4789112984312 <- java/nio/CharBuffer.array - 0 311403 4789112984318 -> java/nio/CharBuffer.arrayOffset - 0 311403 4789112984325 <- java/nio/CharBuffer.arrayOffset - 0 311403 4789112984331 -> java/nio/CharBuffer.arrayOffset - 0 311403 4789112984338 <- java/nio/CharBuffer.arrayOffset - 0 311403 4789112984344 -> java/nio/ByteBuffer.array - 0 311403 4789112984352 <- java/nio/ByteBuffer.array - 0 311403 4789112984358 -> java/nio/ByteBuffer.arrayOffset - 0 311403 4789112984365 <- java/nio/ByteBuffer.arrayOffset - 0 311403 4789112984371 -> java/nio/ByteBuffer.arrayOffset - 0 311403 4789112984378 <- java/nio/ByteBuffer.arrayOffset - 0 311403 4789112984384 -> java/nio/CharBuffer.arrayOffset - 0 311403 4789112984391 <- java/nio/CharBuffer.arrayOffset - 0 311403 4789112984397 -> java/nio/Buffer.position - 0 311403 4789112984404 <- java/nio/Buffer.position - 0 311403 4789112984410 -> java/nio/ByteBuffer.arrayOffset - 0 311403 4789112984417 <- java/nio/ByteBuffer.arrayOffset - 0 311403 4789112984423 -> java/nio/Buffer.position - 0 311403 4789112984430 <- java/nio/Buffer.position - 0 311403 4789112984437 <- sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop - 0 311403 4789112984444 <- sun/nio/cs/US_ASCII$Encoder.encodeLoop - 0 311403 4789112984450 -> java/nio/charset/CoderResult.isOverflow - 0 311403 4789112984457 <- java/nio/charset/CoderResult.isOverflow - 0 311403 4789112984463 -> java/nio/charset/CoderResult.isUnderflow - 0 311403 4789112984470 <- java/nio/charset/CoderResult.isUnderflow - 0 311403 4789112984477 <- java/nio/charset/CharsetEncoder.encode - 0 311403 4789112984483 -> java/nio/charset/CoderResult.isUnderflow - 0 311403 4789112984491 <- java/nio/charset/CoderResult.isUnderflow - 0 311403 4789112984497 -> java/nio/Buffer.remaining - 0 311403 4789112984504 <- java/nio/Buffer.remaining - 0 311403 4789112984510 <- sun/nio/cs/StreamEncoder.implWrite - 0 311403 4789112984517 <- sun/nio/cs/StreamEncoder.write - 0 311403 4789112984524 <- java/io/OutputStreamWriter.write - 0 311403 4789112984531 <- java/io/BufferedWriter.flushBuffer - 0 311403 4789112984536 -> java/io/OutputStreamWriter.flushBuffer - 0 311403 4789112984543 -> sun/nio/cs/StreamEncoder.flushBuffer - 0 311403 4789112984549 -> sun/nio/cs/StreamEncoder.implFlushBuffer - 0 311403 4789112984556 -> sun/nio/cs/StreamEncoder.writeBytes - 0 311403 4789112984562 -> java/nio/Buffer.flip - 0 311403 4789112984569 <- java/nio/Buffer.flip - 0 311403 4789112984575 -> java/nio/ByteBuffer.array - 0 311403 4789112984582 <- java/nio/ByteBuffer.array - 0 311403 4789112984588 -> java/nio/ByteBuffer.arrayOffset - 0 311403 4789112984595 <- java/nio/ByteBuffer.arrayOffset - 0 311403 4789112984601 -> java/io/PrintStream.write - 0 311403 4789112984607 -> java/io/PrintStream.ensureOpen - 0 311403 4789112984615 <- java/io/PrintStream.ensureOpen - 0 311403 4789112984621 -> java/io/BufferedOutputStream.write - 0 311403 4789112984627 -> java/lang/System.arraycopy - 0 311403 4789112984635 <- java/lang/System.arraycopy - 0 311403 4789112984641 <- java/io/BufferedOutputStream.write - 0 311403 4789112984647 -> java/io/BufferedOutputStream.flush - 0 311403 4789112984654 -> java/io/BufferedOutputStream.flushBuffer - 0 311403 4789112984660 -> java/io/FileOutputStream.write - 0 311403 4789112984666 -> java/io/FileOutputStream.writeBytes - 0 311403 4789112984712 <- java/io/FileOutputStream.writeBytes - 0 311403 4789112984719 <- java/io/FileOutputStream.write - 0 311403 4789112984726 <- java/io/BufferedOutputStream.flushBuffer - 0 311403 4789112984733 <- java/io/BufferedOutputStream.flush - 0 311403 4789112984740 <- java/io/PrintStream.write - 0 311403 4789112984746 -> java/nio/Buffer.clear - 0 311403 4789112984753 <- java/nio/Buffer.clear - 0 311403 4789112984760 <- sun/nio/cs/StreamEncoder.writeBytes - 0 311403 4789112984766 <- sun/nio/cs/StreamEncoder.implFlushBuffer - 0 311403 4789112984773 <- sun/nio/cs/StreamEncoder.flushBuffer - 0 311403 4789112984780 <- java/io/OutputStreamWriter.flushBuffer - 0 311403 4789112984786 -> java/io/BufferedOutputStream.flush - 0 311403 4789112984792 -> java/io/BufferedOutputStream.flushBuffer - 0 311403 4789112984800 <- java/io/BufferedOutputStream.flushBuffer - 0 311403 4789112984807 <- java/io/BufferedOutputStream.flush - 0 311403 4789112984813 <- java/io/PrintStream.newLine - 0 311403 4789112984820 <- java/io/PrintStream.println - 0 311403 4789112984835 -> java/lang/ClassLoader.loadClassInternal - 0 311403 4789112984842 -> java/lang/ClassLoader.loadClass - 0 311403 4789112984849 -> sun/misc/Launcher$AppClassLoader.loadClass - 0 311403 4789112984855 -> java/lang/String.lastIndexOf - 0 311403 4789112984862 -> java/lang/String.lastIndexOf - 0 311403 4789112984870 <- java/lang/String.lastIndexOf - 0 311403 4789112984877 <- java/lang/String.lastIndexOf - 0 311403 4789112984882 -> java/lang/System.getSecurityManager - 0 311403 4789112984890 <- java/lang/System.getSecurityManager - 0 311403 4789112984896 -> java/lang/ClassLoader.loadClass - 0 311403 4789112984902 -> java/lang/ClassLoader.findLoadedClass - 0 311403 4789112984908 -> java/lang/ClassLoader.check - 0 311403 4789112984915 <- java/lang/ClassLoader.check - 0 311403 4789112984921 -> java/lang/ClassLoader.checkName - 0 311403 4789112984927 -> java/lang/String.indexOf - 0 311403 4789112984934 -> java/lang/String.indexOf - 0 311403 4789112984942 <- java/lang/String.indexOf - 0 311403 4789112984948 <- java/lang/String.indexOf - 0 311403 4789112984954 -> sun/misc/VM.allowArraySyntax - 0 311403 4789112984961 <- sun/misc/VM.allowArraySyntax - 0 311403 4789112984967 -> java/lang/String.charAt - 0 311403 4789112984974 <- java/lang/String.charAt - 0 311403 4789112984981 <- java/lang/ClassLoader.checkName - 0 311403 4789112984987 -> java/lang/ClassLoader.findLoadedClass0 - 0 311403 4789112984998 <- java/lang/ClassLoader.findLoadedClass0 - 0 311403 4789112985005 <- java/lang/ClassLoader.findLoadedClass - 0 311403 4789112985011 -> java/lang/ClassLoader.loadClass - 0 311403 4789112985018 -> java/lang/ClassLoader.findLoadedClass - 0 311403 4789112985024 -> java/lang/ClassLoader.check - 0 311403 4789112985031 <- java/lang/ClassLoader.check - 0 311403 4789112985037 -> java/lang/ClassLoader.checkName - 0 311403 4789112985043 -> java/lang/String.indexOf - 0 311403 4789112985049 -> java/lang/String.indexOf - 0 311403 4789112985057 <- java/lang/String.indexOf - 0 311403 4789112985064 <- java/lang/String.indexOf - 0 311403 4789112985070 -> sun/misc/VM.allowArraySyntax - 0 311403 4789112985077 <- sun/misc/VM.allowArraySyntax - 0 311403 4789112985083 -> java/lang/String.charAt - 0 311403 4789112985090 <- java/lang/String.charAt - 0 311403 4789112985096 <- java/lang/ClassLoader.checkName - 0 311403 4789112985102 -> java/lang/ClassLoader.findLoadedClass0 - 0 311403 4789112985111 <- java/lang/ClassLoader.findLoadedClass0 - 0 311403 4789112985118 <- java/lang/ClassLoader.findLoadedClass - 0 311403 4789112985124 -> java/lang/ClassLoader.findBootstrapClass0 - 0 311403 4789112985130 -> java/lang/ClassLoader.check - 0 311403 4789112985138 <- java/lang/ClassLoader.check - 0 311403 4789112985143 -> java/lang/ClassLoader.checkName - 0 311403 4789112985150 -> java/lang/String.indexOf - 0 311403 4789112985156 -> java/lang/String.indexOf - 0 311403 4789112985164 <- java/lang/String.indexOf - 0 311403 4789112985170 <- java/lang/String.indexOf - 0 311403 4789112985176 -> sun/misc/VM.allowArraySyntax - 0 311403 4789112985183 <- sun/misc/VM.allowArraySyntax - 0 311403 4789112985189 -> java/lang/String.charAt - 0 311403 4789112985196 <- java/lang/String.charAt - 0 311403 4789112985203 <- java/lang/ClassLoader.checkName - 0 311403 4789112985208 -> java/lang/ClassLoader.findBootstrapClass - 0 311403 4789112985219 <- java/lang/ClassLoader.findBootstrapClass - 0 311403 4789112985226 <- java/lang/ClassLoader.findBootstrapClass0 - 0 311403 4789112985233 <- java/lang/ClassLoader.loadClass - 0 311403 4789112985240 <- java/lang/ClassLoader.loadClass - 0 311403 4789112985247 <- sun/misc/Launcher$AppClassLoader.loadClass - 0 311403 4789112985253 <- java/lang/ClassLoader.loadClass - 0 311403 4789112985260 <- java/lang/ClassLoader.loadClassInternal - 0 311403 4789112985270 -> java/lang/ClassLoader.checkPackageAccess - 0 311403 4789112985277 -> java/lang/System.getSecurityManager - 0 311403 4789112985285 <- java/lang/System.getSecurityManager - 0 311403 4789112985291 -> java/util/HashSet.add - 0 311403 4789112985297 -> java/util/HashMap.put - 0 311403 4789112985304 -> java/lang/Object.hashCode - 0 311403 4789112985311 <- java/lang/Object.hashCode - 0 311403 4789112985317 -> java/util/HashMap.hash - 0 311403 4789112985324 <- java/util/HashMap.hash - 0 311403 4789112985330 -> java/util/HashMap.indexFor - 0 311403 4789112985337 <- java/util/HashMap.indexFor - 0 311403 4789112985344 <- java/util/HashMap.put - 0 311403 4789112985351 <- java/util/HashSet.add - 0 311403 4789112985358 <- java/lang/ClassLoader.checkPackageAccess - 0 311403 4789112985371 -> java/lang/Thread.currentThread - 0 311403 4789112985379 <- java/lang/Thread.currentThread - 0 311403 4789112985387 -> java/lang/Thread.sleep - 0 311403 4789113990048 <- java/lang/Thread.sleep - 0 311403 4789113990080 -> Func_abc.func_b - 0 311403 4789113990104 -> java/io/PrintStream.println - 0 311403 4789113990112 -> java/io/PrintStream.print - 0 311403 4789113990118 -> java/io/PrintStream.write - 0 311403 4789113990125 -> java/io/PrintStream.ensureOpen - 0 311403 4789113990133 <- java/io/PrintStream.ensureOpen - 0 311403 4789113990139 -> java/io/Writer.write - 0 311403 4789113990147 -> java/io/BufferedWriter.write - 0 311403 4789113990154 -> java/io/BufferedWriter.ensureOpen - 0 311403 4789113990161 <- java/io/BufferedWriter.ensureOpen - 0 311403 4789113990168 -> java/io/BufferedWriter.min - 0 311403 4789113990176 <- java/io/BufferedWriter.min - 0 311403 4789113990182 -> java/lang/String.getChars - 0 311403 4789113990189 -> java/lang/System.arraycopy - 0 311403 4789113990198 <- java/lang/System.arraycopy - 0 311403 4789113990205 <- java/lang/String.getChars - 0 311403 4789113990212 <- java/io/BufferedWriter.write - 0 311403 4789113990219 <- java/io/Writer.write - 0 311403 4789113990225 -> java/io/BufferedWriter.flushBuffer - 0 311403 4789113990231 -> java/io/BufferedWriter.ensureOpen - 0 311403 4789113990238 <- java/io/BufferedWriter.ensureOpen - 0 311403 4789113990245 -> java/io/OutputStreamWriter.write - 0 311403 4789113990252 -> sun/nio/cs/StreamEncoder.write - 0 311403 4789113990258 -> sun/nio/cs/StreamEncoder.ensureOpen - 0 311403 4789113990265 <- sun/nio/cs/StreamEncoder.ensureOpen - 0 311403 4789113990272 -> sun/nio/cs/StreamEncoder.implWrite - 0 311403 4789113990279 -> java/nio/CharBuffer.wrap - 0 311403 4789113990286 -> java/nio/HeapCharBuffer. - 0 311403 4789113990293 -> java/nio/CharBuffer. - 0 311403 4789113990299 -> java/nio/Buffer. - 0 311403 4789113990306 -> java/lang/Object. - 0 311403 4789113990313 <- java/lang/Object. - 0 311403 4789113990320 -> java/nio/Buffer.limit - 0 311403 4789113990327 <- java/nio/Buffer.limit - 0 311403 4789113990333 -> java/nio/Buffer.position - 0 311403 4789113990340 <- java/nio/Buffer.position - 0 311403 4789113990347 <- java/nio/Buffer. - 0 311403 4789113990354 <- java/nio/CharBuffer. - 0 311403 4789113990360 <- java/nio/HeapCharBuffer. - 0 311403 4789113990367 <- java/nio/CharBuffer.wrap - 0 311403 4789113990373 -> java/nio/Buffer.hasRemaining - 0 311403 4789113990381 <- java/nio/Buffer.hasRemaining - 0 311403 4789113990387 -> java/nio/charset/CharsetEncoder.encode - 0 311403 4789113990394 -> sun/nio/cs/US_ASCII$Encoder.encodeLoop - 0 311403 4789113990401 -> java/nio/CharBuffer.hasArray - 0 311403 4789113990409 <- java/nio/CharBuffer.hasArray - 0 311403 4789113990415 -> java/nio/ByteBuffer.hasArray - 0 311403 4789113990422 <- java/nio/ByteBuffer.hasArray - 0 311403 4789113990428 -> sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop - 0 311403 4789113990435 -> java/nio/CharBuffer.array - 0 311403 4789113990442 <- java/nio/CharBuffer.array - 0 311403 4789113990448 -> java/nio/CharBuffer.arrayOffset - 0 311403 4789113990455 <- java/nio/CharBuffer.arrayOffset - 0 311403 4789113990461 -> java/nio/CharBuffer.arrayOffset - 0 311403 4789113990468 <- java/nio/CharBuffer.arrayOffset - 0 311403 4789113990475 -> java/nio/ByteBuffer.array - 0 311403 4789113990482 <- java/nio/ByteBuffer.array - 0 311403 4789113990488 -> java/nio/ByteBuffer.arrayOffset - 0 311403 4789113990495 <- java/nio/ByteBuffer.arrayOffset - 0 311403 4789113990501 -> java/nio/ByteBuffer.arrayOffset - 0 311403 4789113990508 <- java/nio/ByteBuffer.arrayOffset - 0 311403 4789113990517 -> java/nio/CharBuffer.arrayOffset - 0 311403 4789113990524 <- java/nio/CharBuffer.arrayOffset - 0 311403 4789113990529 -> java/nio/Buffer.position - 0 311403 4789113990537 <- java/nio/Buffer.position - 0 311403 4789113990542 -> java/nio/ByteBuffer.arrayOffset - 0 311403 4789113990550 <- java/nio/ByteBuffer.arrayOffset - 0 311403 4789113990555 -> java/nio/Buffer.position - 0 311403 4789113990563 <- java/nio/Buffer.position - 0 311403 4789113990569 <- sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop - 0 311403 4789113990576 <- sun/nio/cs/US_ASCII$Encoder.encodeLoop - 0 311403 4789113990583 -> java/nio/charset/CoderResult.isOverflow - 0 311403 4789113990590 <- java/nio/charset/CoderResult.isOverflow - 0 311403 4789113990596 -> java/nio/charset/CoderResult.isUnderflow - 0 311403 4789113990603 <- java/nio/charset/CoderResult.isUnderflow - 0 311403 4789113990610 <- java/nio/charset/CharsetEncoder.encode - 0 311403 4789113990616 -> java/nio/charset/CoderResult.isUnderflow - 0 311403 4789113990624 <- java/nio/charset/CoderResult.isUnderflow - 0 311403 4789113990630 -> java/nio/Buffer.remaining - 0 311403 4789113990637 <- java/nio/Buffer.remaining - 0 311403 4789113990643 <- sun/nio/cs/StreamEncoder.implWrite - 0 311403 4789113990650 <- sun/nio/cs/StreamEncoder.write - 0 311403 4789113990657 <- java/io/OutputStreamWriter.write - 0 311403 4789113990664 <- java/io/BufferedWriter.flushBuffer - 0 311403 4789113990670 -> java/io/OutputStreamWriter.flushBuffer - 0 311403 4789113990677 -> sun/nio/cs/StreamEncoder.flushBuffer - 0 311403 4789113990683 -> sun/nio/cs/StreamEncoder.implFlushBuffer - 0 311403 4789113990690 -> sun/nio/cs/StreamEncoder.writeBytes - 0 311403 4789113990697 -> java/nio/Buffer.flip - 0 311403 4789113990704 <- java/nio/Buffer.flip - 0 311403 4789113990710 -> java/nio/ByteBuffer.array - 0 311403 4789113990717 <- java/nio/ByteBuffer.array - 0 311403 4789113990723 -> java/nio/ByteBuffer.arrayOffset - 0 311403 4789113990730 <- java/nio/ByteBuffer.arrayOffset - 0 311403 4789113990736 -> java/io/PrintStream.write - 0 311403 4789113990742 -> java/io/PrintStream.ensureOpen - 0 311403 4789113990749 <- java/io/PrintStream.ensureOpen - 0 311403 4789113990756 -> java/io/BufferedOutputStream.write - 0 311403 4789113990763 -> java/lang/System.arraycopy - 0 311403 4789113990770 <- java/lang/System.arraycopy - 0 311403 4789113990777 <- java/io/BufferedOutputStream.write - 0 311403 4789113990783 -> java/io/BufferedOutputStream.flush - 0 311403 4789113990790 -> java/io/BufferedOutputStream.flushBuffer - 0 311403 4789113990797 -> java/io/FileOutputStream.write - 0 311403 4789113990803 -> java/io/FileOutputStream.writeBytes - 0 311403 4789113990841 <- java/io/FileOutputStream.writeBytes - 0 311403 4789113990848 <- java/io/FileOutputStream.write - 0 311403 4789113990855 <- java/io/BufferedOutputStream.flushBuffer - 0 311403 4789113990862 <- java/io/BufferedOutputStream.flush - 0 311403 4789113990869 <- java/io/PrintStream.write - 0 311403 4789113990875 -> java/nio/Buffer.clear - 0 311403 4789113990882 <- java/nio/Buffer.clear - 0 311403 4789113990888 <- sun/nio/cs/StreamEncoder.writeBytes - 0 311403 4789113990895 <- sun/nio/cs/StreamEncoder.implFlushBuffer - 0 311403 4789113990902 <- sun/nio/cs/StreamEncoder.flushBuffer - 0 311403 4789113990909 <- java/io/OutputStreamWriter.flushBuffer - 0 311403 4789113990915 -> java/lang/String.indexOf - 0 311403 4789113990922 -> java/lang/String.indexOf - 0 311403 4789113990930 <- java/lang/String.indexOf - 0 311403 4789113990936 <- java/lang/String.indexOf - 0 311403 4789113990943 <- java/io/PrintStream.write - 0 311403 4789113990950 <- java/io/PrintStream.print - 0 311403 4789113990956 -> java/io/PrintStream.newLine - 0 311403 4789113990962 -> java/io/PrintStream.ensureOpen - 0 311403 4789113990969 <- java/io/PrintStream.ensureOpen - 0 311403 4789113990975 -> java/io/BufferedWriter.newLine - 0 311403 4789113990981 -> java/io/Writer.write - 0 311403 4789113990988 -> java/io/BufferedWriter.write - 0 311403 4789113990994 -> java/io/BufferedWriter.ensureOpen - 0 311403 4789113991001 <- java/io/BufferedWriter.ensureOpen - 0 311403 4789113991007 -> java/io/BufferedWriter.min - 0 311403 4789113991014 <- java/io/BufferedWriter.min - 0 311403 4789113991020 -> java/lang/String.getChars - 0 311403 4789113991026 -> java/lang/System.arraycopy - 0 311403 4789113991034 <- java/lang/System.arraycopy - 0 311403 4789113991040 <- java/lang/String.getChars - 0 311403 4789113991047 <- java/io/BufferedWriter.write - 0 311403 4789113991054 <- java/io/Writer.write - 0 311403 4789113991060 <- java/io/BufferedWriter.newLine - 0 311403 4789113991066 -> java/io/BufferedWriter.flushBuffer - 0 311403 4789113991072 -> java/io/BufferedWriter.ensureOpen - 0 311403 4789113991080 <- java/io/BufferedWriter.ensureOpen - 0 311403 4789113991086 -> java/io/OutputStreamWriter.write - 0 311403 4789113991092 -> sun/nio/cs/StreamEncoder.write - 0 311403 4789113991098 -> sun/nio/cs/StreamEncoder.ensureOpen - 0 311403 4789113991106 <- sun/nio/cs/StreamEncoder.ensureOpen - 0 311403 4789113991112 -> sun/nio/cs/StreamEncoder.implWrite - 0 311403 4789113991118 -> java/nio/CharBuffer.wrap - 0 311403 4789113991124 -> java/nio/HeapCharBuffer. - 0 311403 4789113991131 -> java/nio/CharBuffer. - 0 311403 4789113991137 -> java/nio/Buffer. - 0 311403 4789113991143 -> java/lang/Object. - 0 311403 4789113991150 <- java/lang/Object. - 0 311403 4789113991156 -> java/nio/Buffer.limit - 0 311403 4789113991163 <- java/nio/Buffer.limit - 0 311403 4789113991169 -> java/nio/Buffer.position - 0 311403 4789113991176 <- java/nio/Buffer.position - 0 311403 4789113991182 <- java/nio/Buffer. - 0 311403 4789113991189 <- java/nio/CharBuffer. - 0 311403 4789113991196 <- java/nio/HeapCharBuffer. - 0 311403 4789113991202 <- java/nio/CharBuffer.wrap - 0 311403 4789113991208 -> java/nio/Buffer.hasRemaining - 0 311403 4789113991215 <- java/nio/Buffer.hasRemaining - 0 311403 4789113991221 -> java/nio/charset/CharsetEncoder.encode - 0 311403 4789113991281 -> sun/nio/cs/US_ASCII$Encoder.encodeLoop - 0 311403 4789113991287 -> java/nio/CharBuffer.hasArray - 0 311403 4789113991295 <- java/nio/CharBuffer.hasArray - 0 311403 4789113991301 -> java/nio/ByteBuffer.hasArray - 0 311403 4789113991308 <- java/nio/ByteBuffer.hasArray - 0 311403 4789113991314 -> sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop - 0 311403 4789113991320 -> java/nio/CharBuffer.array - 0 311403 4789113991328 <- java/nio/CharBuffer.array - 0 311403 4789113991333 -> java/nio/CharBuffer.arrayOffset - 0 311403 4789113991341 <- java/nio/CharBuffer.arrayOffset - 0 311403 4789113991347 -> java/nio/CharBuffer.arrayOffset - 0 311403 4789113991354 <- java/nio/CharBuffer.arrayOffset - 0 311403 4789113991360 -> java/nio/ByteBuffer.array - 0 311403 4789113991367 <- java/nio/ByteBuffer.array - 0 311403 4789113991373 -> java/nio/ByteBuffer.arrayOffset - 0 311403 4789113991380 <- java/nio/ByteBuffer.arrayOffset - 0 311403 4789113991386 -> java/nio/ByteBuffer.arrayOffset - 0 311403 4789113991393 <- java/nio/ByteBuffer.arrayOffset - 0 311403 4789113991400 -> java/nio/CharBuffer.arrayOffset - 0 311403 4789113991407 <- java/nio/CharBuffer.arrayOffset - 0 311403 4789113991413 -> java/nio/Buffer.position - 0 311403 4789113991420 <- java/nio/Buffer.position - 0 311403 4789113991426 -> java/nio/ByteBuffer.arrayOffset - 0 311403 4789113991433 <- java/nio/ByteBuffer.arrayOffset - 0 311403 4789113991439 -> java/nio/Buffer.position - 0 311403 4789113991446 <- java/nio/Buffer.position - 0 311403 4789113991453 <- sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop - 0 311403 4789113991459 <- sun/nio/cs/US_ASCII$Encoder.encodeLoop - 0 311403 4789113991465 -> java/nio/charset/CoderResult.isOverflow - 0 311403 4789113991473 <- java/nio/charset/CoderResult.isOverflow - 0 311403 4789113991479 -> java/nio/charset/CoderResult.isUnderflow - 0 311403 4789113991486 <- java/nio/charset/CoderResult.isUnderflow - 0 311403 4789113991493 <- java/nio/charset/CharsetEncoder.encode - 0 311403 4789113991499 -> java/nio/charset/CoderResult.isUnderflow - 0 311403 4789113991506 <- java/nio/charset/CoderResult.isUnderflow - 0 311403 4789113991512 -> java/nio/Buffer.remaining - 0 311403 4789113991519 <- java/nio/Buffer.remaining - 0 311403 4789113991526 <- sun/nio/cs/StreamEncoder.implWrite - 0 311403 4789113991533 <- sun/nio/cs/StreamEncoder.write - 0 311403 4789113991539 <- java/io/OutputStreamWriter.write - 0 311403 4789113991546 <- java/io/BufferedWriter.flushBuffer - 0 311403 4789113991552 -> java/io/OutputStreamWriter.flushBuffer - 0 311403 4789113991559 -> sun/nio/cs/StreamEncoder.flushBuffer - 0 311403 4789113991565 -> sun/nio/cs/StreamEncoder.implFlushBuffer - 0 311403 4789113991572 -> sun/nio/cs/StreamEncoder.writeBytes - 0 311403 4789113991578 -> java/nio/Buffer.flip - 0 311403 4789113991585 <- java/nio/Buffer.flip - 0 311403 4789113991591 -> java/nio/ByteBuffer.array - 0 311403 4789113991598 <- java/nio/ByteBuffer.array - 0 311403 4789113991604 -> java/nio/ByteBuffer.arrayOffset - 0 311403 4789113991611 <- java/nio/ByteBuffer.arrayOffset - 0 311403 4789113991617 -> java/io/PrintStream.write - 0 311403 4789113991623 -> java/io/PrintStream.ensureOpen - 0 311403 4789113991630 <- java/io/PrintStream.ensureOpen - 0 311403 4789113991636 -> java/io/BufferedOutputStream.write - 0 311403 4789113991643 -> java/lang/System.arraycopy - 0 311403 4789113991651 <- java/lang/System.arraycopy - 0 311403 4789113991657 <- java/io/BufferedOutputStream.write - 0 311403 4789113991663 -> java/io/BufferedOutputStream.flush - 0 311403 4789113991670 -> java/io/BufferedOutputStream.flushBuffer - 0 311403 4789113991676 -> java/io/FileOutputStream.write - 0 311403 4789113991682 -> java/io/FileOutputStream.writeBytes - 0 311403 4789113991701 <- java/io/FileOutputStream.writeBytes - 0 311403 4789113991708 <- java/io/FileOutputStream.write - 0 311403 4789113991720 <- java/io/BufferedOutputStream.flushBuffer - 0 311403 4789113991728 <- java/io/BufferedOutputStream.flush - 0 311403 4789113991734 <- java/io/PrintStream.write - 0 311403 4789113991740 -> java/nio/Buffer.clear - 0 311403 4789113991747 <- java/nio/Buffer.clear - 0 311403 4789113991754 <- sun/nio/cs/StreamEncoder.writeBytes - 0 311403 4789113991761 <- sun/nio/cs/StreamEncoder.implFlushBuffer - 0 311403 4789113991768 <- sun/nio/cs/StreamEncoder.flushBuffer - 0 311403 4789113991774 <- java/io/OutputStreamWriter.flushBuffer - 0 311403 4789113991780 -> java/io/BufferedOutputStream.flush - 0 311403 4789113991787 -> java/io/BufferedOutputStream.flushBuffer - 0 311403 4789113991794 <- java/io/BufferedOutputStream.flushBuffer - 0 311403 4789113991801 <- java/io/BufferedOutputStream.flush - 0 311403 4789113991808 <- java/io/PrintStream.newLine - 0 311403 4789113991815 <- java/io/PrintStream.println - 0 311403 4789113991821 -> java/lang/Thread.currentThread - 0 311403 4789113991828 <- java/lang/Thread.currentThread - 0 311403 4789113991834 -> java/lang/Thread.sleep - 0 311403 4789115000050 <- java/lang/Thread.sleep - 0 311403 4789115000081 -> Func_abc.func_c - 0 311403 4789115000105 -> java/io/PrintStream.println - 0 311403 4789115000113 -> java/io/PrintStream.print - 0 311403 4789115000120 -> java/io/PrintStream.write - 0 311403 4789115000126 -> java/io/PrintStream.ensureOpen - 0 311403 4789115000134 <- java/io/PrintStream.ensureOpen - 0 311403 4789115000141 -> java/io/Writer.write - 0 311403 4789115000148 -> java/io/BufferedWriter.write - 0 311403 4789115000155 -> java/io/BufferedWriter.ensureOpen - 0 311403 4789115000162 <- java/io/BufferedWriter.ensureOpen - 0 311403 4789115000170 -> java/io/BufferedWriter.min - 0 311403 4789115000177 <- java/io/BufferedWriter.min - 0 311403 4789115000183 -> java/lang/String.getChars - 0 311403 4789115000191 -> java/lang/System.arraycopy - 0 311403 4789115000199 <- java/lang/System.arraycopy - 0 311403 4789115000206 <- java/lang/String.getChars - 0 311403 4789115000213 <- java/io/BufferedWriter.write - 0 311403 4789115000220 <- java/io/Writer.write - 0 311403 4789115000226 -> java/io/BufferedWriter.flushBuffer - 0 311403 4789115000233 -> java/io/BufferedWriter.ensureOpen - 0 311403 4789115000240 <- java/io/BufferedWriter.ensureOpen - 0 311403 4789115000246 -> java/io/OutputStreamWriter.write - 0 311403 4789115000253 -> sun/nio/cs/StreamEncoder.write - 0 311403 4789115000260 -> sun/nio/cs/StreamEncoder.ensureOpen - 0 311403 4789115000267 <- sun/nio/cs/StreamEncoder.ensureOpen - 0 311403 4789115000274 -> sun/nio/cs/StreamEncoder.implWrite - 0 311403 4789115000281 -> java/nio/CharBuffer.wrap - 0 311403 4789115000288 -> java/nio/HeapCharBuffer. - 0 311403 4789115000294 -> java/nio/CharBuffer. - 0 311403 4789115000301 -> java/nio/Buffer. - 0 311403 4789115000307 -> java/lang/Object. - 0 311403 4789115000315 <- java/lang/Object. - 0 311403 4789115000321 -> java/nio/Buffer.limit - 0 311403 4789115000328 <- java/nio/Buffer.limit - 0 311403 4789115000334 -> java/nio/Buffer.position - 0 311403 4789115000342 <- java/nio/Buffer.position - 0 311403 4789115000348 <- java/nio/Buffer. - 0 311403 4789115000355 <- java/nio/CharBuffer. - 0 311403 4789115000362 <- java/nio/HeapCharBuffer. - 0 311403 4789115000368 <- java/nio/CharBuffer.wrap - 0 311403 4789115000374 -> java/nio/Buffer.hasRemaining - 0 311403 4789115000382 <- java/nio/Buffer.hasRemaining - 0 311403 4789115000388 -> java/nio/charset/CharsetEncoder.encode - 0 311403 4789115000396 -> sun/nio/cs/US_ASCII$Encoder.encodeLoop - 0 311403 4789115000402 -> java/nio/CharBuffer.hasArray - 0 311403 4789115000410 <- java/nio/CharBuffer.hasArray - 0 311403 4789115000416 -> java/nio/ByteBuffer.hasArray - 0 311403 4789115000424 <- java/nio/ByteBuffer.hasArray - 0 311403 4789115000430 -> sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop - 0 311403 4789115000436 -> java/nio/CharBuffer.array - 0 311403 4789115000444 <- java/nio/CharBuffer.array - 0 311403 4789115000450 -> java/nio/CharBuffer.arrayOffset - 0 311403 4789115000457 <- java/nio/CharBuffer.arrayOffset - 0 311403 4789115000463 -> java/nio/CharBuffer.arrayOffset - 0 311403 4789115000470 <- java/nio/CharBuffer.arrayOffset - 0 311403 4789115000476 -> java/nio/ByteBuffer.array - 0 311403 4789115000483 <- java/nio/ByteBuffer.array - 0 311403 4789115000489 -> java/nio/ByteBuffer.arrayOffset - 0 311403 4789115000496 <- java/nio/ByteBuffer.arrayOffset - 0 311403 4789115000502 -> java/nio/ByteBuffer.arrayOffset - 0 311403 4789115000509 <- java/nio/ByteBuffer.arrayOffset - 0 311403 4789115000518 -> java/nio/CharBuffer.arrayOffset - 0 311403 4789115000525 <- java/nio/CharBuffer.arrayOffset - 0 311403 4789115000531 -> java/nio/Buffer.position - 0 311403 4789115000538 <- java/nio/Buffer.position - 0 311403 4789115000544 -> java/nio/ByteBuffer.arrayOffset - 0 311403 4789115000551 <- java/nio/ByteBuffer.arrayOffset - 0 311403 4789115000557 -> java/nio/Buffer.position - 0 311403 4789115000564 <- java/nio/Buffer.position - 0 311403 4789115000570 <- sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop - 0 311403 4789115000577 <- sun/nio/cs/US_ASCII$Encoder.encodeLoop - 0 311403 4789115000584 -> java/nio/charset/CoderResult.isOverflow - 0 311403 4789115000591 <- java/nio/charset/CoderResult.isOverflow - 0 311403 4789115000597 -> java/nio/charset/CoderResult.isUnderflow - 0 311403 4789115000605 <- java/nio/charset/CoderResult.isUnderflow - 0 311403 4789115000611 <- java/nio/charset/CharsetEncoder.encode - 0 311403 4789115000617 -> java/nio/charset/CoderResult.isUnderflow - 0 311403 4789115000625 <- java/nio/charset/CoderResult.isUnderflow - 0 311403 4789115000631 -> java/nio/Buffer.remaining - 0 311403 4789115000638 <- java/nio/Buffer.remaining - 0 311403 4789115000645 <- sun/nio/cs/StreamEncoder.implWrite - 0 311403 4789115000652 <- sun/nio/cs/StreamEncoder.write - 0 311403 4789115000658 <- java/io/OutputStreamWriter.write - 0 311403 4789115000665 <- java/io/BufferedWriter.flushBuffer - 0 311403 4789115000671 -> java/io/OutputStreamWriter.flushBuffer - 0 311403 4789115000678 -> sun/nio/cs/StreamEncoder.flushBuffer - 0 311403 4789115000685 -> sun/nio/cs/StreamEncoder.implFlushBuffer - 0 311403 4789115000692 -> sun/nio/cs/StreamEncoder.writeBytes - 0 311403 4789115000698 -> java/nio/Buffer.flip - 0 311403 4789115000705 <- java/nio/Buffer.flip - 0 311403 4789115000711 -> java/nio/ByteBuffer.array - 0 311403 4789115000718 <- java/nio/ByteBuffer.array - 0 311403 4789115000724 -> java/nio/ByteBuffer.arrayOffset - 0 311403 4789115000731 <- java/nio/ByteBuffer.arrayOffset - 0 311403 4789115000738 -> java/io/PrintStream.write - 0 311403 4789115000744 -> java/io/PrintStream.ensureOpen - 0 311403 4789115000751 <- java/io/PrintStream.ensureOpen - 0 311403 4789115000758 -> java/io/BufferedOutputStream.write - 0 311403 4789115000764 -> java/lang/System.arraycopy - 0 311403 4789115000772 <- java/lang/System.arraycopy - 0 311403 4789115000778 <- java/io/BufferedOutputStream.write - 0 311403 4789115000785 -> java/io/BufferedOutputStream.flush - 0 311403 4789115000791 -> java/io/BufferedOutputStream.flushBuffer - 0 311403 4789115000798 -> java/io/FileOutputStream.write - 0 311403 4789115000805 -> java/io/FileOutputStream.writeBytes - 0 311403 4789115000843 <- java/io/FileOutputStream.writeBytes - 0 311403 4789115000850 <- java/io/FileOutputStream.write - 0 311403 4789115000857 <- java/io/BufferedOutputStream.flushBuffer - 0 311403 4789115000864 <- java/io/BufferedOutputStream.flush - 0 311403 4789115000871 <- java/io/PrintStream.write - 0 311403 4789115000877 -> java/nio/Buffer.clear - 0 311403 4789115000884 <- java/nio/Buffer.clear - 0 311403 4789115000891 <- sun/nio/cs/StreamEncoder.writeBytes - 0 311403 4789115000897 <- sun/nio/cs/StreamEncoder.implFlushBuffer - 0 311403 4789115000904 <- sun/nio/cs/StreamEncoder.flushBuffer - 0 311403 4789115000911 <- java/io/OutputStreamWriter.flushBuffer - 0 311403 4789115000917 -> java/lang/String.indexOf - 0 311403 4789115000924 -> java/lang/String.indexOf - 0 311403 4789115000932 <- java/lang/String.indexOf - 0 311403 4789115000939 <- java/lang/String.indexOf - 0 311403 4789115000945 <- java/io/PrintStream.write - 0 311403 4789115000952 <- java/io/PrintStream.print - 0 311403 4789115000958 -> java/io/PrintStream.newLine - 0 311403 4789115000964 -> java/io/PrintStream.ensureOpen - 0 311403 4789115000971 <- java/io/PrintStream.ensureOpen - 0 311403 4789115000977 -> java/io/BufferedWriter.newLine - 0 311403 4789115000983 -> java/io/Writer.write - 0 311403 4789115000990 -> java/io/BufferedWriter.write - 0 311403 4789115000996 -> java/io/BufferedWriter.ensureOpen - 0 311403 4789115001003 <- java/io/BufferedWriter.ensureOpen - 0 311403 4789115001009 -> java/io/BufferedWriter.min - 0 311403 4789115001016 <- java/io/BufferedWriter.min - 0 311403 4789115001022 -> java/lang/String.getChars - 0 311403 4789115001029 -> java/lang/System.arraycopy - 0 311403 4789115001036 <- java/lang/System.arraycopy - 0 311403 4789115001042 <- java/lang/String.getChars - 0 311403 4789115001049 <- java/io/BufferedWriter.write - 0 311403 4789115001056 <- java/io/Writer.write - 0 311403 4789115001062 <- java/io/BufferedWriter.newLine - 0 311403 4789115001068 -> java/io/BufferedWriter.flushBuffer - 0 311403 4789115001075 -> java/io/BufferedWriter.ensureOpen - 0 311403 4789115001082 <- java/io/BufferedWriter.ensureOpen - 0 311403 4789115001088 -> java/io/OutputStreamWriter.write - 0 311403 4789115001094 -> sun/nio/cs/StreamEncoder.write - 0 311403 4789115001101 -> sun/nio/cs/StreamEncoder.ensureOpen - 0 311403 4789115001108 <- sun/nio/cs/StreamEncoder.ensureOpen - 0 311403 4789115001114 -> sun/nio/cs/StreamEncoder.implWrite - 0 311403 4789115001120 -> java/nio/CharBuffer.wrap - 0 311403 4789115001127 -> java/nio/HeapCharBuffer. - 0 311403 4789115001133 -> java/nio/CharBuffer. - 0 311403 4789115001139 -> java/nio/Buffer. - 0 311403 4789115001145 -> java/lang/Object. - 0 311403 4789115001152 <- java/lang/Object. - 0 311403 4789115001158 -> java/nio/Buffer.limit - 0 311403 4789115001165 <- java/nio/Buffer.limit - 0 311403 4789115001171 -> java/nio/Buffer.position - 0 311403 4789115001178 <- java/nio/Buffer.position - 0 311403 4789115001185 <- java/nio/Buffer. - 0 311403 4789115001191 <- java/nio/CharBuffer. - 0 311403 4789115001198 <- java/nio/HeapCharBuffer. - 0 311403 4789115001204 <- java/nio/CharBuffer.wrap - 0 311403 4789115001210 -> java/nio/Buffer.hasRemaining - 0 311403 4789115001217 <- java/nio/Buffer.hasRemaining - 0 311403 4789115001223 -> java/nio/charset/CharsetEncoder.encode - 0 311403 4789115001230 -> sun/nio/cs/US_ASCII$Encoder.encodeLoop - 0 311403 4789115001236 -> java/nio/CharBuffer.hasArray - 0 311403 4789115001243 <- java/nio/CharBuffer.hasArray - 0 311403 4789115001249 -> java/nio/ByteBuffer.hasArray - 0 311403 4789115001256 <- java/nio/ByteBuffer.hasArray - 0 311403 4789115001262 -> sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop - 0 311403 4789115001269 -> java/nio/CharBuffer.array - 0 311403 4789115001276 <- java/nio/CharBuffer.array - 0 311403 4789115001281 -> java/nio/CharBuffer.arrayOffset - 0 311403 4789115001288 <- java/nio/CharBuffer.arrayOffset - 0 311403 4789115001294 -> java/nio/CharBuffer.arrayOffset - 0 311403 4789115001302 <- java/nio/CharBuffer.arrayOffset - 0 311403 4789115001308 -> java/nio/ByteBuffer.array - 0 311403 4789115001315 <- java/nio/ByteBuffer.array - 0 311403 4789115001320 -> java/nio/ByteBuffer.arrayOffset - 0 311403 4789115001328 <- java/nio/ByteBuffer.arrayOffset - 0 311403 4789115001334 -> java/nio/ByteBuffer.arrayOffset - 0 311403 4789115001341 <- java/nio/ByteBuffer.arrayOffset - 0 311403 4789115001347 -> java/nio/CharBuffer.arrayOffset - 0 311403 4789115001354 <- java/nio/CharBuffer.arrayOffset - 0 311403 4789115001360 -> java/nio/Buffer.position - 0 311403 4789115001367 <- java/nio/Buffer.position - 0 311403 4789115001373 -> java/nio/ByteBuffer.arrayOffset - 0 311403 4789115001380 <- java/nio/ByteBuffer.arrayOffset - 0 311403 4789115001386 -> java/nio/Buffer.position - 0 311403 4789115001393 <- java/nio/Buffer.position - 0 311403 4789115001400 <- sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop - 0 311403 4789115001407 <- sun/nio/cs/US_ASCII$Encoder.encodeLoop - 0 311403 4789115001413 -> java/nio/charset/CoderResult.isOverflow - 0 311403 4789115001420 <- java/nio/charset/CoderResult.isOverflow - 0 311403 4789115001426 -> java/nio/charset/CoderResult.isUnderflow - 0 311403 4789115001433 <- java/nio/charset/CoderResult.isUnderflow - 0 311403 4789115001440 <- java/nio/charset/CharsetEncoder.encode - 0 311403 4789115001446 -> java/nio/charset/CoderResult.isUnderflow - 0 311403 4789115001453 <- java/nio/charset/CoderResult.isUnderflow - 0 311403 4789115001459 -> java/nio/Buffer.remaining - 0 311403 4789115001466 <- java/nio/Buffer.remaining - 0 311403 4789115001473 <- sun/nio/cs/StreamEncoder.implWrite - 0 311403 4789115001480 <- sun/nio/cs/StreamEncoder.write - 0 311403 4789115001487 <- java/io/OutputStreamWriter.write - 0 311403 4789115001493 <- java/io/BufferedWriter.flushBuffer - 0 311403 4789115001499 -> java/io/OutputStreamWriter.flushBuffer - 0 311403 4789115001506 -> sun/nio/cs/StreamEncoder.flushBuffer - 0 311403 4789115001512 -> sun/nio/cs/StreamEncoder.implFlushBuffer - 0 311403 4789115001519 -> sun/nio/cs/StreamEncoder.writeBytes - 0 311403 4789115001525 -> java/nio/Buffer.flip - 0 311403 4789115001532 <- java/nio/Buffer.flip - 0 311403 4789115001538 -> java/nio/ByteBuffer.array - 0 311403 4789115001545 <- java/nio/ByteBuffer.array - 0 311403 4789115001551 -> java/nio/ByteBuffer.arrayOffset - 0 311403 4789115001558 <- java/nio/ByteBuffer.arrayOffset - 0 311403 4789115001564 -> java/io/PrintStream.write - 0 311403 4789115001570 -> java/io/PrintStream.ensureOpen - 0 311403 4789115001577 <- java/io/PrintStream.ensureOpen - 0 311403 4789115001583 -> java/io/BufferedOutputStream.write - 0 311403 4789115001590 -> java/lang/System.arraycopy - 0 311403 4789115001597 <- java/lang/System.arraycopy - 0 311403 4789115001604 <- java/io/BufferedOutputStream.write - 0 311403 4789115001610 -> java/io/BufferedOutputStream.flush - 0 311403 4789115001621 -> java/io/BufferedOutputStream.flushBuffer - 0 311403 4789115001628 -> java/io/FileOutputStream.write - 0 311403 4789115001634 -> java/io/FileOutputStream.writeBytes - 0 311403 4789115001652 <- java/io/FileOutputStream.writeBytes - 0 311403 4789115001706 <- java/io/FileOutputStream.write - 0 311403 4789115001713 <- java/io/BufferedOutputStream.flushBuffer - 0 311403 4789115001720 <- java/io/BufferedOutputStream.flush - 0 311403 4789115001727 <- java/io/PrintStream.write - 0 311403 4789115001733 -> java/nio/Buffer.clear - 0 311403 4789115001740 <- java/nio/Buffer.clear - 0 311403 4789115001747 <- sun/nio/cs/StreamEncoder.writeBytes - 0 311403 4789115001753 <- sun/nio/cs/StreamEncoder.implFlushBuffer - 0 311403 4789115001760 <- sun/nio/cs/StreamEncoder.flushBuffer - 0 311403 4789115001767 <- java/io/OutputStreamWriter.flushBuffer - 0 311403 4789115001773 -> java/io/BufferedOutputStream.flush - 0 311403 4789115001779 -> java/io/BufferedOutputStream.flushBuffer - 0 311403 4789115001787 <- java/io/BufferedOutputStream.flushBuffer - 0 311403 4789115001794 <- java/io/BufferedOutputStream.flush - 0 311403 4789115001801 <- java/io/PrintStream.newLine - 0 311403 4789115001807 <- java/io/PrintStream.println - 0 311403 4789115001813 -> java/lang/Thread.currentThread - 0 311403 4789115001821 <- java/lang/Thread.currentThread - 0 311403 4789115001827 -> java/lang/Thread.sleep - 0 311403 4789116010060 <- java/lang/Thread.sleep - 0 311403 4789116010073 <- Func_abc.func_c - 0 311403 4789116010080 <- Func_abc.func_b - 0 311403 4789116010086 <- Func_abc.func_a - 0 311403 4789116010093 <- Func_abc.main - 0 311403 4789116010118 -> java/lang/Thread.exit - 0 311403 4789116010145 -> java/lang/ThreadGroup.remove - 0 311403 4789116010160 -> java/lang/System.arraycopy - 0 311403 4789116010169 <- java/lang/System.arraycopy - 0 311403 4789116010178 -> java/lang/Object.notifyAll - 0 311403 4789116010192 <- java/lang/Object.notifyAll - 0 311403 4789116010199 <- java/lang/ThreadGroup.remove - 0 311403 4789116010212 <- java/lang/Thread.exit - 0 311403 4789116010380 -> java/lang/Thread. - 0 311403 4789116010388 -> java/lang/Object. - 0 311403 4789116010395 <- java/lang/Object. - 0 311403 4789116010402 -> java/lang/Object. - 0 311403 4789116010409 <- java/lang/Object. - 0 311403 4789116010415 -> java/lang/Thread.init - 0 311403 4789116010422 -> java/lang/Thread.currentThread - 0 311403 4789116010430 <- java/lang/Thread.currentThread - 0 311403 4789116010436 -> java/lang/System.getSecurityManager - 0 311403 4789116010444 <- java/lang/System.getSecurityManager - 0 311403 4789116010450 -> java/lang/ThreadGroup.checkAccess - 0 311403 4789116010457 -> java/lang/System.getSecurityManager - 0 311403 4789116010464 <- java/lang/System.getSecurityManager - 0 311403 4789116010471 <- java/lang/ThreadGroup.checkAccess - 0 311403 4789116010477 -> java/lang/ThreadGroup.addUnstarted - 0 311403 4789116010484 <- java/lang/ThreadGroup.addUnstarted - 0 311403 4789116010491 -> java/lang/String.toCharArray - 0 311403 4789116010499 -> java/lang/String.getChars - 0 311403 4789116010506 -> java/lang/System.arraycopy - 0 311403 4789116010514 <- java/lang/System.arraycopy - 0 311403 4789116010521 <- java/lang/String.getChars - 0 311403 4789116010527 <- java/lang/String.toCharArray - 0 311403 4789116010534 -> java/lang/Thread.getContextClassLoader - 0 311403 4789116010541 <- java/lang/Thread.getContextClassLoader - 0 311403 4789116010548 -> java/security/AccessController.getContext - 0 311403 4789116010554 -> java/security/AccessController.getStackAccessControlContext - 0 311403 4789116010569 <- java/security/AccessController.getStackAccessControlContext - 0 311403 4789116010576 -> java/security/AccessControlContext.optimize - 0 311403 4789116010583 -> java/security/AccessController.getInheritedAccessControlContext - 0 311403 4789116010591 <- java/security/AccessController.getInheritedAccessControlContext - 0 311403 4789116010599 <- java/security/AccessControlContext.optimize - 0 311403 4789116010606 <- java/security/AccessController.getContext - 0 311403 4789116010612 -> java/lang/Thread.setPriority - 0 311403 4789116010618 -> java/lang/Thread.checkAccess - 0 311403 4789116010625 -> java/lang/System.getSecurityManager - 0 311403 4789116010632 <- java/lang/System.getSecurityManager - 0 311403 4789116010639 <- java/lang/Thread.checkAccess - 0 311403 4789116010645 -> java/lang/Thread.setPriority0 - 0 311403 4789116010664 <- java/lang/Thread.setPriority0 - 0 311403 4789116010671 <- java/lang/Thread.setPriority - 0 311403 4789116010678 -> java/lang/Thread.nextThreadID - 0 311403 4789116010686 <- java/lang/Thread.nextThreadID - 0 311403 4789116010693 <- java/lang/Thread.init - 0 311403 4789116010700 <- java/lang/Thread. - 0 311403 4789116010707 -> java/lang/ThreadGroup.add - 0 311403 4789116010716 <- java/lang/ThreadGroup.add - 0 311403 4789116010729 -> java/lang/Shutdown.shutdown - 0 311403 4789116010740 -> java/lang/Shutdown.sequence - 0 311403 4789116010748 -> java/lang/Shutdown.runHooks - 0 311403 4789116010758 -> java/util/AbstractList.iterator - 0 311403 4789116011022 -> java/util/AbstractList$Itr. - 0 311403 4789116011032 -> java/util/AbstractList$Itr. - 0 311403 4789116011042 -> java/lang/Object. - 0 311403 4789116011050 <- java/lang/Object. - 0 311403 4789116011062 <- java/util/AbstractList$Itr. - 0 311403 4789116011069 <- java/util/AbstractList$Itr. - 0 311403 4789116011076 <- java/util/AbstractList.iterator - 0 311403 4789116011087 -> java/util/AbstractList$Itr.hasNext - 0 311403 4789116011099 <- java/util/AbstractList$Itr.hasNext - 0 311403 4789116011107 -> java/util/AbstractList$Itr.next - 0 311403 4789116011115 -> java/util/AbstractList$Itr.checkForComodification - 0 311403 4789116011123 <- java/util/AbstractList$Itr.checkForComodification - 0 311403 4789116011131 -> java/util/ArrayList.get - 0 311403 4789116011138 -> java/util/ArrayList.RangeCheck - 0 311403 4789116011145 <- java/util/ArrayList.RangeCheck - 0 311403 4789116011152 <- java/util/ArrayList.get - 0 311403 4789116011159 <- java/util/AbstractList$Itr.next - 0 311403 4789116011170 -> java/io/Console$1$1.run - 0 311403 4789116011180 -> java/io/Console.access$600 - 0 311403 4789116011189 <- java/io/Console.access$600 - 0 311403 4789116011196 <- java/io/Console$1$1.run - 0 311403 4789116011202 -> java/util/AbstractList$Itr.hasNext - 0 311403 4789116011209 <- java/util/AbstractList$Itr.hasNext - 0 311403 4789116011215 -> java/util/AbstractList$Itr.next - 0 311403 4789116011221 -> java/util/AbstractList$Itr.checkForComodification - 0 311403 4789116011229 <- java/util/AbstractList$Itr.checkForComodification - 0 311403 4789116011235 -> java/util/ArrayList.get - 0 311403 4789116011241 -> java/util/ArrayList.RangeCheck - 0 311403 4789116011248 <- java/util/ArrayList.RangeCheck - 0 311403 4789116011255 <- java/util/ArrayList.get - 0 311403 4789116011262 <- java/util/AbstractList$Itr.next - 0 311403 4789116011268 -> java/lang/ApplicationShutdownHooks.run - 0 311403 4789116011280 -> java/util/IdentityHashMap.keySet - 0 311403 4789116011442 -> java/util/IdentityHashMap$KeySet. - 0 311403 4789116011452 -> java/util/IdentityHashMap$KeySet. - 0 311403 4789116011462 -> java/util/AbstractSet. - 0 311403 4789116011469 -> java/util/AbstractCollection. - 0 311403 4789116011475 -> java/lang/Object. - 0 311403 4789116011483 <- java/lang/Object. - 0 311403 4789116011490 <- java/util/AbstractCollection. - 0 311403 4789116011497 <- java/util/AbstractSet. - 0 311403 4789116011503 <- java/util/IdentityHashMap$KeySet. - 0 311403 4789116011510 <- java/util/IdentityHashMap$KeySet. - 0 311403 4789116011528 <- java/util/IdentityHashMap.keySet - 0 311403 4789116011538 -> java/util/IdentityHashMap$KeySet.iterator - 0 311403 4789116011727 -> java/util/IdentityHashMap$KeyIterator. - 0 311403 4789116011737 -> java/util/IdentityHashMap$KeyIterator. - 0 311403 4789116011748 -> java/util/IdentityHashMap$IdentityHashMapIterator. - 0 311403 4789116011757 -> java/util/IdentityHashMap$IdentityHashMapIterator. - 0 311403 4789116011766 -> java/lang/Object. - 0 311403 4789116011774 <- java/lang/Object. - 0 311403 4789116011784 -> java/util/IdentityHashMap.access$000 - 0 311403 4789116011793 <- java/util/IdentityHashMap.access$000 - 0 311403 4789116011803 -> java/util/IdentityHashMap.access$200 - 0 311403 4789116011811 <- java/util/IdentityHashMap.access$200 - 0 311403 4789116011821 <- java/util/IdentityHashMap$IdentityHashMapIterator. - 0 311403 4789116011828 <- java/util/IdentityHashMap$IdentityHashMapIterator. - 0 311403 4789116011835 <- java/util/IdentityHashMap$KeyIterator. - 0 311403 4789116011842 <- java/util/IdentityHashMap$KeyIterator. - 0 311403 4789116011849 <- java/util/IdentityHashMap$KeySet.iterator - 0 311403 4789116011858 -> java/util/IdentityHashMap$IdentityHashMapIterator.hasNext - 0 311403 4789116011866 <- java/util/IdentityHashMap$IdentityHashMapIterator.hasNext - 0 311403 4789116011873 -> java/util/IdentityHashMap$KeySet.iterator - 0 311403 4789116011879 -> java/util/IdentityHashMap$KeyIterator. - 0 311403 4789116011886 -> java/util/IdentityHashMap$KeyIterator. - 0 311403 4789116011892 -> java/util/IdentityHashMap$IdentityHashMapIterator. - 0 311403 4789116011899 -> java/util/IdentityHashMap$IdentityHashMapIterator. - 0 311403 4789116011905 -> java/lang/Object. - 0 311403 4789116011912 <- java/lang/Object. - 0 311403 4789116011919 <- java/util/IdentityHashMap$IdentityHashMapIterator. - 0 311403 4789116011926 <- java/util/IdentityHashMap$IdentityHashMapIterator. - 0 311403 4789116011934 <- java/util/IdentityHashMap$KeyIterator. - 0 311403 4789116011940 <- java/util/IdentityHashMap$KeyIterator. - 0 311403 4789116011947 <- java/util/IdentityHashMap$KeySet.iterator - 0 311403 4789116011953 -> java/util/IdentityHashMap$IdentityHashMapIterator.hasNext - 0 311403 4789116011961 <- java/util/IdentityHashMap$IdentityHashMapIterator.hasNext - 0 311403 4789116011968 <- java/lang/ApplicationShutdownHooks.run - 0 311403 4789116011974 -> java/util/AbstractList$Itr.hasNext - 0 311403 4789116011982 <- java/util/AbstractList$Itr.hasNext - 0 311403 4789116011988 -> java/util/AbstractList$Itr.next - 0 311403 4789116011994 -> java/util/AbstractList$Itr.checkForComodification - 0 311403 4789116012002 <- java/util/AbstractList$Itr.checkForComodification - 0 311403 4789116012008 -> java/util/ArrayList.get - 0 311403 4789116012014 -> java/util/ArrayList.RangeCheck - 0 311403 4789116012021 <- java/util/ArrayList.RangeCheck - 0 311403 4789116012028 <- java/util/ArrayList.get - 0 311403 4789116012035 <- java/util/AbstractList$Itr.next - 0 311403 4789116012041 -> java/io/File$1.run - 0 311403 4789116012187 -> java/io/DeleteOnExitHook. - 0 311403 4789116012333 -> java/util/LinkedHashSet. - 0 311403 4789116012343 -> java/util/HashSet. - 0 311403 4789116012350 -> java/util/AbstractSet. - 0 311403 4789116012356 -> java/util/AbstractCollection. - 0 311403 4789116012362 -> java/lang/Object. - 0 311403 4789116012370 <- java/lang/Object. - 0 311403 4789116012377 <- java/util/AbstractCollection. - 0 311403 4789116012384 <- java/util/AbstractSet. - 0 311403 4789116012394 -> java/util/LinkedHashMap. - 0 311403 4789116012404 -> java/util/HashMap. - 0 311403 4789116012410 -> java/util/AbstractMap. - 0 311403 4789116012417 -> java/lang/Object. - 0 311403 4789116012424 <- java/lang/Object. - 0 311403 4789116012431 <- java/util/AbstractMap. - 0 311403 4789116012438 -> java/lang/Float.isNaN - 0 311403 4789116012445 <- java/lang/Float.isNaN - 0 311403 4789116012456 -> java/util/LinkedHashMap.init - 0 311403 4789116012463 -> java/util/LinkedHashMap$Entry. - 0 311403 4789116012469 -> java/util/HashMap$Entry. - 0 311403 4789116012476 -> java/lang/Object. - 0 311403 4789116012482 <- java/lang/Object. - 0 311403 4789116012489 <- java/util/HashMap$Entry. - 0 311403 4789116012496 <- java/util/LinkedHashMap$Entry. - 0 311403 4789116012503 <- java/util/LinkedHashMap.init - 0 311403 4789116012510 <- java/util/HashMap. - 0 311403 4789116012516 <- java/util/LinkedHashMap. - 0 311403 4789116012523 <- java/util/HashSet. - 0 311403 4789116012529 <- java/util/LinkedHashSet. - 0 311403 4789116012538 <- java/io/DeleteOnExitHook. - 0 311403 4789116012547 -> java/io/DeleteOnExitHook.hook - 0 311403 4789116012556 -> java/io/DeleteOnExitHook. - 0 311403 4789116012565 -> java/lang/Object. - 0 311403 4789116012572 <- java/lang/Object. - 0 311403 4789116012579 <- java/io/DeleteOnExitHook. - 0 311403 4789116012586 <- java/io/DeleteOnExitHook.hook - 0 311403 4789116012594 -> java/io/DeleteOnExitHook.run - 0 311403 4789116012605 -> java/util/ArrayList. - 0 311403 4789116012612 -> java/util/AbstractList. - 0 311403 4789116012618 -> java/util/AbstractCollection. - 0 311403 4789116012624 -> java/lang/Object. - 0 311403 4789116012631 <- java/lang/Object. - 0 311403 4789116012638 <- java/util/AbstractCollection. - 0 311403 4789116012645 <- java/util/AbstractList. - 0 311403 4789116012654 -> java/util/AbstractCollection.toArray - 0 311403 4789116012664 -> java/util/HashSet.size - 0 311403 4789116012674 <- java/util/HashSet.size - 0 311403 4789116012682 -> java/util/HashSet.iterator - 0 311403 4789116012691 -> java/util/HashMap.keySet - 0 311403 4789116012782 -> java/util/HashMap$KeySet. - 0 311403 4789116012791 -> java/util/HashMap$KeySet. - 0 311403 4789116012801 -> java/util/AbstractSet. - 0 311403 4789116012807 -> java/util/AbstractCollection. - 0 311403 4789116012814 -> java/lang/Object. - 0 311403 4789116012821 <- java/lang/Object. - 0 311403 4789116012828 <- java/util/AbstractCollection. - 0 311403 4789116012835 <- java/util/AbstractSet. - 0 311403 4789116012841 <- java/util/HashMap$KeySet. - 0 311403 4789116012848 <- java/util/HashMap$KeySet. - 0 311403 4789116012855 <- java/util/HashMap.keySet - 0 311403 4789116012864 -> java/util/HashMap$KeySet.iterator - 0 311403 4789116012874 -> java/util/LinkedHashMap.newKeyIterator - 0 311403 4789116013056 -> java/util/LinkedHashMap$KeyIterator. - 0 311403 4789116013066 -> java/util/LinkedHashMap$KeyIterator. - 0 311403 4789116013076 -> java/util/LinkedHashMap$LinkedHashIterator. - 0 311403 4789116013085 -> java/util/LinkedHashMap$LinkedHashIterator. - 0 311403 4789116013095 -> java/lang/Object. - 0 311403 4789116013102 <- java/lang/Object. - 0 311403 4789116013117 <- java/util/LinkedHashMap$LinkedHashIterator. - 0 311403 4789116013125 <- java/util/LinkedHashMap$LinkedHashIterator. - 0 311403 4789116013132 <- java/util/LinkedHashMap$KeyIterator. - 0 311403 4789116013138 <- java/util/LinkedHashMap$KeyIterator. - 0 311403 4789116013145 <- java/util/LinkedHashMap.newKeyIterator - 0 311403 4789116013152 <- java/util/HashMap$KeySet.iterator - 0 311403 4789116013159 <- java/util/HashSet.iterator - 0 311403 4789116013168 -> java/util/LinkedHashMap$LinkedHashIterator.hasNext - 0 311403 4789116013176 <- java/util/LinkedHashMap$LinkedHashIterator.hasNext - 0 311403 4789116013183 <- java/util/AbstractCollection.toArray - 0 311403 4789116013190 -> java/lang/Object.getClass - 0 311403 4789116013198 <- java/lang/Object.getClass - 0 311403 4789116013206 <- java/util/ArrayList. - 0 311403 4789116013216 -> java/util/Collections.reverse - 0 311403 4789116013228 <- java/util/Collections.reverse - 0 311403 4789116013236 -> java/util/AbstractList.iterator - 0 311403 4789116013243 -> java/util/AbstractList$Itr. - 0 311403 4789116013250 -> java/util/AbstractList$Itr. - 0 311403 4789116013256 -> java/lang/Object. - 0 311403 4789116013263 <- java/lang/Object. - 0 311403 4789116013270 <- java/util/AbstractList$Itr. - 0 311403 4789116013276 <- java/util/AbstractList$Itr. - 0 311403 4789116013283 <- java/util/AbstractList.iterator - 0 311403 4789116013292 -> java/util/AbstractList$Itr.hasNext - 0 311403 4789116013299 <- java/util/AbstractList$Itr.hasNext - 0 311403 4789116013306 <- java/io/DeleteOnExitHook.run - 0 311403 4789116013313 <- java/io/File$1.run - 0 311403 4789116013319 -> java/util/AbstractList$Itr.hasNext - 0 311403 4789116013326 <- java/util/AbstractList$Itr.hasNext - 0 311403 4789116013333 <- java/lang/Shutdown.runHooks - 0 311403 4789116013342 <- java/lang/Shutdown.sequence - 0 311403 4789116013349 <- java/lang/Shutdown.shutdown - -The fourth column is indented by 2 spaces to show when a new method begins. -This shows what is calling what. - -The TIME(us) column shows time from boot in microseconds. - -If the output looks strange, check the CPU "C" column - if it changes, -then the output is probably shuffled. See Notes/ALLsnoop_notes.txt for -details and suggested workarounds. - -See Notes/ALLflow_notes.txt for important notes about reading flow outputs. - -I truncated the above output by 22800 lines so that it would fit. To make -sense of the output, try searching for "Func_abc" or using grep. The -lines were, - - 0 311403 4789112982182 -> Func_abc.main - 0 311403 4789112982193 -> Func_abc.func_a - 0 311403 4789113990080 -> Func_abc.func_b - 0 311403 4789115000081 -> Func_abc.func_c - 0 311403 4789116010073 <- Func_abc.func_c - 0 311403 4789116010080 <- Func_abc.func_b - 0 311403 4789116010086 <- Func_abc.func_a - 0 311403 4789116010093 <- Func_abc.main - -You can also use the j_classflow.d script to only trace one class. - -If you see "drops" warnings, see the Notes/ALLjava_notes.txt file for details. - diff --git a/cddl/contrib/dtracetoolkit/Examples/j_flowtime_example.txt b/cddl/contrib/dtracetoolkit/Examples/j_flowtime_example.txt deleted file mode 100644 index 22c6a612f873..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/j_flowtime_example.txt +++ /dev/null @@ -1,1287 +0,0 @@ -The following are examples of j_flowtime.d. - -This is a simple script to trace the timing and the not-so-simple flow of -Java methods and classes. Here it traces the example program, -Code/Java/func_abc - -# j_flowtime.d - C PID/TID TIME(us) DELTA(us) -- CLASS.METHOD - 0 311481/2 4790256870903 2 -> java/lang/Object. - 0 311481/2 4790256870950 46 -> java/lang/Object.registerNatives - 0 311481/2 4790256871090 140 <- java/lang/Object.registerNatives - 0 311481/2 4790256871109 18 <- java/lang/Object. - 0 311481/2 4790256871121 12 -> java/lang/String. - 0 311481/2 4790256871518 397 -> java/lang/String$CaseInsensitiveComparator. - 0 311481/2 4790256871531 12 -> java/lang/String$CaseInsensitiveComparator. - 0 311481/2 4790256871541 10 -> java/lang/Object. - 0 311481/2 4790256871549 7 <- java/lang/Object. - 0 311481/2 4790256871558 8 <- java/lang/String$CaseInsensitiveComparator. - 0 311481/2 4790256871566 7 <- java/lang/String$CaseInsensitiveComparator. - 0 311481/2 4790256871575 9 <- java/lang/String. - 0 311481/2 4790256871644 68 -> java/lang/System. - 0 311481/2 4790256871656 11 -> java/lang/System.registerNatives - 0 311481/2 4790256871675 18 <- java/lang/System.registerNatives - 0 311481/2 4790256871686 10 -> java/lang/System.nullInputStream - 0 311481/2 4790256871695 9 -> java/lang/System.currentTimeMillis - 0 311481/2 4790256871705 10 <- java/lang/System.currentTimeMillis - 0 311481/2 4790256871714 8 <- java/lang/System.nullInputStream - 0 311481/2 4790256871726 11 -> java/lang/System.nullPrintStream - 0 311481/2 4790256871734 7 -> java/lang/System.currentTimeMillis - 0 311481/2 4790256871741 7 <- java/lang/System.currentTimeMillis - 0 311481/2 4790256871749 7 <- java/lang/System.nullPrintStream - 0 311481/2 4790256871758 9 -> java/lang/System.nullPrintStream - 0 311481/2 4790256871766 7 -> java/lang/System.currentTimeMillis - 0 311481/2 4790256871773 7 <- java/lang/System.currentTimeMillis - 0 311481/2 4790256871781 7 <- java/lang/System.nullPrintStream - 0 311481/2 4790256871792 10 <- java/lang/System. - 0 311481/2 4790256871870 78 -> java/lang/ThreadGroup. - 0 311481/2 4790256871881 10 -> java/lang/Object. - 0 311481/2 4790256871889 7 <- java/lang/Object. - 0 311481/2 4790256871906 17 <- java/lang/ThreadGroup. - 0 311481/2 4790256871918 11 -> java/lang/ThreadGroup. - 0 311481/2 4790256871926 7 -> java/lang/Object. - 0 311481/2 4790256871933 7 <- java/lang/Object. - 0 311481/2 4790256871945 12 -> java/lang/ThreadGroup.checkAccess - 0 311481/2 4790256871955 10 -> java/lang/System.getSecurityManager - 0 311481/2 4790256871964 8 <- java/lang/System.getSecurityManager - 0 311481/2 4790256871972 8 <- java/lang/ThreadGroup.checkAccess - 0 311481/2 4790256871984 12 -> java/lang/ThreadGroup.add - 0 311481/2 4790256872006 21 <- java/lang/ThreadGroup.add - 0 311481/2 4790256872014 8 <- java/lang/ThreadGroup. - 0 311481/2 4790256872201 187 -> java/lang/Thread. - 0 311481/2 4790256872213 12 -> java/lang/Thread.registerNatives - 0 311481/2 4790256872239 25 <- java/lang/Thread.registerNatives - 0 311481/2 4790256872606 367 -> java/lang/RuntimePermission. - 0 311481/2 4790256872618 11 -> java/security/BasicPermission. - 0 311481/2 4790256872628 9 -> java/security/Permission. - 0 311481/2 4790256872637 9 -> java/lang/Object. - 0 311481/2 4790256872645 7 <- java/lang/Object. - 0 311481/2 4790256872656 10 <- java/security/Permission. - 0 311481/2 4790256872666 10 -> java/security/BasicPermission.init - 0 311481/2 4790256872677 11 -> java/lang/String.length - 0 311481/2 4790256872686 8 <- java/lang/String.length - 0 311481/2 4790256872697 11 -> java/lang/String.charAt - 0 311481/2 4790256872707 10 <- java/lang/String.charAt - 0 311481/2 4790256872720 12 -> java/lang/String.equals - 0 311481/2 4790256872728 8 <- java/lang/String.equals - 0 311481/2 4790256872737 9 <- java/security/BasicPermission.init - 0 311481/2 4790256872745 7 <- java/security/BasicPermission. - 0 311481/2 4790256872753 7 <- java/lang/RuntimePermission. - 0 311481/2 4790256873195 442 -> sun/misc/SoftCache. - 0 311481/2 4790256873208 12 -> java/util/AbstractMap. - 0 311481/2 4790256873218 9 -> java/lang/Object. - 0 311481/2 4790256873226 7 <- java/lang/Object. - 0 311481/2 4790256873238 11 <- java/util/AbstractMap. - 0 311481/2 4790256873371 133 -> java/lang/ref/ReferenceQueue. - 0 311481/2 4790256873443 72 -> java/lang/ref/ReferenceQueue$Null. - 0 311481/2 4790256873454 10 -> java/lang/ref/ReferenceQueue$Null. - 0 311481/2 4790256873464 9 -> java/lang/ref/ReferenceQueue. - 0 311481/2 4790256873474 9 -> java/lang/Object. - 0 311481/2 4790256873481 7 <- java/lang/Object. - 0 311481/2 4790256873542 60 -> java/lang/ref/ReferenceQueue$Lock. - 0 311481/2 4790256873553 10 -> java/lang/ref/ReferenceQueue$Lock. - 0 311481/2 4790256873562 9 -> java/lang/Object. - 0 311481/2 4790256873570 7 <- java/lang/Object. - 0 311481/2 4790256873578 7 <- java/lang/ref/ReferenceQueue$Lock. - 0 311481/2 4790256873585 7 <- java/lang/ref/ReferenceQueue$Lock. - 0 311481/2 4790256873597 11 <- java/lang/ref/ReferenceQueue. - 0 311481/2 4790256873604 7 <- java/lang/ref/ReferenceQueue$Null. - 0 311481/2 4790256873612 7 <- java/lang/ref/ReferenceQueue$Null. - 0 311481/2 4790256873622 9 -> java/lang/ref/ReferenceQueue$Null. - 0 311481/2 4790256873629 7 -> java/lang/ref/ReferenceQueue$Null. - 0 311481/2 4790256873636 7 -> java/lang/ref/ReferenceQueue. - 0 311481/2 4790256873644 7 -> java/lang/Object. - 0 311481/2 4790256873651 6 <- java/lang/Object. - 0 311481/2 4790256873659 7 -> java/lang/ref/ReferenceQueue$Lock. -[... 22800 lines truncated ...] - 0 311481/2 4790257387424 7 <- java/util/HashMap.indexFor - 0 311481/2 4790257387432 8 <- java/util/HashMap.put - 0 311481/2 4790257387440 7 <- java/util/HashSet.add - 0 311481/2 4790257387447 7 <- java/lang/ClassLoader.checkPackageAccess - 0 311481/2 4790257387473 26 -> java/lang/reflect/Method.getModifiers - 0 311481/2 4790257387486 12 <- java/lang/reflect/Method.getModifiers - 0 311481/2 4790257387500 14 -> Func_abc.main - 0 311481/2 4790257387512 11 -> Func_abc.func_a - 0 311481/2 4790257387522 9 -> java/lang/ClassLoader.checkPackageAccess - 0 311481/2 4790257387530 7 -> java/lang/System.getSecurityManager - 0 311481/2 4790257387537 7 <- java/lang/System.getSecurityManager - 0 311481/2 4790257387545 8 -> java/util/HashSet.add - 0 311481/2 4790257387552 7 -> java/util/HashMap.put - 0 311481/2 4790257387559 7 -> java/lang/Object.hashCode - 0 311481/2 4790257387567 7 <- java/lang/Object.hashCode - 0 311481/2 4790257387574 7 -> java/util/HashMap.hash - 0 311481/2 4790257387581 7 <- java/util/HashMap.hash - 0 311481/2 4790257387589 7 -> java/util/HashMap.indexFor - 0 311481/2 4790257387596 7 <- java/util/HashMap.indexFor - 0 311481/2 4790257387604 8 <- java/util/HashMap.put - 0 311481/2 4790257387611 7 <- java/util/HashSet.add - 0 311481/2 4790257387619 7 <- java/lang/ClassLoader.checkPackageAccess - 0 311481/2 4790257387683 64 -> java/lang/ClassLoader.loadClassInternal - 0 311481/2 4790257387691 8 -> java/lang/ClassLoader.loadClass - 0 311481/2 4790257387699 7 -> sun/misc/Launcher$AppClassLoader.loadClass - 0 311481/2 4790257387706 7 -> java/lang/String.lastIndexOf - 0 311481/2 4790257387713 7 -> java/lang/String.lastIndexOf - 0 311481/2 4790257387722 8 <- java/lang/String.lastIndexOf - 0 311481/2 4790257387729 7 <- java/lang/String.lastIndexOf - 0 311481/2 4790257387737 7 -> java/lang/System.getSecurityManager - 0 311481/2 4790257387760 22 <- java/lang/System.getSecurityManager - 0 311481/2 4790257387768 7 -> java/lang/ClassLoader.loadClass - 0 311481/2 4790257387775 7 -> java/lang/ClassLoader.findLoadedClass - 0 311481/2 4790257387782 7 -> java/lang/ClassLoader.check - 0 311481/2 4790257387789 7 <- java/lang/ClassLoader.check - 0 311481/2 4790257387797 7 -> java/lang/ClassLoader.checkName - 0 311481/2 4790257387805 7 -> java/lang/String.indexOf - 0 311481/2 4790257387812 7 -> java/lang/String.indexOf - 0 311481/2 4790257387820 8 <- java/lang/String.indexOf - 0 311481/2 4790257387828 7 <- java/lang/String.indexOf - 0 311481/2 4790257387835 7 -> sun/misc/VM.allowArraySyntax - 0 311481/2 4790257387843 7 <- sun/misc/VM.allowArraySyntax - 0 311481/2 4790257387850 7 -> java/lang/String.charAt - 0 311481/2 4790257387857 7 <- java/lang/String.charAt - 0 311481/2 4790257387865 7 <- java/lang/ClassLoader.checkName - 0 311481/2 4790257387873 7 -> java/lang/ClassLoader.findLoadedClass0 - 0 311481/2 4790257387883 9 <- java/lang/ClassLoader.findLoadedClass0 - 0 311481/2 4790257387890 7 <- java/lang/ClassLoader.findLoadedClass - 0 311481/2 4790257387899 8 -> java/lang/ClassLoader.loadClass - 0 311481/2 4790257387906 7 -> java/lang/ClassLoader.findLoadedClass - 0 311481/2 4790257387913 7 -> java/lang/ClassLoader.check - 0 311481/2 4790257387920 7 <- java/lang/ClassLoader.check - 0 311481/2 4790257387928 7 -> java/lang/ClassLoader.checkName - 0 311481/2 4790257387935 7 -> java/lang/String.indexOf - 0 311481/2 4790257387942 7 -> java/lang/String.indexOf - 0 311481/2 4790257387951 8 <- java/lang/String.indexOf - 0 311481/2 4790257387958 7 <- java/lang/String.indexOf - 0 311481/2 4790257387966 7 -> sun/misc/VM.allowArraySyntax - 0 311481/2 4790257387973 7 <- sun/misc/VM.allowArraySyntax - 0 311481/2 4790257387981 7 -> java/lang/String.charAt - 0 311481/2 4790257387988 7 <- java/lang/String.charAt - 0 311481/2 4790257387995 7 <- java/lang/ClassLoader.checkName - 0 311481/2 4790257388003 7 -> java/lang/ClassLoader.findLoadedClass0 - 0 311481/2 4790257388012 8 <- java/lang/ClassLoader.findLoadedClass0 - 0 311481/2 4790257388020 7 <- java/lang/ClassLoader.findLoadedClass - 0 311481/2 4790257388028 7 -> java/lang/ClassLoader.findBootstrapClass0 - 0 311481/2 4790257388035 7 -> java/lang/ClassLoader.check - 0 311481/2 4790257388042 7 <- java/lang/ClassLoader.check - 0 311481/2 4790257388050 7 -> java/lang/ClassLoader.checkName - 0 311481/2 4790257388057 7 -> java/lang/String.indexOf - 0 311481/2 4790257388064 7 -> java/lang/String.indexOf - 0 311481/2 4790257388072 8 <- java/lang/String.indexOf - 0 311481/2 4790257388080 7 <- java/lang/String.indexOf - 0 311481/2 4790257388087 7 -> sun/misc/VM.allowArraySyntax - 0 311481/2 4790257388094 7 <- sun/misc/VM.allowArraySyntax - 0 311481/2 4790257388102 7 -> java/lang/String.charAt - 0 311481/2 4790257388109 7 <- java/lang/String.charAt - 0 311481/2 4790257388117 7 <- java/lang/ClassLoader.checkName - 0 311481/2 4790257388124 7 -> java/lang/ClassLoader.findBootstrapClass - 0 311481/2 4790257388134 9 <- java/lang/ClassLoader.findBootstrapClass - 0 311481/2 4790257388142 8 <- java/lang/ClassLoader.findBootstrapClass0 - 0 311481/2 4790257388150 8 <- java/lang/ClassLoader.loadClass - 0 311481/2 4790257388158 7 <- java/lang/ClassLoader.loadClass - 0 311481/2 4790257388166 7 <- sun/misc/Launcher$AppClassLoader.loadClass - 0 311481/2 4790257388173 7 <- java/lang/ClassLoader.loadClass - 0 311481/2 4790257388181 7 <- java/lang/ClassLoader.loadClassInternal - 0 311481/2 4790257388193 11 -> java/lang/ClassLoader.checkPackageAccess - 0 311481/2 4790257388200 7 -> java/lang/System.getSecurityManager - 0 311481/2 4790257388207 7 <- java/lang/System.getSecurityManager - 0 311481/2 4790257388215 7 -> java/util/HashSet.add - 0 311481/2 4790257388223 7 -> java/util/HashMap.put - 0 311481/2 4790257388230 7 -> java/lang/Object.hashCode - 0 311481/2 4790257388237 7 <- java/lang/Object.hashCode - 0 311481/2 4790257388245 7 -> java/util/HashMap.hash - 0 311481/2 4790257388252 7 <- java/util/HashMap.hash - 0 311481/2 4790257388260 7 -> java/util/HashMap.indexFor - 0 311481/2 4790257388267 7 <- java/util/HashMap.indexFor - 0 311481/2 4790257388275 7 <- java/util/HashMap.put - 0 311481/2 4790257388282 7 <- java/util/HashSet.add - 0 311481/2 4790257388290 7 <- java/lang/ClassLoader.checkPackageAccess - 0 311481/2 4790257388305 15 -> java/io/PrintStream.println - 0 311481/2 4790257388316 11 -> java/io/PrintStream.print - 0 311481/2 4790257388326 9 -> java/io/PrintStream.write - 0 311481/2 4790257388335 9 -> java/io/PrintStream.ensureOpen - 0 311481/2 4790257388345 10 <- java/io/PrintStream.ensureOpen - 0 311481/2 4790257388358 12 -> java/io/Writer.write - 0 311481/2 4790257388371 13 -> java/io/BufferedWriter.write - 0 311481/2 4790257388382 10 -> java/io/BufferedWriter.ensureOpen - 0 311481/2 4790257388389 7 <- java/io/BufferedWriter.ensureOpen - 0 311481/2 4790257388399 10 -> java/io/BufferedWriter.min - 0 311481/2 4790257388407 7 <- java/io/BufferedWriter.min - 0 311481/2 4790257388417 10 -> java/lang/String.getChars - 0 311481/2 4790257388425 8 -> java/lang/System.arraycopy - 0 311481/2 4790257388434 8 <- java/lang/System.arraycopy - 0 311481/2 4790257388442 7 <- java/lang/String.getChars - 0 311481/2 4790257388450 8 <- java/io/BufferedWriter.write - 0 311481/2 4790257388457 7 <- java/io/Writer.write - 0 311481/2 4790257388467 10 -> java/io/BufferedWriter.flushBuffer - 0 311481/2 4790257388475 7 -> java/io/BufferedWriter.ensureOpen - 0 311481/2 4790257388482 7 <- java/io/BufferedWriter.ensureOpen - 0 311481/2 4790257388493 10 -> java/io/OutputStreamWriter.write - 0 311481/2 4790257388504 11 -> sun/nio/cs/StreamEncoder.write - 0 311481/2 4790257388515 10 -> sun/nio/cs/StreamEncoder.ensureOpen - 0 311481/2 4790257388522 7 <- sun/nio/cs/StreamEncoder.ensureOpen - 0 311481/2 4790257388533 10 -> sun/nio/cs/StreamEncoder.implWrite - 0 311481/2 4790257388544 11 -> java/nio/CharBuffer.wrap - 0 311481/2 4790257388552 8 -> java/nio/HeapCharBuffer. - 0 311481/2 4790257388560 7 -> java/nio/CharBuffer. - 0 311481/2 4790257388567 7 -> java/nio/Buffer. - 0 311481/2 4790257388574 7 -> java/lang/Object. - 0 311481/2 4790257388582 7 <- java/lang/Object. - 0 311481/2 4790257388590 8 -> java/nio/Buffer.limit - 0 311481/2 4790257388598 7 <- java/nio/Buffer.limit - 0 311481/2 4790257388605 7 -> java/nio/Buffer.position - 0 311481/2 4790257388612 7 <- java/nio/Buffer.position - 0 311481/2 4790257388620 7 <- java/nio/Buffer. - 0 311481/2 4790257388628 7 <- java/nio/CharBuffer. - 0 311481/2 4790257388635 7 <- java/nio/HeapCharBuffer. - 0 311481/2 4790257388643 7 <- java/nio/CharBuffer.wrap - 0 311481/2 4790257388654 10 -> java/nio/Buffer.hasRemaining - 0 311481/2 4790257388661 7 <- java/nio/Buffer.hasRemaining - 0 311481/2 4790257388673 11 -> java/nio/charset/CharsetEncoder.encode - 0 311481/2 4790257388684 10 -> sun/nio/cs/US_ASCII$Encoder.encodeLoop - 0 311481/2 4790257388695 10 -> java/nio/CharBuffer.hasArray - 0 311481/2 4790257388702 7 <- java/nio/CharBuffer.hasArray - 0 311481/2 4790257388714 11 -> java/nio/ByteBuffer.hasArray - 0 311481/2 4790257388722 7 <- java/nio/ByteBuffer.hasArray - 0 311481/2 4790257388732 10 -> sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop - 0 311481/2 4790257388742 9 -> java/nio/CharBuffer.array - 0 311481/2 4790257388749 7 <- java/nio/CharBuffer.array - 0 311481/2 4790257388759 9 -> java/nio/CharBuffer.arrayOffset - 0 311481/2 4790257388766 7 <- java/nio/CharBuffer.arrayOffset - 0 311481/2 4790257388776 9 -> java/nio/CharBuffer.arrayOffset - 0 311481/2 4790257388784 7 <- java/nio/CharBuffer.arrayOffset - 0 311481/2 4790257388797 13 -> java/nio/ByteBuffer.array - 0 311481/2 4790257388804 7 <- java/nio/ByteBuffer.array - 0 311481/2 4790257388814 9 -> java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790257388821 7 <- java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790257388831 9 -> java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790257388838 7 <- java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790257388853 14 -> java/nio/CharBuffer.arrayOffset - 0 311481/2 4790257388861 7 <- java/nio/CharBuffer.arrayOffset - 0 311481/2 4790257388871 9 -> java/nio/Buffer.position - 0 311481/2 4790257388878 7 <- java/nio/Buffer.position - 0 311481/2 4790257388886 7 -> java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790257388893 7 <- java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790257388903 9 -> java/nio/Buffer.position - 0 311481/2 4790257388910 7 <- java/nio/Buffer.position - 0 311481/2 4790257388918 7 <- sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop - 0 311481/2 4790257388925 7 <- sun/nio/cs/US_ASCII$Encoder.encodeLoop - 0 311481/2 4790257388936 10 -> java/nio/charset/CoderResult.isOverflow - 0 311481/2 4790257388943 7 <- java/nio/charset/CoderResult.isOverflow - 0 311481/2 4790257388953 9 -> java/nio/charset/CoderResult.isUnderflow - 0 311481/2 4790257388961 7 <- java/nio/charset/CoderResult.isUnderflow - 0 311481/2 4790257388969 7 <- java/nio/charset/CharsetEncoder.encode - 0 311481/2 4790257388979 10 -> java/nio/charset/CoderResult.isUnderflow - 0 311481/2 4790257388987 7 <- java/nio/charset/CoderResult.isUnderflow - 0 311481/2 4790257388998 11 -> java/nio/Buffer.remaining - 0 311481/2 4790257389005 7 <- java/nio/Buffer.remaining - 0 311481/2 4790257389013 7 <- sun/nio/cs/StreamEncoder.implWrite - 0 311481/2 4790257389020 7 <- sun/nio/cs/StreamEncoder.write - 0 311481/2 4790257389028 7 <- java/io/OutputStreamWriter.write - 0 311481/2 4790257389113 85 <- java/io/BufferedWriter.flushBuffer - 0 311481/2 4790257389125 11 -> java/io/OutputStreamWriter.flushBuffer - 0 311481/2 4790257389135 9 -> sun/nio/cs/StreamEncoder.flushBuffer - 0 311481/2 4790257389146 11 -> sun/nio/cs/StreamEncoder.implFlushBuffer - 0 311481/2 4790257389158 11 -> sun/nio/cs/StreamEncoder.writeBytes - 0 311481/2 4790257389167 9 -> java/nio/Buffer.flip - 0 311481/2 4790257389174 7 <- java/nio/Buffer.flip - 0 311481/2 4790257389186 11 -> java/nio/ByteBuffer.array - 0 311481/2 4790257389193 7 <- java/nio/ByteBuffer.array - 0 311481/2 4790257389203 9 -> java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790257389210 7 <- java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790257389222 11 -> java/io/PrintStream.write - 0 311481/2 4790257389230 7 -> java/io/PrintStream.ensureOpen - 0 311481/2 4790257389237 7 <- java/io/PrintStream.ensureOpen - 0 311481/2 4790257389248 11 -> java/io/BufferedOutputStream.write - 0 311481/2 4790257389261 12 -> java/lang/System.arraycopy - 0 311481/2 4790257389268 7 <- java/lang/System.arraycopy - 0 311481/2 4790257389276 7 <- java/io/BufferedOutputStream.write - 0 311481/2 4790257389286 9 -> java/io/BufferedOutputStream.flush - 0 311481/2 4790257389295 9 -> java/io/BufferedOutputStream.flushBuffer - 0 311481/2 4790257389307 11 -> java/io/FileOutputStream.write - 0 311481/2 4790257389317 10 -> java/io/FileOutputStream.writeBytes - 0 311481/2 4790257389479 162 <- java/io/FileOutputStream.writeBytes - 0 311481/2 4790257389489 9 <- java/io/FileOutputStream.write - 0 311481/2 4790257389497 7 <- java/io/BufferedOutputStream.flushBuffer - 0 311481/2 4790257389509 12 <- java/io/BufferedOutputStream.flush - 0 311481/2 4790257389517 8 <- java/io/PrintStream.write - 0 311481/2 4790257389527 10 -> java/nio/Buffer.clear - 0 311481/2 4790257389536 8 <- java/nio/Buffer.clear - 0 311481/2 4790257389543 7 <- sun/nio/cs/StreamEncoder.writeBytes - 0 311481/2 4790257389551 7 <- sun/nio/cs/StreamEncoder.implFlushBuffer - 0 311481/2 4790257389559 7 <- sun/nio/cs/StreamEncoder.flushBuffer - 0 311481/2 4790257389566 7 <- java/io/OutputStreamWriter.flushBuffer - 0 311481/2 4790257389579 12 -> java/lang/String.indexOf - 0 311481/2 4790257389586 7 -> java/lang/String.indexOf - 0 311481/2 4790257389595 8 <- java/lang/String.indexOf - 0 311481/2 4790257389602 7 <- java/lang/String.indexOf - 0 311481/2 4790257389610 7 <- java/io/PrintStream.write - 0 311481/2 4790257389617 7 <- java/io/PrintStream.print - 0 311481/2 4790257389627 9 -> java/io/PrintStream.newLine - 0 311481/2 4790257389635 7 -> java/io/PrintStream.ensureOpen - 0 311481/2 4790257389642 7 <- java/io/PrintStream.ensureOpen - 0 311481/2 4790257389651 9 -> java/io/BufferedWriter.newLine - 0 311481/2 4790257389661 9 -> java/io/Writer.write - 0 311481/2 4790257389668 7 -> java/io/BufferedWriter.write - 0 311481/2 4790257389713 44 -> java/io/BufferedWriter.ensureOpen - 0 311481/2 4790257389721 7 <- java/io/BufferedWriter.ensureOpen - 0 311481/2 4790257389729 8 -> java/io/BufferedWriter.min - 0 311481/2 4790257389737 7 <- java/io/BufferedWriter.min - 0 311481/2 4790257389744 7 -> java/lang/String.getChars - 0 311481/2 4790257389752 7 -> java/lang/System.arraycopy - 0 311481/2 4790257389760 7 <- java/lang/System.arraycopy - 0 311481/2 4790257389767 7 <- java/lang/String.getChars - 0 311481/2 4790257389775 7 <- java/io/BufferedWriter.write - 0 311481/2 4790257389783 7 <- java/io/Writer.write - 0 311481/2 4790257389790 7 <- java/io/BufferedWriter.newLine - 0 311481/2 4790257389798 7 -> java/io/BufferedWriter.flushBuffer - 0 311481/2 4790257389805 7 -> java/io/BufferedWriter.ensureOpen - 0 311481/2 4790257389812 7 <- java/io/BufferedWriter.ensureOpen - 0 311481/2 4790257389820 7 -> java/io/OutputStreamWriter.write - 0 311481/2 4790257389828 7 -> sun/nio/cs/StreamEncoder.write - 0 311481/2 4790257389835 7 -> sun/nio/cs/StreamEncoder.ensureOpen - 0 311481/2 4790257389842 7 <- sun/nio/cs/StreamEncoder.ensureOpen - 0 311481/2 4790257389850 7 -> sun/nio/cs/StreamEncoder.implWrite - 0 311481/2 4790257389857 7 -> java/nio/CharBuffer.wrap - 0 311481/2 4790257389865 7 -> java/nio/HeapCharBuffer. - 0 311481/2 4790257389872 7 -> java/nio/CharBuffer. - 0 311481/2 4790257389879 7 -> java/nio/Buffer. - 0 311481/2 4790257389886 6 -> java/lang/Object. - 0 311481/2 4790257389893 7 <- java/lang/Object. - 0 311481/2 4790257389901 7 -> java/nio/Buffer.limit - 0 311481/2 4790257389908 7 <- java/nio/Buffer.limit - 0 311481/2 4790257389916 7 -> java/nio/Buffer.position - 0 311481/2 4790257389923 7 <- java/nio/Buffer.position - 0 311481/2 4790257389930 7 <- java/nio/Buffer. - 0 311481/2 4790257389938 7 <- java/nio/CharBuffer. - 0 311481/2 4790257389946 7 <- java/nio/HeapCharBuffer. - 0 311481/2 4790257389953 7 <- java/nio/CharBuffer.wrap - 0 311481/2 4790257389961 7 -> java/nio/Buffer.hasRemaining - 0 311481/2 4790257389968 7 <- java/nio/Buffer.hasRemaining - 0 311481/2 4790257389976 7 -> java/nio/charset/CharsetEncoder.encode - 0 311481/2 4790257389984 7 -> sun/nio/cs/US_ASCII$Encoder.encodeLoop - 0 311481/2 4790257389991 7 -> java/nio/CharBuffer.hasArray - 0 311481/2 4790257389998 7 <- java/nio/CharBuffer.hasArray - 0 311481/2 4790257390760 761 -> java/nio/ByteBuffer.hasArray - 0 311481/2 4790257390772 11 <- java/nio/ByteBuffer.hasArray - 0 311481/2 4790257390782 10 -> sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop - 0 311481/2 4790257390790 7 -> java/nio/CharBuffer.array - 0 311481/2 4790257390797 7 <- java/nio/CharBuffer.array - 0 311481/2 4790257390805 7 -> java/nio/CharBuffer.arrayOffset - 0 311481/2 4790257390812 7 <- java/nio/CharBuffer.arrayOffset - 0 311481/2 4790257390820 8 -> java/nio/CharBuffer.arrayOffset - 0 311481/2 4790257390828 7 <- java/nio/CharBuffer.arrayOffset - 0 311481/2 4790257390836 8 -> java/nio/ByteBuffer.array - 0 311481/2 4790257390844 7 <- java/nio/ByteBuffer.array - 0 311481/2 4790257390851 7 -> java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790257390859 7 <- java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790257390866 7 -> java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790257390874 7 <- java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790257390883 8 -> java/nio/CharBuffer.arrayOffset - 0 311481/2 4790257390890 7 <- java/nio/CharBuffer.arrayOffset - 0 311481/2 4790257390898 8 -> java/nio/Buffer.position - 0 311481/2 4790257390906 7 <- java/nio/Buffer.position - 0 311481/2 4790257390913 7 -> java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790257390921 7 <- java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790257390928 7 -> java/nio/Buffer.position - 0 311481/2 4790257390936 7 <- java/nio/Buffer.position - 0 311481/2 4790257390943 7 <- sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop - 0 311481/2 4790257390951 7 <- sun/nio/cs/US_ASCII$Encoder.encodeLoop - 0 311481/2 4790257390959 8 -> java/nio/charset/CoderResult.isOverflow - 0 311481/2 4790257390967 7 <- java/nio/charset/CoderResult.isOverflow - 0 311481/2 4790257390974 7 -> java/nio/charset/CoderResult.isUnderflow - 0 311481/2 4790257390982 7 <- java/nio/charset/CoderResult.isUnderflow - 0 311481/2 4790257390990 7 <- java/nio/charset/CharsetEncoder.encode - 0 311481/2 4790257390998 7 -> java/nio/charset/CoderResult.isUnderflow - 0 311481/2 4790257391005 7 <- java/nio/charset/CoderResult.isUnderflow - 0 311481/2 4790257391013 8 -> java/nio/Buffer.remaining - 0 311481/2 4790257391020 7 <- java/nio/Buffer.remaining - 0 311481/2 4790257391028 7 <- sun/nio/cs/StreamEncoder.implWrite - 0 311481/2 4790257391036 7 <- sun/nio/cs/StreamEncoder.write - 0 311481/2 4790257391044 7 <- java/io/OutputStreamWriter.write - 0 311481/2 4790257391052 8 <- java/io/BufferedWriter.flushBuffer - 0 311481/2 4790257391060 7 -> java/io/OutputStreamWriter.flushBuffer - 0 311481/2 4790257391067 7 -> sun/nio/cs/StreamEncoder.flushBuffer - 0 311481/2 4790257391075 7 -> sun/nio/cs/StreamEncoder.implFlushBuffer - 0 311481/2 4790257391082 7 -> sun/nio/cs/StreamEncoder.writeBytes - 0 311481/2 4790257391090 7 -> java/nio/Buffer.flip - 0 311481/2 4790257391097 7 <- java/nio/Buffer.flip - 0 311481/2 4790257391105 8 -> java/nio/ByteBuffer.array - 0 311481/2 4790257391112 7 <- java/nio/ByteBuffer.array - 0 311481/2 4790257391120 7 -> java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790257391127 7 <- java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790257391135 8 -> java/io/PrintStream.write - 0 311481/2 4790257391142 7 -> java/io/PrintStream.ensureOpen - 0 311481/2 4790257391150 7 <- java/io/PrintStream.ensureOpen - 0 311481/2 4790257391158 8 -> java/io/BufferedOutputStream.write - 0 311481/2 4790257391166 7 -> java/lang/System.arraycopy - 0 311481/2 4790257391174 8 <- java/lang/System.arraycopy - 0 311481/2 4790257391182 7 <- java/io/BufferedOutputStream.write - 0 311481/2 4790257391190 7 -> java/io/BufferedOutputStream.flush - 0 311481/2 4790257391197 7 -> java/io/BufferedOutputStream.flushBuffer - 0 311481/2 4790257391205 7 -> java/io/FileOutputStream.write - 0 311481/2 4790257391212 7 -> java/io/FileOutputStream.writeBytes - 0 311481/2 4790257391280 67 <- java/io/FileOutputStream.writeBytes - 0 311481/2 4790257391289 9 <- java/io/FileOutputStream.write - 0 311481/2 4790257391297 7 <- java/io/BufferedOutputStream.flushBuffer - 0 311481/2 4790257391305 7 <- java/io/BufferedOutputStream.flush - 0 311481/2 4790257391313 7 <- java/io/PrintStream.write - 0 311481/2 4790257391321 7 -> java/nio/Buffer.clear - 0 311481/2 4790257391329 7 <- java/nio/Buffer.clear - 0 311481/2 4790257391336 7 <- sun/nio/cs/StreamEncoder.writeBytes - 0 311481/2 4790257391344 7 <- sun/nio/cs/StreamEncoder.implFlushBuffer - 0 311481/2 4790257391352 7 <- sun/nio/cs/StreamEncoder.flushBuffer - 0 311481/2 4790257391359 7 <- java/io/OutputStreamWriter.flushBuffer - 0 311481/2 4790257391368 8 -> java/io/BufferedOutputStream.flush - 0 311481/2 4790257391375 7 -> java/io/BufferedOutputStream.flushBuffer - 0 311481/2 4790257391383 7 <- java/io/BufferedOutputStream.flushBuffer - 0 311481/2 4790257391391 8 <- java/io/BufferedOutputStream.flush - 0 311481/2 4790257391398 7 <- java/io/PrintStream.newLine - 0 311481/2 4790257391406 7 <- java/io/PrintStream.println - 0 311481/2 4790257391439 32 -> java/lang/ClassLoader.loadClassInternal - 0 311481/2 4790257391447 8 -> java/lang/ClassLoader.loadClass - 0 311481/2 4790257391455 7 -> sun/misc/Launcher$AppClassLoader.loadClass - 0 311481/2 4790257391463 7 -> java/lang/String.lastIndexOf - 0 311481/2 4790257391471 7 -> java/lang/String.lastIndexOf - 0 311481/2 4790257391479 8 <- java/lang/String.lastIndexOf - 0 311481/2 4790257391487 7 <- java/lang/String.lastIndexOf - 0 311481/2 4790257391495 8 -> java/lang/System.getSecurityManager - 0 311481/2 4790257391503 7 <- java/lang/System.getSecurityManager - 0 311481/2 4790257391511 8 -> java/lang/ClassLoader.loadClass - 0 311481/2 4790257391518 7 -> java/lang/ClassLoader.findLoadedClass - 0 311481/2 4790257391526 7 -> java/lang/ClassLoader.check - 0 311481/2 4790257391533 7 <- java/lang/ClassLoader.check - 0 311481/2 4790257391541 7 -> java/lang/ClassLoader.checkName - 0 311481/2 4790257391549 7 -> java/lang/String.indexOf - 0 311481/2 4790257391556 7 -> java/lang/String.indexOf - 0 311481/2 4790257391564 8 <- java/lang/String.indexOf - 0 311481/2 4790257391572 7 <- java/lang/String.indexOf - 0 311481/2 4790257391580 8 -> sun/misc/VM.allowArraySyntax - 0 311481/2 4790257391587 7 <- sun/misc/VM.allowArraySyntax - 0 311481/2 4790257391595 7 -> java/lang/String.charAt - 0 311481/2 4790257391603 7 <- java/lang/String.charAt - 0 311481/2 4790257391610 7 <- java/lang/ClassLoader.checkName - 0 311481/2 4790257391618 7 -> java/lang/ClassLoader.findLoadedClass0 - 0 311481/2 4790257391633 14 <- java/lang/ClassLoader.findLoadedClass0 - 0 311481/2 4790257391641 8 <- java/lang/ClassLoader.findLoadedClass - 0 311481/2 4790257391651 9 -> java/lang/ClassLoader.loadClass - 0 311481/2 4790257391658 7 -> java/lang/ClassLoader.findLoadedClass - 0 311481/2 4790257391665 7 -> java/lang/ClassLoader.check - 0 311481/2 4790257391672 7 <- java/lang/ClassLoader.check - 0 311481/2 4790257391680 7 -> java/lang/ClassLoader.checkName - 0 311481/2 4790257391688 7 -> java/lang/String.indexOf - 0 311481/2 4790257391695 7 -> java/lang/String.indexOf - 0 311481/2 4790257391703 8 <- java/lang/String.indexOf - 0 311481/2 4790257391711 7 <- java/lang/String.indexOf - 0 311481/2 4790257391718 7 -> sun/misc/VM.allowArraySyntax - 0 311481/2 4790257391725 7 <- sun/misc/VM.allowArraySyntax - 0 311481/2 4790257391733 7 -> java/lang/String.charAt - 0 311481/2 4790257391740 7 <- java/lang/String.charAt - 0 311481/2 4790257391748 7 <- java/lang/ClassLoader.checkName - 0 311481/2 4790257391755 7 -> java/lang/ClassLoader.findLoadedClass0 - 0 311481/2 4790257391765 9 <- java/lang/ClassLoader.findLoadedClass0 - 0 311481/2 4790257391773 8 <- java/lang/ClassLoader.findLoadedClass - 0 311481/2 4790257391781 8 -> java/lang/ClassLoader.findBootstrapClass0 - 0 311481/2 4790257391788 7 -> java/lang/ClassLoader.check - 0 311481/2 4790257391795 7 <- java/lang/ClassLoader.check - 0 311481/2 4790257391803 7 -> java/lang/ClassLoader.checkName - 0 311481/2 4790257391810 7 -> java/lang/String.indexOf - 0 311481/2 4790257391817 7 -> java/lang/String.indexOf - 0 311481/2 4790257391825 7 <- java/lang/String.indexOf - 0 311481/2 4790257391833 7 <- java/lang/String.indexOf - 0 311481/2 4790257391840 7 -> sun/misc/VM.allowArraySyntax - 0 311481/2 4790257391848 7 <- sun/misc/VM.allowArraySyntax - 0 311481/2 4790257391855 7 -> java/lang/String.charAt - 0 311481/2 4790257391862 7 <- java/lang/String.charAt - 0 311481/2 4790257391870 7 <- java/lang/ClassLoader.checkName - 0 311481/2 4790257391877 7 -> java/lang/ClassLoader.findBootstrapClass - 0 311481/2 4790257391891 13 <- java/lang/ClassLoader.findBootstrapClass - 0 311481/2 4790257391899 7 <- java/lang/ClassLoader.findBootstrapClass0 - 0 311481/2 4790257391907 8 <- java/lang/ClassLoader.loadClass - 0 311481/2 4790257391915 7 <- java/lang/ClassLoader.loadClass - 0 311481/2 4790257391922 7 <- sun/misc/Launcher$AppClassLoader.loadClass - 0 311481/2 4790257391930 7 <- java/lang/ClassLoader.loadClass - 0 311481/2 4790257391938 7 <- java/lang/ClassLoader.loadClassInternal - 0 311481/2 4790257391954 16 -> java/lang/ClassLoader.checkPackageAccess - 0 311481/2 4790257391962 7 -> java/lang/System.getSecurityManager - 0 311481/2 4790257391969 7 <- java/lang/System.getSecurityManager - 0 311481/2 4790257391978 8 -> java/util/HashSet.add - 0 311481/2 4790257391986 8 -> java/util/HashMap.put - 0 311481/2 4790257391994 7 -> java/lang/Object.hashCode - 0 311481/2 4790257392001 7 <- java/lang/Object.hashCode - 0 311481/2 4790257392009 8 -> java/util/HashMap.hash - 0 311481/2 4790257392017 7 <- java/util/HashMap.hash - 0 311481/2 4790257392025 7 -> java/util/HashMap.indexFor - 0 311481/2 4790257392032 7 <- java/util/HashMap.indexFor - 0 311481/2 4790257392040 8 <- java/util/HashMap.put - 0 311481/2 4790257392048 7 <- java/util/HashSet.add - 0 311481/2 4790257392055 7 <- java/lang/ClassLoader.checkPackageAccess - 0 311481/2 4790257392076 20 -> java/lang/Thread.currentThread - 0 311481/2 4790257392084 8 <- java/lang/Thread.currentThread - 0 311481/2 4790257392094 10 -> java/lang/Thread.sleep - 0 311481/2 4790258400253 1008158 <- java/lang/Thread.sleep - 0 311481/2 4790258400299 45 -> Func_abc.func_b - 0 311481/2 4790258400329 30 -> java/io/PrintStream.println - 0 311481/2 4790258400338 8 -> java/io/PrintStream.print - 0 311481/2 4790258400345 7 -> java/io/PrintStream.write - 0 311481/2 4790258400353 7 -> java/io/PrintStream.ensureOpen - 0 311481/2 4790258400361 7 <- java/io/PrintStream.ensureOpen - 0 311481/2 4790258400369 8 -> java/io/Writer.write - 0 311481/2 4790258400378 8 -> java/io/BufferedWriter.write - 0 311481/2 4790258400386 7 -> java/io/BufferedWriter.ensureOpen - 0 311481/2 4790258400393 7 <- java/io/BufferedWriter.ensureOpen - 0 311481/2 4790258400402 9 -> java/io/BufferedWriter.min - 0 311481/2 4790258400410 7 <- java/io/BufferedWriter.min - 0 311481/2 4790258400418 8 -> java/lang/String.getChars - 0 311481/2 4790258400426 8 -> java/lang/System.arraycopy - 0 311481/2 4790258400435 8 <- java/lang/System.arraycopy - 0 311481/2 4790258400442 7 <- java/lang/String.getChars - 0 311481/2 4790258400451 8 <- java/io/BufferedWriter.write - 0 311481/2 4790258400458 7 <- java/io/Writer.write - 0 311481/2 4790258400466 7 -> java/io/BufferedWriter.flushBuffer - 0 311481/2 4790258400474 7 -> java/io/BufferedWriter.ensureOpen - 0 311481/2 4790258400481 7 <- java/io/BufferedWriter.ensureOpen - 0 311481/2 4790258400489 8 -> java/io/OutputStreamWriter.write - 0 311481/2 4790258400497 7 -> sun/nio/cs/StreamEncoder.write - 0 311481/2 4790258400504 7 -> sun/nio/cs/StreamEncoder.ensureOpen - 0 311481/2 4790258400511 7 <- sun/nio/cs/StreamEncoder.ensureOpen - 0 311481/2 4790258400520 8 -> sun/nio/cs/StreamEncoder.implWrite - 0 311481/2 4790258400528 7 -> java/nio/CharBuffer.wrap - 0 311481/2 4790258400536 7 -> java/nio/HeapCharBuffer. - 0 311481/2 4790258400544 7 -> java/nio/CharBuffer. - 0 311481/2 4790258400551 7 -> java/nio/Buffer. - 0 311481/2 4790258400559 7 -> java/lang/Object. - 0 311481/2 4790258400566 7 <- java/lang/Object. - 0 311481/2 4790258400574 8 -> java/nio/Buffer.limit - 0 311481/2 4790258400582 7 <- java/nio/Buffer.limit - 0 311481/2 4790258400590 7 -> java/nio/Buffer.position - 0 311481/2 4790258400597 7 <- java/nio/Buffer.position - 0 311481/2 4790258400604 7 <- java/nio/Buffer. - 0 311481/2 4790258400612 7 <- java/nio/CharBuffer. - 0 311481/2 4790258400620 7 <- java/nio/HeapCharBuffer. - 0 311481/2 4790258400627 7 <- java/nio/CharBuffer.wrap - 0 311481/2 4790258400635 8 -> java/nio/Buffer.hasRemaining - 0 311481/2 4790258400643 7 <- java/nio/Buffer.hasRemaining - 0 311481/2 4790258400651 8 -> java/nio/charset/CharsetEncoder.encode - 0 311481/2 4790258400659 8 -> sun/nio/cs/US_ASCII$Encoder.encodeLoop - 0 311481/2 4790258400667 7 -> java/nio/CharBuffer.hasArray - 0 311481/2 4790258400675 7 <- java/nio/CharBuffer.hasArray - 0 311481/2 4790258400683 8 -> java/nio/ByteBuffer.hasArray - 0 311481/2 4790258400690 7 <- java/nio/ByteBuffer.hasArray - 0 311481/2 4790258400698 7 -> sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop - 0 311481/2 4790258400706 7 -> java/nio/CharBuffer.array - 0 311481/2 4790258400713 7 <- java/nio/CharBuffer.array - 0 311481/2 4790258400721 7 -> java/nio/CharBuffer.arrayOffset - 0 311481/2 4790258400728 7 <- java/nio/CharBuffer.arrayOffset - 0 311481/2 4790258400736 7 -> java/nio/CharBuffer.arrayOffset - 0 311481/2 4790258400743 7 <- java/nio/CharBuffer.arrayOffset - 0 311481/2 4790258400752 8 -> java/nio/ByteBuffer.array - 0 311481/2 4790258400759 7 <- java/nio/ByteBuffer.array - 0 311481/2 4790258400766 7 -> java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790258400774 7 <- java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790258400781 7 -> java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790258400789 7 <- java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790258400799 9 -> java/nio/CharBuffer.arrayOffset - 0 311481/2 4790258400806 7 <- java/nio/CharBuffer.arrayOffset - 0 311481/2 4790258400813 7 -> java/nio/Buffer.position - 0 311481/2 4790258400821 7 <- java/nio/Buffer.position - 0 311481/2 4790258400828 7 -> java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790258400836 7 <- java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790258400843 7 -> java/nio/Buffer.position - 0 311481/2 4790258400850 7 <- java/nio/Buffer.position - 0 311481/2 4790258400858 7 <- sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop - 0 311481/2 4790258400866 7 <- sun/nio/cs/US_ASCII$Encoder.encodeLoop - 0 311481/2 4790258400874 8 -> java/nio/charset/CoderResult.isOverflow - 0 311481/2 4790258400881 7 <- java/nio/charset/CoderResult.isOverflow - 0 311481/2 4790258400889 7 -> java/nio/charset/CoderResult.isUnderflow - 0 311481/2 4790258400896 7 <- java/nio/charset/CoderResult.isUnderflow - 0 311481/2 4790258400904 7 <- java/nio/charset/CharsetEncoder.encode - 0 311481/2 4790258400912 7 -> java/nio/charset/CoderResult.isUnderflow - 0 311481/2 4790258400919 7 <- java/nio/charset/CoderResult.isUnderflow - 0 311481/2 4790258400927 8 -> java/nio/Buffer.remaining - 0 311481/2 4790258400934 7 <- java/nio/Buffer.remaining - 0 311481/2 4790258400942 7 <- sun/nio/cs/StreamEncoder.implWrite - 0 311481/2 4790258400950 7 <- sun/nio/cs/StreamEncoder.write - 0 311481/2 4790258400957 7 <- java/io/OutputStreamWriter.write - 0 311481/2 4790258400965 7 <- java/io/BufferedWriter.flushBuffer - 0 311481/2 4790258400973 8 -> java/io/OutputStreamWriter.flushBuffer - 0 311481/2 4790258400981 7 -> sun/nio/cs/StreamEncoder.flushBuffer - 0 311481/2 4790258400988 7 -> sun/nio/cs/StreamEncoder.implFlushBuffer - 0 311481/2 4790258400996 7 -> sun/nio/cs/StreamEncoder.writeBytes - 0 311481/2 4790258401004 7 -> java/nio/Buffer.flip - 0 311481/2 4790258401011 6 <- java/nio/Buffer.flip - 0 311481/2 4790258401019 8 -> java/nio/ByteBuffer.array - 0 311481/2 4790258401026 7 <- java/nio/ByteBuffer.array - 0 311481/2 4790258401033 7 -> java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790258401041 7 <- java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790258401049 7 -> java/io/PrintStream.write - 0 311481/2 4790258401056 7 -> java/io/PrintStream.ensureOpen - 0 311481/2 4790258401063 7 <- java/io/PrintStream.ensureOpen - 0 311481/2 4790258401071 8 -> java/io/BufferedOutputStream.write - 0 311481/2 4790258401079 7 -> java/lang/System.arraycopy - 0 311481/2 4790258401087 7 <- java/lang/System.arraycopy - 0 311481/2 4790258401094 7 <- java/io/BufferedOutputStream.write - 0 311481/2 4790258401103 8 -> java/io/BufferedOutputStream.flush - 0 311481/2 4790258401110 7 -> java/io/BufferedOutputStream.flushBuffer - 0 311481/2 4790258401118 7 -> java/io/FileOutputStream.write - 0 311481/2 4790258401125 7 -> java/io/FileOutputStream.writeBytes - 0 311481/2 4790258401164 39 <- java/io/FileOutputStream.writeBytes - 0 311481/2 4790258401173 8 <- java/io/FileOutputStream.write - 0 311481/2 4790258401181 7 <- java/io/BufferedOutputStream.flushBuffer - 0 311481/2 4790258401189 7 <- java/io/BufferedOutputStream.flush - 0 311481/2 4790258401196 7 <- java/io/PrintStream.write - 0 311481/2 4790258401204 7 -> java/nio/Buffer.clear - 0 311481/2 4790258401212 7 <- java/nio/Buffer.clear - 0 311481/2 4790258401219 7 <- sun/nio/cs/StreamEncoder.writeBytes - 0 311481/2 4790258401227 7 <- sun/nio/cs/StreamEncoder.implFlushBuffer - 0 311481/2 4790258401235 7 <- sun/nio/cs/StreamEncoder.flushBuffer - 0 311481/2 4790258401242 7 <- java/io/OutputStreamWriter.flushBuffer - 0 311481/2 4790258401251 8 -> java/lang/String.indexOf - 0 311481/2 4790258401258 7 -> java/lang/String.indexOf - 0 311481/2 4790258401266 8 <- java/lang/String.indexOf - 0 311481/2 4790258401274 7 <- java/lang/String.indexOf - 0 311481/2 4790258401281 7 <- java/io/PrintStream.write - 0 311481/2 4790258401289 7 <- java/io/PrintStream.print - 0 311481/2 4790258401297 7 -> java/io/PrintStream.newLine - 0 311481/2 4790258401304 7 -> java/io/PrintStream.ensureOpen - 0 311481/2 4790258401311 7 <- java/io/PrintStream.ensureOpen - 0 311481/2 4790258401319 7 -> java/io/BufferedWriter.newLine - 0 311481/2 4790258401326 7 -> java/io/Writer.write - 0 311481/2 4790258401334 7 -> java/io/BufferedWriter.write - 0 311481/2 4790258401341 7 -> java/io/BufferedWriter.ensureOpen - 0 311481/2 4790258401348 7 <- java/io/BufferedWriter.ensureOpen - 0 311481/2 4790258401356 7 -> java/io/BufferedWriter.min - 0 311481/2 4790258401363 7 <- java/io/BufferedWriter.min - 0 311481/2 4790258401371 7 -> java/lang/String.getChars - 0 311481/2 4790258401378 7 -> java/lang/System.arraycopy - 0 311481/2 4790258401385 7 <- java/lang/System.arraycopy - 0 311481/2 4790258401393 7 <- java/lang/String.getChars - 0 311481/2 4790258401401 7 <- java/io/BufferedWriter.write - 0 311481/2 4790258401408 7 <- java/io/Writer.write - 0 311481/2 4790258401416 7 <- java/io/BufferedWriter.newLine - 0 311481/2 4790258401423 7 -> java/io/BufferedWriter.flushBuffer - 0 311481/2 4790258401430 7 -> java/io/BufferedWriter.ensureOpen - 0 311481/2 4790258401438 7 <- java/io/BufferedWriter.ensureOpen - 0 311481/2 4790258401446 7 -> java/io/OutputStreamWriter.write - 0 311481/2 4790258401453 7 -> sun/nio/cs/StreamEncoder.write - 0 311481/2 4790258401460 7 -> sun/nio/cs/StreamEncoder.ensureOpen - 0 311481/2 4790258401467 7 <- sun/nio/cs/StreamEncoder.ensureOpen - 0 311481/2 4790258401475 7 -> sun/nio/cs/StreamEncoder.implWrite - 0 311481/2 4790258401482 7 -> java/nio/CharBuffer.wrap - 0 311481/2 4790258401490 7 -> java/nio/HeapCharBuffer. - 0 311481/2 4790258401497 7 -> java/nio/CharBuffer. - 0 311481/2 4790258401504 7 -> java/nio/Buffer. - 0 311481/2 4790258401511 7 -> java/lang/Object. - 0 311481/2 4790258401518 7 <- java/lang/Object. - 0 311481/2 4790258401526 7 -> java/nio/Buffer.limit - 0 311481/2 4790258401533 7 <- java/nio/Buffer.limit - 0 311481/2 4790258401541 7 -> java/nio/Buffer.position - 0 311481/2 4790258401548 7 <- java/nio/Buffer.position - 0 311481/2 4790258401556 7 <- java/nio/Buffer. - 0 311481/2 4790258401563 7 <- java/nio/CharBuffer. - 0 311481/2 4790258401570 7 <- java/nio/HeapCharBuffer. - 0 311481/2 4790258401578 7 <- java/nio/CharBuffer.wrap - 0 311481/2 4790258401586 7 -> java/nio/Buffer.hasRemaining - 0 311481/2 4790258401593 7 <- java/nio/Buffer.hasRemaining - 0 311481/2 4790258401601 7 -> java/nio/charset/CharsetEncoder.encode - 0 311481/2 4790258401608 7 -> sun/nio/cs/US_ASCII$Encoder.encodeLoop - 0 311481/2 4790258401615 7 -> java/nio/CharBuffer.hasArray - 0 311481/2 4790258401623 7 <- java/nio/CharBuffer.hasArray - 0 311481/2 4790258401630 7 -> java/nio/ByteBuffer.hasArray - 0 311481/2 4790258401638 7 <- java/nio/ByteBuffer.hasArray - 0 311481/2 4790258401645 7 -> sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop - 0 311481/2 4790258401653 7 -> java/nio/CharBuffer.array - 0 311481/2 4790258401660 7 <- java/nio/CharBuffer.array - 0 311481/2 4790258401667 7 -> java/nio/CharBuffer.arrayOffset - 0 311481/2 4790258401675 7 <- java/nio/CharBuffer.arrayOffset - 0 311481/2 4790258401682 7 -> java/nio/CharBuffer.arrayOffset - 0 311481/2 4790258401690 7 <- java/nio/CharBuffer.arrayOffset - 0 311481/2 4790258401697 7 -> java/nio/ByteBuffer.array - 0 311481/2 4790258401705 7 <- java/nio/ByteBuffer.array - 0 311481/2 4790258401712 7 -> java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790258401719 7 <- java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790258401727 7 -> java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790258401734 7 <- java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790258401743 8 -> java/nio/CharBuffer.arrayOffset - 0 311481/2 4790258401750 7 <- java/nio/CharBuffer.arrayOffset - 0 311481/2 4790258401757 7 -> java/nio/Buffer.position - 0 311481/2 4790258401765 7 <- java/nio/Buffer.position - 0 311481/2 4790258401772 7 -> java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790258401780 7 <- java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790258401787 7 -> java/nio/Buffer.position - 0 311481/2 4790258401794 7 <- java/nio/Buffer.position - 0 311481/2 4790258401802 7 <- sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop - 0 311481/2 4790258401809 7 <- sun/nio/cs/US_ASCII$Encoder.encodeLoop - 0 311481/2 4790258401817 7 -> java/nio/charset/CoderResult.isOverflow - 0 311481/2 4790258401825 7 <- java/nio/charset/CoderResult.isOverflow - 0 311481/2 4790258401832 7 -> java/nio/charset/CoderResult.isUnderflow - 0 311481/2 4790258401840 7 <- java/nio/charset/CoderResult.isUnderflow - 0 311481/2 4790258401848 7 <- java/nio/charset/CharsetEncoder.encode - 0 311481/2 4790258401855 7 -> java/nio/charset/CoderResult.isUnderflow - 0 311481/2 4790258401863 7 <- java/nio/charset/CoderResult.isUnderflow - 0 311481/2 4790258401871 7 -> java/nio/Buffer.remaining - 0 311481/2 4790258401878 7 <- java/nio/Buffer.remaining - 0 311481/2 4790258401885 7 <- sun/nio/cs/StreamEncoder.implWrite - 0 311481/2 4790258401893 7 <- sun/nio/cs/StreamEncoder.write - 0 311481/2 4790258401901 7 <- java/io/OutputStreamWriter.write - 0 311481/2 4790258401908 7 <- java/io/BufferedWriter.flushBuffer - 0 311481/2 4790258401916 7 -> java/io/OutputStreamWriter.flushBuffer - 0 311481/2 4790258401923 7 -> sun/nio/cs/StreamEncoder.flushBuffer - 0 311481/2 4790258401931 7 -> sun/nio/cs/StreamEncoder.implFlushBuffer - 0 311481/2 4790258401938 7 -> sun/nio/cs/StreamEncoder.writeBytes - 0 311481/2 4790258401945 7 -> java/nio/Buffer.flip - 0 311481/2 4790258401952 7 <- java/nio/Buffer.flip - 0 311481/2 4790258401960 7 -> java/nio/ByteBuffer.array - 0 311481/2 4790258401967 7 <- java/nio/ByteBuffer.array - 0 311481/2 4790258401975 7 -> java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790258401982 7 <- java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790258401990 7 -> java/io/PrintStream.write - 0 311481/2 4790258401997 7 -> java/io/PrintStream.ensureOpen - 0 311481/2 4790258402004 7 <- java/io/PrintStream.ensureOpen - 0 311481/2 4790258402012 7 -> java/io/BufferedOutputStream.write - 0 311481/2 4790258402020 7 -> java/lang/System.arraycopy - 0 311481/2 4790258402027 7 <- java/lang/System.arraycopy - 0 311481/2 4790258402035 7 <- java/io/BufferedOutputStream.write - 0 311481/2 4790258402042 7 -> java/io/BufferedOutputStream.flush - 0 311481/2 4790258402050 7 -> java/io/BufferedOutputStream.flushBuffer - 0 311481/2 4790258402057 7 -> java/io/FileOutputStream.write - 0 311481/2 4790258402064 7 -> java/io/FileOutputStream.writeBytes - 0 311481/2 4790258402082 17 <- java/io/FileOutputStream.writeBytes - 0 311481/2 4790258402090 8 <- java/io/FileOutputStream.write - 0 311481/2 4790258402098 7 <- java/io/BufferedOutputStream.flushBuffer - 0 311481/2 4790258402106 7 <- java/io/BufferedOutputStream.flush - 0 311481/2 4790258402113 7 <- java/io/PrintStream.write - 0 311481/2 4790258402121 7 -> java/nio/Buffer.clear - 0 311481/2 4790258402128 7 <- java/nio/Buffer.clear - 0 311481/2 4790258402136 7 <- sun/nio/cs/StreamEncoder.writeBytes - 0 311481/2 4790258402143 7 <- sun/nio/cs/StreamEncoder.implFlushBuffer - 0 311481/2 4790258402151 7 <- sun/nio/cs/StreamEncoder.flushBuffer - 0 311481/2 4790258402159 7 <- java/io/OutputStreamWriter.flushBuffer - 0 311481/2 4790258402166 7 -> java/io/BufferedOutputStream.flush - 0 311481/2 4790258402174 7 -> java/io/BufferedOutputStream.flushBuffer - 0 311481/2 4790258402181 7 <- java/io/BufferedOutputStream.flushBuffer - 0 311481/2 4790258402189 7 <- java/io/BufferedOutputStream.flush - 0 311481/2 4790258402196 7 <- java/io/PrintStream.newLine - 0 311481/2 4790258402204 7 <- java/io/PrintStream.println - 0 311481/2 4790258402212 7 -> java/lang/Thread.currentThread - 0 311481/2 4790258402220 7 <- java/lang/Thread.currentThread - 0 311481/2 4790258402228 7 -> java/lang/Thread.sleep - 0 311481/2 4790259410328 1008099 <- java/lang/Thread.sleep - 0 311481/2 4790259410374 46 -> Func_abc.func_c - 0 311481/2 4790259410404 29 -> java/io/PrintStream.println - 0 311481/2 4790259410412 8 -> java/io/PrintStream.print - 0 311481/2 4790259410420 7 -> java/io/PrintStream.write - 0 311481/2 4790259410428 7 -> java/io/PrintStream.ensureOpen - 0 311481/2 4790259410435 7 <- java/io/PrintStream.ensureOpen - 0 311481/2 4790259410444 8 -> java/io/Writer.write - 0 311481/2 4790259410453 8 -> java/io/BufferedWriter.write - 0 311481/2 4790259410460 7 -> java/io/BufferedWriter.ensureOpen - 0 311481/2 4790259410467 7 <- java/io/BufferedWriter.ensureOpen - 0 311481/2 4790259410477 9 -> java/io/BufferedWriter.min - 0 311481/2 4790259410484 7 <- java/io/BufferedWriter.min - 0 311481/2 4790259410492 8 -> java/lang/String.getChars - 0 311481/2 4790259410501 8 -> java/lang/System.arraycopy - 0 311481/2 4790259410509 8 <- java/lang/System.arraycopy - 0 311481/2 4790259410517 7 <- java/lang/String.getChars - 0 311481/2 4790259410525 8 <- java/io/BufferedWriter.write - 0 311481/2 4790259410533 7 <- java/io/Writer.write - 0 311481/2 4790259410541 7 -> java/io/BufferedWriter.flushBuffer - 0 311481/2 4790259410548 7 -> java/io/BufferedWriter.ensureOpen - 0 311481/2 4790259410555 7 <- java/io/BufferedWriter.ensureOpen - 0 311481/2 4790259410563 8 -> java/io/OutputStreamWriter.write - 0 311481/2 4790259410571 7 -> sun/nio/cs/StreamEncoder.write - 0 311481/2 4790259410579 7 -> sun/nio/cs/StreamEncoder.ensureOpen - 0 311481/2 4790259410586 7 <- sun/nio/cs/StreamEncoder.ensureOpen - 0 311481/2 4790259410595 8 -> sun/nio/cs/StreamEncoder.implWrite - 0 311481/2 4790259410602 7 -> java/nio/CharBuffer.wrap - 0 311481/2 4790259410610 7 -> java/nio/HeapCharBuffer. - 0 311481/2 4790259410618 7 -> java/nio/CharBuffer. - 0 311481/2 4790259410625 7 -> java/nio/Buffer. - 0 311481/2 4790259410633 7 -> java/lang/Object. - 0 311481/2 4790259410640 7 <- java/lang/Object. - 0 311481/2 4790259410648 8 -> java/nio/Buffer.limit - 0 311481/2 4790259410656 7 <- java/nio/Buffer.limit - 0 311481/2 4790259410664 7 -> java/nio/Buffer.position - 0 311481/2 4790259410671 7 <- java/nio/Buffer.position - 0 311481/2 4790259410678 7 <- java/nio/Buffer. - 0 311481/2 4790259410686 7 <- java/nio/CharBuffer. - 0 311481/2 4790259410694 7 <- java/nio/HeapCharBuffer. - 0 311481/2 4790259410701 7 <- java/nio/CharBuffer.wrap - 0 311481/2 4790259410710 8 -> java/nio/Buffer.hasRemaining - 0 311481/2 4790259410717 7 <- java/nio/Buffer.hasRemaining - 0 311481/2 4790259410725 8 -> java/nio/charset/CharsetEncoder.encode - 0 311481/2 4790259410733 8 -> sun/nio/cs/US_ASCII$Encoder.encodeLoop - 0 311481/2 4790259410741 7 -> java/nio/CharBuffer.hasArray - 0 311481/2 4790259410749 7 <- java/nio/CharBuffer.hasArray - 0 311481/2 4790259410757 8 -> java/nio/ByteBuffer.hasArray - 0 311481/2 4790259410764 7 <- java/nio/ByteBuffer.hasArray - 0 311481/2 4790259410772 7 -> sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop - 0 311481/2 4790259410780 7 -> java/nio/CharBuffer.array - 0 311481/2 4790259410787 7 <- java/nio/CharBuffer.array - 0 311481/2 4790259410795 7 -> java/nio/CharBuffer.arrayOffset - 0 311481/2 4790259410802 7 <- java/nio/CharBuffer.arrayOffset - 0 311481/2 4790259410810 7 -> java/nio/CharBuffer.arrayOffset - 0 311481/2 4790259410817 7 <- java/nio/CharBuffer.arrayOffset - 0 311481/2 4790259410826 8 -> java/nio/ByteBuffer.array - 0 311481/2 4790259410833 7 <- java/nio/ByteBuffer.array - 0 311481/2 4790259410841 7 -> java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790259410848 7 <- java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790259410855 7 -> java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790259410863 7 <- java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790259410873 9 -> java/nio/CharBuffer.arrayOffset - 0 311481/2 4790259410880 7 <- java/nio/CharBuffer.arrayOffset - 0 311481/2 4790259410888 7 -> java/nio/Buffer.position - 0 311481/2 4790259410895 7 <- java/nio/Buffer.position - 0 311481/2 4790259410902 7 -> java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790259410910 7 <- java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790259410917 7 -> java/nio/Buffer.position - 0 311481/2 4790259410924 7 <- java/nio/Buffer.position - 0 311481/2 4790259410932 7 <- sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop - 0 311481/2 4790259410940 7 <- sun/nio/cs/US_ASCII$Encoder.encodeLoop - 0 311481/2 4790259410948 8 -> java/nio/charset/CoderResult.isOverflow - 0 311481/2 4790259410955 7 <- java/nio/charset/CoderResult.isOverflow - 0 311481/2 4790259410963 7 -> java/nio/charset/CoderResult.isUnderflow - 0 311481/2 4790259410970 7 <- java/nio/charset/CoderResult.isUnderflow - 0 311481/2 4790259410978 7 <- java/nio/charset/CharsetEncoder.encode - 0 311481/2 4790259410986 7 -> java/nio/charset/CoderResult.isUnderflow - 0 311481/2 4790259410993 7 <- java/nio/charset/CoderResult.isUnderflow - 0 311481/2 4790259411001 8 -> java/nio/Buffer.remaining - 0 311481/2 4790259411008 7 <- java/nio/Buffer.remaining - 0 311481/2 4790259411016 7 <- sun/nio/cs/StreamEncoder.implWrite - 0 311481/2 4790259411024 7 <- sun/nio/cs/StreamEncoder.write - 0 311481/2 4790259411031 7 <- java/io/OutputStreamWriter.write - 0 311481/2 4790259411039 7 <- java/io/BufferedWriter.flushBuffer - 0 311481/2 4790259411047 8 -> java/io/OutputStreamWriter.flushBuffer - 0 311481/2 4790259411055 7 -> sun/nio/cs/StreamEncoder.flushBuffer - 0 311481/2 4790259411062 7 -> sun/nio/cs/StreamEncoder.implFlushBuffer - 0 311481/2 4790259411070 7 -> sun/nio/cs/StreamEncoder.writeBytes - 0 311481/2 4790259411077 7 -> java/nio/Buffer.flip - 0 311481/2 4790259411084 6 <- java/nio/Buffer.flip - 0 311481/2 4790259411092 8 -> java/nio/ByteBuffer.array - 0 311481/2 4790259411100 7 <- java/nio/ByteBuffer.array - 0 311481/2 4790259411107 7 -> java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790259411114 7 <- java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790259411122 7 -> java/io/PrintStream.write - 0 311481/2 4790259411130 7 -> java/io/PrintStream.ensureOpen - 0 311481/2 4790259411137 7 <- java/io/PrintStream.ensureOpen - 0 311481/2 4790259411145 8 -> java/io/BufferedOutputStream.write - 0 311481/2 4790259411153 7 -> java/lang/System.arraycopy - 0 311481/2 4790259411160 7 <- java/lang/System.arraycopy - 0 311481/2 4790259411168 7 <- java/io/BufferedOutputStream.write - 0 311481/2 4790259411176 8 -> java/io/BufferedOutputStream.flush - 0 311481/2 4790259411184 7 -> java/io/BufferedOutputStream.flushBuffer - 0 311481/2 4790259411192 7 -> java/io/FileOutputStream.write - 0 311481/2 4790259411199 7 -> java/io/FileOutputStream.writeBytes - 0 311481/2 4790259411241 41 <- java/io/FileOutputStream.writeBytes - 0 311481/2 4790259411249 8 <- java/io/FileOutputStream.write - 0 311481/2 4790259411257 7 <- java/io/BufferedOutputStream.flushBuffer - 0 311481/2 4790259411265 7 <- java/io/BufferedOutputStream.flush - 0 311481/2 4790259411272 7 <- java/io/PrintStream.write - 0 311481/2 4790259411280 7 -> java/nio/Buffer.clear - 0 311481/2 4790259411288 7 <- java/nio/Buffer.clear - 0 311481/2 4790259411295 7 <- sun/nio/cs/StreamEncoder.writeBytes - 0 311481/2 4790259411303 7 <- sun/nio/cs/StreamEncoder.implFlushBuffer - 0 311481/2 4790259411310 7 <- sun/nio/cs/StreamEncoder.flushBuffer - 0 311481/2 4790259411318 7 <- java/io/OutputStreamWriter.flushBuffer - 0 311481/2 4790259411326 8 -> java/lang/String.indexOf - 0 311481/2 4790259411334 7 -> java/lang/String.indexOf - 0 311481/2 4790259411342 8 <- java/lang/String.indexOf - 0 311481/2 4790259411349 7 <- java/lang/String.indexOf - 0 311481/2 4790259411357 7 <- java/io/PrintStream.write - 0 311481/2 4790259411365 7 <- java/io/PrintStream.print - 0 311481/2 4790259411372 7 -> java/io/PrintStream.newLine - 0 311481/2 4790259411380 7 -> java/io/PrintStream.ensureOpen - 0 311481/2 4790259411387 7 <- java/io/PrintStream.ensureOpen - 0 311481/2 4790259411395 7 -> java/io/BufferedWriter.newLine - 0 311481/2 4790259411402 7 -> java/io/Writer.write - 0 311481/2 4790259411409 7 -> java/io/BufferedWriter.write - 0 311481/2 4790259411416 7 -> java/io/BufferedWriter.ensureOpen - 0 311481/2 4790259411423 7 <- java/io/BufferedWriter.ensureOpen - 0 311481/2 4790259411431 7 -> java/io/BufferedWriter.min - 0 311481/2 4790259411439 7 <- java/io/BufferedWriter.min - 0 311481/2 4790259411446 7 -> java/lang/String.getChars - 0 311481/2 4790259411454 7 -> java/lang/System.arraycopy - 0 311481/2 4790259411461 7 <- java/lang/System.arraycopy - 0 311481/2 4790259411468 7 <- java/lang/String.getChars - 0 311481/2 4790259411476 7 <- java/io/BufferedWriter.write - 0 311481/2 4790259411484 7 <- java/io/Writer.write - 0 311481/2 4790259411491 7 <- java/io/BufferedWriter.newLine - 0 311481/2 4790259411499 7 -> java/io/BufferedWriter.flushBuffer - 0 311481/2 4790259411506 7 -> java/io/BufferedWriter.ensureOpen - 0 311481/2 4790259411513 7 <- java/io/BufferedWriter.ensureOpen - 0 311481/2 4790259411521 7 -> java/io/OutputStreamWriter.write - 0 311481/2 4790259411528 7 -> sun/nio/cs/StreamEncoder.write - 0 311481/2 4790259411535 7 -> sun/nio/cs/StreamEncoder.ensureOpen - 0 311481/2 4790259411543 7 <- sun/nio/cs/StreamEncoder.ensureOpen - 0 311481/2 4790259411550 7 -> sun/nio/cs/StreamEncoder.implWrite - 0 311481/2 4790259411558 7 -> java/nio/CharBuffer.wrap - 0 311481/2 4790259411565 7 -> java/nio/HeapCharBuffer. - 0 311481/2 4790259411572 7 -> java/nio/CharBuffer. - 0 311481/2 4790259411579 7 -> java/nio/Buffer. - 0 311481/2 4790259411586 6 -> java/lang/Object. - 0 311481/2 4790259411594 7 <- java/lang/Object. - 0 311481/2 4790259411601 7 -> java/nio/Buffer.limit - 0 311481/2 4790259411608 7 <- java/nio/Buffer.limit - 0 311481/2 4790259411616 7 -> java/nio/Buffer.position - 0 311481/2 4790259411623 7 <- java/nio/Buffer.position - 0 311481/2 4790259411631 7 <- java/nio/Buffer. - 0 311481/2 4790259411638 7 <- java/nio/CharBuffer. - 0 311481/2 4790259411646 7 <- java/nio/HeapCharBuffer. - 0 311481/2 4790259411653 7 <- java/nio/CharBuffer.wrap - 0 311481/2 4790259411661 7 -> java/nio/Buffer.hasRemaining - 0 311481/2 4790259411668 7 <- java/nio/Buffer.hasRemaining - 0 311481/2 4790259411676 7 -> java/nio/charset/CharsetEncoder.encode - 0 311481/2 4790259411684 7 -> sun/nio/cs/US_ASCII$Encoder.encodeLoop - 0 311481/2 4790259411691 7 -> java/nio/CharBuffer.hasArray - 0 311481/2 4790259411698 7 <- java/nio/CharBuffer.hasArray - 0 311481/2 4790259411706 7 -> java/nio/ByteBuffer.hasArray - 0 311481/2 4790259411713 7 <- java/nio/ByteBuffer.hasArray - 0 311481/2 4790259411721 7 -> sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop - 0 311481/2 4790259411728 7 -> java/nio/CharBuffer.array - 0 311481/2 4790259411735 7 <- java/nio/CharBuffer.array - 0 311481/2 4790259411743 7 -> java/nio/CharBuffer.arrayOffset - 0 311481/2 4790259411750 7 <- java/nio/CharBuffer.arrayOffset - 0 311481/2 4790259411758 7 -> java/nio/CharBuffer.arrayOffset - 0 311481/2 4790259411765 7 <- java/nio/CharBuffer.arrayOffset - 0 311481/2 4790259411773 7 -> java/nio/ByteBuffer.array - 0 311481/2 4790259411780 7 <- java/nio/ByteBuffer.array - 0 311481/2 4790259411787 7 -> java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790259411795 7 <- java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790259411802 7 -> java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790259411809 7 <- java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790259411818 8 -> java/nio/CharBuffer.arrayOffset - 0 311481/2 4790259411825 7 <- java/nio/CharBuffer.arrayOffset - 0 311481/2 4790259411833 7 -> java/nio/Buffer.position - 0 311481/2 4790259411840 7 <- java/nio/Buffer.position - 0 311481/2 4790259411847 7 -> java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790259411855 7 <- java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790259411862 7 -> java/nio/Buffer.position - 0 311481/2 4790259411869 7 <- java/nio/Buffer.position - 0 311481/2 4790259411877 7 <- sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop - 0 311481/2 4790259411885 7 <- sun/nio/cs/US_ASCII$Encoder.encodeLoop - 0 311481/2 4790259411893 8 -> java/nio/charset/CoderResult.isOverflow - 0 311481/2 4790259411900 7 <- java/nio/charset/CoderResult.isOverflow - 0 311481/2 4790259411908 7 -> java/nio/charset/CoderResult.isUnderflow - 0 311481/2 4790259411915 7 <- java/nio/charset/CoderResult.isUnderflow - 0 311481/2 4790259411923 7 <- java/nio/charset/CharsetEncoder.encode - 0 311481/2 4790259411931 7 -> java/nio/charset/CoderResult.isUnderflow - 0 311481/2 4790259411938 7 <- java/nio/charset/CoderResult.isUnderflow - 0 311481/2 4790259411946 7 -> java/nio/Buffer.remaining - 0 311481/2 4790259411953 7 <- java/nio/Buffer.remaining - 0 311481/2 4790259411960 7 <- sun/nio/cs/StreamEncoder.implWrite - 0 311481/2 4790259411968 7 <- sun/nio/cs/StreamEncoder.write - 0 311481/2 4790259411976 7 <- java/io/OutputStreamWriter.write - 0 311481/2 4790259411983 7 <- java/io/BufferedWriter.flushBuffer - 0 311481/2 4790259411991 7 -> java/io/OutputStreamWriter.flushBuffer - 0 311481/2 4790259411999 7 -> sun/nio/cs/StreamEncoder.flushBuffer - 0 311481/2 4790259412006 7 -> sun/nio/cs/StreamEncoder.implFlushBuffer - 0 311481/2 4790259412013 7 -> sun/nio/cs/StreamEncoder.writeBytes - 0 311481/2 4790259412021 7 -> java/nio/Buffer.flip - 0 311481/2 4790259412028 6 <- java/nio/Buffer.flip - 0 311481/2 4790259412035 7 -> java/nio/ByteBuffer.array - 0 311481/2 4790259412043 7 <- java/nio/ByteBuffer.array - 0 311481/2 4790259412050 7 -> java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790259412057 7 <- java/nio/ByteBuffer.arrayOffset - 0 311481/2 4790259412065 7 -> java/io/PrintStream.write - 0 311481/2 4790259412072 7 -> java/io/PrintStream.ensureOpen - 0 311481/2 4790259412080 7 <- java/io/PrintStream.ensureOpen - 0 311481/2 4790259412087 7 -> java/io/BufferedOutputStream.write - 0 311481/2 4790259412095 7 -> java/lang/System.arraycopy - 0 311481/2 4790259412102 7 <- java/lang/System.arraycopy - 0 311481/2 4790259412110 7 <- java/io/BufferedOutputStream.write - 0 311481/2 4790259412118 7 -> java/io/BufferedOutputStream.flush - 0 311481/2 4790259412125 7 -> java/io/BufferedOutputStream.flushBuffer - 0 311481/2 4790259412132 7 -> java/io/FileOutputStream.write - 0 311481/2 4790259412140 7 -> java/io/FileOutputStream.writeBytes - 0 311481/2 4790259412157 17 <- java/io/FileOutputStream.writeBytes - 0 311481/2 4790259412165 8 <- java/io/FileOutputStream.write - 0 311481/2 4790259412172 7 <- java/io/BufferedOutputStream.flushBuffer - 0 311481/2 4790259412180 7 <- java/io/BufferedOutputStream.flush - 0 311481/2 4790259412188 7 <- java/io/PrintStream.write - 0 311481/2 4790259412195 7 -> java/nio/Buffer.clear - 0 311481/2 4790259412203 7 <- java/nio/Buffer.clear - 0 311481/2 4790259412210 7 <- sun/nio/cs/StreamEncoder.writeBytes - 0 311481/2 4790259412218 7 <- sun/nio/cs/StreamEncoder.implFlushBuffer - 0 311481/2 4790259412226 7 <- sun/nio/cs/StreamEncoder.flushBuffer - 0 311481/2 4790259412233 7 <- java/io/OutputStreamWriter.flushBuffer - 0 311481/2 4790259412241 7 -> java/io/BufferedOutputStream.flush - 0 311481/2 4790259412248 7 -> java/io/BufferedOutputStream.flushBuffer - 0 311481/2 4790259412256 7 <- java/io/BufferedOutputStream.flushBuffer - 0 311481/2 4790259412263 7 <- java/io/BufferedOutputStream.flush - 0 311481/2 4790259412271 7 <- java/io/PrintStream.newLine - 0 311481/2 4790259412279 7 <- java/io/PrintStream.println - 0 311481/2 4790259412287 8 -> java/lang/Thread.currentThread - 0 311481/2 4790259412294 7 <- java/lang/Thread.currentThread - 0 311481/2 4790259412302 7 -> java/lang/Thread.sleep - 0 311481/2 4790260420044 1007741 <- java/lang/Thread.sleep - 0 311481/2 4790260420073 29 <- Func_abc.func_c - 0 311481/2 4790260420081 7 <- Func_abc.func_b - 0 311481/2 4790260420088 7 <- Func_abc.func_a - 0 311481/2 4790260420096 7 <- Func_abc.main - 0 311481/2 4790260420121 24 -> java/lang/Thread.exit - 0 311481/2 4790260420153 32 -> java/lang/ThreadGroup.remove - 0 311481/2 4790260420169 15 -> java/lang/System.arraycopy - 0 311481/2 4790260420178 8 <- java/lang/System.arraycopy - 0 311481/2 4790260420190 11 -> java/lang/Object.notifyAll - 0 311481/2 4790260420203 13 <- java/lang/Object.notifyAll - 0 311481/2 4790260420211 8 <- java/lang/ThreadGroup.remove - 0 311481/2 4790260420225 13 <- java/lang/Thread.exit - 0 311481/2 4790260420438 212 -> java/lang/Thread. - 0 311481/2 4790260420447 8 -> java/lang/Object. - 0 311481/2 4790260420454 7 <- java/lang/Object. - 0 311481/2 4790260420464 9 -> java/lang/Object. - 0 311481/2 4790260420471 7 <- java/lang/Object. - 0 311481/2 4790260420479 8 -> java/lang/Thread.init - 0 311481/2 4790260420486 7 -> java/lang/Thread.currentThread - 0 311481/2 4790260420494 7 <- java/lang/Thread.currentThread - 0 311481/2 4790260420503 8 -> java/lang/System.getSecurityManager - 0 311481/2 4790260420511 7 <- java/lang/System.getSecurityManager - 0 311481/2 4790260420519 8 -> java/lang/ThreadGroup.checkAccess - 0 311481/2 4790260420526 7 -> java/lang/System.getSecurityManager - 0 311481/2 4790260420534 7 <- java/lang/System.getSecurityManager - 0 311481/2 4790260420542 8 <- java/lang/ThreadGroup.checkAccess - 0 311481/2 4790260420550 8 -> java/lang/ThreadGroup.addUnstarted - 0 311481/2 4790260420558 7 <- java/lang/ThreadGroup.addUnstarted - 0 311481/2 4790260420567 9 -> java/lang/String.toCharArray - 0 311481/2 4790260420575 8 -> java/lang/String.getChars - 0 311481/2 4790260420584 8 -> java/lang/System.arraycopy - 0 311481/2 4790260420592 8 <- java/lang/System.arraycopy - 0 311481/2 4790260420599 7 <- java/lang/String.getChars - 0 311481/2 4790260420607 7 <- java/lang/String.toCharArray - 0 311481/2 4790260420615 7 -> java/lang/Thread.getContextClassLoader - 0 311481/2 4790260420622 7 <- java/lang/Thread.getContextClassLoader - 0 311481/2 4790260420631 8 -> java/security/AccessController.getContext - 0 311481/2 4790260420638 7 -> java/security/AccessController.getStackAccessControlContext - 0 311481/2 4790260420653 14 <- java/security/AccessController.getStackAccessControlContext - 0 311481/2 4790260420662 8 -> java/security/AccessControlContext.optimize - 0 311481/2 4790260420670 8 -> java/security/AccessController.getInheritedAccessControlContext - 0 311481/2 4790260420678 8 <- java/security/AccessController.getInheritedAccessControlContext - 0 311481/2 4790260420687 8 <- java/security/AccessControlContext.optimize - 0 311481/2 4790260420695 7 <- java/security/AccessController.getContext - 0 311481/2 4790260420703 8 -> java/lang/Thread.setPriority - 0 311481/2 4790260420710 7 -> java/lang/Thread.checkAccess - 0 311481/2 4790260420718 7 -> java/lang/System.getSecurityManager - 0 311481/2 4790260420725 7 <- java/lang/System.getSecurityManager - 0 311481/2 4790260420732 7 <- java/lang/Thread.checkAccess - 0 311481/2 4790260420741 8 -> java/lang/Thread.setPriority0 - 0 311481/2 4790260420760 19 <- java/lang/Thread.setPriority0 - 0 311481/2 4790260420768 8 <- java/lang/Thread.setPriority - 0 311481/2 4790260420777 8 -> java/lang/Thread.nextThreadID - 0 311481/2 4790260420785 8 <- java/lang/Thread.nextThreadID - 0 311481/2 4790260420793 7 <- java/lang/Thread.init - 0 311481/2 4790260420801 7 <- java/lang/Thread. - 0 311481/2 4790260420810 9 -> java/lang/ThreadGroup.add - 0 311481/2 4790260420819 8 <- java/lang/ThreadGroup.add - 0 311481/2 4790260420834 15 -> java/lang/Shutdown.shutdown - 0 311481/2 4790260420846 12 -> java/lang/Shutdown.sequence - 0 311481/2 4790260420855 9 -> java/lang/Shutdown.runHooks - 0 311481/2 4790260420867 11 -> java/util/AbstractList.iterator - 0 311481/2 4790260421144 277 -> java/util/AbstractList$Itr. - 0 311481/2 4790260421156 12 -> java/util/AbstractList$Itr. - 0 311481/2 4790260421168 11 -> java/lang/Object. - 0 311481/2 4790260421175 7 <- java/lang/Object. - 0 311481/2 4790260421189 13 <- java/util/AbstractList$Itr. - 0 311481/2 4790260421197 7 <- java/util/AbstractList$Itr. - 0 311481/2 4790260421205 7 <- java/util/AbstractList.iterator - 0 311481/2 4790260421218 13 -> java/util/AbstractList$Itr.hasNext - 0 311481/2 4790260421229 11 <- java/util/AbstractList$Itr.hasNext - 0 311481/2 4790260421240 10 -> java/util/AbstractList$Itr.next - 0 311481/2 4790260421249 9 -> java/util/AbstractList$Itr.checkForComodification - 0 311481/2 4790260421256 7 <- java/util/AbstractList$Itr.checkForComodification - 0 311481/2 4790260421267 10 -> java/util/ArrayList.get - 0 311481/2 4790260421274 7 -> java/util/ArrayList.RangeCheck - 0 311481/2 4790260421282 7 <- java/util/ArrayList.RangeCheck - 0 311481/2 4790260421290 7 <- java/util/ArrayList.get - 0 311481/2 4790260421297 7 <- java/util/AbstractList$Itr.next - 0 311481/2 4790260421310 12 -> java/io/Console$1$1.run - 0 311481/2 4790260421321 10 -> java/io/Console.access$600 - 0 311481/2 4790260421330 9 <- java/io/Console.access$600 - 0 311481/2 4790260421338 7 <- java/io/Console$1$1.run - 0 311481/2 4790260421346 7 -> java/util/AbstractList$Itr.hasNext - 0 311481/2 4790260421353 7 <- java/util/AbstractList$Itr.hasNext - 0 311481/2 4790260421361 7 -> java/util/AbstractList$Itr.next - 0 311481/2 4790260421368 7 -> java/util/AbstractList$Itr.checkForComodification - 0 311481/2 4790260421376 7 <- java/util/AbstractList$Itr.checkForComodification - 0 311481/2 4790260421384 8 -> java/util/ArrayList.get - 0 311481/2 4790260421391 7 -> java/util/ArrayList.RangeCheck - 0 311481/2 4790260421398 7 <- java/util/ArrayList.RangeCheck - 0 311481/2 4790260421406 7 <- java/util/ArrayList.get - 0 311481/2 4790260421414 7 <- java/util/AbstractList$Itr.next - 0 311481/2 4790260421422 8 -> java/lang/ApplicationShutdownHooks.run - 0 311481/2 4790260421435 13 -> java/util/IdentityHashMap.keySet - 0 311481/2 4790260421598 163 -> java/util/IdentityHashMap$KeySet. - 0 311481/2 4790260421610 11 -> java/util/IdentityHashMap$KeySet. - 0 311481/2 4790260421622 11 -> java/util/AbstractSet. - 0 311481/2 4790260421629 7 -> java/util/AbstractCollection. - 0 311481/2 4790260421637 7 -> java/lang/Object. - 0 311481/2 4790260421644 7 <- java/lang/Object. - 0 311481/2 4790260421652 8 <- java/util/AbstractCollection. - 0 311481/2 4790260421660 7 <- java/util/AbstractSet. - 0 311481/2 4790260421668 7 <- java/util/IdentityHashMap$KeySet. - 0 311481/2 4790260421675 7 <- java/util/IdentityHashMap$KeySet. - 0 311481/2 4790260421683 7 <- java/util/IdentityHashMap.keySet - 0 311481/2 4790260421695 11 -> java/util/IdentityHashMap$KeySet.iterator - 0 311481/2 4790260421882 187 -> java/util/IdentityHashMap$KeyIterator. - 0 311481/2 4790260421894 11 -> java/util/IdentityHashMap$KeyIterator. - 0 311481/2 4790260421905 11 -> java/util/IdentityHashMap$IdentityHashMapIterator. - 0 311481/2 4790260421915 10 -> java/util/IdentityHashMap$IdentityHashMapIterator. - 0 311481/2 4790260421926 10 -> java/lang/Object. - 0 311481/2 4790260421934 7 <- java/lang/Object. - 0 311481/2 4790260421945 11 -> java/util/IdentityHashMap.access$000 - 0 311481/2 4790260421954 8 <- java/util/IdentityHashMap.access$000 - 0 311481/2 4790260421967 12 -> java/util/IdentityHashMap.access$200 - 0 311481/2 4790260421975 8 <- java/util/IdentityHashMap.access$200 - 0 311481/2 4790260421986 10 <- java/util/IdentityHashMap$IdentityHashMapIterator. - 0 311481/2 4790260421994 8 <- java/util/IdentityHashMap$IdentityHashMapIterator. - 0 311481/2 4790260422002 7 <- java/util/IdentityHashMap$KeyIterator. - 0 311481/2 4790260422010 7 <- java/util/IdentityHashMap$KeyIterator. - 0 311481/2 4790260422018 7 <- java/util/IdentityHashMap$KeySet.iterator - 0 311481/2 4790260422029 11 -> java/util/IdentityHashMap$IdentityHashMapIterator.hasNext - 0 311481/2 4790260422037 8 <- java/util/IdentityHashMap$IdentityHashMapIterator.hasNext - 0 311481/2 4790260422045 8 -> java/util/IdentityHashMap$KeySet.iterator - 0 311481/2 4790260422053 7 -> java/util/IdentityHashMap$KeyIterator. - 0 311481/2 4790260422060 7 -> java/util/IdentityHashMap$KeyIterator. - 0 311481/2 4790260422068 7 -> java/util/IdentityHashMap$IdentityHashMapIterator. - 0 311481/2 4790260422075 7 -> java/util/IdentityHashMap$IdentityHashMapIterator. - 0 311481/2 4790260422083 7 -> java/lang/Object. - 0 311481/2 4790260422090 7 <- java/lang/Object. - 0 311481/2 4790260422098 8 <- java/util/IdentityHashMap$IdentityHashMapIterator. - 0 311481/2 4790260422106 8 <- java/util/IdentityHashMap$IdentityHashMapIterator. - 0 311481/2 4790260422114 7 <- java/util/IdentityHashMap$KeyIterator. - 0 311481/2 4790260422121 7 <- java/util/IdentityHashMap$KeyIterator. - 0 311481/2 4790260422129 7 <- java/util/IdentityHashMap$KeySet.iterator - 0 311481/2 4790260422137 7 -> java/util/IdentityHashMap$IdentityHashMapIterator.hasNext - 0 311481/2 4790260422145 7 <- java/util/IdentityHashMap$IdentityHashMapIterator.hasNext - 0 311481/2 4790260422153 8 <- java/lang/ApplicationShutdownHooks.run - 0 311481/2 4790260422161 7 -> java/util/AbstractList$Itr.hasNext - 0 311481/2 4790260422168 7 <- java/util/AbstractList$Itr.hasNext - 0 311481/2 4790260422176 7 -> java/util/AbstractList$Itr.next - 0 311481/2 4790260422183 7 -> java/util/AbstractList$Itr.checkForComodification - 0 311481/2 4790260422191 7 <- java/util/AbstractList$Itr.checkForComodification - 0 311481/2 4790260422199 8 -> java/util/ArrayList.get - 0 311481/2 4790260422206 7 -> java/util/ArrayList.RangeCheck - 0 311481/2 4790260422213 7 <- java/util/ArrayList.RangeCheck - 0 311481/2 4790260422221 7 <- java/util/ArrayList.get - 0 311481/2 4790260422229 7 <- java/util/AbstractList$Itr.next - 0 311481/2 4790260422237 8 -> java/io/File$1.run - 0 311481/2 4790260422318 81 -> java/io/DeleteOnExitHook. - 0 311481/2 4790260422461 143 -> java/util/LinkedHashSet. - 0 311481/2 4790260422473 12 -> java/util/HashSet. - 0 311481/2 4790260422481 7 -> java/util/AbstractSet. - 0 311481/2 4790260422488 7 -> java/util/AbstractCollection. - 0 311481/2 4790260422495 7 -> java/lang/Object. - 0 311481/2 4790260422502 7 <- java/lang/Object. - 0 311481/2 4790260422511 8 <- java/util/AbstractCollection. - 0 311481/2 4790260422519 7 <- java/util/AbstractSet. - 0 311481/2 4790260422531 12 -> java/util/LinkedHashMap. - 0 311481/2 4790260422541 10 -> java/util/HashMap. - 0 311481/2 4790260422549 7 -> java/util/AbstractMap. - 0 311481/2 4790260422556 7 -> java/lang/Object. - 0 311481/2 4790260422563 7 <- java/lang/Object. - 0 311481/2 4790260422571 7 <- java/util/AbstractMap. - 0 311481/2 4790260422580 9 -> java/lang/Float.isNaN - 0 311481/2 4790260422588 7 <- java/lang/Float.isNaN - 0 311481/2 4790260422600 12 -> java/util/LinkedHashMap.init - 0 311481/2 4790260422608 8 -> java/util/LinkedHashMap$Entry. - 0 311481/2 4790260422615 7 -> java/util/HashMap$Entry. - 0 311481/2 4790260422623 7 -> java/lang/Object. - 0 311481/2 4790260422630 6 <- java/lang/Object. - 0 311481/2 4790260422638 7 <- java/util/HashMap$Entry. - 0 311481/2 4790260422645 7 <- java/util/LinkedHashMap$Entry. - 0 311481/2 4790260422653 7 <- java/util/LinkedHashMap.init - 0 311481/2 4790260422660 7 <- java/util/HashMap. - 0 311481/2 4790260422668 7 <- java/util/LinkedHashMap. - 0 311481/2 4790260422676 7 <- java/util/HashSet. - 0 311481/2 4790260422683 7 <- java/util/LinkedHashSet. - 0 311481/2 4790260422692 9 <- java/io/DeleteOnExitHook. - 0 311481/2 4790260422703 10 -> java/io/DeleteOnExitHook.hook - 0 311481/2 4790260422713 10 -> java/io/DeleteOnExitHook. - 0 311481/2 4790260422723 9 -> java/lang/Object. - 0 311481/2 4790260422730 7 <- java/lang/Object. - 0 311481/2 4790260422738 7 <- java/io/DeleteOnExitHook. - 0 311481/2 4790260422746 7 <- java/io/DeleteOnExitHook.hook - 0 311481/2 4790260422756 10 -> java/io/DeleteOnExitHook.run - 0 311481/2 4790260422768 12 -> java/util/ArrayList. - 0 311481/2 4790260422775 7 -> java/util/AbstractList. - 0 311481/2 4790260422783 7 -> java/util/AbstractCollection. - 0 311481/2 4790260422790 7 -> java/lang/Object. - 0 311481/2 4790260422797 7 <- java/lang/Object. - 0 311481/2 4790260422805 7 <- java/util/AbstractCollection. - 0 311481/2 4790260422813 7 <- java/util/AbstractList. - 0 311481/2 4790260422824 11 -> java/util/AbstractCollection.toArray - 0 311481/2 4790260422835 10 -> java/util/HashSet.size - 0 311481/2 4790260422844 9 <- java/util/HashSet.size - 0 311481/2 4790260422855 10 -> java/util/HashSet.iterator - 0 311481/2 4790260422865 9 -> java/util/HashMap.keySet - 0 311481/2 4790260422956 91 -> java/util/HashMap$KeySet. - 0 311481/2 4790260422967 10 -> java/util/HashMap$KeySet. - 0 311481/2 4790260422978 10 -> java/util/AbstractSet. - 0 311481/2 4790260422985 7 -> java/util/AbstractCollection. - 0 311481/2 4790260422993 7 -> java/lang/Object. - 0 311481/2 4790260423000 7 <- java/lang/Object. - 0 311481/2 4790260423008 7 <- java/util/AbstractCollection. - 0 311481/2 4790260423015 7 <- java/util/AbstractSet. - 0 311481/2 4790260423023 7 <- java/util/HashMap$KeySet. - 0 311481/2 4790260423031 7 <- java/util/HashMap$KeySet. - 0 311481/2 4790260423038 7 <- java/util/HashMap.keySet - 0 311481/2 4790260423049 10 -> java/util/HashMap$KeySet.iterator - 0 311481/2 4790260423060 11 -> java/util/LinkedHashMap.newKeyIterator - 0 311481/2 4790260423243 182 -> java/util/LinkedHashMap$KeyIterator. - 0 311481/2 4790260423254 11 -> java/util/LinkedHashMap$KeyIterator. - 0 311481/2 4790260423266 11 -> java/util/LinkedHashMap$LinkedHashIterator. - 0 311481/2 4790260423276 9 -> java/util/LinkedHashMap$LinkedHashIterator. - 0 311481/2 4790260423286 10 -> java/lang/Object. - 0 311481/2 4790260423294 7 <- java/lang/Object. - 0 311481/2 4790260423311 16 <- java/util/LinkedHashMap$LinkedHashIterator. - 0 311481/2 4790260423319 8 <- java/util/LinkedHashMap$LinkedHashIterator. - 0 311481/2 4790260423327 7 <- java/util/LinkedHashMap$KeyIterator. - 0 311481/2 4790260423334 7 <- java/util/LinkedHashMap$KeyIterator. - 0 311481/2 4790260423342 7 <- java/util/LinkedHashMap.newKeyIterator - 0 311481/2 4790260423350 7 <- java/util/HashMap$KeySet.iterator - 0 311481/2 4790260423357 7 <- java/util/HashSet.iterator - 0 311481/2 4790260423369 11 -> java/util/LinkedHashMap$LinkedHashIterator.hasNext - 0 311481/2 4790260423377 8 <- java/util/LinkedHashMap$LinkedHashIterator.hasNext - 0 311481/2 4790260423385 8 <- java/util/AbstractCollection.toArray - 0 311481/2 4790260423393 8 -> java/lang/Object.getClass - 0 311481/2 4790260423402 8 <- java/lang/Object.getClass - 0 311481/2 4790260423410 8 <- java/util/ArrayList. - 0 311481/2 4790260423422 11 -> java/util/Collections.reverse - 0 311481/2 4790260423435 13 <- java/util/Collections.reverse - 0 311481/2 4790260423445 10 -> java/util/AbstractList.iterator - 0 311481/2 4790260423453 8 -> java/util/AbstractList$Itr. - 0 311481/2 4790260423460 7 -> java/util/AbstractList$Itr. - 0 311481/2 4790260423468 7 -> java/lang/Object. - 0 311481/2 4790260423475 7 <- java/lang/Object. - 0 311481/2 4790260423483 7 <- java/util/AbstractList$Itr. - 0 311481/2 4790260423490 7 <- java/util/AbstractList$Itr. - 0 311481/2 4790260423498 7 <- java/util/AbstractList.iterator - 0 311481/2 4790260423508 10 -> java/util/AbstractList$Itr.hasNext - 0 311481/2 4790260423516 7 <- java/util/AbstractList$Itr.hasNext - 0 311481/2 4790260423524 8 <- java/io/DeleteOnExitHook.run - 0 311481/2 4790260423532 7 <- java/io/File$1.run - 0 311481/2 4790260423539 7 -> java/util/AbstractList$Itr.hasNext - 0 311481/2 4790260423547 7 <- java/util/AbstractList$Itr.hasNext - 0 311481/2 4790260423554 7 <- java/lang/Shutdown.runHooks - 0 311481/2 4790260423564 9 <- java/lang/Shutdown.sequence - 0 311481/2 4790260423572 7 <- java/lang/Shutdown.shutdown - -I truncated 22800 lines from the above output to make it fit here. - -The fifth column is indented by 2 spaces to show when a new method begins. -This shows which method is calling which. - -The TIME(us) column shows time since boot. - -The DELTA(us) column shows time from that line to the previous line, and -so can be a bit tricky to read. - -The FILE column shows file that was being executed. - -If the output looks shuffled, check the CPU "C" and "TIME" columns, and -post sort based on TIME if necessary. - -Try skimming down the "DELTA(us)" column to find the largest delta time, -and see what lines it corresponds with. - -See Notes/ALLflow_notes.txt for important notes about reading flow outputs. - -If you see "drops" warnings, see the Notes/ALLjava_notes.txt file for details. - diff --git a/cddl/contrib/dtracetoolkit/Examples/j_methodcalls_example.txt b/cddl/contrib/dtracetoolkit/Examples/j_methodcalls_example.txt deleted file mode 100644 index 22a2b4d1a7e9..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/j_methodcalls_example.txt +++ /dev/null @@ -1,999 +0,0 @@ -The following are examples of running the j_methodcalls.d script. - -This traces calls to methods from all Java processes on the system with hotspot -provider support (1.6.0). Method calls are only visible when using the flag -"+ExtendedDTraceProbes". eg, java -XX:+ExtendedDTraceProbes classfile - -Here we see it running on Code/Java/Func_abc - -# j_methodcalls_example.txt -Tracing... Hit Ctrl-C to end. - - PID COUNT CLASS.METHOD - 311492 1 Func_abc.func_a - 311492 1 Func_abc.func_b - 311492 1 Func_abc.func_c - 311492 1 Func_abc.main - 311492 1 java/io/BufferedInputStream. - 311492 1 java/io/BufferedReader. - 311492 1 java/io/BufferedReader.close - 311492 1 java/io/BufferedWriter. - 311492 1 java/io/Console$1$1. - 311492 1 java/io/Console$1$1.run - 311492 1 java/io/Console$1. - 311492 1 java/io/Console$1.consoleRestoreHook - 311492 1 java/io/Console. - 311492 1 java/io/Console.access$600 - 311492 1 java/io/DataInputStream. - 311492 1 java/io/DataInputStream.readFully - 311492 1 java/io/DeleteOnExitHook. - 311492 1 java/io/DeleteOnExitHook. - 311492 1 java/io/DeleteOnExitHook.hook - 311492 1 java/io/DeleteOnExitHook.run - 311492 1 java/io/File$1. - 311492 1 java/io/File$1.run - 311492 1 java/io/File. - 311492 1 java/io/File.lastModified - 311492 1 java/io/File.length - 311492 1 java/io/FileDescriptor. - 311492 1 java/io/FileDescriptor.initIDs - 311492 1 java/io/FileInputStream. - 311492 1 java/io/FileInputStream.available - 311492 1 java/io/FileInputStream.initIDs - 311492 1 java/io/FileOutputStream. - 311492 1 java/io/FileOutputStream.initIDs - 311492 1 java/io/FilePermission.newPermissionCollection - 311492 1 java/io/FilePermissionCollection. - 311492 1 java/io/FilePermissionCollection. - 311492 1 java/io/FilePermissionCollection.add - 311492 1 java/io/FileReader. - 311492 1 java/io/FileSystem. - 311492 1 java/io/FileSystem. - 311492 1 java/io/FileSystem.getFileSystem - 311492 1 java/io/FilterInputStream.close - 311492 1 java/io/InputStreamReader. - 311492 1 java/io/InputStreamReader.close - 311492 1 java/io/ObjectStreamClass. - 311492 1 java/io/ObjectStreamClass.initNative - 311492 1 java/io/UnixFileSystem. - 311492 1 java/io/UnixFileSystem. - 311492 1 java/io/UnixFileSystem.getLastModifiedTime - 311492 1 java/io/UnixFileSystem.getLength - 311492 1 java/io/UnixFileSystem.initIDs - 311492 1 java/lang/AbstractStringBuilder. - 311492 1 java/lang/ApplicationShutdownHooks. - 311492 1 java/lang/ApplicationShutdownHooks. - 311492 1 java/lang/ApplicationShutdownHooks.hook - 311492 1 java/lang/ApplicationShutdownHooks.run - 311492 1 java/lang/Boolean. - 311492 1 java/lang/Byte. - 311492 1 java/lang/Character. - 311492 1 java/lang/CharacterDataLatin1. - 311492 1 java/lang/Class. - 311492 1 java/lang/Class.access$302 - 311492 1 java/lang/Class.registerNatives - 311492 1 java/lang/ClassLoader$3. - 311492 1 java/lang/ClassLoader$3.run - 311492 1 java/lang/ClassLoader$NativeLibrary. - 311492 1 java/lang/ClassLoader$NativeLibrary.getFromClass - 311492 1 java/lang/ClassLoader$NativeLibrary.load - 311492 1 java/lang/ClassLoader. - 311492 1 java/lang/ClassLoader.access$100 - 311492 1 java/lang/ClassLoader.addClass - 311492 1 java/lang/ClassLoader.checkCerts - 311492 1 java/lang/ClassLoader.defineClass - 311492 1 java/lang/ClassLoader.defineClass1 - 311492 1 java/lang/ClassLoader.defineClassSourceLocation - 311492 1 java/lang/ClassLoader.getSystemClassLoader - 311492 1 java/lang/ClassLoader.initSystemClassLoader - 311492 1 java/lang/ClassLoader.loadLibrary - 311492 1 java/lang/ClassLoader.loadLibrary0 - 311492 1 java/lang/ClassLoader.postDefineClass - 311492 1 java/lang/ClassLoader.preDefineClass - 311492 1 java/lang/ClassLoader.registerNatives - 311492 1 java/lang/Compiler$1. - 311492 1 java/lang/Compiler$1.run - 311492 1 java/lang/Compiler. - 311492 1 java/lang/Compiler.registerNatives - 311492 1 java/lang/Double. - 311492 1 java/lang/Double.doubleToLongBits - 311492 1 java/lang/Double.doubleToRawLongBits - 311492 1 java/lang/Error. - 311492 1 java/lang/Float. - 311492 1 java/lang/Float.floatToIntBits - 311492 1 java/lang/Float.floatToRawIntBits - 311492 1 java/lang/IncompatibleClassChangeError. - 311492 1 java/lang/Integer. - 311492 1 java/lang/LinkageError. - 311492 1 java/lang/Long. - 311492 1 java/lang/Math. - 311492 1 java/lang/NoSuchMethodError. - 311492 1 java/lang/Object. - 311492 1 java/lang/Object.notifyAll - 311492 1 java/lang/Object.registerNatives - 311492 1 java/lang/Runtime. - 311492 1 java/lang/Runtime. - 311492 1 java/lang/Runtime.loadLibrary0 - 311492 1 java/lang/Runtime.maxMemory - 311492 1 java/lang/Short. - 311492 1 java/lang/Shutdown. - 311492 1 java/lang/Shutdown.runHooks - 311492 1 java/lang/Shutdown.sequence - 311492 1 java/lang/Shutdown.shutdown - 311492 1 java/lang/String. - 311492 1 java/lang/String.checkBounds - 311492 1 java/lang/String.length - 311492 1 java/lang/String.trim - 311492 1 java/lang/StringBuffer. - 311492 1 java/lang/StringCoding$StringDecoder.decode - 311492 1 java/lang/StringCoding. - 311492 1 java/lang/StringCoding.access$000 - 311492 1 java/lang/StringCoding.access$100 - 311492 1 java/lang/StringCoding.decode - 311492 1 java/lang/StringCoding.deref - 311492 1 java/lang/StringCoding.lookupCharset - 311492 1 java/lang/StringCoding.safeTrim - 311492 1 java/lang/StringCoding.scale - 311492 1 java/lang/StringCoding.set - 311492 1 java/lang/System$2. - 311492 1 java/lang/System. - 311492 1 java/lang/System.getCallerClass - 311492 1 java/lang/System.initProperties - 311492 1 java/lang/System.initializeSystemClass - 311492 1 java/lang/System.loadLibrary - 311492 1 java/lang/System.mapLibraryName - 311492 1 java/lang/System.nullInputStream - 311492 1 java/lang/System.registerNatives - 311492 1 java/lang/System.setErr0 - 311492 1 java/lang/System.setIn0 - 311492 1 java/lang/System.setOut0 - 311492 1 java/lang/SystemClassLoaderAction. - 311492 1 java/lang/SystemClassLoaderAction.run - 311492 1 java/lang/Terminator$1. - 311492 1 java/lang/Terminator. - 311492 1 java/lang/Terminator.setup - 311492 1 java/lang/Thread. - 311492 1 java/lang/Thread.exit - 311492 1 java/lang/Thread.getPriority - 311492 1 java/lang/Thread.interrupted - 311492 1 java/lang/Thread.isInterrupted - 311492 1 java/lang/Thread.registerNatives - 311492 1 java/lang/Thread.setContextClassLoader - 311492 1 java/lang/ThreadGroup.remove - 311492 1 java/lang/ThreadLocal$ThreadLocalMap$Entry. - 311492 1 java/lang/ThreadLocal$ThreadLocalMap. - 311492 1 java/lang/ThreadLocal$ThreadLocalMap.access$100 - 311492 1 java/lang/ThreadLocal$ThreadLocalMap.set - 311492 1 java/lang/ThreadLocal$ThreadLocalMap.setThreshold - 311492 1 java/lang/ThreadLocal. - 311492 1 java/lang/ThreadLocal.createMap - 311492 1 java/lang/ThreadLocal.get - 311492 1 java/lang/ThreadLocal.initialValue - 311492 1 java/lang/ThreadLocal.set - 311492 1 java/lang/ThreadLocal.setInitialValue - 311492 1 java/lang/ref/Finalizer$FinalizerThread. - 311492 1 java/lang/ref/Finalizer$FinalizerThread.run - 311492 1 java/lang/ref/Finalizer. - 311492 1 java/lang/ref/Finalizer.access$000 - 311492 1 java/lang/ref/Reference$ReferenceHandler. - 311492 1 java/lang/ref/Reference$ReferenceHandler.run - 311492 1 java/lang/ref/Reference. - 311492 1 java/lang/ref/Reference.access$200 - 311492 1 java/lang/ref/ReferenceQueue. - 311492 1 java/lang/ref/ReferenceQueue.reallyPoll - 311492 1 java/lang/reflect/AccessibleObject. - 311492 1 java/lang/reflect/Constructor. - 311492 1 java/lang/reflect/Field. - 311492 1 java/lang/reflect/Field.getName - 311492 1 java/lang/reflect/Method. - 311492 1 java/lang/reflect/Method.getModifiers - 311492 1 java/lang/reflect/Modifier. - 311492 1 java/lang/reflect/Modifier.isVolatile - 311492 1 java/lang/reflect/ReflectAccess. - 311492 1 java/lang/reflect/ReflectPermission. - 311492 1 java/net/ContentHandler. - 311492 1 java/net/Parts.getQuery - 311492 1 java/net/URL. - 311492 1 java/net/URL.openConnection - 311492 1 java/net/URLClassLoader$7. - 311492 1 java/net/URLClassLoader. - 311492 1 java/net/URLClassLoader.access$000 - 311492 1 java/net/URLClassLoader.defineClass - 311492 1 java/net/URLClassLoader.getPermissions - 311492 1 java/net/URLConnection. - 311492 1 java/net/URLConnection. - 311492 1 java/net/UnknownContentHandler. - 311492 1 java/nio/Bits. - 311492 1 java/nio/ByteOrder. - 311492 1 java/nio/charset/Charset. - 311492 1 java/nio/charset/Charset. - 311492 1 java/nio/charset/CharsetDecoder. - 311492 1 java/nio/charset/CharsetDecoder.flush - 311492 1 java/nio/charset/CharsetDecoder.implFlush - 311492 1 java/nio/charset/CharsetEncoder. - 311492 1 java/nio/charset/CoderResult$1. - 311492 1 java/nio/charset/CoderResult$2. - 311492 1 java/nio/charset/CoderResult. - 311492 1 java/nio/charset/CodingErrorAction. - 311492 1 java/nio/charset/spi/CharsetProvider. - 311492 1 java/security/AccessControlContext. - 311492 1 java/security/BasicPermission.newPermissionCollection - 311492 1 java/security/BasicPermissionCollection. - 311492 1 java/security/BasicPermissionCollection. - 311492 1 java/security/BasicPermissionCollection.add - 311492 1 java/security/CodeSource. - 311492 1 java/security/Permissions. - 311492 1 java/security/Policy$UnsupportedEmptyCollection. - 311492 1 java/security/Policy. - 311492 1 java/security/PrivilegedActionException. - 311492 1 java/security/ProtectionDomain. - 311492 1 java/security/ProtectionDomain. - 311492 1 java/security/SecureClassLoader. - 311492 1 java/security/SecureClassLoader.check - 311492 1 java/security/SecureClassLoader.defineClass - 311492 1 java/security/SecureClassLoader.getPermissions - 311492 1 java/security/SecureClassLoader.getProtectionDomain - 311492 1 java/util/AbstractCollection.toArray - 311492 1 java/util/BitSet. - 311492 1 java/util/BitSet. - 311492 1 java/util/BitSet.initWords - 311492 1 java/util/Collections$SynchronizedMap. - 311492 1 java/util/Collections. - 311492 1 java/util/Collections.reverse - 311492 1 java/util/Collections.synchronizedMap - 311492 1 java/util/HashMap$KeySet.iterator - 311492 1 java/util/HashMap.keySet - 311492 1 java/util/HashMap.size - 311492 1 java/util/HashSet. - 311492 1 java/util/HashSet.iterator - 311492 1 java/util/HashSet.size - 311492 1 java/util/Hashtable$EmptyEnumerator. - 311492 1 java/util/Hashtable$EmptyIterator. - 311492 1 java/util/Hashtable. - 311492 1 java/util/IdentityHashMap. - 311492 1 java/util/IdentityHashMap. - 311492 1 java/util/IdentityHashMap.access$000 - 311492 1 java/util/IdentityHashMap.access$200 - 311492 1 java/util/IdentityHashMap.init - 311492 1 java/util/IdentityHashMap.keySet - 311492 1 java/util/LinkedHashMap$LinkedHashIterator.hasNext - 311492 1 java/util/LinkedHashMap.newKeyIterator - 311492 1 java/util/LinkedHashSet. - 311492 1 java/util/Locale. - 311492 1 java/util/Locale.getInstance - 311492 1 java/util/Properties. - 311492 1 java/util/StringTokenizer.countTokens - 311492 1 java/util/StringTokenizer.hasMoreTokens - 311492 1 java/util/Vector.contains - 311492 1 java/util/Vector.copyInto - 311492 1 java/util/Vector.indexOf - 311492 1 java/util/concurrent/ConcurrentHashMap$Segment.get - 311492 1 java/util/concurrent/ConcurrentHashMap$Segment.getFirst - 311492 1 java/util/concurrent/ConcurrentHashMap$Segment.newArray - 311492 1 java/util/concurrent/ConcurrentHashMap.get - 311492 1 java/util/concurrent/atomic/AtomicInteger. - 311492 1 java/util/concurrent/atomic/AtomicInteger. - 311492 1 java/util/concurrent/atomic/AtomicInteger.get - 311492 1 java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl. - 311492 1 java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl. - 311492 1 java/util/concurrent/atomic/AtomicReferenceFieldUpdater. - 311492 1 java/util/concurrent/atomic/AtomicReferenceFieldUpdater.newUpdater - 311492 1 java/util/concurrent/locks/AbstractQueuedSynchronizer. - 311492 1 java/util/concurrent/locks/AbstractQueuedSynchronizer.getState - 311492 1 java/util/jar/JarEntry. - 311492 1 java/util/jar/JarFile$JarFileEntry. - 311492 1 java/util/jar/JarFile. - 311492 1 java/util/jar/JarFile.getManEntry - 311492 1 java/util/jar/JarFile.hasClassPathAttribute - 311492 1 java/util/jar/JarFile.isKnownToNotHaveClassPathAttribute - 311492 1 java/util/jar/JavaUtilJarAccessImpl. - 311492 1 java/util/jar/JavaUtilJarAccessImpl.jarFileHasClassPathAttribute - 311492 1 java/util/zip/Inflater. - 311492 1 java/util/zip/Inflater. - 311492 1 java/util/zip/Inflater.finished - 311492 1 java/util/zip/Inflater.init - 311492 1 java/util/zip/Inflater.initIDs - 311492 1 java/util/zip/Inflater.needsDictionary - 311492 1 java/util/zip/Inflater.needsInput - 311492 1 java/util/zip/Inflater.setInput - 311492 1 java/util/zip/InflaterInputStream. - 311492 1 java/util/zip/InflaterInputStream.ensureOpen - 311492 1 java/util/zip/InflaterInputStream.read - 311492 1 java/util/zip/ZipEntry. - 311492 1 java/util/zip/ZipEntry.getSize - 311492 1 java/util/zip/ZipEntry.initFields - 311492 1 java/util/zip/ZipEntry.initIDs - 311492 1 java/util/zip/ZipFile$1. - 311492 1 java/util/zip/ZipFile$1.close - 311492 1 java/util/zip/ZipFile$1.fill - 311492 1 java/util/zip/ZipFile$ZipFileInputStream. - 311492 1 java/util/zip/ZipFile$ZipFileInputStream.read - 311492 1 java/util/zip/ZipFile. - 311492 1 java/util/zip/ZipFile. - 311492 1 java/util/zip/ZipFile.access$000 - 311492 1 java/util/zip/ZipFile.access$1000 - 311492 1 java/util/zip/ZipFile.access$1100 - 311492 1 java/util/zip/ZipFile.access$1200 - 311492 1 java/util/zip/ZipFile.access$800 - 311492 1 java/util/zip/ZipFile.access$900 - 311492 1 java/util/zip/ZipFile.ensureOpenOrZipException - 311492 1 java/util/zip/ZipFile.getCSize - 311492 1 java/util/zip/ZipFile.getInflater - 311492 1 java/util/zip/ZipFile.getMethod - 311492 1 java/util/zip/ZipFile.getTotal - 311492 1 java/util/zip/ZipFile.initIDs - 311492 1 java/util/zip/ZipFile.open - 311492 1 java/util/zip/ZipFile.read - 311492 1 java/util/zip/ZipFile.releaseInflater - 311492 1 sun/misc/ExtensionDependency.checkExtensionsDependencies - 311492 1 sun/misc/FileURLMapper. - 311492 1 sun/misc/FileURLMapper.exists - 311492 1 sun/misc/JarIndex.getJarIndex - 311492 1 sun/misc/Launcher$AppClassLoader$1. - 311492 1 sun/misc/Launcher$AppClassLoader$1.run - 311492 1 sun/misc/Launcher$AppClassLoader. - 311492 1 sun/misc/Launcher$AppClassLoader. - 311492 1 sun/misc/Launcher$AppClassLoader.getAppClassLoader - 311492 1 sun/misc/Launcher$AppClassLoader.getPermissions - 311492 1 sun/misc/Launcher$ExtClassLoader$1. - 311492 1 sun/misc/Launcher$ExtClassLoader$1.run - 311492 1 sun/misc/Launcher$ExtClassLoader. - 311492 1 sun/misc/Launcher$ExtClassLoader.getExtClassLoader - 311492 1 sun/misc/Launcher$ExtClassLoader.getExtDirs - 311492 1 sun/misc/Launcher$ExtClassLoader.getExtURLs - 311492 1 sun/misc/Launcher$Factory. - 311492 1 sun/misc/Launcher. - 311492 1 sun/misc/Launcher. - 311492 1 sun/misc/Launcher.access$200 - 311492 1 sun/misc/Launcher.access$300 - 311492 1 sun/misc/Launcher.getClassPath - 311492 1 sun/misc/Launcher.getLauncher - 311492 1 sun/misc/Launcher.pathToURLs - 311492 1 sun/misc/MetaIndex. - 311492 1 sun/misc/Resource. - 311492 1 sun/misc/Resource.getByteBuffer - 311492 1 sun/misc/Resource.getBytes - 311492 1 sun/misc/Resource.getCodeSigners - 311492 1 sun/misc/SharedSecrets. - 311492 1 sun/misc/SharedSecrets.getJavaIOAccess - 311492 1 sun/misc/SharedSecrets.getJavaIODeleteOnExitAccess - 311492 1 sun/misc/SharedSecrets.javaUtilJarAccess - 311492 1 sun/misc/SharedSecrets.setJavaIOAccess - 311492 1 sun/misc/SharedSecrets.setJavaIODeleteOnExitAccess - 311492 1 sun/misc/SharedSecrets.setJavaLangAccess - 311492 1 sun/misc/SharedSecrets.setJavaNetAccess - 311492 1 sun/misc/SharedSecrets.setJavaUtilJarAccess - 311492 1 sun/misc/Signal. - 311492 1 sun/misc/SignalHandler. - 311492 1 sun/misc/SoftCache. - 311492 1 sun/misc/URLClassPath$FileLoader$1. - 311492 1 sun/misc/URLClassPath$FileLoader$1.getCodeSourceURL - 311492 1 sun/misc/URLClassPath$FileLoader$1.getContentLength - 311492 1 sun/misc/URLClassPath$FileLoader$1.getInputStream - 311492 1 sun/misc/URLClassPath$FileLoader. - 311492 1 sun/misc/URLClassPath$FileLoader.getResource - 311492 1 sun/misc/URLClassPath$JarLoader$1. - 311492 1 sun/misc/URLClassPath$JarLoader$1.run - 311492 1 sun/misc/URLClassPath$JarLoader.access$502 - 311492 1 sun/misc/URLClassPath$JarLoader.access$600 - 311492 1 sun/misc/URLClassPath$JarLoader.access$702 - 311492 1 sun/misc/URLClassPath$JarLoader.getJarFile - 311492 1 sun/misc/URLClassPath$JarLoader.parseExtensionsDependencies - 311492 1 sun/misc/URLClassPath$Loader.getClassPath - 311492 1 sun/misc/URLClassPath. - 311492 1 sun/misc/URLClassPath.access$300 - 311492 1 sun/misc/Unsafe. - 311492 1 sun/misc/Unsafe. - 311492 1 sun/misc/Unsafe.allocateMemory - 311492 1 sun/misc/Unsafe.ensureClassInitialized - 311492 1 sun/misc/Unsafe.freeMemory - 311492 1 sun/misc/Unsafe.getByte - 311492 1 sun/misc/Unsafe.putLong - 311492 1 sun/misc/Unsafe.registerNatives - 311492 1 sun/misc/VM. - 311492 1 sun/misc/VM.booted - 311492 1 sun/misc/VM.initialize - 311492 1 sun/misc/VM.initializeOSEnvironment - 311492 1 sun/misc/Version. - 311492 1 sun/net/www/MessageHeader. - 311492 1 sun/net/www/MessageHeader.grow - 311492 1 sun/net/www/ParseUtil. - 311492 1 sun/net/www/URLConnection. - 311492 1 sun/net/www/protocol/file/FileURLConnection. - 311492 1 sun/net/www/protocol/file/FileURLConnection. - 311492 1 sun/net/www/protocol/file/FileURLConnection.getPermission - 311492 1 sun/net/www/protocol/file/Handler. - 311492 1 sun/net/www/protocol/file/Handler.createFileURLConnection - 311492 1 sun/nio/cs/FastCharsetProvider. - 311492 1 sun/nio/cs/StandardCharsets$Aliases.init - 311492 1 sun/nio/cs/StandardCharsets$Cache.init - 311492 1 sun/nio/cs/StandardCharsets$Classes.init - 311492 1 sun/nio/cs/StandardCharsets. - 311492 1 sun/nio/cs/StandardCharsets. - 311492 1 sun/nio/cs/StreamDecoder. - 311492 1 sun/nio/cs/StreamDecoder.close - 311492 1 sun/nio/cs/StreamDecoder.forInputStreamReader - 311492 1 sun/nio/cs/StreamDecoder.implClose - 311492 1 sun/nio/cs/StreamDecoder.inReady - 311492 1 sun/nio/cs/StreamEncoder. - 311492 1 sun/nio/cs/Surrogate$Parser. - 311492 1 sun/nio/cs/US_ASCII$Decoder. - 311492 1 sun/nio/cs/US_ASCII$Encoder. - 311492 1 sun/nio/cs/US_ASCII. - 311492 1 sun/reflect/Reflection. - 311492 1 sun/reflect/ReflectionFactory$1. - 311492 1 sun/reflect/ReflectionFactory$1.run - 311492 1 sun/reflect/ReflectionFactory. - 311492 1 sun/reflect/ReflectionFactory. - 311492 1 sun/reflect/ReflectionFactory.access$202 - 311492 1 sun/reflect/ReflectionFactory.setLangReflectAccess - 311492 1 sun/reflect/misc/ReflectUtil.ensureMemberAccess - 311492 1 sun/security/provider/PolicyFile. - 311492 1 sun/security/util/Debug. - 311492 2 java/io/BufferedInputStream. - 311492 2 java/io/BufferedOutputStream. - 311492 2 java/io/BufferedReader. - 311492 2 java/io/BufferedReader.fill - 311492 2 java/io/ExpiringCache$1. - 311492 2 java/io/File.list - 311492 2 java/io/FileInputStream.close - 311492 2 java/io/FileInputStream.close0 - 311492 2 java/io/FileInputStream.open - 311492 2 java/io/FileOutputStream. - 311492 2 java/io/FilePermission$1. - 311492 2 java/io/FilePermission. - 311492 2 java/io/FilePermission.getMask - 311492 2 java/io/FilePermission.init - 311492 2 java/io/FileSystem.getBooleanProperty - 311492 2 java/io/InputStreamReader.read - 311492 2 java/io/OutputStreamWriter. - 311492 2 java/io/PrintStream.init - 311492 2 java/io/UnixFileSystem.list - 311492 2 java/lang/Character.charCount - 311492 2 java/lang/CharacterDataLatin1.toUpperCase - 311492 2 java/lang/Class$1. - 311492 2 java/lang/Class$1.run - 311492 2 java/lang/Class.arrayContentsEq - 311492 2 java/lang/Class.getConstructor0 - 311492 2 java/lang/Class.getDeclaredConstructors0 - 311492 2 java/lang/Class.isInterface - 311492 2 java/lang/Class.privateGetDeclaredConstructors - 311492 2 java/lang/ClassLoader. - 311492 2 java/lang/ClassLoader.initializePath - 311492 2 java/lang/ClassNotFoundException. - 311492 2 java/lang/Object.clone - 311492 2 java/lang/Runtime.getRuntime - 311492 2 java/lang/String$CaseInsensitiveComparator. - 311492 2 java/lang/String.concat - 311492 2 java/lang/String.regionMatches - 311492 2 java/lang/StringCoding$StringDecoder. - 311492 2 java/lang/System.getProperties - 311492 2 java/lang/System.nullPrintStream - 311492 2 java/lang/System.setProperties - 311492 2 java/lang/Thread.isAlive - 311492 2 java/lang/Thread.setDaemon - 311492 2 java/lang/Thread.start - 311492 2 java/lang/Thread.start0 - 311492 2 java/lang/ThreadGroup. - 311492 2 java/lang/ref/Reference$Lock. - 311492 2 java/lang/ref/Reference.access$100 - 311492 2 java/lang/ref/ReferenceQueue.remove - 311492 2 java/lang/ref/SoftReference.get - 311492 2 java/lang/reflect/AccessibleObject.setAccessible - 311492 2 java/lang/reflect/AccessibleObject.setAccessible0 - 311492 2 java/lang/reflect/Constructor. - 311492 2 java/lang/reflect/Constructor.acquireConstructorAccessor - 311492 2 java/lang/reflect/Constructor.copy - 311492 2 java/lang/reflect/Constructor.getParameterTypes - 311492 2 java/lang/reflect/Modifier.isAbstract - 311492 2 java/lang/reflect/Modifier.isProtected - 311492 2 java/lang/reflect/ReflectAccess.copyConstructor - 311492 2 java/net/URL.set - 311492 2 java/net/URLClassLoader$1. - 311492 2 java/net/URLClassLoader$1.run - 311492 2 java/net/URLClassLoader. - 311492 2 java/net/URLClassLoader.findClass - 311492 2 java/net/URLStreamHandler.parseURL - 311492 2 java/net/URLStreamHandler.setURL - 311492 2 java/nio/ByteOrder. - 311492 2 java/nio/CharBuffer.allocate - 311492 2 java/nio/HeapByteBuffer.compact - 311492 2 java/nio/charset/Charset.cache - 311492 2 java/nio/charset/CharsetDecoder.reset - 311492 2 java/nio/charset/CharsetEncoder.isLegalReplacement - 311492 2 java/nio/charset/CharsetEncoder.onMalformedInput - 311492 2 java/nio/charset/CharsetEncoder.onUnmappableCharacter - 311492 2 java/nio/charset/CharsetEncoder.replaceWith - 311492 2 java/nio/charset/CoderResult. - 311492 2 java/nio/charset/CoderResult.isError - 311492 2 java/security/AccessControlContext. - 311492 2 java/security/BasicPermission.getCanonicalName - 311492 2 java/security/CodeSource.getCertificates - 311492 2 java/security/CodeSource.hashCode - 311492 2 java/security/PermissionCollection.setReadOnly - 311492 2 java/security/Permissions. - 311492 2 java/security/Permissions.add - 311492 2 java/security/Permissions.getPermissionCollection - 311492 2 java/security/SecureClassLoader. - 311492 2 java/util/AbstractList.iterator - 311492 2 java/util/BitSet.ensureCapacity - 311492 2 java/util/Collections$EmptyList. - 311492 2 java/util/Collections$EmptyMap. - 311492 2 java/util/Collections$EmptySet. - 311492 2 java/util/Collections$ReverseComparator. - 311492 2 java/util/HashMap$KeySet. - 311492 2 java/util/IdentityHashMap$IdentityHashMapIterator.hasNext - 311492 2 java/util/IdentityHashMap$KeySet. - 311492 2 java/util/IdentityHashMap$KeySet.iterator - 311492 2 java/util/LinkedHashMap$KeyIterator. - 311492 2 java/util/LinkedHashMap$LinkedHashIterator. - 311492 2 java/util/Properties. - 311492 2 java/util/StringTokenizer.setMaxDelimCodePoint - 311492 2 java/util/concurrent/ConcurrentHashMap. - 311492 2 java/util/jar/JarFile. - 311492 2 java/util/zip/Inflater.inflate - 311492 2 java/util/zip/Inflater.inflateBytes - 311492 2 java/util/zip/ZipEntry. - 311492 2 java/util/zip/ZipFile$ZipFileInputStream.close - 311492 2 java/util/zip/ZipFile.freeEntry - 311492 2 java/util/zip/ZipFile.getInputStream - 311492 2 java/util/zip/ZipFile.getSize - 311492 2 sun/misc/FileURLMapper.getPath - 311492 2 sun/misc/Launcher$Factory. - 311492 2 sun/misc/Launcher$Factory.createURLStreamHandler - 311492 2 sun/misc/Launcher.access$100 - 311492 2 sun/misc/MetaIndex.registerDirectory - 311492 2 sun/misc/NativeSignalHandler. - 311492 2 sun/misc/Resource.cachedInputStream - 311492 2 sun/misc/URLClassPath. - 311492 2 sun/misc/URLClassPath.getResource - 311492 2 sun/misc/URLClassPath.push - 311492 2 sun/misc/VM.maxDirectMemory - 311492 2 sun/misc/Version.init - 311492 2 sun/net/www/protocol/file/Handler.openConnection - 311492 2 sun/net/www/protocol/file/Handler.parseURL - 311492 2 sun/net/www/protocol/jar/Handler. - 311492 2 sun/nio/cs/FastCharsetProvider.charsetForName - 311492 2 sun/nio/cs/FastCharsetProvider.lookup - 311492 2 sun/nio/cs/FastCharsetProvider.toLower - 311492 2 sun/nio/cs/StandardCharsets$Aliases. - 311492 2 sun/nio/cs/StandardCharsets$Cache. - 311492 2 sun/nio/cs/StandardCharsets$Classes. - 311492 2 sun/nio/cs/StreamDecoder. - 311492 2 sun/nio/cs/StreamDecoder.ensureOpen - 311492 2 sun/nio/cs/StreamDecoder.implRead - 311492 2 sun/nio/cs/StreamDecoder.read - 311492 2 sun/nio/cs/StreamDecoder.readBytes - 311492 2 sun/nio/cs/StreamEncoder.forOutputStreamWriter - 311492 2 sun/nio/cs/Surrogate$Parser. - 311492 2 sun/nio/cs/US_ASCII.newEncoder - 311492 2 sun/reflect/DelegatingConstructorAccessorImpl. - 311492 2 sun/reflect/DelegatingConstructorAccessorImpl.setDelegate - 311492 2 sun/reflect/NativeConstructorAccessorImpl. - 311492 2 sun/reflect/NativeConstructorAccessorImpl.setParent - 311492 2 sun/reflect/Reflection.ensureMemberAccess - 311492 2 sun/reflect/Reflection.isSubclassOf - 311492 2 sun/reflect/Reflection.verifyMemberAccess - 311492 2 sun/reflect/ReflectionFactory.checkInitted - 311492 2 sun/reflect/ReflectionFactory.copyConstructor - 311492 2 sun/reflect/ReflectionFactory.newConstructorAccessor - 311492 2 sun/reflect/misc/ReflectUtil.checkPackageAccess - 311492 2 sun/security/provider/PolicyFile.canonPath - 311492 2 sun/util/PreHashedMap.put - 311492 3 java/io/BufferedWriter.newLine - 311492 3 java/io/FileInputStream. - 311492 3 java/io/FileInputStream.read - 311492 3 java/io/FileInputStream.readBytes - 311492 3 java/io/FilterInputStream. - 311492 3 java/io/PrintStream.newLine - 311492 3 java/io/PrintStream.print - 311492 3 java/io/PrintStream.println - 311492 3 java/io/Reader. - 311492 3 java/lang/Boolean. - 311492 3 java/lang/Class$3. - 311492 3 java/lang/Class$3.run - 311492 3 java/lang/Class.forName - 311492 3 java/lang/Class.forName0 - 311492 3 java/lang/Class.newInstance - 311492 3 java/lang/Class.newInstance0 - 311492 3 java/lang/Exception. - 311492 3 java/lang/Integer. - 311492 3 java/lang/Object.wait - 311492 3 java/lang/RuntimePermission. - 311492 3 java/lang/Shutdown.add - 311492 3 java/lang/Thread.sleep - 311492 3 java/lang/ThreadLocal. - 311492 3 java/lang/ThreadLocal.getMap - 311492 3 java/lang/ThreadLocal.nextHashCode - 311492 3 java/lang/ref/WeakReference. - 311492 3 java/lang/reflect/Constructor.newInstance - 311492 3 java/net/URLStreamHandler. - 311492 3 java/nio/ByteBuffer.allocate - 311492 3 java/nio/charset/Charset.defaultCharset - 311492 3 java/nio/charset/Charset.lookup2 - 311492 3 java/nio/charset/CharsetDecoder.maxCharsPerByte - 311492 3 java/nio/charset/CodingErrorAction. - 311492 3 java/util/AbstractList$Itr.checkForComodification - 311492 3 java/util/AbstractList$Itr.next - 311492 3 java/util/ArrayList.clear - 311492 3 java/util/HashSet. - 311492 3 java/util/Hashtable.rehash - 311492 3 java/util/LinkedHashMap. - 311492 3 java/util/LinkedHashMap.init - 311492 3 java/util/Stack. - 311492 3 java/util/StringTokenizer.nextToken - 311492 3 java/util/concurrent/atomic/AtomicInteger.compareAndSet - 311492 3 java/util/concurrent/atomic/AtomicInteger.getAndAdd - 311492 3 java/util/jar/JarFile.getEntry - 311492 3 java/util/jar/JarFile.getJarEntry - 311492 3 java/util/zip/ZipFile.access$300 - 311492 3 sun/misc/Signal. - 311492 3 sun/misc/Signal.findSignal - 311492 3 sun/misc/Signal.handle - 311492 3 sun/misc/Signal.handle0 - 311492 3 sun/misc/URLClassPath$JarLoader.ensureOpen - 311492 3 sun/reflect/DelegatingConstructorAccessorImpl.newInstance - 311492 3 sun/reflect/NativeConstructorAccessorImpl.newInstance - 311492 3 sun/reflect/NativeConstructorAccessorImpl.newInstance0 - 311492 3 sun/reflect/Reflection.getClassAccessFlags - 311492 3 sun/reflect/Reflection.quickCheckMemberAccess - 311492 3 sun/reflect/ReflectionFactory.inflationThreshold - 311492 3 sun/util/PreHashedMap. - 311492 4 java/io/BufferedWriter. - 311492 4 java/io/ExpiringCache$Entry.timestamp - 311492 4 java/io/ExpiringCache. - 311492 4 java/io/File.compareTo - 311492 4 java/io/File.equals - 311492 4 java/io/FilePermission$1.run - 311492 4 java/io/FilterOutputStream. - 311492 4 java/io/PrintStream. - 311492 4 java/io/UnixFileSystem.compare - 311492 4 java/lang/Character.toUpperCase - 311492 4 java/lang/Class.getDeclaredFields0 - 311492 4 java/lang/Number. - 311492 4 java/lang/Shutdown$Lock. - 311492 4 java/lang/String.compareTo - 311492 4 java/lang/ThreadGroup.getParent - 311492 4 java/lang/Throwable. - 311492 4 java/lang/Throwable.fillInStackTrace - 311492 4 java/lang/ref/ReferenceQueue$Null. - 311492 4 java/lang/ref/ReferenceQueue. - 311492 4 java/lang/reflect/Array.newArray - 311492 4 java/lang/reflect/Array.newInstance - 311492 4 java/lang/reflect/Constructor.setConstructorAccessor - 311492 4 java/lang/reflect/Modifier.isPublic - 311492 4 java/nio/HeapByteBuffer.ix - 311492 4 java/nio/charset/Charset.forName - 311492 4 java/nio/charset/CharsetDecoder.onMalformedInput - 311492 4 java/nio/charset/CharsetDecoder.onUnmappableCharacter - 311492 4 java/nio/charset/CharsetDecoder.replaceWith - 311492 4 java/nio/charset/CharsetEncoder. - 311492 4 java/nio/charset/CoderResult$Cache. - 311492 4 java/security/BasicPermission. - 311492 4 java/security/BasicPermission.init - 311492 4 java/util/AbstractList$Itr. - 311492 4 java/util/ArrayList.toArray - 311492 4 java/util/Collections$SynchronizedMap.get - 311492 4 java/util/IdentityHashMap$IdentityHashMapIterator. - 311492 4 java/util/IdentityHashMap$KeyIterator. - 311492 4 java/util/LinkedHashMap$Entry.recordAccess - 311492 4 java/util/StringTokenizer. - 311492 4 java/util/zip/ZipFile.ensureOpen - 311492 4 sun/misc/MetaIndex. - 311492 4 sun/misc/MetaIndex.mayContain - 311492 4 sun/nio/cs/FastCharsetProvider.canonicalize - 311492 4 sun/nio/cs/StreamEncoder. - 311492 4 sun/nio/cs/US_ASCII$Encoder. - 311492 4 sun/nio/cs/US_ASCII.newDecoder - 311492 4 sun/reflect/ConstructorAccessorImpl. - 311492 4 sun/reflect/MagicAccessorImpl. - 311492 4 sun/reflect/Reflection.filterFields - 311492 4 sun/reflect/ReflectionFactory$GetReflectionFactoryAction. - 311492 4 sun/reflect/ReflectionFactory$GetReflectionFactoryAction.run - 311492 4 sun/reflect/ReflectionFactory.getReflectionFactory - 311492 4 sun/security/util/Debug.isOn - 311492 5 java/io/FileDescriptor. - 311492 5 java/lang/Class.getModifiers - 311492 5 java/lang/Class.getName0 - 311492 5 java/lang/String.valueOf - 311492 5 java/nio/ByteBuffer.wrap - 311492 5 java/nio/charset/Charset.isSupported - 311492 5 java/security/PermissionCollection. - 311492 5 java/util/AbstractList$Itr.hasNext - 311492 5 java/util/Hashtable.remove - 311492 5 java/util/StringTokenizer.scanToken - 311492 5 java/util/StringTokenizer.skipDelimiters - 311492 5 sun/misc/MetaIndex.forJar - 311492 5 sun/misc/URLClassPath$JarLoader. - 311492 5 sun/misc/URLClassPath$JarLoader.getClassPath - 311492 5 sun/misc/URLClassPath$JarLoader.getResource - 311492 5 sun/misc/Unsafe.getUnsafe - 311492 5 sun/util/PreHashedMap.toV - 311492 6 java/io/BufferedOutputStream.write - 311492 6 java/io/BufferedWriter.flushBuffer - 311492 6 java/io/BufferedWriter.min - 311492 6 java/io/BufferedWriter.write - 311492 6 java/io/File.getAbsolutePath - 311492 6 java/io/FileOutputStream.write - 311492 6 java/io/FileOutputStream.writeBytes - 311492 6 java/io/OutputStream. - 311492 6 java/io/OutputStreamWriter.flushBuffer - 311492 6 java/io/OutputStreamWriter.write - 311492 6 java/io/UnixFileSystem.canonicalize0 - 311492 6 java/io/Writer. - 311492 6 java/io/Writer.write - 311492 6 java/lang/Class.checkMemberAccess - 311492 6 java/lang/Class.getComponentType - 311492 6 java/lang/Class.getDeclaredField - 311492 6 java/lang/Class.getName - 311492 6 java/lang/Class.getSuperclass - 311492 6 java/lang/Class.privateGetDeclaredFields - 311492 6 java/lang/Class.searchFields - 311492 6 java/lang/ThreadGroup.add - 311492 6 java/lang/reflect/Field. - 311492 6 java/lang/reflect/Field.copy - 311492 6 java/lang/reflect/ReflectAccess.copyField - 311492 6 java/net/URL.getURLStreamHandler - 311492 6 java/net/URL.toExternalForm - 311492 6 java/net/URL.toString - 311492 6 java/net/URLStreamHandler.getDefaultPort - 311492 6 java/net/URLStreamHandler.getHostAddress - 311492 6 java/net/URLStreamHandler.hashCode - 311492 6 java/net/URLStreamHandler.toExternalForm - 311492 6 java/nio/Bits.byteOrder - 311492 6 java/nio/Buffer.clear - 311492 6 java/nio/ByteBuffer. - 311492 6 java/nio/HeapByteBuffer. - 311492 6 java/nio/charset/CharsetDecoder.decode - 311492 6 java/nio/charset/CharsetEncoder.encode - 311492 6 java/security/Permission. - 311492 6 java/util/AbstractSet. - 311492 6 java/util/HashMap.containsKey - 311492 6 java/util/Vector.add - 311492 6 java/util/concurrent/ConcurrentHashMap$Segment.rehash - 311492 6 sun/misc/Launcher.getFileURL - 311492 6 sun/misc/MetaIndex.getJarMap - 311492 6 sun/misc/URLClassPath$3. - 311492 6 sun/misc/URLClassPath$3.run - 311492 6 sun/misc/URLClassPath$JarLoader.isOptimizable - 311492 6 sun/misc/URLClassPath$Loader. - 311492 6 sun/misc/Unsafe.objectFieldOffset - 311492 6 sun/net/www/ParseUtil.fileToEncodedURL - 311492 6 sun/nio/cs/StreamEncoder.ensureOpen - 311492 6 sun/nio/cs/StreamEncoder.flushBuffer - 311492 6 sun/nio/cs/StreamEncoder.implFlushBuffer - 311492 6 sun/nio/cs/StreamEncoder.implWrite - 311492 6 sun/nio/cs/StreamEncoder.write - 311492 6 sun/nio/cs/StreamEncoder.writeBytes - 311492 6 sun/nio/cs/US_ASCII$Decoder.decodeArrayLoop - 311492 6 sun/nio/cs/US_ASCII$Decoder.decodeLoop - 311492 6 sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop - 311492 6 sun/nio/cs/US_ASCII$Encoder.encodeLoop - 311492 6 sun/reflect/ReflectionFactory.copyField - 311492 7 java/io/File.getCanonicalFile - 311492 7 java/io/InputStream. - 311492 7 java/lang/ClassLoader.checkPackageAccess - 311492 7 java/lang/ref/SoftReference. - 311492 7 java/util/Dictionary. - 311492 7 java/util/HashSet.add - 311492 7 java/util/Stack.empty - 311492 7 java/util/Stack.pop - 311492 7 java/util/Stack.push - 311492 7 java/util/Vector.removeElementAt - 311492 7 java/util/zip/ZipFile.getEntry - 311492 7 sun/util/PreHashedMap.get - 311492 8 java/lang/Class.checkInitted - 311492 8 java/lang/Class.clearCachesOnClassRedefinition - 311492 8 java/lang/Class.getPrimitiveClass - 311492 8 java/lang/Class.getReflectionFactory - 311492 8 java/lang/Object.getClass - 311492 8 java/lang/System.setProperty - 311492 8 java/lang/Thread. - 311492 8 java/lang/Thread.getContextClassLoader - 311492 8 java/lang/Thread.init - 311492 8 java/lang/Thread.nextThreadID - 311492 8 java/lang/ThreadGroup.addUnstarted - 311492 8 java/lang/ref/FinalReference. - 311492 8 java/lang/ref/Finalizer. - 311492 8 java/lang/ref/Finalizer.add - 311492 8 java/lang/ref/Finalizer.register - 311492 8 java/lang/ref/ReferenceQueue$Lock. - 311492 8 java/lang/reflect/AccessibleObject. - 311492 8 java/nio/charset/CharsetDecoder. - 311492 8 java/security/AccessControlContext.optimize - 311492 8 java/security/AccessController.getInheritedAccessControlContext - 311492 8 java/util/Properties.setProperty - 311492 8 java/util/Stack.peek - 311492 8 sun/nio/cs/US_ASCII$Decoder. - 311492 8 sun/reflect/ReflectionFactory.langReflectAccess - 311492 8 sun/security/util/Debug.getInstance - 311492 9 java/io/BufferedOutputStream.flush - 311492 9 java/io/BufferedOutputStream.flushBuffer - 311492 9 java/io/File.hashCode - 311492 9 java/io/File.isDirectory - 311492 9 java/io/PrintStream.write - 311492 9 java/io/UnixFileSystem.hashCode - 311492 9 java/lang/ClassLoader.findBootstrapClass - 311492 9 java/lang/ClassLoader.findBootstrapClass0 - 311492 9 java/lang/ClassLoader.getCallerClassLoader - 311492 9 java/lang/ClassLoader.loadClassInternal - 311492 9 java/lang/StringBuffer. - 311492 9 java/lang/StringBuffer.toString - 311492 9 java/nio/Buffer.flip - 311492 9 java/util/ArrayList.RangeCheck - 311492 9 java/util/ArrayList.get - 311492 9 sun/misc/Launcher$AppClassLoader.loadClass - 311492 9 sun/net/www/ParseUtil.decode - 311492 9 sun/net/www/ParseUtil.lowMask - 311492 10 java/io/File.getCanonicalPath - 311492 10 java/io/ObjectStreamClass.getClassSignature - 311492 10 java/io/UnixFileSystem.canonicalize - 311492 10 java/lang/Class.isPrimitive - 311492 10 java/lang/Thread.setPriority - 311492 10 java/lang/Thread.setPriority0 - 311492 10 java/nio/CharBuffer.wrap - 311492 10 java/nio/charset/Charset.lookup - 311492 10 java/security/AccessController.getContext - 311492 10 java/security/AccessController.getStackAccessControlContext - 311492 10 java/util/Vector.addElement - 311492 11 java/lang/String.replace - 311492 11 java/lang/ThreadGroup.checkAccess - 311492 11 java/net/Parts. - 311492 11 java/nio/CharBuffer. - 311492 11 java/nio/HeapCharBuffer. - 311492 12 java/io/BufferedWriter.ensureOpen - 311492 12 java/io/ExpiringCache$1.removeEldestEntry - 311492 12 java/io/ExpiringCache$Entry. - 311492 12 java/io/ExpiringCache.put - 311492 12 java/io/File.exists - 311492 12 java/io/PrintStream.ensureOpen - 311492 12 java/lang/Class.isArray - 311492 12 java/lang/Thread.checkAccess - 311492 12 java/nio/ByteBuffer.hasArray - 311492 12 java/nio/CharBuffer.array - 311492 12 java/nio/CharBuffer.hasArray - 311492 12 java/nio/charset/CoderResult.isOverflow - 311492 12 java/util/HashMap.get - 311492 12 java/util/LinkedHashMap$Entry.access$600 - 311492 12 java/util/LinkedHashMap$Entry.addBefore - 311492 12 java/util/LinkedHashMap.addEntry - 311492 12 java/util/LinkedHashMap.createEntry - 311492 12 sun/net/www/ParseUtil.highMask - 311492 13 java/io/UnixFileSystem.parentOrNull - 311492 13 java/nio/Buffer.hasRemaining - 311492 13 java/nio/Buffer.remaining - 311492 13 sun/misc/URLClassPath.getLoader - 311492 13 sun/net/www/ParseUtil.encodePath - 311492 14 java/lang/Float.isNaN - 311492 14 java/net/URL.hashCode - 311492 14 java/util/Hashtable. - 311492 15 java/lang/Object.hashCode - 311492 15 java/nio/charset/Charset.checkName - 311492 15 java/util/ArrayList. - 311492 15 java/util/HashMap.addEntry - 311492 15 java/util/LinkedHashMap$Entry. - 311492 16 java/io/UnixFileSystem.isAbsolute - 311492 16 java/lang/ClassLoader$NativeLibrary.find - 311492 16 java/lang/String.intern - 311492 16 java/util/Vector.ensureCapacityHelper - 311492 16 java/util/concurrent/ConcurrentHashMap$Segment. - 311492 16 java/util/concurrent/ConcurrentHashMap$Segment.setTable - 311492 16 java/util/concurrent/locks/AbstractOwnableSynchronizer. - 311492 16 java/util/concurrent/locks/AbstractQueuedSynchronizer. - 311492 16 java/util/concurrent/locks/ReentrantLock$NonfairSync. - 311492 16 java/util/concurrent/locks/ReentrantLock$Sync. - 311492 16 java/util/concurrent/locks/ReentrantLock. - 311492 16 sun/reflect/Reflection.getCallerClass - 311492 17 java/lang/ClassLoader.findNative - 311492 17 java/lang/Math.max - 311492 17 java/lang/String.toCharArray - 311492 17 java/nio/Buffer. - 311492 17 java/util/Locale.getDefault - 311492 17 sun/security/action/GetPropertyAction. - 311492 18 java/io/ExpiringCache.get - 311492 18 java/lang/Class.desiredAssertionStatus - 311492 18 java/lang/Class.desiredAssertionStatus0 - 311492 18 java/lang/ClassLoader.findLoadedClass - 311492 18 java/lang/ClassLoader.findLoadedClass0 - 311492 19 java/io/BufferedReader.ensureOpen - 311492 19 java/lang/System.currentTimeMillis - 311492 19 java/nio/Buffer.limit - 311492 19 java/util/Locale. - 311492 19 java/util/Locale.createSingleton - 311492 19 java/util/concurrent/ConcurrentHashMap$Segment.put - 311492 19 java/util/concurrent/ConcurrentHashMap.put - 311492 19 java/util/concurrent/locks/AbstractQueuedSynchronizer.compareAndSetState - 311492 19 java/util/concurrent/locks/AbstractQueuedSynchronizer.release - 311492 19 java/util/concurrent/locks/AbstractQueuedSynchronizer.setState - 311492 19 java/util/concurrent/locks/ReentrantLock$NonfairSync.lock - 311492 19 java/util/concurrent/locks/ReentrantLock$Sync.tryRelease - 311492 19 java/util/concurrent/locks/ReentrantLock.lock - 311492 19 java/util/concurrent/locks/ReentrantLock.unlock - 311492 20 java/io/ObjectStreamField. - 311492 20 java/nio/ByteBuffer.array - 311492 20 java/util/AbstractList. - 311492 20 java/util/BitSet.get - 311492 20 java/util/concurrent/ConcurrentHashMap.hash - 311492 20 java/util/concurrent/ConcurrentHashMap.segmentFor - 311492 20 sun/misc/VM.isBooted - 311492 21 java/io/File.getName - 311492 21 java/io/UnixFileSystem.getBooleanAttributes - 311492 21 java/io/UnixFileSystem.getBooleanAttributes0 - 311492 21 java/lang/StringBuffer.append - 311492 21 java/nio/charset/Charset.atBugLevel - 311492 22 java/util/concurrent/ConcurrentHashMap$HashEntry.newArray - 311492 22 sun/misc/Unsafe.compareAndSwapInt - 311492 23 java/util/HashMap. - 311492 23 java/util/concurrent/ConcurrentHashMap$HashEntry. - 311492 24 java/nio/charset/CoderResult.isUnderflow - 311492 24 java/util/AbstractMap. - 311492 24 java/util/Vector.elementAt - 311492 25 java/lang/Class.getClassLoader - 311492 26 java/util/AbstractCollection. - 311492 26 java/util/ArrayList.add - 311492 26 java/util/ArrayList.ensureCapacity - 311492 27 java/lang/ClassLoader.loadClass - 311492 27 java/net/URL. - 311492 28 java/lang/ClassLoader.check - 311492 28 java/lang/ClassLoader.checkName - 311492 28 java/lang/ref/Reference. - 311492 29 java/lang/String.endsWith - 311492 29 sun/misc/VM.allowArraySyntax - 311492 30 java/io/ExpiringCache.entryFor - 311492 30 java/io/UnixFileSystem.resolve - 311492 30 java/util/HashMap$Entry. - 311492 30 java/util/LinkedHashMap.get - 311492 33 java/util/HashMap.put - 311492 33 java/util/Vector. - 311492 34 java/io/UnixFileSystem.normalize - 311492 34 java/lang/Class.getClassLoader0 - 311492 34 java/lang/String.toLowerCase - 311492 34 sun/security/action/GetPropertyAction.run - 311492 36 java/nio/CharBuffer.arrayOffset - 311492 36 java/util/HashMap.getEntry - 311492 37 java/io/File. - 311492 37 java/io/UnixFileSystem.prefixLength - 311492 38 java/io/BufferedReader.readLine - 311492 38 java/util/concurrent/locks/AbstractOwnableSynchronizer.setExclusiveOwnerThread - 311492 41 java/lang/CharacterDataLatin1.toLowerCase - 311492 43 java/lang/CharacterDataLatin1.getProperties - 311492 43 java/security/AccessController.doPrivileged - 311492 43 java/util/Vector.size - 311492 44 java/nio/Buffer.position - 311492 44 java/nio/ByteBuffer.arrayOffset - 311492 48 java/lang/System.getProperty - 311492 50 java/util/Properties.getProperty - 311492 51 java/util/BitSet.expandTo - 311492 51 java/util/BitSet.set - 311492 56 java/lang/System.checkKey - 311492 57 java/lang/Thread.currentThread - 311492 57 java/util/Hashtable$Entry. - 311492 59 java/util/Hashtable.get - 311492 63 java/util/Hashtable.put - 311492 71 java/util/BitSet.checkInvariants - 311492 72 java/util/BitSet.wordIndex - 311492 73 java/lang/StringBuilder. - 311492 73 java/lang/StringBuilder.toString - 311492 81 java/lang/AbstractStringBuilder.expandCapacity - 311492 81 java/util/HashMap.hash - 311492 81 java/util/HashMap.indexFor - 311492 82 java/lang/AbstractStringBuilder. - 311492 82 java/lang/Character.toLowerCase - 311492 83 java/lang/String.startsWith - 311492 87 java/util/Arrays.copyOf - 311492 90 java/lang/String.lastIndexOf - 311492 94 java/lang/String.substring - 311492 107 java/util/Arrays.copyOfRange - 311492 156 java/lang/String.getChars - 311492 174 java/lang/System.getSecurityManager - 311492 175 java/lang/String. - 311492 202 java/lang/String.equals - 311492 208 java/lang/Math.min - 311492 213 java/lang/String.hashCode - 311492 302 java/lang/String.indexOf - 311492 360 java/lang/System.arraycopy - 311492 533 java/lang/StringBuilder.append - 311492 549 java/lang/AbstractStringBuilder.append - 311492 823 java/lang/Object. - 311492 1960 java/lang/String.charAt - diff --git a/cddl/contrib/dtracetoolkit/Examples/j_objnew_example.txt b/cddl/contrib/dtracetoolkit/Examples/j_objnew_example.txt deleted file mode 100644 index 433c38fcd880..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/j_objnew_example.txt +++ /dev/null @@ -1,1460 +0,0 @@ -The following are examples of j_objnew.d. - -This traces activity of object allocation by Java. It will print a histogram -of the byte size of allocation of different type, followed by a count of each -type of allocation. - -Here you can see it running on Code/Java/Func_abc - -# j_objnew.d -Tracing... Hit Ctrl-C to end. -^C - -Java object allocation byte distributions by pid and class, - - 311496 java/io/Console$1 - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - 311496 java/io/DeleteOnExitHook - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - 311496 java/io/File$1 - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - 311496 java/lang/ApplicationShutdownHooks - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - 311496 java/lang/Compiler$1 - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - 311496 java/lang/Runtime - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - 311496 java/lang/String$CaseInsensitiveComparator - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - 311496 java/lang/System$2 - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - 311496 java/lang/Terminator$1 - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - 311496 java/lang/ref/Reference$Lock - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - 311496 java/lang/reflect/ReflectAccess - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - 311496 java/net/URLClassLoader$7 - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - 311496 java/net/UnknownContentHandler - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - 311496 java/util/Collections$EmptySet - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - 311496 java/util/Collections$ReverseComparator - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - 311496 java/util/Hashtable$EmptyEnumerator - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - 311496 java/util/Hashtable$EmptyIterator - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - 311496 java/util/jar/JavaUtilJarAccessImpl - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - 311496 sun/misc/Launcher$Factory - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - 311496 sun/misc/Unsafe - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - 311496 sun/net/www/protocol/file/Handler - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - 311496 sun/reflect/ReflectionFactory - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - 311496 sun/reflect/ReflectionFactory$1 - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - 311496 [Ljava/lang/StackTraceElement; - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 [Ljava/security/Principal; - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 [Ljava/security/cert/Certificate; - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 java/io/Console$1$1 - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 java/io/FilePermissionCollection - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 java/io/FileReader - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 java/io/UnixFileSystem - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 java/lang/ArithmeticException - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 java/lang/ClassLoader$3 - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 java/lang/NoSuchMethodError - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 java/lang/NullPointerException - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 java/lang/Shutdown$Lock - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 16 | 0 - - 311496 java/lang/StringCoding$StringDecoder - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 java/lang/SystemClassLoaderAction - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 java/lang/ThreadLocal$ThreadLocalMap - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 java/lang/VirtualMachineError - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 java/lang/reflect/ReflectPermission - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 java/nio/charset/CoderResult$1 - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 java/nio/charset/CoderResult$2 - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 java/security/BasicPermissionCollection - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 java/security/Policy$UnsupportedEmptyCollection - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 java/util/BitSet - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 java/util/Collections$EmptyList - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 java/util/Collections$EmptyMap - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 java/util/HashMap$KeySet - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 java/util/IdentityHashMap$KeySet - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 java/util/LinkedHashSet - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 java/util/concurrent/atomic/AtomicInteger - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 sun/misc/FileURLMapper - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 sun/misc/Launcher - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 sun/misc/Launcher$AppClassLoader$1 - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 sun/misc/Launcher$ExtClassLoader$1 - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 sun/misc/URLClassPath$FileLoader - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 sun/misc/URLClassPath$JarLoader$1 - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 sun/net/www/MessageHeader - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 sun/net/www/protocol/jar/Handler - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 16 | 0 - - 311496 sun/nio/cs/StandardCharsets - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 sun/nio/cs/US_ASCII - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - 311496 java/lang/Class$3 - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 16 | 0 - - 311496 [J - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - 311496 [Ljava/io/File; - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 32 | 0 - - 311496 [Ljava/lang/OutOfMemoryError; - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - 311496 [Ljava/lang/ThreadGroup; - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - 311496 [Ljava/lang/reflect/Constructor; - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 32 | 0 - - 311496 java/io/BufferedInputStream - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - 311496 java/io/BufferedOutputStream - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 32 | 0 - - 311496 java/io/BufferedReader - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - 311496 java/io/DataInputStream - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - 311496 java/io/FileOutputStream - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 32 | 0 - - 311496 java/io/FilePermission$1 - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 32 | 0 - - 311496 java/io/OutputStreamWriter - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 32 | 0 - - 311496 java/lang/Class$1 - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 32 | 0 - - 311496 java/lang/ClassLoader$NativeLibrary - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - 311496 java/lang/ThreadLocal$ThreadLocalMap$Entry - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - 311496 java/lang/ref/ReferenceQueue - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 32 | 0 - - 311496 java/lang/ref/ReferenceQueue$Lock - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 4 - 16 | 0 - - 311496 java/lang/ref/ReferenceQueue$Null - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 32 | 0 - - 311496 java/lang/ref/WeakReference - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 32 | 0 - - 311496 java/net/URLClassLoader$1 - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 32 | 0 - - 311496 java/nio/ByteOrder - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 32 | 0 - - 311496 java/nio/charset/CoderResult - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 32 | 0 - - 311496 java/security/CodeSource - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - 311496 java/security/Permissions - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 32 | 0 - - 311496 java/security/PrivilegedActionException - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - 311496 java/security/ProtectionDomain - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - 311496 java/util/AbstractList$Itr - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 32 | 0 - - 311496 java/util/Collections$SynchronizedMap - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - 311496 java/util/HashSet - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 32 | 0 - - 311496 java/util/IdentityHashMap - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - 311496 java/util/LinkedHashMap - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - 311496 java/util/LinkedHashMap$KeyIterator - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - 311496 java/util/Properties - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - 311496 java/util/concurrent/ConcurrentHashMap - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - 311496 java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - 311496 java/util/jar/JarFile - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - 311496 java/util/zip/Inflater - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - 311496 java/util/zip/ZipFile$1 - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - 311496 java/util/zip/ZipFile$ZipFileInputStream - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - 311496 sun/misc/NativeSignalHandler - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 32 | 0 - - 311496 sun/misc/SoftCache - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - 311496 sun/misc/URLClassPath$FileLoader$1 - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - 311496 sun/nio/cs/StandardCharsets$Aliases - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - 311496 sun/nio/cs/StandardCharsets$Cache - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - 311496 sun/nio/cs/StandardCharsets$Classes - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - 311496 sun/nio/cs/StreamDecoder - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - 311496 sun/nio/cs/Surrogate$Parser - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 32 | 0 - - 311496 sun/reflect/DelegatingConstructorAccessorImpl - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 32 | 0 - - 311496 sun/reflect/NativeConstructorAccessorImpl - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 32 | 0 - - 311496 sun/reflect/ReflectionFactory$GetReflectionFactoryAction - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 4 - 16 | 0 - - 311496 [Ljava/net/URL; - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@ 1 - 32 |@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - 311496 java/io/FileInputStream - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 32 | 0 - - 311496 java/lang/Boolean - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 32 | 0 - - 311496 java/lang/Integer - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 32 | 0 - - 311496 java/lang/RuntimePermission - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 32 | 0 - - 311496 java/lang/ThreadLocal - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 32 | 0 - - 311496 java/nio/charset/CodingErrorAction - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 32 | 0 - - 311496 java/util/Stack - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 32 | 0 - - 311496 sun/misc/Signal - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 32 | 0 - - 311496 [Ljava/lang/Thread; - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 64 | 0 - - 311496 [Ljava/lang/ThreadLocal$ThreadLocalMap$Entry; - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - 311496 [Ljava/lang/annotation/Annotation; - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 4 - 32 | 0 - - 311496 [Ljava/util/concurrent/ConcurrentHashMap$Segment; - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - 311496 java/io/BufferedWriter - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 64 | 0 - - 311496 java/io/ExpiringCache - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 64 | 0 - - 311496 java/io/ExpiringCache$1 - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 64 | 0 - - 311496 java/io/FilePermission - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 64 | 0 - - 311496 java/io/PrintStream - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 64 | 0 - - 311496 java/lang/ClassNotFoundException - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 64 | 0 - - 311496 java/lang/ThreadGroup - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 64 | 0 - - 311496 java/lang/ref/Finalizer$FinalizerThread - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - 311496 java/lang/ref/Reference$ReferenceHandler - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - 311496 java/lang/reflect/Method - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - 311496 java/util/IdentityHashMap$KeyIterator - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 64 | 0 - - 311496 java/util/StringTokenizer - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 64 | 0 - - 311496 java/util/jar/JarFile$JarFileEntry - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - 311496 java/util/zip/ZipEntry - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - 311496 sun/misc/Launcher$AppClassLoader - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - 311496 sun/misc/Launcher$ExtClassLoader - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - 311496 sun/misc/MetaIndex - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 4 - 32 | 0 - - 311496 sun/misc/URLClassPath - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 64 | 0 - - 311496 sun/net/www/protocol/file/FileURLConnection - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - 311496 sun/nio/cs/StreamEncoder - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 64 | 0 - - 311496 sun/nio/cs/US_ASCII$Encoder - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 64 | 0 - - 311496 java/io/FileDescriptor - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 5 - 32 | 0 - - 311496 sun/misc/URLClassPath$3 - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 6 - 32 | 0 - - 311496 [Ljava/io/ObjectStreamField; - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 8 - 32 | 0 - - 311496 [Ljava/lang/reflect/Field; - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 4 - 64 | 0 - - 311496 java/lang/Object - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 16 - 16 | 0 - - 311496 java/lang/OutOfMemoryError - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 8 - 32 | 0 - - 311496 java/util/ArrayList - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 8 - 32 | 0 - - 311496 java/util/Vector - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 8 - 32 | 0 - - 311496 sun/nio/cs/US_ASCII$Decoder - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 4 - 64 | 0 - - 311496 java/lang/StringBuffer - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 9 - 32 | 0 - - 311496 java/security/AccessControlContext - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 10 - 32 | 0 - - 311496 sun/misc/URLClassPath$JarLoader - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 5 - 64 | 0 - - 311496 java/net/Parts - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 11 - 32 | 0 - - 311496 [Ljava/lang/Class; - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 12 - 32 | 0 - - 311496 java/io/ExpiringCache$Entry - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 12 - 32 | 0 - - 311496 java/nio/HeapByteBuffer - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 6 - 64 | 0 - - 311496 java/util/Hashtable - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 6 - 64 | 0 - - 311496 java/lang/ref/SoftReference - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 7 - 64 | 0 - - 311496 java/util/HashMap$Entry - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 15 - 32 | 0 - - 311496 java/lang/ref/Finalizer - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 8 - 64 | 0 - - 311496 java/lang/reflect/Constructor - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 4 - 128 | 0 - - 311496 java/util/concurrent/locks/ReentrantLock$NonfairSync - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 16 - 32 | 0 - - 311496 sun/security/action/GetPropertyAction - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 17 - 32 | 0 - - 311496 java/io/ObjectStreamField - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 10 - 64 | 0 - - 311496 java/nio/HeapCharBuffer - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 11 - 64 | 0 - - 311496 java/util/concurrent/ConcurrentHashMap$HashEntry - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 23 - 32 | 0 - - 311496 java/lang/Thread - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 6 - 128 | 0 - - 311496 java/net/URL - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 13 - 64 | 0 - - 311496 java/util/HashMap - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 14 - 64 | 0 - - 311496 java/util/LinkedHashMap$Entry - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 15 - 64 | 0 - - 311496 [Ljava/util/concurrent/ConcurrentHashMap$HashEntry; - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 16 - 32 |@@@@@@@ 4 - 64 |@@@@ 2 - 128 | 0 - - 311496 java/util/concurrent/ConcurrentHashMap$Segment - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 16 - 64 | 0 - - 311496 java/io/File - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 37 - 32 | 0 - - 311496 java/util/Locale - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 19 - 64 | 0 - - 311496 [Ljava/util/Hashtable$Entry; - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 7 - 64 |@@@@ 1 - 128 |@@@@ 1 - 256 |@@@@ 1 - 512 | 0 - - 311496 java/util/Hashtable$Entry - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 57 - 32 | 0 - - 311496 [Ljava/util/HashMap$Entry; - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 17 - 128 | 0 - - 311496 java/lang/StringBuilder - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 73 - 32 | 0 - - 311496 [Ljava/lang/String; - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@ 26 - 32 |@@@@@@@@@@@@@@@ 22 - 64 |@@@@@@ 9 - 128 | 0 - - 311496 java/lang/reflect/Field - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 37 - 128 | 0 - - 311496 [Ljava/lang/Object; - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 296 - 32 |@@ 18 - 64 | 0 - 128 |@ 10 - 256 | 1 - 512 | 0 - 1024 | 0 - 2048 | 0 - 4096 | 1 - 8192 | 0 - - 311496 java/lang/String - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 931 - 32 | 0 - - 311496 [S - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@ 161 - 32 |@@@@@@@@@@@@@@@@ 189 - 64 |@@@@@@@ 82 - 128 |@@@ 38 - 256 |@ 12 - 512 | 4 - 1024 | 0 - - 311496 [[I - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@ 270 - 32 |@@@@@@@@@@ 129 - 64 |@@@@@@ 85 - 128 |@@@ 34 - 256 |@@ 22 - 512 | 1 - 1024 | 0 - - 311496 java/lang/Class - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 395 - 128 | 0 - - 311496 [I - value ------------- Distribution ------------- count - 8 | 0 - 16 | 3 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 276 - 64 |@@@@@@@@@ 87 - 128 | 3 - 256 | 1 - 512 | 1 - 1024 | 1 - 2048 | 0 - 4096 | 1 - 8192 | 0 - 16384 | 1 - 32768 | 0 - - 311496 [B - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@ 87 - 32 |@@@@@@@@@@ 100 - 64 |@@@@@@@@ 83 - 128 |@@@@@@@ 71 - 256 |@@@@@ 47 - 512 |@ 14 - 1024 | 0 - 2048 | 0 - 4096 | 0 - 8192 | 4 - 16384 | 0 - - 311496 [C - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@ 271 - 32 |@@@@@@@@@@@@@@@@@@@@@ 573 - 64 |@@@@@@ 150 - 128 |@@@ 68 - 256 | 8 - 512 | 1 - 1024 | 2 - 2048 | 0 - 4096 | 0 - 8192 | 0 - 16384 | 3 - 32768 | 0 - -Java object allocation count by pid and class, - - PID OBJS CLASS - 311496 1 [J - 311496 1 [Ljava/lang/OutOfMemoryError; - 311496 1 [Ljava/lang/StackTraceElement; - 311496 1 [Ljava/lang/ThreadGroup; - 311496 1 [Ljava/lang/ThreadLocal$ThreadLocalMap$Entry; - 311496 1 [Ljava/security/Principal; - 311496 1 [Ljava/security/cert/Certificate; - 311496 1 [Ljava/util/concurrent/ConcurrentHashMap$Segment; - 311496 1 java/io/BufferedInputStream - 311496 1 java/io/BufferedReader - 311496 1 java/io/Console$1 - 311496 1 java/io/Console$1$1 - 311496 1 java/io/DataInputStream - 311496 1 java/io/DeleteOnExitHook - 311496 1 java/io/File$1 - 311496 1 java/io/FilePermissionCollection - 311496 1 java/io/FileReader - 311496 1 java/io/UnixFileSystem - 311496 1 java/lang/ApplicationShutdownHooks - 311496 1 java/lang/ArithmeticException - 311496 1 java/lang/ClassLoader$3 - 311496 1 java/lang/ClassLoader$NativeLibrary - 311496 1 java/lang/Compiler$1 - 311496 1 java/lang/NoSuchMethodError - 311496 1 java/lang/NullPointerException - 311496 1 java/lang/Runtime - 311496 1 java/lang/String$CaseInsensitiveComparator - 311496 1 java/lang/StringCoding$StringDecoder - 311496 1 java/lang/System$2 - 311496 1 java/lang/SystemClassLoaderAction - 311496 1 java/lang/Terminator$1 - 311496 1 java/lang/ThreadLocal$ThreadLocalMap - 311496 1 java/lang/ThreadLocal$ThreadLocalMap$Entry - 311496 1 java/lang/VirtualMachineError - 311496 1 java/lang/ref/Finalizer$FinalizerThread - 311496 1 java/lang/ref/Reference$Lock - 311496 1 java/lang/ref/Reference$ReferenceHandler - 311496 1 java/lang/reflect/Method - 311496 1 java/lang/reflect/ReflectAccess - 311496 1 java/lang/reflect/ReflectPermission - 311496 1 java/net/URLClassLoader$7 - 311496 1 java/net/UnknownContentHandler - 311496 1 java/nio/charset/CoderResult$1 - 311496 1 java/nio/charset/CoderResult$2 - 311496 1 java/security/BasicPermissionCollection - 311496 1 java/security/CodeSource - 311496 1 java/security/Policy$UnsupportedEmptyCollection - 311496 1 java/security/PrivilegedActionException - 311496 1 java/security/ProtectionDomain - 311496 1 java/util/BitSet - 311496 1 java/util/Collections$EmptyList - 311496 1 java/util/Collections$EmptyMap - 311496 1 java/util/Collections$EmptySet - 311496 1 java/util/Collections$ReverseComparator - 311496 1 java/util/Collections$SynchronizedMap - 311496 1 java/util/HashMap$KeySet - 311496 1 java/util/Hashtable$EmptyEnumerator - 311496 1 java/util/Hashtable$EmptyIterator - 311496 1 java/util/IdentityHashMap - 311496 1 java/util/IdentityHashMap$KeySet - 311496 1 java/util/LinkedHashMap - 311496 1 java/util/LinkedHashMap$KeyIterator - 311496 1 java/util/LinkedHashSet - 311496 1 java/util/Properties - 311496 1 java/util/concurrent/ConcurrentHashMap - 311496 1 java/util/concurrent/atomic/AtomicInteger - 311496 1 java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl - 311496 1 java/util/jar/JarFile - 311496 1 java/util/jar/JarFile$JarFileEntry - 311496 1 java/util/jar/JavaUtilJarAccessImpl - 311496 1 java/util/zip/Inflater - 311496 1 java/util/zip/ZipEntry - 311496 1 java/util/zip/ZipFile$1 - 311496 1 java/util/zip/ZipFile$ZipFileInputStream - 311496 1 sun/misc/FileURLMapper - 311496 1 sun/misc/Launcher - 311496 1 sun/misc/Launcher$AppClassLoader - 311496 1 sun/misc/Launcher$AppClassLoader$1 - 311496 1 sun/misc/Launcher$ExtClassLoader - 311496 1 sun/misc/Launcher$ExtClassLoader$1 - 311496 1 sun/misc/Launcher$Factory - 311496 1 sun/misc/SoftCache - 311496 1 sun/misc/URLClassPath$FileLoader - 311496 1 sun/misc/URLClassPath$FileLoader$1 - 311496 1 sun/misc/URLClassPath$JarLoader$1 - 311496 1 sun/misc/Unsafe - 311496 1 sun/net/www/MessageHeader - 311496 1 sun/net/www/protocol/file/FileURLConnection - 311496 1 sun/net/www/protocol/file/Handler - 311496 1 sun/nio/cs/StandardCharsets - 311496 1 sun/nio/cs/StandardCharsets$Aliases - 311496 1 sun/nio/cs/StandardCharsets$Cache - 311496 1 sun/nio/cs/StandardCharsets$Classes - 311496 1 sun/nio/cs/StreamDecoder - 311496 1 sun/nio/cs/US_ASCII - 311496 1 sun/reflect/ReflectionFactory - 311496 1 sun/reflect/ReflectionFactory$1 - 311496 2 [Ljava/io/File; - 311496 2 [Ljava/lang/Thread; - 311496 2 [Ljava/lang/reflect/Constructor; - 311496 2 [Ljava/net/URL; - 311496 2 java/io/BufferedOutputStream - 311496 2 java/io/BufferedWriter - 311496 2 java/io/ExpiringCache - 311496 2 java/io/ExpiringCache$1 - 311496 2 java/io/FileOutputStream - 311496 2 java/io/FilePermission - 311496 2 java/io/FilePermission$1 - 311496 2 java/io/OutputStreamWriter - 311496 2 java/io/PrintStream - 311496 2 java/lang/Class$1 - 311496 2 java/lang/ClassNotFoundException - 311496 2 java/lang/Shutdown$Lock - 311496 2 java/lang/ThreadGroup - 311496 2 java/lang/ref/ReferenceQueue - 311496 2 java/lang/ref/ReferenceQueue$Null - 311496 2 java/lang/ref/WeakReference - 311496 2 java/net/URLClassLoader$1 - 311496 2 java/nio/ByteOrder - 311496 2 java/nio/charset/CoderResult - 311496 2 java/security/Permissions - 311496 2 java/util/AbstractList$Itr - 311496 2 java/util/HashSet - 311496 2 java/util/IdentityHashMap$KeyIterator - 311496 2 java/util/StringTokenizer - 311496 2 sun/misc/NativeSignalHandler - 311496 2 sun/misc/URLClassPath - 311496 2 sun/net/www/protocol/jar/Handler - 311496 2 sun/nio/cs/StreamEncoder - 311496 2 sun/nio/cs/Surrogate$Parser - 311496 2 sun/nio/cs/US_ASCII$Encoder - 311496 2 sun/reflect/DelegatingConstructorAccessorImpl - 311496 2 sun/reflect/NativeConstructorAccessorImpl - 311496 3 java/io/FileInputStream - 311496 3 java/lang/Boolean - 311496 3 java/lang/Class$3 - 311496 3 java/lang/Integer - 311496 3 java/lang/RuntimePermission - 311496 3 java/lang/ThreadLocal - 311496 3 java/nio/charset/CodingErrorAction - 311496 3 java/util/Stack - 311496 3 sun/misc/Signal - 311496 4 [Ljava/lang/annotation/Annotation; - 311496 4 [Ljava/lang/reflect/Field; - 311496 4 java/lang/ref/ReferenceQueue$Lock - 311496 4 java/lang/reflect/Constructor - 311496 4 sun/misc/MetaIndex - 311496 4 sun/nio/cs/US_ASCII$Decoder - 311496 4 sun/reflect/ReflectionFactory$GetReflectionFactoryAction - 311496 5 java/io/FileDescriptor - 311496 5 sun/misc/URLClassPath$JarLoader - 311496 6 java/lang/Thread - 311496 6 java/nio/HeapByteBuffer - 311496 6 java/util/Hashtable - 311496 6 sun/misc/URLClassPath$3 - 311496 7 java/lang/ref/SoftReference - 311496 8 [Ljava/io/ObjectStreamField; - 311496 8 java/lang/OutOfMemoryError - 311496 8 java/lang/ref/Finalizer - 311496 8 java/util/ArrayList - 311496 8 java/util/Vector - 311496 9 java/lang/StringBuffer - 311496 10 [Ljava/util/Hashtable$Entry; - 311496 10 java/io/ObjectStreamField - 311496 10 java/security/AccessControlContext - 311496 11 java/net/Parts - 311496 11 java/nio/HeapCharBuffer - 311496 12 [Ljava/lang/Class; - 311496 12 java/io/ExpiringCache$Entry - 311496 13 java/net/URL - 311496 14 java/util/HashMap - 311496 15 java/util/HashMap$Entry - 311496 15 java/util/LinkedHashMap$Entry - 311496 16 java/lang/Object - 311496 16 java/util/concurrent/ConcurrentHashMap$Segment - 311496 16 java/util/concurrent/locks/ReentrantLock$NonfairSync - 311496 17 [Ljava/util/HashMap$Entry; - 311496 17 sun/security/action/GetPropertyAction - 311496 19 java/util/Locale - 311496 22 [Ljava/util/concurrent/ConcurrentHashMap$HashEntry; - 311496 23 java/util/concurrent/ConcurrentHashMap$HashEntry - 311496 37 java/io/File - 311496 37 java/lang/reflect/Field - 311496 57 [Ljava/lang/String; - 311496 57 java/util/Hashtable$Entry - 311496 73 java/lang/StringBuilder - 311496 326 [Ljava/lang/Object; - 311496 374 [I - 311496 395 java/lang/Class - 311496 406 [B - 311496 486 [S - 311496 541 [[I - 311496 931 java/lang/String - 311496 1076 [C - -In the first section - Java object allocation byte distributions by PID and -class, you can see in graphical form the range of sizes of each type of -object. For example: - - 311496 [C - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@ 271 - 32 |@@@@@@@@@@@@@@@@@@@@@ 573 - 64 |@@@@@@ 150 - 128 |@@@ 68 - 256 | 8 - 512 | 1 - 1024 | 2 - 2048 | 0 - 4096 | 0 - 8192 | 0 - 16384 | 3 - 32768 | 0 - -shows that there were 271 objects of type [C and size 16 bytes to 31 bytes -created. It is important to pay close attention to the third column, -"count" as this will indicate if there were any instances in a particular -size, even if the number is too small to show up on the histogram scale. - -In the second section - Java object allocation count by pid and class, you can -easily see that there were 395 objects of java/lang/Class created, and 931 -objects of java/lang/String. - diff --git a/cddl/contrib/dtracetoolkit/Examples/j_package_example.txt b/cddl/contrib/dtracetoolkit/Examples/j_package_example.txt deleted file mode 100644 index 0d4da29d9e90..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/j_package_example.txt +++ /dev/null @@ -1,44 +0,0 @@ -The following are examples of j_package.d. - -This script will show you the number of times a class is loaded from -particular packages. - -Here you can see it running when Code/Java/Func_abc runs. - -# j_package.d -Tracing... Hit Ctrl-C to end. - - PID LOADS PACKAGE - 311500 1 . - 311500 1 java/lang/annotation - 311500 1 java/nio/charset/spi - 311500 1 java/security/cert - 311500 1 sun/net/www/protocol/jar - 311500 1 sun/nio - 311500 1 sun/reflect/misc - 311500 1 sun/security/action - 311500 1 sun/security/provider - 311500 1 sun/security/util - 311500 1 sun/util - 311500 2 sun/net/www/protocol/file - 311500 3 java/util/concurrent/atomic - 311500 3 sun/net/www - 311500 4 java/util/concurrent - 311500 4 java/util/jar - 311500 7 java/nio - 311500 7 java/util/concurrent/locks - 311500 7 java/util/zip - 311500 8 java/nio/charset - 311500 10 java/net - 311500 12 java/lang/ref - 311500 12 java/lang/reflect - 311500 13 sun/nio/cs - 311500 18 sun/reflect - 311500 19 java/security - 311500 34 sun/misc - 311500 38 java/io - 311500 46 java/util - 311500 69 java/lang - -You can see that 69 classes from the java/lang package were loaded during the -time this script was running. diff --git a/cddl/contrib/dtracetoolkit/Examples/j_profile_example.txt b/cddl/contrib/dtracetoolkit/Examples/j_profile_example.txt deleted file mode 100644 index bb45c4b3f759..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/j_profile_example.txt +++ /dev/null @@ -1,209 +0,0 @@ -The following are examples of j_profile.d. - -This script samples on-CPU stack traces and prints them with Java -translations. With DTrace, as well as tracing events, you can also sample -them. Each approach has its own advantages and disadvantages and you are -encouraged to try both when investigating performance issues (especially -tracing). Sampling is inaccurate and can miss events, yet is a quick and -easy way to discover a certain set of performance issues involving on-CPU -load. - -This script samples at 101 Hertz, printing out the 25 most frequently seen -stack traces down to 10 lines deep. All of these values can be tweaked in -the script. - -Here we run the script on Code/Java/Func_loop. The argument fed to the script -is the PID of the Java program we wish to investigate. Here the raw output is -show, then again after filtering using c++filt. - -# j_profile.d -p 1312 -Sampling 10-level stacks at 101 Hertz... Hit Ctrl-C to end. -^C - -Top 25 most frequently sampled stacks, - - - Func_loop.func_c()V - Func_loop.func_b()V - Func_loop.func_a()V - Func_loop.main([Ljava/lang/String;)V - StubRoutines (1) - libjvm.so`__1cJJavaCallsLcall_helper6FpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v_+0x1a3 - libjvm.so`__1cCosUos_exception_wrapper6FpFpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v2468_v_+0x27 - libjvm.so`__1cJJavaCallsEcall6FpnJJavaValue_nMmethodHandle_pnRJavaCallArguments_pnGThread__v_+0x2f - libjvm.so`__1cRjni_invoke_static6FpnHJNIEnv__pnJJavaValue_pnI_jobject_nLJNICallType_pnK_jmethodID_pnSJNI_ArgumentPusher_pnGThread__v_+0x1df - libjvm.so`jni_CallStaticVoidMethod+0x15d - 30 - - Func_loop.func_c()V - Func_loop.func_b()V - Func_loop.func_a()V - Func_loop.main([Ljava/lang/String;)V - StubRoutines (1) - libjvm.so`__1cJJavaCallsLcall_helper6FpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v_+0x1a3 - libjvm.so`__1cCosUos_exception_wrapper6FpFpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v2468_v_+0x27 - libjvm.so`__1cJJavaCallsEcall6FpnJJavaValue_nMmethodHandle_pnRJavaCallArguments_pnGThread__v_+0x2f - libjvm.so`__1cRjni_invoke_static6FpnHJNIEnv__pnJJavaValue_pnI_jobject_nLJNICallType_pnK_jmethodID_pnSJNI_ArgumentPusher_pnGThread__v_+0x1df - libjvm.so`jni_CallStaticVoidMethod+0x15d - 31 - - Func_loop.func_c()V - Func_loop.func_b()V - Func_loop.func_a()V - Func_loop.main([Ljava/lang/String;)V - StubRoutines (1) - libjvm.so`__1cJJavaCallsLcall_helper6FpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v_+0x1a3 - libjvm.so`__1cCosUos_exception_wrapper6FpFpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v2468_v_+0x27 - libjvm.so`__1cJJavaCallsEcall6FpnJJavaValue_nMmethodHandle_pnRJavaCallArguments_pnGThread__v_+0x2f - libjvm.so`__1cRjni_invoke_static6FpnHJNIEnv__pnJJavaValue_pnI_jobject_nLJNICallType_pnK_jmethodID_pnSJNI_ArgumentPusher_pnGThread__v_+0x1df - libjvm.so`jni_CallStaticVoidMethod+0x15d - 32 - - Func_loop.func_c()V - Func_loop.func_b()V - Func_loop.func_a()V - Func_loop.main([Ljava/lang/String;)V - StubRoutines (1) - libjvm.so`__1cJJavaCallsLcall_helper6FpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v_+0x1a3 - libjvm.so`__1cCosUos_exception_wrapper6FpFpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v2468_v_+0x27 - libjvm.so`__1cJJavaCallsEcall6FpnJJavaValue_nMmethodHandle_pnRJavaCallArguments_pnGThread__v_+0x2f - libjvm.so`__1cRjni_invoke_static6FpnHJNIEnv__pnJJavaValue_pnI_jobject_nLJNICallType_pnK_jmethodID_pnSJNI_ArgumentPusher_pnGThread__v_+0x1df - libjvm.so`jni_CallStaticVoidMethod+0x15d - 33 - - Func_loop.func_c()V - Func_loop.func_b()V - Func_loop.func_a()V - Func_loop.main([Ljava/lang/String;)V - StubRoutines (1) - libjvm.so`__1cJJavaCallsLcall_helper6FpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v_+0x1a3 - libjvm.so`__1cCosUos_exception_wrapper6FpFpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v2468_v_+0x27 - libjvm.so`__1cJJavaCallsEcall6FpnJJavaValue_nMmethodHandle_pnRJavaCallArguments_pnGThread__v_+0x2f - libjvm.so`__1cRjni_invoke_static6FpnHJNIEnv__pnJJavaValue_pnI_jobject_nLJNICallType_pnK_jmethodID_pnSJNI_ArgumentPusher_pnGThread__v_+0x1df - libjvm.so`jni_CallStaticVoidMethod+0x15d - 41 - - Func_loop.func_c()V - Func_loop.func_b()V - Func_loop.func_a()V - Func_loop.main([Ljava/lang/String;)V - StubRoutines (1) - libjvm.so`__1cJJavaCallsLcall_helper6FpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v_+0x1a3 - libjvm.so`__1cCosUos_exception_wrapper6FpFpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v2468_v_+0x27 - libjvm.so`__1cJJavaCallsEcall6FpnJJavaValue_nMmethodHandle_pnRJavaCallArguments_pnGThread__v_+0x2f - libjvm.so`__1cRjni_invoke_static6FpnHJNIEnv__pnJJavaValue_pnI_jobject_nLJNICallType_pnK_jmethodID_pnSJNI_ArgumentPusher_pnGThread__v_+0x1df - libjvm.so`jni_CallStaticVoidMethod+0x15d - 72 - - Func_loop.func_c()V - Func_loop.func_b()V - Func_loop.func_a()V - Func_loop.main([Ljava/lang/String;)V - StubRoutines (1) - libjvm.so`__1cJJavaCallsLcall_helper6FpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v_+0x1a3 - libjvm.so`__1cCosUos_exception_wrapper6FpFpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v2468_v_+0x27 - libjvm.so`__1cJJavaCallsEcall6FpnJJavaValue_nMmethodHandle_pnRJavaCallArguments_pnGThread__v_+0x2f - libjvm.so`__1cRjni_invoke_static6FpnHJNIEnv__pnJJavaValue_pnI_jobject_nLJNICallType_pnK_jmethodID_pnSJNI_ArgumentPusher_pnGThread__v_+0x1df - libjvm.so`jni_CallStaticVoidMethod+0x15d - 116 - - -The most frequent stacks had Func_loop.func_c() on CPU, with a stack trace -showing func_b() and func_a() - as expected from the source to Func_loop.java. - - -Now passing that output through c++filt to translate the compiled C++ symbols -of the JVM. - -# j_profile.d -p 1312 -o out.j_profile -# c++filt out.j_profile -Sampling 10-level stacks at 101 Hertz... Hit Ctrl-C to end. - -Top 25 most frequently sampled stacks, - - - Func_loop.func_c()V - Func_loop.func_b()V - Func_loop.func_a()V - Func_loop.main([Ljava/lang/String;)V - StubRoutines (1) - libjvm.so`void JavaCalls::call_helper(JavaValue*,methodHandle*,JavaCallArguments*,Thread*)+0x1a3 - libjvm.so`void os::os_exception_wrapper(void(*)(JavaValue*,methodHandle*,JavaCallArguments*,Thread*),JavaValue*,methodHandle*,JavaCallArguments*,Thread*)+0x27 - libjvm.so`void JavaCalls::call(JavaValue*,methodHandle,JavaCallArguments*,Thread*)+0x2f - libjvm.so`void jni_invoke_static(JNIEnv_*,JavaValue*,_jobject*,JNICallType,_jmethodID*,JNI_ArgumentPusher*,Thread*)+0x1df - libjvm.so`jni_CallStaticVoidMethod+0x15d - 10 - - Func_loop.func_c()V - Func_loop.func_b()V - Func_loop.func_a()V - Func_loop.main([Ljava/lang/String;)V - StubRoutines (1) - libjvm.so`void JavaCalls::call_helper(JavaValue*,methodHandle*,JavaCallArguments*,Thread*)+0x1a3 - libjvm.so`void os::os_exception_wrapper(void(*)(JavaValue*,methodHandle*,JavaCallArguments*,Thread*),JavaValue*,methodHandle*,JavaCallArguments*,Thread*)+0x27 - libjvm.so`void JavaCalls::call(JavaValue*,methodHandle,JavaCallArguments*,Thread*)+0x2f - libjvm.so`void jni_invoke_static(JNIEnv_*,JavaValue*,_jobject*,JNICallType,_jmethodID*,JNI_ArgumentPusher*,Thread*)+0x1df - libjvm.so`jni_CallStaticVoidMethod+0x15d - 13 - - Func_loop.func_c()V - Func_loop.func_b()V - Func_loop.func_a()V - Func_loop.main([Ljava/lang/String;)V - StubRoutines (1) - libjvm.so`void JavaCalls::call_helper(JavaValue*,methodHandle*,JavaCallArguments*,Thread*)+0x1a3 - libjvm.so`void os::os_exception_wrapper(void(*)(JavaValue*,methodHandle*,JavaCallArguments*,Thread*),JavaValue*,methodHandle*,JavaCallArguments*,Thread*)+0x27 - libjvm.so`void JavaCalls::call(JavaValue*,methodHandle,JavaCallArguments*,Thread*)+0x2f - libjvm.so`void jni_invoke_static(JNIEnv_*,JavaValue*,_jobject*,JNICallType,_jmethodID*,JNI_ArgumentPusher*,Thread*)+0x1df - libjvm.so`jni_CallStaticVoidMethod+0x15d - 19 - - Func_loop.func_c()V - Func_loop.func_b()V - Func_loop.func_a()V - Func_loop.main([Ljava/lang/String;)V - StubRoutines (1) - libjvm.so`void JavaCalls::call_helper(JavaValue*,methodHandle*,JavaCallArguments*,Thread*)+0x1a3 - libjvm.so`void os::os_exception_wrapper(void(*)(JavaValue*,methodHandle*,JavaCallArguments*,Thread*),JavaValue*,methodHandle*,JavaCallArguments*,Thread*)+0x27 - libjvm.so`void JavaCalls::call(JavaValue*,methodHandle,JavaCallArguments*,Thread*)+0x2f - libjvm.so`void jni_invoke_static(JNIEnv_*,JavaValue*,_jobject*,JNICallType,_jmethodID*,JNI_ArgumentPusher*,Thread*)+0x1df - libjvm.so`jni_CallStaticVoidMethod+0x15d - 21 - - Func_loop.func_c()V - Func_loop.func_b()V - Func_loop.func_a()V - Func_loop.main([Ljava/lang/String;)V - StubRoutines (1) - libjvm.so`void JavaCalls::call_helper(JavaValue*,methodHandle*,JavaCallArguments*,Thread*)+0x1a3 - libjvm.so`void os::os_exception_wrapper(void(*)(JavaValue*,methodHandle*,JavaCallArguments*,Thread*),JavaValue*,methodHandle*,JavaCallArguments*,Thread*)+0x27 - libjvm.so`void JavaCalls::call(JavaValue*,methodHandle,JavaCallArguments*,Thread*)+0x2f - libjvm.so`void jni_invoke_static(JNIEnv_*,JavaValue*,_jobject*,JNICallType,_jmethodID*,JNI_ArgumentPusher*,Thread*)+0x1df - libjvm.so`jni_CallStaticVoidMethod+0x15d - 29 - - Func_loop.func_c()V - Func_loop.func_b()V - Func_loop.func_a()V - Func_loop.main([Ljava/lang/String;)V - StubRoutines (1) - libjvm.so`void JavaCalls::call_helper(JavaValue*,methodHandle*,JavaCallArguments*,Thread*)+0x1a3 - libjvm.so`void os::os_exception_wrapper(void(*)(JavaValue*,methodHandle*,JavaCallArguments*,Thread*),JavaValue*,methodHandle*,JavaCallArguments*,Thread*)+0x27 - libjvm.so`void JavaCalls::call(JavaValue*,methodHandle,JavaCallArguments*,Thread*)+0x2f - libjvm.so`void jni_invoke_static(JNIEnv_*,JavaValue*,_jobject*,JNICallType,_jmethodID*,JNI_ArgumentPusher*,Thread*)+0x1df - libjvm.so`jni_CallStaticVoidMethod+0x15d - 53 - - Func_loop.func_c()V - Func_loop.func_b()V - Func_loop.func_a()V - Func_loop.main([Ljava/lang/String;)V - StubRoutines (1) - libjvm.so`void JavaCalls::call_helper(JavaValue*,methodHandle*,JavaCallArguments*,Thread*)+0x1a3 - libjvm.so`void os::os_exception_wrapper(void(*)(JavaValue*,methodHandle*,JavaCallArguments*,Thread*),JavaValue*,methodHandle*,JavaCallArguments*,Thread*)+0x27 - libjvm.so`void JavaCalls::call(JavaValue*,methodHandle,JavaCallArguments*,Thread*)+0x2f - libjvm.so`void jni_invoke_static(JNIEnv_*,JavaValue*,_jobject*,JNICallType,_jmethodID*,JNI_ArgumentPusher*,Thread*)+0x1df - libjvm.so`jni_CallStaticVoidMethod+0x15d - 74 - - diff --git a/cddl/contrib/dtracetoolkit/Examples/j_stat_example.txt b/cddl/contrib/dtracetoolkit/Examples/j_stat_example.txt deleted file mode 100644 index 6c7e12e99cfa..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/j_stat_example.txt +++ /dev/null @@ -1,33 +0,0 @@ -The following are examples of running j_stat.d. - -j_stat.d shows you the number of events per second that have happened since -the last line output. The default interval is 1 second, but you can specify -other intervals as arguments to the script. - -This shows the j_stat.d script reflecting the Code/Ruby/Func_abc script. - -# j_stat.d -TIME EXEC/s THREAD/s METHOD/s OBJNEW/s CLOAD/s EXCP/s GC/s -2007 Sep 24 04:00:34 0 0 0 0 0 0 0 -2007 Sep 24 04:00:35 2 6 11660 5306 318 41 0 -2007 Sep 24 04:00:36 0 0 124 4 0 2 0 -2007 Sep 24 04:00:37 0 0 124 4 0 2 0 -2007 Sep 24 04:00:38 0 0 123 75 9 1 0 -2007 Sep 24 04:00:39 0 0 0 0 0 0 0 -2007 Sep 24 04:00:40 0 0 0 0 0 0 0 -^C - -Here we can see that at 2007 Sep 24 04:00:35 there were 2 Java programs -executed, (this number will include those without Java provider support), -there were 6 threads created, 11,660 methods called, 5306 new objects created, -318 class loads, 41 exceptions raised and no garbage collects. - -The numbers are per second counts for the interval specified. The default -interval is 1 second. - -If you see a count in "EXECS" but not in the other columns, then your Java -software is probably not running with the DTrace hotspot provider. - -If you see counts in "CLOAD" but not in "METHODS", then you Java software -probably isn't running with "+ExtendedDTraceProbes". - diff --git a/cddl/contrib/dtracetoolkit/Examples/j_syscalls_example.txt b/cddl/contrib/dtracetoolkit/Examples/j_syscalls_example.txt deleted file mode 100644 index 911d4b0ec5c5..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/j_syscalls_example.txt +++ /dev/null @@ -1,165 +0,0 @@ -The following are examples of j_syscalls.d. - -This is a simple script to count executed Java methods and system calls. -Here it traces an example program, Code/Java/Func_abc. - -# j_syscalls.d -c 'java -XX:+ExtendedDTraceProbes Func_abc' -Tracing... Hit Ctrl-C to end. -Function A -Function B -Function C - PID TYPE NAME COUNT - 311536 method Func_abc.func_a 1 - 311536 method Func_abc.func_b 1 - 311536 method Func_abc.func_c 1 - 311536 method Func_abc.main 1 - 311536 method java/io/BufferedInputStream. 1 - 311536 method java/io/BufferedReader. 1 - 311536 method java/io/BufferedReader.close 1 - 311536 method java/io/BufferedWriter. 1 - 311536 method java/io/Console$1$1. 1 - 311536 method java/io/Console$1$1.run 1 - 311536 method java/io/Console$1. 1 - 311536 method java/io/Console$1.consoleRestoreHook 1 - 311536 method java/io/Console. 1 - 311536 method java/io/Console.access$600 1 - 311536 method java/io/DataInputStream. 1 - 311536 method java/io/DataInputStream.readFully 1 - 311536 method java/io/DeleteOnExitHook. 1 - 311536 method java/io/DeleteOnExitHook. 1 - 311536 method java/io/DeleteOnExitHook.hook 1 - 311536 method java/io/DeleteOnExitHook.run 1 -[... 900 lines truncated ...] - 311536 method java/io/ExpiringCache.get 18 - 311536 method java/lang/Class.desiredAssertionStatus 18 - 311536 method java/lang/Class.desiredAssertionStatus0 18 - 311536 method java/lang/ClassLoader.findLoadedClass 18 - 311536 method java/lang/ClassLoader.findLoadedClass0 18 - 311536 method java/io/BufferedReader.ensureOpen 19 - 311536 method java/lang/System.currentTimeMillis 19 - 311536 method java/nio/Buffer.limit 19 - 311536 method java/util/Locale. 19 - 311536 method java/util/Locale.createSingleton 19 - 311536 method java/util/concurrent/ConcurrentHashMap$Segment.put 19 - 311536 method java/util/concurrent/ConcurrentHashMap.put 19 - 311536 method java/util/concurrent/locks/AbstractQueuedSynchronizer.compareAndSetState 19 - 311536 method java/util/concurrent/locks/AbstractQueuedSynchronizer.release 19 - 311536 method java/util/concurrent/locks/AbstractQueuedSynchronizer.setState 19 - 311536 method java/util/concurrent/locks/ReentrantLock$NonfairSync.lock 19 - 311536 method java/util/concurrent/locks/ReentrantLock$Sync.tryRelease 19 - 311536 method java/util/concurrent/locks/ReentrantLock.lock 19 - 311536 method java/util/concurrent/locks/ReentrantLock.unlock 19 - 311536 method java/io/ObjectStreamField. 20 - 311536 method java/nio/ByteBuffer.array 20 - 311536 method java/util/AbstractList. 20 - 311536 method java/util/BitSet.get 20 - 311536 method java/util/concurrent/ConcurrentHashMap.hash 20 - 311536 method java/util/concurrent/ConcurrentHashMap.segmentFor 20 - 311536 method sun/misc/VM.isBooted 20 - 311536 syscall memcntl 20 - 311536 method java/io/File.getName 21 - 311536 method java/io/UnixFileSystem.getBooleanAttributes 21 - 311536 method java/io/UnixFileSystem.getBooleanAttributes0 21 - 311536 method java/lang/StringBuffer.append 21 - 311536 method java/nio/charset/Charset.atBugLevel 21 - 311536 method java/util/concurrent/ConcurrentHashMap$HashEntry.newArray 22 - 311536 method sun/misc/Unsafe.compareAndSwapInt 22 - 311536 method java/util/HashMap. 23 - 311536 method java/util/concurrent/ConcurrentHashMap$HashEntry. 23 - 311536 syscall stat64 23 - 311536 method java/nio/charset/CoderResult.isUnderflow 24 - 311536 method java/util/AbstractMap. 24 - 311536 method java/util/Vector.elementAt 24 - 311536 syscall munmap 24 - 311536 method java/lang/Class.getClassLoader 25 - 311536 syscall lwp_sigmask 25 - 311536 syscall sigaction 25 - 311536 method java/util/AbstractCollection. 26 - 311536 method java/util/ArrayList.add 26 - 311536 method java/util/ArrayList.ensureCapacity 26 - 311536 method java/lang/ClassLoader.loadClass 27 - 311536 method java/net/URL. 27 - 311536 method java/lang/ClassLoader.check 28 - 311536 method java/lang/ClassLoader.checkName 28 - 311536 method java/lang/ref/Reference. 28 - 311536 method java/lang/String.endsWith 29 - 311536 method sun/misc/VM.allowArraySyntax 29 - 311536 method java/io/ExpiringCache.entryFor 30 - 311536 method java/io/UnixFileSystem.resolve 30 - 311536 method java/util/HashMap$Entry. 30 - 311536 method java/util/LinkedHashMap.get 30 - 311536 syscall priocntlsys 30 - 311536 method java/util/HashMap.put 33 - 311536 method java/util/Vector. 33 - 311536 method java/io/UnixFileSystem.normalize 34 - 311536 method java/lang/Class.getClassLoader0 34 - 311536 method java/lang/String.toLowerCase 34 - 311536 method sun/security/action/GetPropertyAction.run 34 - 311536 method java/nio/CharBuffer.arrayOffset 36 - 311536 method java/util/HashMap.getEntry 36 - 311536 method java/io/File. 37 - 311536 method java/io/UnixFileSystem.prefixLength 37 - 311536 method java/io/BufferedReader.readLine 38 - 311536 method java/util/concurrent/locks/AbstractOwnableSynchronizer.setExclusiveOwnerThread 38 - 311536 syscall resolvepath 38 - 311536 method java/lang/CharacterDataLatin1.toLowerCase 41 - 311536 method java/lang/CharacterDataLatin1.getProperties 43 - 311536 method java/security/AccessController.doPrivileged 43 - 311536 method java/util/Vector.size 43 - 311536 method java/nio/Buffer.position 44 - 311536 method java/nio/ByteBuffer.arrayOffset 44 - 311536 method java/lang/System.getProperty 48 - 311536 method java/util/Properties.getProperty 50 - 311536 method java/util/BitSet.expandTo 51 - 311536 method java/util/BitSet.set 51 - 311536 syscall pollsys 55 - 311536 method java/lang/System.checkKey 56 - 311536 method java/lang/Thread.currentThread 57 - 311536 method java/util/Hashtable$Entry. 57 - 311536 method java/util/Hashtable.get 59 - 311536 method java/util/Hashtable.put 63 - 311536 method java/util/BitSet.checkInvariants 71 - 311536 method java/util/BitSet.wordIndex 72 - 311536 method java/lang/StringBuilder. 73 - 311536 method java/lang/StringBuilder.toString 73 - 311536 method java/lang/AbstractStringBuilder.expandCapacity 81 - 311536 method java/util/HashMap.hash 81 - 311536 method java/util/HashMap.indexFor 81 - 311536 method java/lang/AbstractStringBuilder. 82 - 311536 method java/lang/Character.toLowerCase 82 - 311536 method java/lang/String.startsWith 83 - 311536 method java/util/Arrays.copyOf 87 - 311536 method java/lang/String.lastIndexOf 90 - 311536 method java/lang/String.substring 94 - 311536 syscall brk 102 - 311536 syscall ioctl 103 - 311536 method java/util/Arrays.copyOfRange 107 - 311536 syscall mmap 127 - 311536 syscall open 129 - 311536 syscall close 133 - 311536 method java/lang/String.getChars 156 - 311536 method java/lang/System.getSecurityManager 174 - 311536 method java/lang/String. 175 - 311536 syscall xstat 188 - 311536 method java/lang/String.equals 202 - 311536 method java/lang/Math.min 208 - 311536 method java/lang/String.hashCode 213 - 311536 syscall lwp_exit 291 - 311536 method java/lang/String.indexOf 302 - 311536 method java/lang/System.arraycopy 360 - 311536 method java/lang/StringBuilder.append 545 - 311536 method java/lang/AbstractStringBuilder.append 561 - 311536 syscall llseek 664 - 311536 syscall read 668 - 311536 method java/lang/Object. 823 - 311536 method java/lang/String.charAt 1987 - -While tracing there were numerous system calls made, including 668 reads()'s, -and 664 llseek()'s. Many Java methods were also called, with 1987 -java/lang/String.charAt being the most of a particular kind. - -This script can provide an insight to how an application is interacting -with the system, by providing both application method calls and -system calls in the same output. - - diff --git a/cddl/contrib/dtracetoolkit/Examples/j_syscolors_example.txt b/cddl/contrib/dtracetoolkit/Examples/j_syscolors_example.txt deleted file mode 100644 index 3b130ee8883b..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/j_syscolors_example.txt +++ /dev/null @@ -1,1550 +0,0 @@ -The following are examples of j_syscolors.d. - -This is a simple script to trace the method flow of Java methods within a -program, and the system calls made. It watches Java method entries and -returns, and indents child * method calls. It renders the output in color -("colour") using terminal escape sequences (which you can tweak by modifying -the script). - -Here it traces the example program, Code/Java/Func_abc. - -WARNING: This output is full of terminal escape sequences, so if you are -trying to view this through an editor or web browser - it may look awful. -Try viewing this using "more" (although, depending on your terminal, it -still may look awful). - -The fields in the output are, in order; CPU-id, Process ID/Thread ID, Elapsed -time from previous line to current line, Type of call (func/syscall) and name -of Java method or syscall. - -If the flow appears to jump, check the TID column - the JVM may have switched -to another thread. - -WARNING: Watch the first column carefully, it prints the CPU-id. If it changes, -then it is very likely that the output has been shuffled. Changes in TID will -appear to shuffle output, as we change from one thread depth to the next. See -Docs/Notes/ALLjavaflow.txt for additional notes. - -# j_syscolors.d -c 'java -XX:+ExtendedDTraceProbes Func_abc' -C PID/TID DELTA(us) TYPE -- NAME -0 311542/1 2 syscall -> munmap -0 311542/1 33 syscall <- munmap -0 311542/1 52 syscall -> mmap -0 311542/1 16 syscall <- mmap -0 311542/1 34 syscall -> setcontext -0 311542/1 7 syscall <- setcontext -0 311542/1 7 syscall -> getrlimit -0 311542/1 7 syscall <- getrlimit -0 311542/1 7 syscall -> getpid -0 311542/1 6 syscall <- getpid -0 311542/1 58 syscall -> setcontext -0 311542/1 6 syscall <- setcontext -0 311542/1 975 syscall -> sysi86 -0 311542/1 9 syscall <- sysi86 -0 311542/1 134 syscall -> brk -0 311542/1 8 syscall <- brk -0 311542/1 7 syscall -> brk -0 311542/1 10 syscall <- brk -0 311542/1 47 syscall -> sysconfig -0 311542/1 6 syscall <- sysconfig -0 311542/1 36 syscall -> resolvepath -0 311542/1 31 syscall <- resolvepath -0 311542/1 9 syscall -> resolvepath -0 311542/1 18 syscall <- resolvepath -0 311542/1 85 syscall -> access -0 311542/1 20 syscall <- access -0 311542/1 8 syscall -> access -0 311542/1 24 syscall <- access -0 311542/1 115 syscall -> open -0 311542/1 27 syscall <- open -0 311542/1 14 syscall -> fstat64 -0 311542/1 7 syscall <- fstat64 -0 311542/1 11 syscall -> fstat64 -0 311542/1 6 syscall <- fstat64 -0 311542/1 22 syscall -> ioctl -0 311542/1 7 syscall <- ioctl -0 311542/1 11 syscall -> read -0 311542/1 43 syscall <- read -0 311542/1 39 syscall -> read -0 311542/1 7 syscall <- read -0 311542/1 10 syscall -> llseek -0 311542/1 7 syscall <- llseek -0 311542/1 8 syscall -> close -0 311542/1 9 syscall <- close -0 311542/1 12 syscall -> sysconfig -0 311542/1 6 syscall <- sysconfig -0 311542/1 7 syscall -> sysconfig -0 311542/1 6 syscall <- sysconfig -0 311542/1 6 syscall -> sysconfig -0 311542/1 6 syscall <- sysconfig -0 311542/1 11 syscall -> xstat -0 311542/1 27 syscall <- xstat -0 311542/1 19 syscall -> exece -0 311542/1 684 syscall <- exece -0 311542/1 3320 syscall -> mmap -0 311542/1 22 syscall <- mmap -0 311542/1 26 syscall -> resolvepath -0 311542/1 52 syscall <- resolvepath -0 311542/1 8 syscall -> resolvepath -0 311542/1 25 syscall <- resolvepath -0 311542/1 7 syscall -> sysconfig -0 311542/1 6 syscall <- sysconfig -0 311542/1 9 syscall -> xstat -0 311542/1 18 syscall <- xstat -0 311542/1 7 syscall -> open -0 311542/1 18 syscall <- open -0 311542/1 7 syscall -> fxstat -0 311542/1 7 syscall <- fxstat -0 311542/1 6 syscall -> mmap -0 311542/1 11 syscall <- mmap -0 311542/1 7 syscall -> close -0 311542/1 10 syscall <- close -0 311542/1 42 syscall -> xstat -0 311542/1 27 syscall <- xstat -0 311542/1 8 syscall -> xstat -0 311542/1 19 syscall <- xstat -0 311542/1 7 syscall -> xstat -0 311542/1 25 syscall <- xstat -[... 31000 lines truncated ...] -0 311542/2 10 method <- java/util/HashSet.add -0 311542/2 10 method <- java/lang/ClassLoader.checkPackageAccess -0 311542/2 28 method -> java/lang/reflect/Method.getModifiers -0 311542/2 14 method <- java/lang/reflect/Method.getModifiers -0 311542/2 17 method -> Func_abc.main -0 311542/2 14 method -> Func_abc.func_a -0 311542/2 12 method -> java/lang/ClassLoader.checkPackageAccess -0 311542/2 10 method -> java/lang/System.getSecurityManager -0 311542/2 10 method <- java/lang/System.getSecurityManager -0 311542/2 11 method -> java/util/HashSet.add -0 311542/2 10 method -> java/util/HashMap.put -0 311542/2 9 method -> java/lang/Object.hashCode -0 311542/2 10 method <- java/lang/Object.hashCode -0 311542/2 10 method -> java/util/HashMap.hash -0 311542/2 10 method <- java/util/HashMap.hash -0 311542/2 10 method -> java/util/HashMap.indexFor -0 311542/2 10 method <- java/util/HashMap.indexFor -0 311542/2 10 method <- java/util/HashMap.put -0 311542/2 10 method <- java/util/HashSet.add -0 311542/2 10 method <- java/lang/ClassLoader.checkPackageAccess -0 311542/2 20 syscall -> brk -0 311542/2 15 syscall <- brk -0 311542/2 13 syscall -> brk -0 311542/2 17 syscall <- brk -0 311542/2 47 method -> java/lang/ClassLoader.loadClassInternal -0 311542/2 12 method -> java/lang/ClassLoader.loadClass -0 311542/2 10 method -> sun/misc/Launcher$AppClassLoader.loadClass -0 311542/2 10 method -> java/lang/String.lastIndexOf -0 311542/2 10 method -> java/lang/String.lastIndexOf -0 311542/2 11 method <- java/lang/String.lastIndexOf -0 311542/2 10 method <- java/lang/String.lastIndexOf -0 311542/2 10 method -> java/lang/System.getSecurityManager -0 311542/2 10 method <- java/lang/System.getSecurityManager -0 311542/2 10 method -> java/lang/ClassLoader.loadClass -0 311542/2 10 method -> java/lang/ClassLoader.findLoadedClass -0 311542/2 10 method -> java/lang/ClassLoader.check -0 311542/2 9 method <- java/lang/ClassLoader.check -0 311542/2 10 method -> java/lang/ClassLoader.checkName -0 311542/2 10 method -> java/lang/String.indexOf -0 311542/2 10 method -> java/lang/String.indexOf -0 311542/2 11 method <- java/lang/String.indexOf -0 311542/2 10 method <- java/lang/String.indexOf -0 311542/2 10 method -> sun/misc/VM.allowArraySyntax -0 311542/2 10 method <- sun/misc/VM.allowArraySyntax -0 311542/2 10 method -> java/lang/String.charAt -0 311542/2 10 method <- java/lang/String.charAt -0 311542/2 10 method <- java/lang/ClassLoader.checkName -0 311542/2 10 method -> java/lang/ClassLoader.findLoadedClass0 -0 311542/2 12 method <- java/lang/ClassLoader.findLoadedClass0 -0 311542/2 10 method <- java/lang/ClassLoader.findLoadedClass -0 311542/2 11 method -> java/lang/ClassLoader.loadClass -0 311542/2 10 method -> java/lang/ClassLoader.findLoadedClass -0 311542/2 10 method -> java/lang/ClassLoader.check -0 311542/2 9 method <- java/lang/ClassLoader.check -0 311542/2 10 method -> java/lang/ClassLoader.checkName -0 311542/2 10 method -> java/lang/String.indexOf -0 311542/2 10 method -> java/lang/String.indexOf -0 311542/2 10 method <- java/lang/String.indexOf -0 311542/2 10 method <- java/lang/String.indexOf -0 311542/2 10 method -> sun/misc/VM.allowArraySyntax -0 311542/2 10 method <- sun/misc/VM.allowArraySyntax -0 311542/2 10 method -> java/lang/String.charAt -0 311542/2 9 method <- java/lang/String.charAt -0 311542/2 10 method <- java/lang/ClassLoader.checkName -0 311542/2 10 method -> java/lang/ClassLoader.findLoadedClass0 -0 311542/2 11 method <- java/lang/ClassLoader.findLoadedClass0 -0 311542/2 10 method <- java/lang/ClassLoader.findLoadedClass -0 311542/2 10 method -> java/lang/ClassLoader.findBootstrapClass0 -0 311542/2 10 method -> java/lang/ClassLoader.check -0 311542/2 10 method <- java/lang/ClassLoader.check -0 311542/2 10 method -> java/lang/ClassLoader.checkName -0 311542/2 10 method -> java/lang/String.indexOf -0 311542/2 10 method -> java/lang/String.indexOf -0 311542/2 10 method <- java/lang/String.indexOf -0 311542/2 10 method <- java/lang/String.indexOf -0 311542/2 10 method -> sun/misc/VM.allowArraySyntax -0 311542/2 10 method <- sun/misc/VM.allowArraySyntax -0 311542/2 10 method -> java/lang/String.charAt -0 311542/2 9 method <- java/lang/String.charAt -0 311542/2 10 method <- java/lang/ClassLoader.checkName -0 311542/2 10 method -> java/lang/ClassLoader.findBootstrapClass -0 311542/2 12 method <- java/lang/ClassLoader.findBootstrapClass -0 311542/2 10 method <- java/lang/ClassLoader.findBootstrapClass0 -0 311542/2 11 method <- java/lang/ClassLoader.loadClass -0 311542/2 10 method <- java/lang/ClassLoader.loadClass -0 311542/2 10 method <- sun/misc/Launcher$AppClassLoader.loadClass -0 311542/2 10 method <- java/lang/ClassLoader.loadClass -0 311542/2 10 method <- java/lang/ClassLoader.loadClassInternal -0 311542/2 14 method -> java/lang/ClassLoader.checkPackageAccess -0 311542/2 10 method -> java/lang/System.getSecurityManager -0 311542/2 10 method <- java/lang/System.getSecurityManager -0 311542/2 10 method -> java/util/HashSet.add -0 311542/2 10 method -> java/util/HashMap.put -0 311542/2 10 method -> java/lang/Object.hashCode -0 311542/2 9 method <- java/lang/Object.hashCode -0 311542/2 10 method -> java/util/HashMap.hash -0 311542/2 10 method <- java/util/HashMap.hash -0 311542/2 10 method -> java/util/HashMap.indexFor -0 311542/2 10 method <- java/util/HashMap.indexFor -0 311542/2 11 method <- java/util/HashMap.put -0 311542/2 10 method <- java/util/HashSet.add -0 311542/2 10 method <- java/lang/ClassLoader.checkPackageAccess -0 311542/2 18 method -> java/io/PrintStream.println -0 311542/2 13 method -> java/io/PrintStream.print -0 311542/2 12 method -> java/io/PrintStream.write -0 311542/2 12 method -> java/io/PrintStream.ensureOpen -0 311542/2 13 method <- java/io/PrintStream.ensureOpen -0 311542/2 15 method -> java/io/Writer.write -0 311542/2 16 method -> java/io/BufferedWriter.write -0 311542/2 13 method -> java/io/BufferedWriter.ensureOpen -0 311542/2 10 method <- java/io/BufferedWriter.ensureOpen -0 311542/2 12 method -> java/io/BufferedWriter.min -0 311542/2 10 method <- java/io/BufferedWriter.min -0 311542/2 13 method -> java/lang/String.getChars -0 311542/2 10 method -> java/lang/System.arraycopy -0 311542/2 11 method <- java/lang/System.arraycopy -0 311542/2 10 method <- java/lang/String.getChars -0 311542/2 10 method <- java/io/BufferedWriter.write -0 311542/2 10 method <- java/io/Writer.write -0 311542/2 13 method -> java/io/BufferedWriter.flushBuffer -0 311542/2 10 method -> java/io/BufferedWriter.ensureOpen -0 311542/2 10 method <- java/io/BufferedWriter.ensureOpen -0 311542/2 13 method -> java/io/OutputStreamWriter.write -0 311542/2 13 method -> sun/nio/cs/StreamEncoder.write -0 311542/2 13 method -> sun/nio/cs/StreamEncoder.ensureOpen -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.ensureOpen -0 311542/2 13 method -> sun/nio/cs/StreamEncoder.implWrite -0 311542/2 14 method -> java/nio/CharBuffer.wrap -0 311542/2 11 method -> java/nio/HeapCharBuffer. -0 311542/2 10 method -> java/nio/CharBuffer. -0 311542/2 10 method -> java/nio/Buffer. -0 311542/2 10 method -> java/lang/Object. -0 311542/2 10 method <- java/lang/Object. -0 311542/2 11 method -> java/nio/Buffer.limit -0 311542/2 10 method <- java/nio/Buffer.limit -0 311542/2 10 method -> java/nio/Buffer.position -0 311542/2 10 method <- java/nio/Buffer.position -0 311542/2 10 method <- java/nio/Buffer. -0 311542/2 10 method <- java/nio/CharBuffer. -0 311542/2 10 method <- java/nio/HeapCharBuffer. -0 311542/2 10 method <- java/nio/CharBuffer.wrap -0 311542/2 13 method -> java/nio/Buffer.hasRemaining -0 311542/2 10 method <- java/nio/Buffer.hasRemaining -0 311542/2 14 method -> java/nio/charset/CharsetEncoder.encode -0 311542/2 13 method -> sun/nio/cs/US_ASCII$Encoder.encodeLoop -0 311542/2 13 method -> java/nio/CharBuffer.hasArray -0 311542/2 10 method <- java/nio/CharBuffer.hasArray -0 311542/2 14 method -> java/nio/ByteBuffer.hasArray -0 311542/2 10 method <- java/nio/ByteBuffer.hasArray -0 311542/2 13 method -> sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop -0 311542/2 56 method -> java/nio/CharBuffer.array -0 311542/2 11 method <- java/nio/CharBuffer.array -0 311542/2 12 method -> java/nio/CharBuffer.arrayOffset -0 311542/2 10 method <- java/nio/CharBuffer.arrayOffset -0 311542/2 13 method -> java/nio/CharBuffer.arrayOffset -0 311542/2 10 method <- java/nio/CharBuffer.arrayOffset -0 311542/2 16 method -> java/nio/ByteBuffer.array -0 311542/2 10 method <- java/nio/ByteBuffer.array -0 311542/2 12 method -> java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method <- java/nio/ByteBuffer.arrayOffset -0 311542/2 12 method -> java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method <- java/nio/ByteBuffer.arrayOffset -0 311542/2 17 method -> java/nio/CharBuffer.arrayOffset -0 311542/2 10 method <- java/nio/CharBuffer.arrayOffset -0 311542/2 12 method -> java/nio/Buffer.position -0 311542/2 10 method <- java/nio/Buffer.position -0 311542/2 10 method -> java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method <- java/nio/ByteBuffer.arrayOffset -0 311542/2 12 method -> java/nio/Buffer.position -0 311542/2 10 method <- java/nio/Buffer.position -0 311542/2 10 method <- sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop -0 311542/2 10 method <- sun/nio/cs/US_ASCII$Encoder.encodeLoop -0 311542/2 12 method -> java/nio/charset/CoderResult.isOverflow -0 311542/2 10 method <- java/nio/charset/CoderResult.isOverflow -0 311542/2 12 method -> java/nio/charset/CoderResult.isUnderflow -0 311542/2 10 method <- java/nio/charset/CoderResult.isUnderflow -0 311542/2 10 method <- java/nio/charset/CharsetEncoder.encode -0 311542/2 13 method -> java/nio/charset/CoderResult.isUnderflow -0 311542/2 10 method <- java/nio/charset/CoderResult.isUnderflow -0 311542/2 14 method -> java/nio/Buffer.remaining -0 311542/2 10 method <- java/nio/Buffer.remaining -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.implWrite -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.write -0 311542/2 10 method <- java/io/OutputStreamWriter.write -0 311542/2 10 method <- java/io/BufferedWriter.flushBuffer -0 311542/2 13 method -> java/io/OutputStreamWriter.flushBuffer -0 311542/2 12 method -> sun/nio/cs/StreamEncoder.flushBuffer -0 311542/2 13 method -> sun/nio/cs/StreamEncoder.implFlushBuffer -0 311542/2 13 method -> sun/nio/cs/StreamEncoder.writeBytes -0 311542/2 12 method -> java/nio/Buffer.flip -0 311542/2 10 method <- java/nio/Buffer.flip -0 311542/2 14 method -> java/nio/ByteBuffer.array -0 311542/2 10 method <- java/nio/ByteBuffer.array -0 311542/2 12 method -> java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method <- java/nio/ByteBuffer.arrayOffset -0 311542/2 14 method -> java/io/PrintStream.write -0 311542/2 10 method -> java/io/PrintStream.ensureOpen -0 311542/2 10 method <- java/io/PrintStream.ensureOpen -0 311542/2 13 method -> java/io/BufferedOutputStream.write -0 311542/2 15 method -> java/lang/System.arraycopy -0 311542/2 10 method <- java/lang/System.arraycopy -0 311542/2 10 method <- java/io/BufferedOutputStream.write -0 311542/2 12 method -> java/io/BufferedOutputStream.flush -0 311542/2 12 method -> java/io/BufferedOutputStream.flushBuffer -0 311542/2 15 method -> java/io/FileOutputStream.write -0 311542/2 12 method -> java/io/FileOutputStream.writeBytes -0 311542/2 55 syscall -> write -0 311542/2 160 syscall <- write -0 311542/2 12 method <- java/io/FileOutputStream.writeBytes -0 311542/2 12 method <- java/io/FileOutputStream.write -0 311542/2 10 method <- java/io/BufferedOutputStream.flushBuffer -0 311542/2 13 method <- java/io/BufferedOutputStream.flush -0 311542/2 11 method <- java/io/PrintStream.write -0 311542/2 13 method -> java/nio/Buffer.clear -0 311542/2 11 method <- java/nio/Buffer.clear -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.writeBytes -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.implFlushBuffer -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.flushBuffer -0 311542/2 10 method <- java/io/OutputStreamWriter.flushBuffer -0 311542/2 15 method -> java/lang/String.indexOf -0 311542/2 10 method -> java/lang/String.indexOf -0 311542/2 10 method <- java/lang/String.indexOf -0 311542/2 10 method <- java/lang/String.indexOf -0 311542/2 10 method <- java/io/PrintStream.write -0 311542/2 10 method <- java/io/PrintStream.print -0 311542/2 12 method -> java/io/PrintStream.newLine -0 311542/2 10 method -> java/io/PrintStream.ensureOpen -0 311542/2 10 method <- java/io/PrintStream.ensureOpen -0 311542/2 12 method -> java/io/BufferedWriter.newLine -0 311542/2 12 method -> java/io/Writer.write -0 311542/2 10 method -> java/io/BufferedWriter.write -0 311542/2 10 method -> java/io/BufferedWriter.ensureOpen -0 311542/2 10 method <- java/io/BufferedWriter.ensureOpen -0 311542/2 11 method -> java/io/BufferedWriter.min -0 311542/2 10 method <- java/io/BufferedWriter.min -0 311542/2 10 method -> java/lang/String.getChars -0 311542/2 10 method -> java/lang/System.arraycopy -0 311542/2 10 method <- java/lang/System.arraycopy -0 311542/2 10 method <- java/lang/String.getChars -0 311542/2 10 method <- java/io/BufferedWriter.write -0 311542/2 10 method <- java/io/Writer.write -0 311542/2 10 method <- java/io/BufferedWriter.newLine -0 311542/2 10 method -> java/io/BufferedWriter.flushBuffer -0 311542/2 10 method -> java/io/BufferedWriter.ensureOpen -0 311542/2 10 method <- java/io/BufferedWriter.ensureOpen -0 311542/2 10 method -> java/io/OutputStreamWriter.write -0 311542/2 10 method -> sun/nio/cs/StreamEncoder.write -0 311542/2 9 method -> sun/nio/cs/StreamEncoder.ensureOpen -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.ensureOpen -0 311542/2 10 method -> sun/nio/cs/StreamEncoder.implWrite -0 311542/2 10 method -> java/nio/CharBuffer.wrap -0 311542/2 10 method -> java/nio/HeapCharBuffer. -0 311542/2 10 method -> java/nio/CharBuffer. -0 311542/2 10 method -> java/nio/Buffer. -0 311542/2 10 method -> java/lang/Object. -0 311542/2 9 method <- java/lang/Object. -0 311542/2 10 method -> java/nio/Buffer.limit -0 311542/2 10 method <- java/nio/Buffer.limit -0 311542/2 10 method -> java/nio/Buffer.position -0 311542/2 10 method <- java/nio/Buffer.position -0 311542/2 10 method <- java/nio/Buffer. -0 311542/2 10 method <- java/nio/CharBuffer. -0 311542/2 10 method <- java/nio/HeapCharBuffer. -0 311542/2 10 method <- java/nio/CharBuffer.wrap -0 311542/2 10 method -> java/nio/Buffer.hasRemaining -0 311542/2 10 method <- java/nio/Buffer.hasRemaining -0 311542/2 10 method -> java/nio/charset/CharsetEncoder.encode -0 311542/2 10 method -> sun/nio/cs/US_ASCII$Encoder.encodeLoop -0 311542/2 10 method -> java/nio/CharBuffer.hasArray -0 311542/2 9 method <- java/nio/CharBuffer.hasArray -0 311542/2 10 method -> java/nio/ByteBuffer.hasArray -0 311542/2 9 method <- java/nio/ByteBuffer.hasArray -0 311542/2 10 method -> sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop -0 311542/2 10 method -> java/nio/CharBuffer.array -0 311542/2 9 method <- java/nio/CharBuffer.array -0 311542/2 10 method -> java/nio/CharBuffer.arrayOffset -0 311542/2 10 method <- java/nio/CharBuffer.arrayOffset -0 311542/2 10 method -> java/nio/CharBuffer.arrayOffset -0 311542/2 10 method <- java/nio/CharBuffer.arrayOffset -0 311542/2 10 method -> java/nio/ByteBuffer.array -0 311542/2 10 method <- java/nio/ByteBuffer.array -0 311542/2 10 method -> java/nio/ByteBuffer.arrayOffset -0 311542/2 9 method <- java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method -> java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method <- java/nio/ByteBuffer.arrayOffset -0 311542/2 11 method -> java/nio/CharBuffer.arrayOffset -0 311542/2 10 method <- java/nio/CharBuffer.arrayOffset -0 311542/2 10 method -> java/nio/Buffer.position -0 311542/2 10 method <- java/nio/Buffer.position -0 311542/2 10 method -> java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method <- java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method -> java/nio/Buffer.position -0 311542/2 10 method <- java/nio/Buffer.position -0 311542/2 10 method <- sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop -0 311542/2 10 method <- sun/nio/cs/US_ASCII$Encoder.encodeLoop -0 311542/2 10 method -> java/nio/charset/CoderResult.isOverflow -0 311542/2 10 method <- java/nio/charset/CoderResult.isOverflow -0 311542/2 10 method -> java/nio/charset/CoderResult.isUnderflow -0 311542/2 10 method <- java/nio/charset/CoderResult.isUnderflow -0 311542/2 10 method <- java/nio/charset/CharsetEncoder.encode -0 311542/2 10 method -> java/nio/charset/CoderResult.isUnderflow -0 311542/2 10 method <- java/nio/charset/CoderResult.isUnderflow -0 311542/2 10 method -> java/nio/Buffer.remaining -0 311542/2 10 method <- java/nio/Buffer.remaining -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.implWrite -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.write -0 311542/2 10 method <- java/io/OutputStreamWriter.write -0 311542/2 10 method <- java/io/BufferedWriter.flushBuffer -0 311542/2 10 method -> java/io/OutputStreamWriter.flushBuffer -0 311542/2 10 method -> sun/nio/cs/StreamEncoder.flushBuffer -0 311542/2 10 method -> sun/nio/cs/StreamEncoder.implFlushBuffer -0 311542/2 10 method -> sun/nio/cs/StreamEncoder.writeBytes -0 311542/2 10 method -> java/nio/Buffer.flip -0 311542/2 9 method <- java/nio/Buffer.flip -0 311542/2 11 method -> java/nio/ByteBuffer.array -0 311542/2 9 method <- java/nio/ByteBuffer.array -0 311542/2 10 method -> java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method <- java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method -> java/io/PrintStream.write -0 311542/2 10 method -> java/io/PrintStream.ensureOpen -0 311542/2 9 method <- java/io/PrintStream.ensureOpen -0 311542/2 10 method -> java/io/BufferedOutputStream.write -0 311542/2 10 method -> java/lang/System.arraycopy -0 311542/2 10 method <- java/lang/System.arraycopy -0 311542/2 10 method <- java/io/BufferedOutputStream.write -0 311542/2 10 method -> java/io/BufferedOutputStream.flush -0 311542/2 10 method -> java/io/BufferedOutputStream.flushBuffer -0 311542/2 10 method -> java/io/FileOutputStream.write -0 311542/2 10 method -> java/io/FileOutputStream.writeBytes -0 311542/2 12 syscall -> write -0 311542/2 63 syscall <- write -0 311542/2 8 method <- java/io/FileOutputStream.writeBytes -0 311542/2 11 method <- java/io/FileOutputStream.write -0 311542/2 10 method <- java/io/BufferedOutputStream.flushBuffer -0 311542/2 10 method <- java/io/BufferedOutputStream.flush -0 311542/2 10 method <- java/io/PrintStream.write -0 311542/2 10 method -> java/nio/Buffer.clear -0 311542/2 10 method <- java/nio/Buffer.clear -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.writeBytes -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.implFlushBuffer -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.flushBuffer -0 311542/2 10 method <- java/io/OutputStreamWriter.flushBuffer -0 311542/2 10 method -> java/io/BufferedOutputStream.flush -0 311542/2 10 method -> java/io/BufferedOutputStream.flushBuffer -0 311542/2 10 method <- java/io/BufferedOutputStream.flushBuffer -0 311542/2 10 method <- java/io/BufferedOutputStream.flush -0 311542/2 10 method <- java/io/PrintStream.newLine -0 311542/2 10 method <- java/io/PrintStream.println -0 311542/2 23 method -> java/lang/ClassLoader.loadClassInternal -0 311542/2 11 method -> java/lang/ClassLoader.loadClass -0 311542/2 10 method -> sun/misc/Launcher$AppClassLoader.loadClass -0 311542/2 10 method -> java/lang/String.lastIndexOf -0 311542/2 10 method -> java/lang/String.lastIndexOf -0 311542/2 10 method <- java/lang/String.lastIndexOf -0 311542/2 10 method <- java/lang/String.lastIndexOf -0 311542/2 10 method -> java/lang/System.getSecurityManager -0 311542/2 10 method <- java/lang/System.getSecurityManager -0 311542/2 10 method -> java/lang/ClassLoader.loadClass -0 311542/2 10 method -> java/lang/ClassLoader.findLoadedClass -0 311542/2 10 method -> java/lang/ClassLoader.check -0 311542/2 10 method <- java/lang/ClassLoader.check -0 311542/2 10 method -> java/lang/ClassLoader.checkName -0 311542/2 10 method -> java/lang/String.indexOf -0 311542/2 10 method -> java/lang/String.indexOf -0 311542/2 10 method <- java/lang/String.indexOf -0 311542/2 10 method <- java/lang/String.indexOf -0 311542/2 10 method -> sun/misc/VM.allowArraySyntax -0 311542/2 9 method <- sun/misc/VM.allowArraySyntax -0 311542/2 10 method -> java/lang/String.charAt -0 311542/2 10 method <- java/lang/String.charAt -0 311542/2 10 method <- java/lang/ClassLoader.checkName -0 311542/2 10 method -> java/lang/ClassLoader.findLoadedClass0 -0 311542/2 14 method <- java/lang/ClassLoader.findLoadedClass0 -0 311542/2 10 method <- java/lang/ClassLoader.findLoadedClass -0 311542/2 12 method -> java/lang/ClassLoader.loadClass -0 311542/2 10 method -> java/lang/ClassLoader.findLoadedClass -0 311542/2 10 method -> java/lang/ClassLoader.check -0 311542/2 9 method <- java/lang/ClassLoader.check -0 311542/2 10 method -> java/lang/ClassLoader.checkName -0 311542/2 10 method -> java/lang/String.indexOf -0 311542/2 9 method -> java/lang/String.indexOf -0 311542/2 10 method <- java/lang/String.indexOf -0 311542/2 10 method <- java/lang/String.indexOf -0 311542/2 10 method -> sun/misc/VM.allowArraySyntax -0 311542/2 10 method <- sun/misc/VM.allowArraySyntax -0 311542/2 10 method -> java/lang/String.charAt -0 311542/2 9 method <- java/lang/String.charAt -0 311542/2 10 method <- java/lang/ClassLoader.checkName -0 311542/2 10 method -> java/lang/ClassLoader.findLoadedClass0 -0 311542/2 12 method <- java/lang/ClassLoader.findLoadedClass0 -0 311542/2 10 method <- java/lang/ClassLoader.findLoadedClass -0 311542/2 10 method -> java/lang/ClassLoader.findBootstrapClass0 -0 311542/2 10 method -> java/lang/ClassLoader.check -0 311542/2 9 method <- java/lang/ClassLoader.check -0 311542/2 10 method -> java/lang/ClassLoader.checkName -0 311542/2 10 method -> java/lang/String.indexOf -0 311542/2 9 method -> java/lang/String.indexOf -0 311542/2 10 method <- java/lang/String.indexOf -0 311542/2 10 method <- java/lang/String.indexOf -0 311542/2 10 method -> sun/misc/VM.allowArraySyntax -0 311542/2 10 method <- sun/misc/VM.allowArraySyntax -0 311542/2 10 method -> java/lang/String.charAt -0 311542/2 10 method <- java/lang/String.charAt -0 311542/2 10 method <- java/lang/ClassLoader.checkName -0 311542/2 10 method -> java/lang/ClassLoader.findBootstrapClass -0 311542/2 15 method <- java/lang/ClassLoader.findBootstrapClass -0 311542/2 10 method <- java/lang/ClassLoader.findBootstrapClass0 -0 311542/2 11 method <- java/lang/ClassLoader.loadClass -0 311542/2 10 method <- java/lang/ClassLoader.loadClass -0 311542/2 10 method <- sun/misc/Launcher$AppClassLoader.loadClass -0 311542/2 10 method <- java/lang/ClassLoader.loadClass -0 311542/2 10 method <- java/lang/ClassLoader.loadClassInternal -0 311542/2 17 method -> java/lang/ClassLoader.checkPackageAccess -0 311542/2 10 method -> java/lang/System.getSecurityManager -0 311542/2 10 method <- java/lang/System.getSecurityManager -0 311542/2 11 method -> java/util/HashSet.add -0 311542/2 10 method -> java/util/HashMap.put -0 311542/2 10 method -> java/lang/Object.hashCode -0 311542/2 10 method <- java/lang/Object.hashCode -0 311542/2 10 method -> java/util/HashMap.hash -0 311542/2 10 method <- java/util/HashMap.hash -0 311542/2 10 method -> java/util/HashMap.indexFor -0 311542/2 10 method <- java/util/HashMap.indexFor -0 311542/2 11 method <- java/util/HashMap.put -0 311542/2 10 method <- java/util/HashSet.add -0 311542/2 10 method <- java/lang/ClassLoader.checkPackageAccess -0 311542/2 20 method -> java/lang/Thread.currentThread -0 311542/2 11 method <- java/lang/Thread.currentThread -0 311542/2 13 method -> java/lang/Thread.sleep -0 311542/2 21 syscall -> pollsys -0 311542/10 59827 syscall <- pollsys -0 311542/10 31 syscall -> pollsys -0 311542/10 59842 syscall <- pollsys -0 311542/10 29 syscall -> pollsys -0 311542/10 60087 syscall <- pollsys -0 311542/10 29 syscall -> pollsys -0 311542/10 59871 syscall <- pollsys -0 311542/10 26 syscall -> pollsys -0 311542/3 1008044 syscall <- lwp_cond_wait -0 311542/3 37 syscall -> lwp_cond_wait -0 311542/10 59402 syscall <- pollsys -0 311542/10 18 syscall -> pollsys -0 311542/10 59999 syscall <- pollsys -0 311542/10 30 syscall -> pollsys -0 311542/10 59965 syscall <- pollsys -0 311542/10 25 syscall -> pollsys -0 311542/10 59979 syscall <- pollsys -0 311542/10 30 syscall -> pollsys -0 311542/10 51241 syscall <- pollsys -0 311542/10 31 syscall -> pollsys -0 311542/10 58679 syscall <- pollsys -0 311542/10 30 syscall -> pollsys -0 311542/10 50215 syscall <- pollsys -0 311542/10 30 syscall -> pollsys -0 311542/10 59734 syscall <- pollsys -0 311542/10 29 syscall -> pollsys -0 311542/10 59977 syscall <- pollsys -0 311542/10 26 syscall -> pollsys -0 311542/10 59970 syscall <- pollsys -0 311542/10 29 syscall -> pollsys -0 311542/10 59966 syscall <- pollsys -0 311542/10 29 syscall -> pollsys -0 311542/10 60013 syscall <- pollsys -0 311542/10 30 syscall -> pollsys -0 311542/10 59924 syscall <- pollsys -0 311542/10 30 syscall -> pollsys -Function B -0 311542/2 1003741 syscall <- pollsys -0 311542/2 28 method <- java/lang/Thread.sleep -0 311542/2 45 method -> Func_abc.func_b -0 311542/2 36 method -> java/io/PrintStream.println -0 311542/2 11 method -> java/io/PrintStream.print -0 311542/2 10 method -> java/io/PrintStream.write -0 311542/2 10 method -> java/io/PrintStream.ensureOpen -0 311542/2 10 method <- java/io/PrintStream.ensureOpen -0 311542/2 11 method -> java/io/Writer.write -0 311542/2 11 method -> java/io/BufferedWriter.write -0 311542/2 10 method -> java/io/BufferedWriter.ensureOpen -0 311542/2 10 method <- java/io/BufferedWriter.ensureOpen -0 311542/2 12 method -> java/io/BufferedWriter.min -0 311542/2 10 method <- java/io/BufferedWriter.min -0 311542/2 11 method -> java/lang/String.getChars -0 311542/2 11 method -> java/lang/System.arraycopy -0 311542/2 11 method <- java/lang/System.arraycopy -0 311542/2 10 method <- java/lang/String.getChars -0 311542/2 11 method <- java/io/BufferedWriter.write -0 311542/2 10 method <- java/io/Writer.write -0 311542/2 10 method -> java/io/BufferedWriter.flushBuffer -0 311542/2 10 method -> java/io/BufferedWriter.ensureOpen -0 311542/2 10 method <- java/io/BufferedWriter.ensureOpen -0 311542/2 11 method -> java/io/OutputStreamWriter.write -0 311542/2 10 method -> sun/nio/cs/StreamEncoder.write -0 311542/2 10 method -> sun/nio/cs/StreamEncoder.ensureOpen -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.ensureOpen -0 311542/2 11 method -> sun/nio/cs/StreamEncoder.implWrite -0 311542/2 10 method -> java/nio/CharBuffer.wrap -0 311542/2 10 method -> java/nio/HeapCharBuffer. -0 311542/2 10 method -> java/nio/CharBuffer. -0 311542/2 10 method -> java/nio/Buffer. -0 311542/2 10 method -> java/lang/Object. -0 311542/2 10 method <- java/lang/Object. -0 311542/2 11 method -> java/nio/Buffer.limit -0 311542/2 10 method <- java/nio/Buffer.limit -0 311542/2 10 method -> java/nio/Buffer.position -0 311542/2 10 method <- java/nio/Buffer.position -0 311542/2 10 method <- java/nio/Buffer. -0 311542/2 10 method <- java/nio/CharBuffer. -0 311542/2 10 method <- java/nio/HeapCharBuffer. -0 311542/2 10 method <- java/nio/CharBuffer.wrap -0 311542/2 11 method -> java/nio/Buffer.hasRemaining -0 311542/2 10 method <- java/nio/Buffer.hasRemaining -0 311542/2 11 method -> java/nio/charset/CharsetEncoder.encode -0 311542/2 11 method -> sun/nio/cs/US_ASCII$Encoder.encodeLoop -0 311542/2 10 method -> java/nio/CharBuffer.hasArray -0 311542/2 10 method <- java/nio/CharBuffer.hasArray -0 311542/2 11 method -> java/nio/ByteBuffer.hasArray -0 311542/2 10 method <- java/nio/ByteBuffer.hasArray -0 311542/2 10 method -> sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop -0 311542/2 10 method -> java/nio/CharBuffer.array -0 311542/2 10 method <- java/nio/CharBuffer.array -0 311542/2 10 method -> java/nio/CharBuffer.arrayOffset -0 311542/2 10 method <- java/nio/CharBuffer.arrayOffset -0 311542/2 10 method -> java/nio/CharBuffer.arrayOffset -0 311542/2 10 method <- java/nio/CharBuffer.arrayOffset -0 311542/2 11 method -> java/nio/ByteBuffer.array -0 311542/2 10 method <- java/nio/ByteBuffer.array -0 311542/2 10 method -> java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method <- java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method -> java/nio/ByteBuffer.arrayOffset -0 311542/2 9 method <- java/nio/ByteBuffer.arrayOffset -0 311542/2 12 method -> java/nio/CharBuffer.arrayOffset -0 311542/2 10 method <- java/nio/CharBuffer.arrayOffset -0 311542/2 10 method -> java/nio/Buffer.position -0 311542/2 10 method <- java/nio/Buffer.position -0 311542/2 10 method -> java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method <- java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method -> java/nio/Buffer.position -0 311542/2 10 method <- java/nio/Buffer.position -0 311542/2 10 method <- sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop -0 311542/2 10 method <- sun/nio/cs/US_ASCII$Encoder.encodeLoop -0 311542/2 11 method -> java/nio/charset/CoderResult.isOverflow -0 311542/2 10 method <- java/nio/charset/CoderResult.isOverflow -0 311542/2 10 method -> java/nio/charset/CoderResult.isUnderflow -0 311542/2 10 method <- java/nio/charset/CoderResult.isUnderflow -0 311542/2 10 method <- java/nio/charset/CharsetEncoder.encode -0 311542/2 10 method -> java/nio/charset/CoderResult.isUnderflow -0 311542/2 10 method <- java/nio/charset/CoderResult.isUnderflow -0 311542/2 10 method -> java/nio/Buffer.remaining -0 311542/2 10 method <- java/nio/Buffer.remaining -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.implWrite -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.write -0 311542/2 10 method <- java/io/OutputStreamWriter.write -0 311542/2 10 method <- java/io/BufferedWriter.flushBuffer -0 311542/2 10 method -> java/io/OutputStreamWriter.flushBuffer -0 311542/2 10 method -> sun/nio/cs/StreamEncoder.flushBuffer -0 311542/2 10 method -> sun/nio/cs/StreamEncoder.implFlushBuffer -0 311542/2 10 method -> sun/nio/cs/StreamEncoder.writeBytes -0 311542/2 10 method -> java/nio/Buffer.flip -0 311542/2 9 method <- java/nio/Buffer.flip -0 311542/2 11 method -> java/nio/ByteBuffer.array -0 311542/2 9 method <- java/nio/ByteBuffer.array -0 311542/2 10 method -> java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method <- java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method -> java/io/PrintStream.write -0 311542/2 10 method -> java/io/PrintStream.ensureOpen -0 311542/2 9 method <- java/io/PrintStream.ensureOpen -0 311542/2 11 method -> java/io/BufferedOutputStream.write -0 311542/2 10 method -> java/lang/System.arraycopy -0 311542/2 10 method <- java/lang/System.arraycopy -0 311542/2 10 method <- java/io/BufferedOutputStream.write -0 311542/2 10 method -> java/io/BufferedOutputStream.flush -0 311542/2 10 method -> java/io/BufferedOutputStream.flushBuffer -0 311542/2 10 method -> java/io/FileOutputStream.write -0 311542/2 10 method -> java/io/FileOutputStream.writeBytes -0 311542/2 17 syscall -> write -0 311542/2 104 syscall <- write -0 311542/2 9 method <- java/io/FileOutputStream.writeBytes -0 311542/2 11 method <- java/io/FileOutputStream.write -0 311542/2 10 method <- java/io/BufferedOutputStream.flushBuffer -0 311542/2 10 method <- java/io/BufferedOutputStream.flush -0 311542/2 10 method <- java/io/PrintStream.write -0 311542/2 10 method -> java/nio/Buffer.clear -0 311542/2 10 method <- java/nio/Buffer.clear -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.writeBytes -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.implFlushBuffer -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.flushBuffer -0 311542/2 10 method <- java/io/OutputStreamWriter.flushBuffer -0 311542/2 11 method -> java/lang/String.indexOf -0 311542/2 10 method -> java/lang/String.indexOf -0 311542/2 11 method <- java/lang/String.indexOf -0 311542/2 10 method <- java/lang/String.indexOf -0 311542/2 10 method <- java/io/PrintStream.write -0 311542/2 10 method <- java/io/PrintStream.print -0 311542/2 10 method -> java/io/PrintStream.newLine -0 311542/2 10 method -> java/io/PrintStream.ensureOpen -0 311542/2 10 method <- java/io/PrintStream.ensureOpen -0 311542/2 10 method -> java/io/BufferedWriter.newLine -0 311542/2 10 method -> java/io/Writer.write -0 311542/2 10 method -> java/io/BufferedWriter.write -0 311542/2 10 method -> java/io/BufferedWriter.ensureOpen -0 311542/2 9 method <- java/io/BufferedWriter.ensureOpen -0 311542/2 10 method -> java/io/BufferedWriter.min -0 311542/2 9 method <- java/io/BufferedWriter.min -0 311542/2 10 method -> java/lang/String.getChars -0 311542/2 10 method -> java/lang/System.arraycopy -0 311542/2 10 method <- java/lang/System.arraycopy -0 311542/2 10 method <- java/lang/String.getChars -0 311542/2 10 method <- java/io/BufferedWriter.write -0 311542/2 10 method <- java/io/Writer.write -0 311542/2 10 method <- java/io/BufferedWriter.newLine -0 311542/2 10 method -> java/io/BufferedWriter.flushBuffer -0 311542/2 10 method -> java/io/BufferedWriter.ensureOpen -0 311542/2 9 method <- java/io/BufferedWriter.ensureOpen -0 311542/2 10 method -> java/io/OutputStreamWriter.write -0 311542/2 10 method -> sun/nio/cs/StreamEncoder.write -0 311542/2 10 method -> sun/nio/cs/StreamEncoder.ensureOpen -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.ensureOpen -0 311542/2 10 method -> sun/nio/cs/StreamEncoder.implWrite -0 311542/2 10 method -> java/nio/CharBuffer.wrap -0 311542/2 10 method -> java/nio/HeapCharBuffer. -0 311542/2 10 method -> java/nio/CharBuffer. -0 311542/2 10 method -> java/nio/Buffer. -0 311542/2 9 method -> java/lang/Object. -0 311542/2 9 method <- java/lang/Object. -0 311542/2 10 method -> java/nio/Buffer.limit -0 311542/2 10 method <- java/nio/Buffer.limit -0 311542/2 10 method -> java/nio/Buffer.position -0 311542/2 10 method <- java/nio/Buffer.position -0 311542/2 10 method <- java/nio/Buffer. -0 311542/2 10 method <- java/nio/CharBuffer. -0 311542/2 10 method <- java/nio/HeapCharBuffer. -0 311542/2 10 method <- java/nio/CharBuffer.wrap -0 311542/2 10 method -> java/nio/Buffer.hasRemaining -0 311542/2 10 method <- java/nio/Buffer.hasRemaining -0 311542/2 10 method -> java/nio/charset/CharsetEncoder.encode -0 311542/2 10 method -> sun/nio/cs/US_ASCII$Encoder.encodeLoop -0 311542/2 10 method -> java/nio/CharBuffer.hasArray -0 311542/2 10 method <- java/nio/CharBuffer.hasArray -0 311542/2 10 method -> java/nio/ByteBuffer.hasArray -0 311542/2 10 method <- java/nio/ByteBuffer.hasArray -0 311542/2 10 method -> sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop -0 311542/2 10 method -> java/nio/CharBuffer.array -0 311542/2 10 method <- java/nio/CharBuffer.array -0 311542/2 10 method -> java/nio/CharBuffer.arrayOffset -0 311542/2 10 method <- java/nio/CharBuffer.arrayOffset -0 311542/2 10 method -> java/nio/CharBuffer.arrayOffset -0 311542/2 10 method <- java/nio/CharBuffer.arrayOffset -0 311542/2 11 method -> java/nio/ByteBuffer.array -0 311542/2 9 method <- java/nio/ByteBuffer.array -0 311542/2 10 method -> java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method <- java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method -> java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method <- java/nio/ByteBuffer.arrayOffset -0 311542/2 11 method -> java/nio/CharBuffer.arrayOffset -0 311542/2 10 method <- java/nio/CharBuffer.arrayOffset -0 311542/2 10 method -> java/nio/Buffer.position -0 311542/2 9 method <- java/nio/Buffer.position -0 311542/2 10 method -> java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method <- java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method -> java/nio/Buffer.position -0 311542/2 10 method <- java/nio/Buffer.position -0 311542/2 10 method <- sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop -0 311542/2 10 method <- sun/nio/cs/US_ASCII$Encoder.encodeLoop -0 311542/2 10 method -> java/nio/charset/CoderResult.isOverflow -0 311542/2 10 method <- java/nio/charset/CoderResult.isOverflow -0 311542/2 10 method -> java/nio/charset/CoderResult.isUnderflow -0 311542/2 10 method <- java/nio/charset/CoderResult.isUnderflow -0 311542/2 10 method <- java/nio/charset/CharsetEncoder.encode -0 311542/2 10 method -> java/nio/charset/CoderResult.isUnderflow -0 311542/2 10 method <- java/nio/charset/CoderResult.isUnderflow -0 311542/2 10 method -> java/nio/Buffer.remaining -0 311542/2 10 method <- java/nio/Buffer.remaining -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.implWrite -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.write -0 311542/2 10 method <- java/io/OutputStreamWriter.write -0 311542/2 10 method <- java/io/BufferedWriter.flushBuffer -0 311542/2 10 method -> java/io/OutputStreamWriter.flushBuffer -0 311542/2 10 method -> sun/nio/cs/StreamEncoder.flushBuffer -0 311542/2 10 method -> sun/nio/cs/StreamEncoder.implFlushBuffer -0 311542/2 10 method -> sun/nio/cs/StreamEncoder.writeBytes -0 311542/2 10 method -> java/nio/Buffer.flip -0 311542/2 10 method <- java/nio/Buffer.flip -0 311542/2 10 method -> java/nio/ByteBuffer.array -0 311542/2 9 method <- java/nio/ByteBuffer.array -0 311542/2 10 method -> java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method <- java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method -> java/io/PrintStream.write -0 311542/2 10 method -> java/io/PrintStream.ensureOpen -0 311542/2 9 method <- java/io/PrintStream.ensureOpen -0 311542/2 10 method -> java/io/BufferedOutputStream.write -0 311542/2 10 method -> java/lang/System.arraycopy -0 311542/2 10 method <- java/lang/System.arraycopy -0 311542/2 10 method <- java/io/BufferedOutputStream.write -0 311542/2 10 method -> java/io/BufferedOutputStream.flush -0 311542/2 10 method -> java/io/BufferedOutputStream.flushBuffer -0 311542/2 10 method -> java/io/FileOutputStream.write -0 311542/2 10 method -> java/io/FileOutputStream.writeBytes -0 311542/2 11 syscall -> write -0 311542/2 64 syscall <- write -0 311542/2 8 method <- java/io/FileOutputStream.writeBytes -0 311542/2 11 method <- java/io/FileOutputStream.write -0 311542/2 10 method <- java/io/BufferedOutputStream.flushBuffer -0 311542/2 10 method <- java/io/BufferedOutputStream.flush -0 311542/2 10 method <- java/io/PrintStream.write -0 311542/2 10 method -> java/nio/Buffer.clear -0 311542/2 10 method <- java/nio/Buffer.clear -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.writeBytes -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.implFlushBuffer -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.flushBuffer -0 311542/2 10 method <- java/io/OutputStreamWriter.flushBuffer -0 311542/2 10 method -> java/io/BufferedOutputStream.flush -0 311542/2 10 method -> java/io/BufferedOutputStream.flushBuffer -0 311542/2 10 method <- java/io/BufferedOutputStream.flushBuffer -0 311542/2 10 method <- java/io/BufferedOutputStream.flush -0 311542/2 10 method <- java/io/PrintStream.newLine -0 311542/2 10 method <- java/io/PrintStream.println -0 311542/2 10 method -> java/lang/Thread.currentThread -0 311542/2 10 method <- java/lang/Thread.currentThread -0 311542/2 10 method -> java/lang/Thread.sleep -0 311542/2 14 syscall -> pollsys -0 311542/10 59985 syscall <- pollsys -0 311542/10 30 syscall -> pollsys -0 311542/10 59968 syscall <- pollsys -0 311542/10 30 syscall -> pollsys -0 311542/10 59981 syscall <- pollsys -0 311542/10 29 syscall -> pollsys -0 311542/10 59960 syscall <- pollsys -0 311542/10 28 syscall -> pollsys -0 311542/10 59967 syscall <- pollsys -0 311542/10 22 syscall -> pollsys -0 311542/3 1050003 syscall <- lwp_cond_wait -0 311542/3 14 syscall -> lwp_cond_wait -0 311542/10 59985 syscall <- pollsys -0 311542/10 29 syscall -> pollsys -0 311542/10 59969 syscall <- pollsys -0 311542/10 25 syscall -> pollsys -0 311542/10 59980 syscall <- pollsys -0 311542/10 29 syscall -> pollsys -0 311542/10 51269 syscall <- pollsys -0 311542/10 30 syscall -> pollsys -0 311542/10 58678 syscall <- pollsys -0 311542/10 30 syscall -> pollsys -0 311542/10 50207 syscall <- pollsys -0 311542/10 29 syscall -> pollsys -0 311542/10 59714 syscall <- pollsys -0 311542/10 30 syscall -> pollsys -0 311542/10 59967 syscall <- pollsys -0 311542/10 29 syscall -> pollsys -0 311542/10 59965 syscall <- pollsys -0 311542/10 28 syscall -> pollsys -0 311542/10 59970 syscall <- pollsys -0 311542/10 29 syscall -> pollsys -0 311542/10 59952 syscall <- pollsys -0 311542/10 31 syscall -> pollsys -0 311542/10 59969 syscall <- pollsys -0 311542/10 30 syscall -> pollsys -Function C -0 311542/2 1006879 syscall <- pollsys -0 311542/2 29 method <- java/lang/Thread.sleep -0 311542/2 45 method -> Func_abc.func_c -0 311542/2 36 method -> java/io/PrintStream.println -0 311542/2 11 method -> java/io/PrintStream.print -0 311542/2 10 method -> java/io/PrintStream.write -0 311542/2 10 method -> java/io/PrintStream.ensureOpen -0 311542/2 10 method <- java/io/PrintStream.ensureOpen -0 311542/2 11 method -> java/io/Writer.write -0 311542/2 11 method -> java/io/BufferedWriter.write -0 311542/2 10 method -> java/io/BufferedWriter.ensureOpen -0 311542/2 10 method <- java/io/BufferedWriter.ensureOpen -0 311542/2 12 method -> java/io/BufferedWriter.min -0 311542/2 10 method <- java/io/BufferedWriter.min -0 311542/2 11 method -> java/lang/String.getChars -0 311542/2 11 method -> java/lang/System.arraycopy -0 311542/2 11 method <- java/lang/System.arraycopy -0 311542/2 10 method <- java/lang/String.getChars -0 311542/2 11 method <- java/io/BufferedWriter.write -0 311542/2 10 method <- java/io/Writer.write -0 311542/2 10 method -> java/io/BufferedWriter.flushBuffer -0 311542/2 10 method -> java/io/BufferedWriter.ensureOpen -0 311542/2 10 method <- java/io/BufferedWriter.ensureOpen -0 311542/2 11 method -> java/io/OutputStreamWriter.write -0 311542/2 10 method -> sun/nio/cs/StreamEncoder.write -0 311542/2 10 method -> sun/nio/cs/StreamEncoder.ensureOpen -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.ensureOpen -0 311542/2 11 method -> sun/nio/cs/StreamEncoder.implWrite -0 311542/2 10 method -> java/nio/CharBuffer.wrap -0 311542/2 11 method -> java/nio/HeapCharBuffer. -0 311542/2 10 method -> java/nio/CharBuffer. -0 311542/2 10 method -> java/nio/Buffer. -0 311542/2 10 method -> java/lang/Object. -0 311542/2 10 method <- java/lang/Object. -0 311542/2 11 method -> java/nio/Buffer.limit -0 311542/2 10 method <- java/nio/Buffer.limit -0 311542/2 10 method -> java/nio/Buffer.position -0 311542/2 10 method <- java/nio/Buffer.position -0 311542/2 10 method <- java/nio/Buffer. -0 311542/2 10 method <- java/nio/CharBuffer. -0 311542/2 10 method <- java/nio/HeapCharBuffer. -0 311542/2 10 method <- java/nio/CharBuffer.wrap -0 311542/2 11 method -> java/nio/Buffer.hasRemaining -0 311542/2 10 method <- java/nio/Buffer.hasRemaining -0 311542/2 11 method -> java/nio/charset/CharsetEncoder.encode -0 311542/2 11 method -> sun/nio/cs/US_ASCII$Encoder.encodeLoop -0 311542/2 10 method -> java/nio/CharBuffer.hasArray -0 311542/2 10 method <- java/nio/CharBuffer.hasArray -0 311542/2 11 method -> java/nio/ByteBuffer.hasArray -0 311542/2 10 method <- java/nio/ByteBuffer.hasArray -0 311542/2 10 method -> sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop -0 311542/2 10 method -> java/nio/CharBuffer.array -0 311542/2 9 method <- java/nio/CharBuffer.array -0 311542/2 10 method -> java/nio/CharBuffer.arrayOffset -0 311542/2 10 method <- java/nio/CharBuffer.arrayOffset -0 311542/2 10 method -> java/nio/CharBuffer.arrayOffset -0 311542/2 10 method <- java/nio/CharBuffer.arrayOffset -0 311542/2 11 method -> java/nio/ByteBuffer.array -0 311542/2 10 method <- java/nio/ByteBuffer.array -0 311542/2 10 method -> java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method <- java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method -> java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method <- java/nio/ByteBuffer.arrayOffset -0 311542/2 12 method -> java/nio/CharBuffer.arrayOffset -0 311542/2 10 method <- java/nio/CharBuffer.arrayOffset -0 311542/2 10 method -> java/nio/Buffer.position -0 311542/2 10 method <- java/nio/Buffer.position -0 311542/2 10 method -> java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method <- java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method -> java/nio/Buffer.position -0 311542/2 10 method <- java/nio/Buffer.position -0 311542/2 10 method <- sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop -0 311542/2 10 method <- sun/nio/cs/US_ASCII$Encoder.encodeLoop -0 311542/2 11 method -> java/nio/charset/CoderResult.isOverflow -0 311542/2 10 method <- java/nio/charset/CoderResult.isOverflow -0 311542/2 10 method -> java/nio/charset/CoderResult.isUnderflow -0 311542/2 10 method <- java/nio/charset/CoderResult.isUnderflow -0 311542/2 10 method <- java/nio/charset/CharsetEncoder.encode -0 311542/2 10 method -> java/nio/charset/CoderResult.isUnderflow -0 311542/2 10 method <- java/nio/charset/CoderResult.isUnderflow -0 311542/2 10 method -> java/nio/Buffer.remaining -0 311542/2 10 method <- java/nio/Buffer.remaining -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.implWrite -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.write -0 311542/2 10 method <- java/io/OutputStreamWriter.write -0 311542/2 10 method <- java/io/BufferedWriter.flushBuffer -0 311542/2 10 method -> java/io/OutputStreamWriter.flushBuffer -0 311542/2 10 method -> sun/nio/cs/StreamEncoder.flushBuffer -0 311542/2 10 method -> sun/nio/cs/StreamEncoder.implFlushBuffer -0 311542/2 10 method -> sun/nio/cs/StreamEncoder.writeBytes -0 311542/2 10 method -> java/nio/Buffer.flip -0 311542/2 9 method <- java/nio/Buffer.flip -0 311542/2 11 method -> java/nio/ByteBuffer.array -0 311542/2 9 method <- java/nio/ByteBuffer.array -0 311542/2 10 method -> java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method <- java/nio/ByteBuffer.arrayOffset -0 311542/2 11 method -> java/io/PrintStream.write -0 311542/2 10 method -> java/io/PrintStream.ensureOpen -0 311542/2 9 method <- java/io/PrintStream.ensureOpen -0 311542/2 11 method -> java/io/BufferedOutputStream.write -0 311542/2 10 method -> java/lang/System.arraycopy -0 311542/2 10 method <- java/lang/System.arraycopy -0 311542/2 10 method <- java/io/BufferedOutputStream.write -0 311542/2 11 method -> java/io/BufferedOutputStream.flush -0 311542/2 10 method -> java/io/BufferedOutputStream.flushBuffer -0 311542/2 10 method -> java/io/FileOutputStream.write -0 311542/2 10 method -> java/io/FileOutputStream.writeBytes -0 311542/2 17 syscall -> write -0 311542/2 143 syscall <- write -0 311542/2 9 method <- java/io/FileOutputStream.writeBytes -0 311542/2 11 method <- java/io/FileOutputStream.write -0 311542/2 10 method <- java/io/BufferedOutputStream.flushBuffer -0 311542/2 10 method <- java/io/BufferedOutputStream.flush -0 311542/2 10 method <- java/io/PrintStream.write -0 311542/2 10 method -> java/nio/Buffer.clear -0 311542/2 10 method <- java/nio/Buffer.clear -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.writeBytes -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.implFlushBuffer -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.flushBuffer -0 311542/2 10 method <- java/io/OutputStreamWriter.flushBuffer -0 311542/2 11 method -> java/lang/String.indexOf -0 311542/2 10 method -> java/lang/String.indexOf -0 311542/2 10 method <- java/lang/String.indexOf -0 311542/2 10 method <- java/lang/String.indexOf -0 311542/2 10 method <- java/io/PrintStream.write -0 311542/2 10 method <- java/io/PrintStream.print -0 311542/2 10 method -> java/io/PrintStream.newLine -0 311542/2 10 method -> java/io/PrintStream.ensureOpen -0 311542/2 10 method <- java/io/PrintStream.ensureOpen -0 311542/2 10 method -> java/io/BufferedWriter.newLine -0 311542/2 10 method -> java/io/Writer.write -0 311542/2 10 method -> java/io/BufferedWriter.write -0 311542/2 10 method -> java/io/BufferedWriter.ensureOpen -0 311542/2 9 method <- java/io/BufferedWriter.ensureOpen -0 311542/2 10 method -> java/io/BufferedWriter.min -0 311542/2 9 method <- java/io/BufferedWriter.min -0 311542/2 10 method -> java/lang/String.getChars -0 311542/2 10 method -> java/lang/System.arraycopy -0 311542/2 10 method <- java/lang/System.arraycopy -0 311542/2 10 method <- java/lang/String.getChars -0 311542/2 10 method <- java/io/BufferedWriter.write -0 311542/2 10 method <- java/io/Writer.write -0 311542/2 10 method <- java/io/BufferedWriter.newLine -0 311542/2 10 method -> java/io/BufferedWriter.flushBuffer -0 311542/2 10 method -> java/io/BufferedWriter.ensureOpen -0 311542/2 10 method <- java/io/BufferedWriter.ensureOpen -0 311542/2 10 method -> java/io/OutputStreamWriter.write -0 311542/2 10 method -> sun/nio/cs/StreamEncoder.write -0 311542/2 10 method -> sun/nio/cs/StreamEncoder.ensureOpen -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.ensureOpen -0 311542/2 10 method -> sun/nio/cs/StreamEncoder.implWrite -0 311542/2 10 method -> java/nio/CharBuffer.wrap -0 311542/2 10 method -> java/nio/HeapCharBuffer. -0 311542/2 10 method -> java/nio/CharBuffer. -0 311542/2 10 method -> java/nio/Buffer. -0 311542/2 9 method -> java/lang/Object. -0 311542/2 9 method <- java/lang/Object. -0 311542/2 10 method -> java/nio/Buffer.limit -0 311542/2 10 method <- java/nio/Buffer.limit -0 311542/2 10 method -> java/nio/Buffer.position -0 311542/2 10 method <- java/nio/Buffer.position -0 311542/2 10 method <- java/nio/Buffer. -0 311542/2 10 method <- java/nio/CharBuffer. -0 311542/2 10 method <- java/nio/HeapCharBuffer. -0 311542/2 10 method <- java/nio/CharBuffer.wrap -0 311542/2 10 method -> java/nio/Buffer.hasRemaining -0 311542/2 10 method <- java/nio/Buffer.hasRemaining -0 311542/2 10 method -> java/nio/charset/CharsetEncoder.encode -0 311542/2 10 method -> sun/nio/cs/US_ASCII$Encoder.encodeLoop -0 311542/2 10 method -> java/nio/CharBuffer.hasArray -0 311542/2 10 method <- java/nio/CharBuffer.hasArray -0 311542/2 10 method -> java/nio/ByteBuffer.hasArray -0 311542/2 10 method <- java/nio/ByteBuffer.hasArray -0 311542/2 10 method -> sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop -0 311542/2 10 method -> java/nio/CharBuffer.array -0 311542/2 10 method <- java/nio/CharBuffer.array -0 311542/2 10 method -> java/nio/CharBuffer.arrayOffset -0 311542/2 10 method <- java/nio/CharBuffer.arrayOffset -0 311542/2 10 method -> java/nio/CharBuffer.arrayOffset -0 311542/2 10 method <- java/nio/CharBuffer.arrayOffset -0 311542/2 11 method -> java/nio/ByteBuffer.array -0 311542/2 9 method <- java/nio/ByteBuffer.array -0 311542/2 10 method -> java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method <- java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method -> java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method <- java/nio/ByteBuffer.arrayOffset -0 311542/2 11 method -> java/nio/CharBuffer.arrayOffset -0 311542/2 10 method <- java/nio/CharBuffer.arrayOffset -0 311542/2 10 method -> java/nio/Buffer.position -0 311542/2 9 method <- java/nio/Buffer.position -0 311542/2 10 method -> java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method <- java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method -> java/nio/Buffer.position -0 311542/2 10 method <- java/nio/Buffer.position -0 311542/2 10 method <- sun/nio/cs/US_ASCII$Encoder.encodeArrayLoop -0 311542/2 10 method <- sun/nio/cs/US_ASCII$Encoder.encodeLoop -0 311542/2 10 method -> java/nio/charset/CoderResult.isOverflow -0 311542/2 10 method <- java/nio/charset/CoderResult.isOverflow -0 311542/2 10 method -> java/nio/charset/CoderResult.isUnderflow -0 311542/2 10 method <- java/nio/charset/CoderResult.isUnderflow -0 311542/2 10 method <- java/nio/charset/CharsetEncoder.encode -0 311542/2 10 method -> java/nio/charset/CoderResult.isUnderflow -0 311542/2 10 method <- java/nio/charset/CoderResult.isUnderflow -0 311542/2 10 method -> java/nio/Buffer.remaining -0 311542/2 10 method <- java/nio/Buffer.remaining -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.implWrite -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.write -0 311542/2 10 method <- java/io/OutputStreamWriter.write -0 311542/2 10 method <- java/io/BufferedWriter.flushBuffer -0 311542/2 10 method -> java/io/OutputStreamWriter.flushBuffer -0 311542/2 10 method -> sun/nio/cs/StreamEncoder.flushBuffer -0 311542/2 10 method -> sun/nio/cs/StreamEncoder.implFlushBuffer -0 311542/2 10 method -> sun/nio/cs/StreamEncoder.writeBytes -0 311542/2 10 method -> java/nio/Buffer.flip -0 311542/2 10 method <- java/nio/Buffer.flip -0 311542/2 10 method -> java/nio/ByteBuffer.array -0 311542/2 9 method <- java/nio/ByteBuffer.array -0 311542/2 10 method -> java/nio/ByteBuffer.arrayOffset -0 311542/2 9 method <- java/nio/ByteBuffer.arrayOffset -0 311542/2 10 method -> java/io/PrintStream.write -0 311542/2 10 method -> java/io/PrintStream.ensureOpen -0 311542/2 9 method <- java/io/PrintStream.ensureOpen -0 311542/2 10 method -> java/io/BufferedOutputStream.write -0 311542/2 10 method -> java/lang/System.arraycopy -0 311542/2 10 method <- java/lang/System.arraycopy -0 311542/2 10 method <- java/io/BufferedOutputStream.write -0 311542/2 10 method -> java/io/BufferedOutputStream.flush -0 311542/2 10 method -> java/io/BufferedOutputStream.flushBuffer -0 311542/2 10 method -> java/io/FileOutputStream.write -0 311542/2 10 method -> java/io/FileOutputStream.writeBytes -0 311542/2 11 syscall -> write -0 311542/2 63 syscall <- write -0 311542/2 8 method <- java/io/FileOutputStream.writeBytes -0 311542/2 11 method <- java/io/FileOutputStream.write -0 311542/2 10 method <- java/io/BufferedOutputStream.flushBuffer -0 311542/2 10 method <- java/io/BufferedOutputStream.flush -0 311542/2 10 method <- java/io/PrintStream.write -0 311542/2 10 method -> java/nio/Buffer.clear -0 311542/2 10 method <- java/nio/Buffer.clear -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.writeBytes -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.implFlushBuffer -0 311542/2 10 method <- sun/nio/cs/StreamEncoder.flushBuffer -0 311542/2 10 method <- java/io/OutputStreamWriter.flushBuffer -0 311542/2 10 method -> java/io/BufferedOutputStream.flush -0 311542/2 10 method -> java/io/BufferedOutputStream.flushBuffer -0 311542/2 10 method <- java/io/BufferedOutputStream.flushBuffer -0 311542/2 10 method <- java/io/BufferedOutputStream.flush -0 311542/2 10 method <- java/io/PrintStream.newLine -0 311542/2 10 method <- java/io/PrintStream.println -0 311542/2 10 method -> java/lang/Thread.currentThread -0 311542/2 10 method <- java/lang/Thread.currentThread -0 311542/2 11 method -> java/lang/Thread.sleep -0 311542/2 14 syscall -> pollsys -0 311542/10 59975 syscall <- pollsys -0 311542/10 30 syscall -> pollsys -0 311542/10 59963 syscall <- pollsys -0 311542/10 29 syscall -> pollsys -0 311542/10 59976 syscall <- pollsys -0 311542/10 29 syscall -> pollsys -0 311542/10 59961 syscall <- pollsys -0 311542/10 29 syscall -> pollsys -0 311542/10 59968 syscall <- pollsys -0 311542/10 22 syscall -> pollsys -0 311542/3 1009924 syscall <- lwp_cond_wait -0 311542/3 17 syscall -> lwp_cond_wait -0 311542/10 50021 syscall <- pollsys -0 311542/10 31 syscall -> pollsys -0 311542/10 59941 syscall <- pollsys -0 311542/10 27 syscall -> pollsys -0 311542/10 60034 syscall <- pollsys -0 311542/10 30 syscall -> pollsys -0 311542/10 61298 syscall <- pollsys -0 311542/10 30 syscall -> pollsys -0 311542/10 58590 syscall <- pollsys -0 311542/10 30 syscall -> pollsys -0 311542/10 50205 syscall <- pollsys -0 311542/10 30 syscall -> pollsys -0 311542/10 59723 syscall <- pollsys -0 311542/10 29 syscall -> pollsys -0 311542/10 60208 syscall <- pollsys -0 311542/10 28 syscall -> pollsys -0 311542/10 59733 syscall <- pollsys -0 311542/10 28 syscall -> pollsys -0 311542/10 59986 syscall <- pollsys -0 311542/10 30 syscall -> pollsys -0 311542/10 59938 syscall <- pollsys -0 311542/10 30 syscall -> pollsys -0 311542/10 59968 syscall <- pollsys -0 311542/10 30 syscall -> pollsys -0 311542/2 1007088 syscall <- pollsys -0 311542/2 30 method <- java/lang/Thread.sleep -0 311542/2 28 method <- Func_abc.func_c -0 311542/2 10 method <- Func_abc.func_b -0 311542/2 10 method <- Func_abc.func_a -0 311542/2 10 method <- Func_abc.main -0 311542/2 27 method -> java/lang/Thread.exit -0 311542/2 38 method -> java/lang/ThreadGroup.remove -0 311542/2 19 method -> java/lang/System.arraycopy -0 311542/2 11 method <- java/lang/System.arraycopy -0 311542/2 14 method -> java/lang/Object.notifyAll -0 311542/2 16 method <- java/lang/Object.notifyAll -0 311542/2 11 method <- java/lang/ThreadGroup.remove -0 311542/2 16 method <- java/lang/Thread.exit -0 311542/2 22 syscall -> mprotect -0 311542/2 19 syscall <- mprotect -0 311542/2 19 syscall -> lwp_sigmask -0 311542/2 7 syscall <- lwp_sigmask -0 311542/2 25 syscall -> lwp_self -0 311542/2 6 syscall <- lwp_self -0 311542/2 7 syscall -> lwp_sigmask -0 311542/2 5 syscall <- lwp_sigmask -0 311542/2 6 syscall -> lwp_sigmask -0 311542/2 6 syscall <- lwp_sigmask -0 311542/2 124 method -> java/lang/Thread. -0 311542/2 12 method -> java/lang/Object. -0 311542/2 10 method <- java/lang/Object. -0 311542/2 11 method -> java/lang/Object. -0 311542/2 10 method <- java/lang/Object. -0 311542/2 11 method -> java/lang/Thread.init -0 311542/2 10 method -> java/lang/Thread.currentThread -0 311542/2 10 method <- java/lang/Thread.currentThread -0 311542/2 11 method -> java/lang/System.getSecurityManager -0 311542/2 10 method <- java/lang/System.getSecurityManager -0 311542/2 11 method -> java/lang/ThreadGroup.checkAccess -0 311542/2 10 method -> java/lang/System.getSecurityManager -0 311542/2 10 method <- java/lang/System.getSecurityManager -0 311542/2 10 method <- java/lang/ThreadGroup.checkAccess -0 311542/2 10 method -> java/lang/ThreadGroup.addUnstarted -0 311542/2 10 method <- java/lang/ThreadGroup.addUnstarted -0 311542/2 11 method -> java/lang/String.toCharArray -0 311542/2 11 method -> java/lang/String.getChars -0 311542/2 10 method -> java/lang/System.arraycopy -0 311542/2 10 method <- java/lang/System.arraycopy -0 311542/2 10 method <- java/lang/String.getChars -0 311542/2 10 method <- java/lang/String.toCharArray -0 311542/2 10 method -> java/lang/Thread.getContextClassLoader -0 311542/2 10 method <- java/lang/Thread.getContextClassLoader -0 311542/2 11 method -> java/security/AccessController.getContext -0 311542/2 10 method -> java/security/AccessController.getStackAccessControlContext -0 311542/2 17 method <- java/security/AccessController.getStackAccessControlContext -0 311542/2 11 method -> java/security/AccessControlContext.optimize -0 311542/2 10 method -> java/security/AccessController.getInheritedAccessControlContext -0 311542/2 11 method <- java/security/AccessController.getInheritedAccessControlContext -0 311542/2 11 method <- java/security/AccessControlContext.optimize -0 311542/2 10 method <- java/security/AccessController.getContext -0 311542/2 10 method -> java/lang/Thread.setPriority -0 311542/2 10 method -> java/lang/Thread.checkAccess -0 311542/2 9 method -> java/lang/System.getSecurityManager -0 311542/2 9 method <- java/lang/System.getSecurityManager -0 311542/2 10 method <- java/lang/Thread.checkAccess -0 311542/2 11 method -> java/lang/Thread.setPriority0 -0 311542/2 15 syscall -> priocntlsys -0 311542/2 9 syscall <- priocntlsys -0 311542/2 7 syscall -> priocntlsys -0 311542/2 8 syscall <- priocntlsys -0 311542/2 7 method <- java/lang/Thread.setPriority0 -0 311542/2 10 method <- java/lang/Thread.setPriority -0 311542/2 11 method -> java/lang/Thread.nextThreadID -0 311542/2 11 method <- java/lang/Thread.nextThreadID -0 311542/2 10 method <- java/lang/Thread.init -0 311542/2 10 method <- java/lang/Thread. -0 311542/2 12 method -> java/lang/ThreadGroup.add -0 311542/2 11 method <- java/lang/ThreadGroup.add -0 311542/2 10 syscall -> mprotect -0 311542/2 7 syscall <- mprotect -0 311542/2 12 method -> java/lang/Shutdown.shutdown -0 311542/2 15 method -> java/lang/Shutdown.sequence -0 311542/2 12 method -> java/lang/Shutdown.runHooks -0 311542/2 14 method -> java/util/AbstractList.iterator -0 311542/2 30 syscall -> llseek -0 311542/2 9 syscall <- llseek -0 311542/2 8 syscall -> read -0 311542/2 1709 syscall <- read -0 311542/2 27 syscall -> llseek -0 311542/2 14 syscall <- llseek -0 311542/2 7 syscall -> read -0 311542/2 23 syscall <- read -0 311542/2 280 method -> java/util/AbstractList$Itr. -0 311542/2 28 method -> java/util/AbstractList$Itr. -0 311542/2 17 method -> java/lang/Object. -0 311542/2 12 method <- java/lang/Object. -0 311542/2 25 method <- java/util/AbstractList$Itr. -0 311542/2 11 method <- java/util/AbstractList$Itr. -0 311542/2 10 method <- java/util/AbstractList.iterator -0 311542/2 17 method -> java/util/AbstractList$Itr.hasNext -0 311542/2 16 method <- java/util/AbstractList$Itr.hasNext -0 311542/2 13 method -> java/util/AbstractList$Itr.next -0 311542/2 12 method -> java/util/AbstractList$Itr.checkForComodification -0 311542/2 10 method <- java/util/AbstractList$Itr.checkForComodification -0 311542/2 13 method -> java/util/ArrayList.get -0 311542/2 11 method -> java/util/ArrayList.RangeCheck -0 311542/2 10 method <- java/util/ArrayList.RangeCheck -0 311542/2 10 method <- java/util/ArrayList.get -0 311542/2 10 method <- java/util/AbstractList$Itr.next -0 311542/2 15 method -> java/io/Console$1$1.run -0 311542/2 14 method -> java/io/Console.access$600 -0 311542/2 12 method <- java/io/Console.access$600 -0 311542/2 10 method <- java/io/Console$1$1.run -0 311542/2 10 method -> java/util/AbstractList$Itr.hasNext -0 311542/2 10 method <- java/util/AbstractList$Itr.hasNext -0 311542/2 10 method -> java/util/AbstractList$Itr.next -0 311542/2 10 method -> java/util/AbstractList$Itr.checkForComodification -0 311542/2 10 method <- java/util/AbstractList$Itr.checkForComodification -0 311542/2 11 method -> java/util/ArrayList.get -0 311542/2 10 method -> java/util/ArrayList.RangeCheck -0 311542/2 10 method <- java/util/ArrayList.RangeCheck -0 311542/2 10 method <- java/util/ArrayList.get -0 311542/2 10 method <- java/util/AbstractList$Itr.next -0 311542/2 11 method -> java/lang/ApplicationShutdownHooks.run -0 311542/2 16 method -> java/util/IdentityHashMap.keySet -0 311542/2 27 syscall -> llseek -0 311542/2 7 syscall <- llseek -0 311542/2 8 syscall -> read -0 311542/2 18 syscall <- read -0 311542/2 7 syscall -> llseek -0 311542/2 6 syscall <- llseek -0 311542/2 6 syscall -> read -0 311542/2 17 syscall <- read -0 311542/2 139 method -> java/util/IdentityHashMap$KeySet. -0 311542/2 14 method -> java/util/IdentityHashMap$KeySet. -0 311542/2 14 method -> java/util/AbstractSet. -0 311542/2 10 method -> java/util/AbstractCollection. -0 311542/2 10 method -> java/lang/Object. -0 311542/2 10 method <- java/lang/Object. -0 311542/2 11 method <- java/util/AbstractCollection. -0 311542/2 10 method <- java/util/AbstractSet. -0 311542/2 10 method <- java/util/IdentityHashMap$KeySet. -0 311542/2 10 method <- java/util/IdentityHashMap$KeySet. -0 311542/2 10 method <- java/util/IdentityHashMap.keySet -0 311542/2 14 method -> java/util/IdentityHashMap$KeySet.iterator -0 311542/2 17 syscall -> llseek -0 311542/2 7 syscall <- llseek -0 311542/2 7 syscall -> read -0 311542/2 15 syscall <- read -0 311542/2 7 syscall -> llseek -0 311542/2 6 syscall <- llseek -0 311542/2 6 syscall -> read -0 311542/2 12 syscall <- read -0 311542/2 30 syscall -> llseek -0 311542/2 6 syscall <- llseek -0 311542/2 7 syscall -> read -0 311542/2 14 syscall <- read -0 311542/2 7 syscall -> llseek -0 311542/2 6 syscall <- llseek -0 311542/2 6 syscall -> read -0 311542/2 17 syscall <- read -0 311542/2 125 method -> java/util/IdentityHashMap$KeyIterator. -0 311542/2 14 method -> java/util/IdentityHashMap$KeyIterator. -0 311542/2 14 method -> java/util/IdentityHashMap$IdentityHashMapIterator. -0 311542/2 13 method -> java/util/IdentityHashMap$IdentityHashMapIterator. -0 311542/2 57 method -> java/lang/Object. -0 311542/2 11 method <- java/lang/Object. -0 311542/2 15 method -> java/util/IdentityHashMap.access$000 -0 311542/2 11 method <- java/util/IdentityHashMap.access$000 -0 311542/2 15 method -> java/util/IdentityHashMap.access$200 -0 311542/2 11 method <- java/util/IdentityHashMap.access$200 -0 311542/2 13 method <- java/util/IdentityHashMap$IdentityHashMapIterator. -0 311542/2 10 method <- java/util/IdentityHashMap$IdentityHashMapIterator. -0 311542/2 10 method <- java/util/IdentityHashMap$KeyIterator. -0 311542/2 10 method <- java/util/IdentityHashMap$KeyIterator. -0 311542/2 10 method <- java/util/IdentityHashMap$KeySet.iterator -0 311542/2 14 method -> java/util/IdentityHashMap$IdentityHashMapIterator.hasNext -0 311542/2 11 method <- java/util/IdentityHashMap$IdentityHashMapIterator.hasNext -0 311542/2 11 method -> java/util/IdentityHashMap$KeySet.iterator -0 311542/2 10 method -> java/util/IdentityHashMap$KeyIterator. -0 311542/2 10 method -> java/util/IdentityHashMap$KeyIterator. -0 311542/2 10 method -> java/util/IdentityHashMap$IdentityHashMapIterator. -0 311542/2 10 method -> java/util/IdentityHashMap$IdentityHashMapIterator. -0 311542/2 10 method -> java/lang/Object. -0 311542/2 10 method <- java/lang/Object. -0 311542/2 10 method <- java/util/IdentityHashMap$IdentityHashMapIterator. -0 311542/2 10 method <- java/util/IdentityHashMap$IdentityHashMapIterator. -0 311542/2 10 method <- java/util/IdentityHashMap$KeyIterator. -0 311542/2 10 method <- java/util/IdentityHashMap$KeyIterator. -0 311542/2 10 method <- java/util/IdentityHashMap$KeySet.iterator -0 311542/2 10 method -> java/util/IdentityHashMap$IdentityHashMapIterator.hasNext -0 311542/2 10 method <- java/util/IdentityHashMap$IdentityHashMapIterator.hasNext -0 311542/2 11 method <- java/lang/ApplicationShutdownHooks.run -0 311542/2 10 method -> java/util/AbstractList$Itr.hasNext -0 311542/2 10 method <- java/util/AbstractList$Itr.hasNext -0 311542/2 10 method -> java/util/AbstractList$Itr.next -0 311542/2 10 method -> java/util/AbstractList$Itr.checkForComodification -0 311542/2 10 method <- java/util/AbstractList$Itr.checkForComodification -0 311542/2 11 method -> java/util/ArrayList.get -0 311542/2 10 method -> java/util/ArrayList.RangeCheck -0 311542/2 10 method <- java/util/ArrayList.RangeCheck -0 311542/2 10 method <- java/util/ArrayList.get -0 311542/2 10 method <- java/util/AbstractList$Itr.next -0 311542/2 11 method -> java/io/File$1.run -0 311542/2 17 syscall -> llseek -0 311542/2 8 syscall <- llseek -0 311542/2 8 syscall -> read -0 311542/2 17 syscall <- read -0 311542/2 7 syscall -> llseek -0 311542/2 6 syscall <- llseek -0 311542/2 6 syscall -> read -0 311542/2 12 syscall <- read -0 311542/2 62 method -> java/io/DeleteOnExitHook. -0 311542/2 19 syscall -> llseek -0 311542/2 6 syscall <- llseek -0 311542/2 7 syscall -> read -0 311542/2 14 syscall <- read -0 311542/2 7 syscall -> llseek -0 311542/2 6 syscall <- llseek -0 311542/2 6 syscall -> read -0 311542/2 12 syscall <- read -0 311542/2 130 method -> java/util/LinkedHashSet. -0 311542/2 15 method -> java/util/HashSet. -0 311542/2 10 method -> java/util/AbstractSet. -0 311542/2 10 method -> java/util/AbstractCollection. -0 311542/2 10 method -> java/lang/Object. -0 311542/2 10 method <- java/lang/Object. -0 311542/2 11 method <- java/util/AbstractCollection. -0 311542/2 10 method <- java/util/AbstractSet. -0 311542/2 15 method -> java/util/LinkedHashMap. -0 311542/2 13 method -> java/util/HashMap. -0 311542/2 10 method -> java/util/AbstractMap. -0 311542/2 10 method -> java/lang/Object. -0 311542/2 10 method <- java/lang/Object. -0 311542/2 10 method <- java/util/AbstractMap. -0 311542/2 12 method -> java/lang/Float.isNaN -0 311542/2 10 method <- java/lang/Float.isNaN -0 311542/2 15 method -> java/util/LinkedHashMap.init -0 311542/2 10 method -> java/util/LinkedHashMap$Entry. -0 311542/2 10 method -> java/util/HashMap$Entry. -0 311542/2 10 method -> java/lang/Object. -0 311542/2 9 method <- java/lang/Object. -0 311542/2 10 method <- java/util/HashMap$Entry. -0 311542/2 10 method <- java/util/LinkedHashMap$Entry. -0 311542/2 10 method <- java/util/LinkedHashMap.init -0 311542/2 10 method <- java/util/HashMap. -0 311542/2 10 method <- java/util/LinkedHashMap. -0 311542/2 10 method <- java/util/HashSet. -0 311542/2 10 method <- java/util/LinkedHashSet. -0 311542/2 12 method <- java/io/DeleteOnExitHook. -0 311542/2 13 method -> java/io/DeleteOnExitHook.hook -0 311542/2 13 method -> java/io/DeleteOnExitHook. -0 311542/2 12 method -> java/lang/Object. -0 311542/2 10 method <- java/lang/Object. -0 311542/2 10 method <- java/io/DeleteOnExitHook. -0 311542/2 10 method <- java/io/DeleteOnExitHook.hook -0 311542/2 13 method -> java/io/DeleteOnExitHook.run -0 311542/2 15 method -> java/util/ArrayList. -0 311542/2 10 method -> java/util/AbstractList. -0 311542/2 10 method -> java/util/AbstractCollection. -0 311542/2 10 method -> java/lang/Object. -0 311542/2 9 method <- java/lang/Object. -0 311542/2 10 method <- java/util/AbstractCollection. -0 311542/2 10 method <- java/util/AbstractList. -0 311542/2 15 method -> java/util/AbstractCollection.toArray -0 311542/2 13 method -> java/util/HashSet.size -0 311542/2 12 method <- java/util/HashSet.size -0 311542/2 13 method -> java/util/HashSet.iterator -0 311542/2 12 method -> java/util/HashMap.keySet -0 311542/2 19 syscall -> llseek -0 311542/2 7 syscall <- llseek -0 311542/2 8 syscall -> read -0 311542/2 17 syscall <- read -0 311542/2 7 syscall -> llseek -0 311542/2 6 syscall <- llseek -0 311542/2 6 syscall -> read -0 311542/2 12 syscall <- read -0 311542/2 68 method -> java/util/HashMap$KeySet. -0 311542/2 14 method -> java/util/HashMap$KeySet. -0 311542/2 14 method -> java/util/AbstractSet. -0 311542/2 10 method -> java/util/AbstractCollection. -0 311542/2 10 method -> java/lang/Object. -0 311542/2 10 method <- java/lang/Object. -0 311542/2 11 method <- java/util/AbstractCollection. -0 311542/2 10 method <- java/util/AbstractSet. -0 311542/2 10 method <- java/util/HashMap$KeySet. -0 311542/2 10 method <- java/util/HashMap$KeySet. -0 311542/2 10 method <- java/util/HashMap.keySet -0 311542/2 13 method -> java/util/HashMap$KeySet.iterator -0 311542/2 14 method -> java/util/LinkedHashMap.newKeyIterator -0 311542/2 16 syscall -> llseek -0 311542/2 6 syscall <- llseek -0 311542/2 7 syscall -> read -0 311542/2 14 syscall <- read -0 311542/2 7 syscall -> llseek -0 311542/2 6 syscall <- llseek -0 311542/2 6 syscall -> read -0 311542/2 16 syscall <- read -0 311542/2 81 syscall -> llseek -0 311542/2 7 syscall <- llseek -0 311542/2 7 syscall -> read -0 311542/2 14 syscall <- read -0 311542/2 7 syscall -> llseek -0 311542/2 6 syscall <- llseek -0 311542/2 6 syscall -> read -0 311542/2 12 syscall <- read -0 311542/2 77 method -> java/util/LinkedHashMap$KeyIterator. -0 311542/2 14 method -> java/util/LinkedHashMap$KeyIterator. -0 311542/2 14 method -> java/util/LinkedHashMap$LinkedHashIterator. -0 311542/2 12 method -> java/util/LinkedHashMap$LinkedHashIterator. -0 311542/2 13 method -> java/lang/Object. -0 311542/2 10 method <- java/lang/Object. -0 311542/2 19 method <- java/util/LinkedHashMap$LinkedHashIterator. -0 311542/2 11 method <- java/util/LinkedHashMap$LinkedHashIterator. -0 311542/2 10 method <- java/util/LinkedHashMap$KeyIterator. -0 311542/2 10 method <- java/util/LinkedHashMap$KeyIterator. -0 311542/2 10 method <- java/util/LinkedHashMap.newKeyIterator -0 311542/2 10 method <- java/util/HashMap$KeySet.iterator -0 311542/2 10 method <- java/util/HashSet.iterator -0 311542/2 14 method -> java/util/LinkedHashMap$LinkedHashIterator.hasNext -0 311542/2 11 method <- java/util/LinkedHashMap$LinkedHashIterator.hasNext -0 311542/2 11 method <- java/util/AbstractCollection.toArray -0 311542/2 11 method -> java/lang/Object.getClass -0 311542/2 12 method <- java/lang/Object.getClass -0 311542/2 11 method <- java/util/ArrayList. -0 311542/2 14 method -> java/util/Collections.reverse -0 311542/2 15 method <- java/util/Collections.reverse -0 311542/2 13 method -> java/util/AbstractList.iterator -0 311542/2 11 method -> java/util/AbstractList$Itr. -0 311542/2 10 method -> java/util/AbstractList$Itr. -0 311542/2 10 method -> java/lang/Object. -0 311542/2 9 method <- java/lang/Object. -0 311542/2 10 method <- java/util/AbstractList$Itr. -0 311542/2 10 method <- java/util/AbstractList$Itr. -0 311542/2 10 method <- java/util/AbstractList.iterator -0 311542/2 13 method -> java/util/AbstractList$Itr.hasNext -0 311542/2 10 method <- java/util/AbstractList$Itr.hasNext -0 311542/2 10 method <- java/io/DeleteOnExitHook.run -0 311542/2 10 method <- java/io/File$1.run -0 311542/2 10 method -> java/util/AbstractList$Itr.hasNext -0 311542/2 10 method <- java/util/AbstractList$Itr.hasNext -0 311542/2 10 method <- java/lang/Shutdown.runHooks -0 311542/2 12 method <- java/lang/Shutdown.sequence -0 311542/2 10 method <- java/lang/Shutdown.shutdown -0 311542/2 16 syscall -> lwp_cond_wait -0 311542/10 59973 syscall <- pollsys -0 311542/10 31 syscall -> lwp_cond_signal -0 311542/10 15 syscall <- lwp_cond_signal -0 311542/10 12 syscall -> lwp_sigmask -0 311542/10 7 syscall <- lwp_sigmask -0 311542/10 29 syscall -> lwp_exit -0 311542/2 13322 syscall <- lwp_cond_wait -0 311542/2 22 syscall -> lwp_park -0 311542/2 8 syscall <- lwp_park -0 311542/2 17 syscall -> mprotect -0 311542/2 16 syscall <- mprotect -0 311542/2 12 syscall -> lwp_cond_signal -0 311542/2 7 syscall <- lwp_cond_signal -0 311542/2 8 syscall -> lwp_cond_wait -0 311542/3 750221 syscall <- lwp_cond_wait -0 311542/3 36 syscall -> mprotect -0 311542/3 9 syscall <- mprotect -0 311542/3 7 syscall -> mprotect -0 311542/3 8 syscall <- mprotect -0 311542/3 14 syscall -> mprotect -0 311542/3 6 syscall <- mprotect -0 311542/3 40 syscall -> lwp_cond_signal -0 311542/3 7 syscall <- lwp_cond_signal -0 311542/3 7 syscall -> lwp_sigmask -0 311542/3 6 syscall <- lwp_sigmask -0 311542/3 11 syscall -> lwp_exit -0 311542/2 184 syscall <- lwp_cond_wait -0 311542/2 16 syscall -> lwp_sigmask -0 311542/2 6 syscall <- lwp_sigmask -0 311542/2 108 syscall -> unlink -0 311542/2 36 syscall <- unlink -0 311542/2 9 syscall -> lwp_sigmask -0 311542/2 6 syscall <- lwp_sigmask -0 311542/2 50 syscall -> lwp_exit -0 311542/1 6423404 syscall <- lwp_wait -0 311542/1 40 syscall -> open64 -0 311542/1 101 syscall <- open64 -0 311542/1 8 syscall -> ioctl -0 311542/1 14 syscall <- ioctl -0 311542/1 10 syscall -> close -0 311542/1 14 syscall <- close -0 311542/1 8 syscall -> open64 -0 311542/1 31 syscall <- open64 -0 311542/1 7 syscall -> ioctl -0 311542/1 7 syscall <- ioctl -0 311542/1 7 syscall -> close -0 311542/1 9 syscall <- close -0 311542/1 27 syscall -> rexit -0 311542/9 3298915 syscall <- lwp_cond_wait -0 311542/8 3375816 syscall <- lwp_cond_wait -0 311542/7 3376775 syscall <- lwp_cond_wait -0 311542/5 3738267 syscall <- lwp_cond_wait -0 311542/4 3760581 syscall <- lwp_cond_wait -0 311542/6 3376767 syscall <- lwp_park - diff --git a/cddl/contrib/dtracetoolkit/Examples/j_thread_example.txt b/cddl/contrib/dtracetoolkit/Examples/j_thread_example.txt deleted file mode 100644 index 3c5e83c6ee02..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/j_thread_example.txt +++ /dev/null @@ -1,20 +0,0 @@ -Following we see examples of the results of running j_thread.d. - -Here it is running while Code/Java/Func_abc is executing. - -# j_thread.d -TIME PID/TID -- THREAD -2007 Sep 24 04:01:34 311512/5 => Finalizer -2007 Sep 24 04:01:34 311512/4 => Reference Handler -2007 Sep 24 04:01:34 311512/7 => CompilerThread0 -2007 Sep 24 04:01:34 311512/6 => Signal Dispatcher -2007 Sep 24 04:01:34 311512/8 => CompilerThread1 -2007 Sep 24 04:01:34 311512/9 => Low Memory Detector -^C - -The fields of the output are, in order, Event time, Process ID/Thread ID, -entry (=>) or exit (<=) and Thread name. - -In this example we see six different threads starting, but we do not see -thread exit events as the JVM exited when the program stopped. - diff --git a/cddl/contrib/dtracetoolkit/Examples/j_who_example.txt b/cddl/contrib/dtracetoolkit/Examples/j_who_example.txt deleted file mode 100644 index f765d4852b8b..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/j_who_example.txt +++ /dev/null @@ -1,17 +0,0 @@ -In many cases, in order to get interesting or in-depth results the -ExtendedDTraceProbes flag needs to be set when DTracing Java programs. In -this case, because of the probes we have chosen to trace, running the program -Code/Java/Func_abc, both with (PID 311517) and without (311526) this flag, -and we can see that it has made no difference, with each reporting 35 lines -executed. - -# j_who.d -Tracing... Hit Ctrl-C to end. -^C - PID UID CALLS ARGS - 194441 100 18 /usr/local/lib/opera/9.02-20060919.1/opera - 309790 100 20 java_vm - 311517 100 35 java -XX:+ExtendedDTraceProbes Func_abc - 311526 100 35 java Func_abc - - diff --git a/cddl/contrib/dtracetoolkit/Examples/js_calldist_example.txt b/cddl/contrib/dtracetoolkit/Examples/js_calldist_example.txt deleted file mode 100644 index 57058b7d9a77..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/js_calldist_example.txt +++ /dev/null @@ -1,110 +0,0 @@ -The following are examples of running js_calldist.d. - -Here it is running while the code at Code/JavaScript/func_clock.html is -being executed. - -# js_calldist.d -Tracing... Hit Ctrl-C to end. -^C - -Elapsed times (us), - func_clock.html, obj-new, Date - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 5 - 16 | 0 - - -Exclusive function elapsed times (us), - func_clock.html, func, setTimeout - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 5 - 128 | 0 - - func_clock.html, func, getElementById - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@ 1 - 16 |@@@@@@@@@@@@@@@@@@ 9 - 32 |@@@@@@@@@@@@@@@@@@@@ 10 - 64 | 0 - - func_clock.html, func, start - value ------------- Distribution ------------- count - 512 | 0 - 1024 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 5 - 2048 | 0 - - func_clock.html, func, func_a - value ------------- Distribution ------------- count - 8192 | 0 - 16384 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 5 - 32768 | 0 - - func_clock.html, func, func_b - value ------------- Distribution ------------- count - 16384 | 0 - 32768 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 5 - 65536 | 0 - - func_clock.html, func, func_c - value ------------- Distribution ------------- count - 16384 | 0 - 32768 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 5 - 65536 | 0 - - -Inclusive function elapsed times (us), - func_clock.html, func, setTimeout - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 5 - 128 | 0 - - func_clock.html, func, getElementById - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@ 1 - 16 |@@@@@@@@@@@@@@@@@@ 9 - 32 |@@@@@@@@@@@@@@@@@@@@ 10 - 64 | 0 - - func_clock.html, func, func_c - value ------------- Distribution ------------- count - 16384 | 0 - 32768 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 5 - 65536 | 0 - - func_clock.html, func, func_a - value ------------- Distribution ------------- count - 32768 | 0 - 65536 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 5 - 131072 | 0 - - func_clock.html, func, func_b - value ------------- Distribution ------------- count - 32768 | 0 - 65536 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 5 - 131072 | 0 - - func_clock.html, func, start - value ------------- Distribution ------------- count - 32768 | 0 - 65536 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 5 - 131072 | 0 - -The elapsed times show us that the script spent some small amount of time -processing various events that were not functions. In this case there was -five new Date objects, and each event took between 8 microseconds and 15 -microseconds. - -The exclusive function elapsed times show the time each of our functions -takes, excluding the time spent in subroutines called by that function. We -can see in this example that func_a took between 16384 microseconds and 32767 -microseconds. - -The inclusive function elapsed times show that func_a took between 65536 -microseconds and 131071 microseconds, including the time spent in any -subroutines it calls. - diff --git a/cddl/contrib/dtracetoolkit/Examples/js_calls_example.txt b/cddl/contrib/dtracetoolkit/Examples/js_calls_example.txt deleted file mode 100644 index 848e4362c9d9..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/js_calls_example.txt +++ /dev/null @@ -1,312 +0,0 @@ -The following are examples of the results of running js_calls.d - -A JavaScript program that behaves like a clock is frequently used by these -examples, since it can be left running in the background without browser -input. Browser input, such as hitting the reload button or using menus, -triggers many other JavaScript events since much of the browser uses -JavaScript. - -With Code/JavaScript/func_clock.html loaded, we trace one second of activity: - -# js_calls.d -Tracing... Hit Ctrl-C to end. -^C - FILE TYPE NAME CALLS - func_clock.html exec . 1 - func_clock.html func func_a 1 - func_clock.html func func_b 1 - func_clock.html func func_c 1 - func_clock.html func setTimeout 1 - func_clock.html func start 1 - func_clock.html obj-new Date 1 - func_clock.html func getElementById 4 - -This shows the type of calls made, 1 exec, one obj-new, several func; a more -descriptive name of each call; and a count of how many times a particular call -was made. - - -The following demonstrates what happens when a different program - -Code/JavaScript/func_slow.html is reloaded by hitting the reload button on the -browser. Apart from the func_slow.html JavaScript events, all those events -from the browser caused by moving the mouse pointer over the screen etc. have -been traced as well. - -# js_calls.d -Tracing... Hit Ctrl-C to end. - - FILE TYPE NAME CALLS - obj-free BarProp 1 - obj-free CSSStyleDeclaration 1 - obj-free Global Scope Polluter 1 - obj-free HTMLCollection 1 - obj-free HTMLDocument 1 - obj-free HTMLHtmlElement 1 - obj-free KeyboardEvent 1 - obj-free Location 1 - obj-free NodeList 1 - obj-free StyleSheetList 1 - obj-free TreeSelection 1 - obj-free Window 1 - obj-free XULCommandDispatcher 1 - obj-free chrome://global/content/bindings/scrollbar.xml#scrollbar 8c35ec2 1 - obj-free nsXPCComponents_Classes 1 - obj-free xpcTempGlobalClass 1 - obj-new BarProp 1 - obj-new CSSStyleDeclaration 1 - obj-new Global Scope Polluter 1 - obj-new HTMLCollection 1 - obj-new HTMLDocument 1 - obj-new HTMLHtmlElement 1 - obj-new KeyboardEvent 1 - obj-new NodeList 1 - obj-new StyleSheetList 1 - obj-new TreeSelection 1 - obj-new Window 1 - obj-new XULCommandDispatcher 1 - obj-new chrome://global/content/bindings/popup.xml#popup 8befc22 1 - obj-new chrome://global/content/bindings/popup.xml#popup 8befcea 1 - obj-new chrome://global/content/bindings/scrollbar.xml#scrollbar 8ce1c1a 1 - obj-new nsXPCComponents_Classes 1 - obj-new xpcTempGlobalClass 1 - autocomplete.xml func apply 1 - autocomplete.xml func attachController 1 - autocomplete.xml func detachController 1 - autocomplete.xml func fireEvent 1 - autocomplete.xml func getPreventDefault 1 - autocomplete.xml func handleEnter 1 - autocomplete.xml func onKeyPress 1 - autocomplete.xml obj-new Object 1 - browser.js func BrowserLoadURL 1 - browser.js func SetPageProxyState 1 - browser.js func URLBarFocusHandler 1 - browser.js func UpdateBackForwardButtons 1 - browser.js func addEventListener 1 - browser.js func addToUrlbarHistory 1 - browser.js func canonizeUrl 1 - browser.js func charsetLoadListener 1 - browser.js func checkForDirectoryListing 1 - browser.js func contentAreaClick 1 - browser.js func createExposableURI 1 - browser.js func createFixupURI 1 - browser.js func getShortcutOrURI 1 - browser.js func getWebNavigation 1 - browser.js func handleURLBarCommand 1 - browser.js func isSuccessCode 1 - browser.js func markPageAsTyped 1 - browser.js func resolveKeyword 1 - browser.js func search 1 - browser.js func test 1 - browser.js func updateLastVisitedDate 1 - browser.js obj-new Object 1 - browser.js obj-new XPC_WN_NoMods_Proto_JSClass 1 - browser.js obj-new nsJSCID 1 - browser.xml func attachFormFill 1 - browser.xml func getAttribute 1 - browser.xml func getBoolPref 1 - consoleAPI.js obj-new Call 1 - findBar.js func getElementById 1 - firebug.js func addEventListener 1 - firebug.js obj-new Constructor 1 - firebug.js obj-new Location 1 - firebug.js obj-new Object 1 - firebug.js obj-new XPC_WN_ModsAllowed_Proto_JSClass 1 - func_slow.html exec . 1 - func_slow.html func func_a 1 - func_slow.html func func_b 1 - func_slow.html func func_c 1 - func_slow.html obj-new Function 1 - preferences.js obj-new nsJSCID 1 - reporterOverlay.js func getElementById 1 - reporterOverlay.js func setAttribute 1 - tabbox.xml func getAttribute 1 - tabbrowser.xml func QueryInterface 1 - tabbrowser.xml func getAnonymousElementByAttribute 1 - tabbrowser.xml func getBrowserIndexForDocument 1 - tabbrowser.xml func indexOf 1 - tabbrowser.xml func push 1 - tabbrowser.xml func setIcon 1 - tabbrowser.xml func setTabTitle 1 - tabbrowser.xml func shouldLoadFavIcon 1 - tabbrowser.xml func updateTitlebar 1 - tabbrowser.xml func useDefaultIcon 1 - tabbrowser.xml obj-new Array 1 - tabbrowser.xml obj-new String 1 - textbox.xml func hasAttribute 1 - textbox.xml func setAttribute 1 - webdeveloper.js func getAttribute 1 - webdeveloper.js func hasAttribute 1 - webdeveloper.js func toLowerCase 1 - webdeveloper.js func webdeveloper_changeOptions 1 - webdeveloper.js func webdeveloper_configureElement 1 - webdeveloper.js func webdeveloper_openToolbarButton 1 - webdeveloper.js func webdeveloper_updateMetaRedirects 1 - webdeveloper.js func webdeveloper_updateRenderMode 1 - webdeveloper.js obj-new Array 1 - webdeveloper.js obj-new String 1 - obj-free BoxObject 2 - obj-free HTMLBodyElement 2 - obj-free JSOptions 2 - obj-free JavaArray 2 - obj-free JavaClass 2 - obj-free JavaMember 2 - obj-free JavaObject 2 - obj-free PageTransitionEvent 2 - obj-free nsJSCID 2 - obj-new BoxObject 2 - obj-new HTMLBodyElement 2 - obj-new JSOptions 2 - obj-new JavaArray 2 - obj-new JavaClass 2 - obj-new JavaMember 2 - obj-new JavaObject 2 - obj-new PageTransitionEvent 2 - autocomplete.xml func ensureRowIsVisible 2 - autocomplete.xml func initSearchNames 2 - autocomplete.xml func select 2 - autocomplete.xml obj-new Function 2 - browser.js func PageProxyClearIcon 2 - browser.js func PageProxySetIcon 2 - browser.js func URLBarClickHandler 2 - browser.js func URLBarMouseDownHandler 2 - browser.js func XPCNativeWrapper function wrapper 2 - browser.js func getService 2 - browser.js func loadURI 2 - browser.js func notifyObservers 2 - css.js func 2 - dom.js func 2 - events.js func 2 - firebug.js func appendChild 2 - firebug.js obj-new XPC_WN_NoMods_Proto_JSClass 2 - general.xml func getAttribute 2 - layout.js func 2 - preferences.js func webdeveloper_getStringPreference 2 - progressmeter.xml func createEvent 2 - progressmeter.xml func dispatchEvent 2 - progressmeter.xml func initEvent 2 - progressmeter.xml func setAttribute 2 - reporterOverlay.js obj-new Function 2 - scrollbar.xml func indexOf 2 - source.js func 2 - style.js func 2 - tabbox.xml func setAttribute 2 - tabbrowser.xml func getBoolPref 2 - tabbrowser.xml func getBrowserAtIndex 2 - tabbrowser.xml func schemeIs 2 - tabbrowser.xml func setAttribute 2 - textbox.xml func setSelectionRange 2 - toolbar.xml func updateStatusText 2 - tree.xml obj-new Function 2 - webdeveloper.js func getElementsByTagName 2 - webdeveloper.js func removeAttribute 2 - obj-free DOM Constructor.prototype 3 - obj-free With 3 - obj-free nsXPCComponents 3 - obj-new Array 3 - obj-new DOM Constructor.prototype 3 - obj-new With 3 - obj-new XPC_WN_NoMods_Proto_JSClass 3 - obj-new nsXPCComponents 3 - autocomplete.xml func getAttribute 3 - browser.js func QueryInterface 3 - func_slow.html func write 3 - globalOverlay.js obj-new Function 3 - progressmeter.xml func getAttribute 3 - progressmeter.xml func round 3 - scrollbar.xml obj-new String 3 - tabbrowser.xml func 3 - tabbrowser.xml func hasAttribute 3 - tabbrowser.xml func updateIcon 3 - text.xml func setAttribute 3 - textbox.xml func removeAttribute 3 - utils.js func join 3 - utils.js func splice 3 - utils.js func toLowerCase 3 - utils.js obj-new Array 3 - utils.js obj-new String 3 - autocomplete.xml func closePopup 4 - browser.js func indexOf 4 - browser.js obj-new Call 4 - browser.xml func getInterface 4 - preferences.js func webdeveloper_getBooleanPreference 4 - tabbrowser.xml func getAttribute 4 - tabbrowser.xml func removeAttribute 4 - utilityOverlay.js func goUpdateGlobalEditMenuItems 4 - utils.js func isElement 4 - obj-free Call 5 - view.js func 5 - obj-free XPCNativeWrapper 6 - obj-free XPC_WN_NoMods_Proto_JSClass 6 - obj-new XPCNativeWrapper 6 - XStringBundle func GetStringFromName 6 - XStringBundle func getString 6 - autocomplete.xml func createEvent 6 - autocomplete.xml func dispatchEvent 6 - autocomplete.xml func initEvent 6 - browser.js func getBrowser 6 - browser.js func setTimeout 6 - browser.js obj-new String 6 - preferences.js func getBranch 6 - preferences.js func getService 6 - preferences.js func prefHasUserValue 6 - preferences.js func webdeveloper_isPreferenceSet 6 - tabbrowser.xml func getBrowserForTab 6 - utils.js func 6 - webdeveloper.js obj-new Function 6 - obj-new Object 7 - firebug.js func removeAttribute 7 - tabbrowser.xml obj-new Function 7 - tree.xml func QueryInterface 7 - obj-free Array 8 - browser.js func hasAttribute 8 - globalOverlay.js func removeAttribute 8 - reporterOverlay.js func 8 - browser.js func getElementById 9 - browser.js func setAttribute 9 - browser.xml obj-new Function 9 - webdeveloper.js func getElementById 9 - obj-free Constructor 10 - obj-free Object 10 - obj-free XPC_WN_ModsAllowed_Proto_JSClass 10 - obj-new Constructor 10 - obj-new XPC_WN_ModsAllowed_Proto_JSClass 10 - browser.js func removeAttribute 10 - firebug.js obj-new Function 10 - text.xml obj-new String 12 - webdeveloper.js func item 14 - firebug.js func getElementById 15 - obj-free XULElement 16 - button.xml func hasAttribute 16 - obj-free Event 17 - browser.js func 17 - obj-new Event 18 - text.xml func getAttribute 19 - firebug.js func getAttribute 20 - globalOverlay.js func setAttribute 20 - obj-free MouseEvent 22 - obj-new MouseEvent 22 - globalOverlay.js func isCommandEnabled 22 - webdeveloper.js func setAttribute 22 - obj-free String 26 - firebug.js func setAttribute 26 - obj-free RegExp 28 - obj-new RegExp 28 - globalOverlay.js func getControllerForCommand 28 - globalOverlay.js func getElementById 28 - globalOverlay.js func goSetCommandEnabled 28 - globalOverlay.js func goUpdateCommand 28 - text.xml func test 28 - browser.js obj-new Function 30 - obj-free XPCWrappedNative_NoHelper 32 - obj-new XPCWrappedNative_NoHelper 32 - consoleAPI.js obj-new Function 33 - browser.xml func QueryInterface 38 - obj-free JavaPackage 41 - obj-new JavaPackage 41 - scrollbar.xml obj-new Function 61 - firebug.js func 62 - text.xml exec . 84 - obj-new XULElement 85 - obj-new Function 172 - obj-free Function 310 - diff --git a/cddl/contrib/dtracetoolkit/Examples/js_calltime_example.txt b/cddl/contrib/dtracetoolkit/Examples/js_calltime_example.txt deleted file mode 100644 index 0b69b76e0a7a..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/js_calltime_example.txt +++ /dev/null @@ -1,60 +0,0 @@ -The following are examples of js_calltime.d. - -This script traces the elapsed time of JavaScript functions and -prints a report. Here it traces the example program, -Code/JavaScript/func_clock.html - -# js_calltime.d -Tracing... Hit Ctrl-C to end. -^C - -Count, - FILE TYPE NAME COUNT - func_clock.html func func_a 3 - func_clock.html func func_b 3 - func_clock.html func func_c 3 - func_clock.html func setTimeout 3 - func_clock.html func start 3 - func_clock.html obj-new Date 3 - func_clock.html func getElementById 12 - - total - 30 - -Elapsed times (us), - FILE TYPE NAME TOTAL - - total - 29 - func_clock.html obj-new Date 29 - -Exclusive function elapsed times (us), - FILE TYPE NAME TOTAL - func_clock.html func setTimeout 229 - func_clock.html func getElementById 378 - func_clock.html func start 4061 - func_clock.html func func_a 51080 - func_clock.html func func_b 102943 - func_clock.html func func_c 153330 - - total - 312024 - -Inclusive function elapsed times (us), - FILE TYPE NAME TOTAL - func_clock.html func setTimeout 229 - func_clock.html func getElementById 378 - func_clock.html func func_c 153454 - func_clock.html func func_b 256470 - func_clock.html func func_a 307601 - func_clock.html func start 312054 - -Counts shows us how many times each different function was called, and how -many functions were called in total. - -The elapsed time shows us the time spent not in a JavaScript function. - -The exclusive function elapsed times show the time that each function spent -processing code - while not in other functions. - -The inclusive function elapsed times show the time that each function spent -processing code, including the time spent in other calls. - -These elapsed times are the absolute time from when the function began to -when it completed - which includes off-CPU time due to other system events -such as I/O, scheduling, interrupts, etc. - diff --git a/cddl/contrib/dtracetoolkit/Examples/js_cpudist_example.txt b/cddl/contrib/dtracetoolkit/Examples/js_cpudist_example.txt deleted file mode 100644 index c71a2ad82a2e..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/js_cpudist_example.txt +++ /dev/null @@ -1,112 +0,0 @@ -The following are examples of js_cpudist.d. - -This script traces the on-CPU time of JavaScript functions and prints a report -in the form of a histogram. Here it traces the example program, -Code/JavaScript/func_clock.html - -# js_cpudist.d -Tracing... Hit Ctrl-C to end. -^C - -Elapsed times (us), - func_clock.html, obj-new, Date - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 4 - 8 | 0 - - -Exclusive function on-CPU times (us), - func_clock.html, func, setTimeout - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@ 2 - 64 |@@@@@@@@@@@@@@@@@@@@ 2 - 128 | 0 - - func_clock.html, func, getElementById - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@ 4 - 16 |@@@@@@@@@@ 4 - 32 |@@@@@@@@@@@@@@@@@@@@ 8 - 64 | 0 - - func_clock.html, func, start - value ------------- Distribution ------------- count - 256 | 0 - 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 4 - 1024 | 0 - - func_clock.html, func, func_a - value ------------- Distribution ------------- count - 8192 | 0 - 16384 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 4 - 32768 | 0 - - func_clock.html, func, func_b - value ------------- Distribution ------------- count - 16384 | 0 - 32768 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 4 - 65536 | 0 - - func_clock.html, func, func_c - value ------------- Distribution ------------- count - 16384 | 0 - 32768 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 4 - 65536 | 0 - - -Inclusive function on-CPU times (us), - func_clock.html, func, setTimeout - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@ 2 - 64 |@@@@@@@@@@@@@@@@@@@@ 2 - 128 | 0 - - func_clock.html, func, getElementById - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@ 4 - 16 |@@@@@@@@@@ 4 - 32 |@@@@@@@@@@@@@@@@@@@@ 8 - 64 | 0 - - func_clock.html, func, func_c - value ------------- Distribution ------------- count - 16384 | 0 - 32768 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 4 - 65536 | 0 - - func_clock.html, func, func_a - value ------------- Distribution ------------- count - 32768 | 0 - 65536 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 4 - 131072 | 0 - - func_clock.html, func, func_b - value ------------- Distribution ------------- count - 32768 | 0 - 65536 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 4 - 131072 | 0 - - func_clock.html, func, start - value ------------- Distribution ------------- count - 32768 | 0 - 65536 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 4 - 131072 | 0 - -The first section, Exclusive function on-CPU times, shows us the time spent -on-CPU by various functions, not including time spent in subroutines. You can -see here that func_a had four instances of being on-CPU between 16384 -microseconds and 32767 microseconds. - -The second section, Inclusive function on-CPU times, shows us the time spent -on-CPU by various functions, including that time spent in subroutines called -by those functions. You can see that here func_a had four instances of being -on-CPU between 65536 microseconds and 131071 microseconds. - -It is important to pay close attention to the third column, "count" as this -will indicate if there were any instances in a particular timeframe, even if -the number is too small to show up on the histogram clearly. diff --git a/cddl/contrib/dtracetoolkit/Examples/js_cputime_example.txt b/cddl/contrib/dtracetoolkit/Examples/js_cputime_example.txt deleted file mode 100644 index dff42fdca9fa..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/js_cputime_example.txt +++ /dev/null @@ -1,69 +0,0 @@ -The following are examples of js_cputime.d. - -This script traces the on-CPU time of JavaScript functions and prints a report. -Here it traces the example program, Code/JavaScript/func_clock.html - -# js_cputime.d -Tracing... Hit Ctrl-C to end. -^C - -Count, - FILE TYPE NAME COUNT - func_clock.html func func_a 5 - func_clock.html func func_b 5 - func_clock.html func func_c 5 - func_clock.html func setTimeout 5 - func_clock.html func start 5 - func_clock.html obj-new Date 5 - func_clock.html func getElementById 20 - - total - 50 - -Elapsed times (us), - FILE TYPE NAME TOTAL - - total - 37 - func_clock.html obj-new Date 37 - -Exclusive function on-CPU times (us), - FILE TYPE NAME TOTAL - func_clock.html func setTimeout 316 - func_clock.html func getElementById 588 - func_clock.html func start 4734 - func_clock.html func func_a 83465 - func_clock.html func func_b 166613 - func_clock.html func func_c 247683 - - total - 503402 - -Inclusive function on-CPU times (us), - FILE TYPE NAME TOTAL - func_clock.html func setTimeout 316 - func_clock.html func getElementById 588 - func_clock.html func func_c 247872 - func_clock.html func func_b 414601 - func_clock.html func func_a 498142 - func_clock.html func start 503439 - -You can see the results are printed in four sections. - -The first section reports how many times each subroutine was called, and it's -type. - -The second section reports on the on-CPU time of anything that was not of type -"func", in this case the only elements reported here are Date obj-new. - -The exclusive subroutine on-CPU times shows, amongst other results, that func_a -spent around 83,000 microseconds on-CPU. This time excludes time spent in -other subroutines. - -The inclusive subroutine on-CPU times show that func_a spent around 0.5 -seconds on-CPU. This includes the time spent in other subroutines -called. - -These on-CPU times are the time the thread spent running on a CPU, from when -the subroutine began to when it completed. This does not include time -spent off-CPU time such as sleeping for I/O or waiting for scheduling. - -On-CPU times are useful for showing who is causing the CPUs to be busy. -See Notes/ALLoncpu_notes.txt for more details. Also see -Notes/ALLexclusive_notes.txt and Notes/ALLinclusive_notes.txt for a -detailed explanation of exclusive vs inclusive subroutine time. - diff --git a/cddl/contrib/dtracetoolkit/Examples/js_execs_example.txt b/cddl/contrib/dtracetoolkit/Examples/js_execs_example.txt deleted file mode 100644 index d555c1a1c27d..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/js_execs_example.txt +++ /dev/null @@ -1,15 +0,0 @@ -The following examples show the results of running the script js_execs.d. - -Here it runs on the program Code/JavaScript/func_clock.html. The script will -show you every time something is executed, including page reloads and -timeouts. - -# js_execs.d -TIME FILE:LINENO -2007 Sep 23 22:54:31 func_clock.html:32 -2007 Sep 23 22:54:32 func_clock.html:32 -2007 Sep 23 22:54:34 func_clock.html:32 -2007 Sep 23 22:54:35 func_clock.html:32 -2007 Sep 23 22:54:36 func_clock.html:32 -^C - diff --git a/cddl/contrib/dtracetoolkit/Examples/js_flow_example.txt b/cddl/contrib/dtracetoolkit/Examples/js_flow_example.txt deleted file mode 100644 index 7a9278d7ce6b..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/js_flow_example.txt +++ /dev/null @@ -1,41 +0,0 @@ -The following are examples of js_flow.d. - -This is a simple script to trace the flow of JavaScript functions. -Here it traces the example program, Code/JavaScript/func_clock.html - -# js_flow.d - C TIME(us) FILE -- FUNC - 0 3650471830941 func_clock.html -> start - 0 3650471831005 func_clock.html -> getElementById - 0 3650471831058 func_clock.html <- getElementById - 0 3650471831890 func_clock.html -> func_a - 0 3650471831906 func_clock.html -> getElementById - 0 3650471831929 func_clock.html <- getElementById - 0 3650471850084 func_clock.html -> func_b - 0 3650471850111 func_clock.html -> getElementById - 0 3650471850146 func_clock.html <- getElementById - 0 3650471886534 func_clock.html -> func_c - 0 3650471886573 func_clock.html -> getElementById - 0 3650471886624 func_clock.html <- getElementById - 0 3650471942212 func_clock.html <- func_c - 0 3650471942231 func_clock.html <- func_b - 0 3650471942242 func_clock.html <- func_a - 0 3650471942300 func_clock.html -> setTimeout - 0 3650471942392 func_clock.html <- setTimeout - 0 3650471942404 func_clock.html <- start -^C - -The fourth column is indented by 2 spaces to show when a new function begins. -This shows which function is calling which - the output above shows that -func_a called func_b, which in turn called func_c. - -The TIME(us) column shows time from boot in microseconds. - -The FILE column shows the file that was being executed. - -If the output looks strange, check the CPU "C" column - if it changes, -then the output is probably shuffled. See Notes/ALLsnoop_notes.txt for -details and suggested workarounds. - -See Notes/ALLflow_notes.txt for important notes about reading flow outputs. - diff --git a/cddl/contrib/dtracetoolkit/Examples/js_flowinfo_example.txt b/cddl/contrib/dtracetoolkit/Examples/js_flowinfo_example.txt deleted file mode 100644 index 45970c1f9e64..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/js_flowinfo_example.txt +++ /dev/null @@ -1,42 +0,0 @@ -Following are examples of js_flowinfo.d. - -This is a simple script to trace the flow of JavaScript functions. Here it -traces the example program Code/JavaScript/func_clock.html - -# js_flowinfo.d - C PID DELTA(us) FILE:LINE TYPE -- FUNC - 0 11651 2 .:0 func -> start - 0 11651 75 func_clock.html:30 func -> getElementById - 0 11651 51 func_clock.html:- func <- getElementById - 0 11651 479 func_clock.html:31 func -> func_a - 0 11651 25 func_clock.html:21 func -> getElementById - 0 11651 23 func_clock.html:- func <- getElementById - 0 11651 30611 func_clock.html:25 func -> func_b - 0 11651 79 func_clock.html:13 func -> getElementById - 0 11651 51 func_clock.html:- func <- getElementById - 0 11651 33922 func_clock.html:17 func -> func_c - 0 11651 75 func_clock.html:6 func -> getElementById - 0 11651 50 func_clock.html:- func <- getElementById - 0 11651 50481 func_clock.html:- func <- func_c - 0 11651 24 func_clock.html:- func <- func_b - 0 11651 10 func_clock.html:- func <- func_a - 0 11651 39 func_clock.html:32 func -> setTimeout - 0 11651 118 func_clock.html:- func <- setTimeout - 0 11651 11 func_clock.html:- func <- start -^C - -As each function is entered, the last column is indented by 2 spaces. This -shows which function is calling which. - -The DELTA(us) column shows the change in time from the previous line to the -current line. - -The FILE::LINE column shows which line in which file was being executed. Refer -to the source program to see what this line refers to. - -If the output looks shuffled, check the CPU "C" column - if it changes, -then the output is probably shuffled. See Notes/ALLsnoop_notes.txt for -details and suggested workarounds. - -See Notes/ALLflow_notes.txt for important notes about reading flow outputs. - diff --git a/cddl/contrib/dtracetoolkit/Examples/js_flowtime_example.txt b/cddl/contrib/dtracetoolkit/Examples/js_flowtime_example.txt deleted file mode 100644 index 46b2f2f12b28..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/js_flowtime_example.txt +++ /dev/null @@ -1,42 +0,0 @@ -The following are examples of js_flowtime.d. - -This is a simple script to trace the flow of JavaScript functions. -Here it traces the example program, Code/JavaScript/func_clock.html - -# js_flowtime.d - C TIME(us) FILE DELTA(us) -- FUNC - 0 3650523390654 func_clock.html 2 -> start - 0 3650523390721 func_clock.html 67 -> getElementById - 0 3650523390773 func_clock.html 51 <- getElementById - 0 3650523391609 func_clock.html 835 -> func_a - 0 3650523391627 func_clock.html 18 -> getElementById - 0 3650523391651 func_clock.html 23 <- getElementById - 0 3650523409735 func_clock.html 18084 -> func_b - 0 3650523409763 func_clock.html 27 -> getElementById - 0 3650523409795 func_clock.html 32 <- getElementById - 0 3650523445921 func_clock.html 36125 -> func_c - 0 3650523445959 func_clock.html 38 -> getElementById - 0 3650523446004 func_clock.html 44 <- getElementById - 0 3650523500557 func_clock.html 54552 <- func_c - 0 3650523500581 func_clock.html 24 <- func_b - 0 3650523500593 func_clock.html 11 <- func_a - 0 3650523500648 func_clock.html 54 -> setTimeout - 0 3650523500736 func_clock.html 88 <- setTimeout - 0 3650523500749 func_clock.html 12 <- start -^C - -The fifth column is indented by 2 spaces to show when a new function begins. -This shows which function is calling which. - -The TIME(us) column shows time since boot. - -The DELTA(us) column shows time from that line to the previous line, and -so can be a bit tricky to read. For example, the second line of data output -shows that a getElementById function happened 67 microseconds after start. - -The FILE column shows file that was being executed. - -If the output looks shuffled, check the CPU "C" and "TIME" columns, and -post sort based on TIME if necessary. - -See Notes/ALLflow_notes.txt for important notes about reading flow outputs. diff --git a/cddl/contrib/dtracetoolkit/Examples/js_objcpu_example.txt b/cddl/contrib/dtracetoolkit/Examples/js_objcpu_example.txt deleted file mode 100644 index 9e9a957ff9b9..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/js_objcpu_example.txt +++ /dev/null @@ -1,317 +0,0 @@ -The following are examples of running js_objcpu.d. - -This script will show the time on-CPU of object creation events in graphical -format. - -Here we see it running on Code/JavaScript/func_clock.html - -# js_objcpu.d -Tracing... Hit Ctrl-C to end. -^C -Total object creation on-CPU time (ms): 0 - -Object creation on-CPU time distributions (us), - - Date - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 16 | 0 - -We can see that there were two object creation events, both of type 'Date' -that spent between 8 microseconds and 15 microseconds on-CPU each. - - -Here we see the results of having Code/JavaScript/func_slow.html in a browser -window and hitting reload. This includes events that happen due to mouse -movement. - -# js_objcpu.d -Tracing... Hit Ctrl-C to end. -^C -Total object creation on-CPU time (ms): 2 - -Object creation on-CPU time distributions (us), - - HTMLBodyElement - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - HTMLCollection - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - HTMLDocument - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - HTMLHtmlElement - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - Location - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - NodeList - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - StyleSheetList - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - Window - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - chrome://global/content/bindings/popup.xml#popup 8830492 - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - chrome://global/content/bindings/scrollbar.xml#scrollbar 8beef52 - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - BarProp - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - BoxObject - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - CSSStyleDeclaration - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - chrome://global/content/bindings/popup.xml#popup 8bef592 - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - nsXPCComponents_Classes - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - nsJSCID - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@ 1 - 4 |@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - nsXPCComponents - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 4 | 0 - - Global Scope Polluter - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - JavaArray - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - JavaClass - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - JavaMember - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - JavaObject - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - KeyboardEvent - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - XPC_WN_NoMods_Proto_JSClass - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 4 |@@@@@@@@@@ 1 - 8 | 0 - - PageTransitionEvent - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@ 1 - 8 |@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - JSOptions - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 16 | 0 - - Call - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 5 - 8 | 0 - - DOM Constructor.prototype - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 4 | 0 - 8 | 0 - 16 |@@@@@@@@@@@@@ 1 - 32 | 0 - - With - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@ 1 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 16 | 0 - - Constructor - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 9 - 4 |@@@@ 1 - 8 | 0 - - Object - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@ 3 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@ 5 - 8 | 0 - - XPCNativeWrapper - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@ 1 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 4 - 8 |@@@@@@@ 1 - 16 | 0 - - XULElement - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@ 5 - 4 |@@@@@@@@@@@@@@@@@@ 4 - 8 | 0 - - Array - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@ 2 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 6 - 8 | 0 - - XPCWrappedNative_NoHelper - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@ 3 - 4 |@@@@@@@@@@@@@@@@@@@@ 4 - 8 |@@@@@ 1 - 16 | 0 - - XPC_WN_ModsAllowed_Proto_JSClass - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@ 6 - 4 |@@@@@@@@@@@@ 3 - 8 |@@@@ 1 - 16 | 0 - - MouseEvent - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@ 3 - 8 |@@@@@@@@@@@@@@@@@@@@@@@ 4 - 16 | 0 - - String - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 11 - 8 | 0 - - Event - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@ 1 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 10 - 8 |@@@@@@@@@ 3 - 16 | 0 - - JavaPackage - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 40 - 4 | 0 - 8 |@ 1 - 16 | 0 - - Function - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 246 - 4 |@@@@@@@ 58 - 8 |@ 8 - 16 |@ 9 - 32 | 0 - - diff --git a/cddl/contrib/dtracetoolkit/Examples/js_objgc_example.txt b/cddl/contrib/dtracetoolkit/Examples/js_objgc_example.txt deleted file mode 100644 index 711b223d08e6..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/js_objgc_example.txt +++ /dev/null @@ -1,230 +0,0 @@ -Following are examples of running js_objgc.d. - -This script reports on the garbage collection of Java objects. That is it -will keep track of when resources are allocated to an object, and when -resources are freed from an object. It is useful for providing information on -when garbage collection is not working correctly, as this can cause the -browser to have a memory leak. - -We trace object creation (+1) and destruction (-1), and provide a summary -each second of the running tally of the object class and originating filename. - -Here we can see it running on Code/JavaScript/func_clock.html - -# js_objgc.d -Tracing... Hit Ctrl-C to end. - - FILE TOTAL CLASS 2007 Sep 23 22:59:24 - func_clock.html 1 Date - - FILE TOTAL CLASS 2007 Sep 23 22:59:25 - func_clock.html 2 Date - - FILE TOTAL CLASS 2007 Sep 23 22:59:26 - func_clock.html 3 Date - - FILE TOTAL CLASS 2007 Sep 23 22:59:27 - func_clock.html 4 Date - - FILE TOTAL CLASS 2007 Sep 23 22:59:28 - func_clock.html 5 Date - - FILE TOTAL CLASS 2007 Sep 23 22:59:29 - browser.js 3 Function - 5 Function - func_clock.html 6 Date - 7 MouseEvent - - FILE TOTAL CLASS 2007 Sep 23 22:59:30 - browser.js 3 Function - 5 Function - func_clock.html 7 Date - 10 MouseEvent - - FILE TOTAL CLASS 2007 Sep 23 22:59:31 - 1 Constructor - 1 HTMLBodyElement - 1 XPCNativeWrapper - 1 XPC_WN_ModsAllowed_Proto_JSClass - browser.js 1 Array - browser.js 1 XPCNativeWrapper - popup.xml 1 Array - func_clock.html 7 Date - 13 MouseEvent - 18 Function - browser.js 20 Function - - FILE TOTAL CLASS 2007 Sep 23 22:59:32 - 1 BoxObject - 1 Constructor - 1 HTMLBodyElement - 1 NodeList - 1 UIEvent - 1 XPCNativeWrapper - 1 XPC_WN_ModsAllowed_Proto_JSClass - 1 chrome://global/content/bindings/menu.xml#menu-iconic 84ff45a - 1 chrome://global/content/bindings/menu.xml#menu-iconic 8befbba - bookmarksMenu.js 1 Function - browser.js 1 Array - browser.js 1 XPCNativeWrapper - popup.xml 1 Function - scrollbox.xml 1 Function - 2 Event - popup.xml 2 Array - bookmarks.js 3 With - firebug-service.js 3 Object - bookmarks.js 6 Object - bookmarks.js 6 XPCWrappedNative_NoHelper - func_clock.html 8 Date - firebug-service.js 10 Function - 15 MouseEvent - bookmarks.js 19 Error - browser.js 20 Function - bookmarks.js 22 Function - 39 XPCWrappedNative_NoHelper - 44 Function - 60 RegExp - 191 XULElement - -[... 39 seconds deleted ...] - - FILE TOTAL CLASS 2007 Sep 23 23:00:10 - 1 HTMLBodyElement - 1 HTMLCollection - 1 TreeColumns - 1 XPCNativeWrapper - 1 XPC_WN_NoMods_Proto_JSClass - 1 XULTreeBuilder - 1 chrome://global/content/bindings/menu.xml#menu-iconic 84ff45a - 1 chrome://global/content/bindings/menu.xml#menu-iconic 8befbba - 1 chrome://global/content/bindings/tree.xml#treebody 84caa3a - 1 chrome://global/content/bindings/tree.xml#treebody 84e3a72 - 1 nsXPCComponents_Interfaces - 1 nsXPCComponents_Results - bookmarksMenu.js 1 Function - browser.js 1 Array - browser.js 1 XPCNativeWrapper - browser.js 1 XPC_WN_NoMods_Proto_JSClass - nsUpdateService.js 1 XPC_WN_NoMods_Proto_JSClass - nsUpdateService.js 1 nsJSCID - popup.xml 1 Function - scrollbar.xml 1 String - scrollbox.xml 1 Function - tree.xml 1 Array - 2 Constructor - 2 UIEvent - 2 XPC_WN_ModsAllowed_Proto_JSClass - 2 nsXPCComponents_Classes - browser.js 2 nsJSCID - browser.js 2 nsJSIID - utilityOverlay.js 2 nsJSCID - utilityOverlay.js 2 nsJSIID - 3 Array - 3 NodeList - nsUpdateService.js 3 Array - nsUpdateService.js 3 Object - nsUpdateService.js 3 With - utilityOverlay.js 3 Call - tree.xml 4 Function - utilityOverlay.js 4 Function - nsUpdateService.js 7 nsJSIID - nsUpdateService.js 15 Function - bookmarks.js 22 Function - text.xml 23 String - 36 BoxObject - func_clock.html 42 Date - bookmarks.js 57 With - firebug-service.js 57 Object - bookmarks.js 73 Error - browser.js 78 Function - popup.xml 82 Array - bookmarks.js 114 Object - bookmarks.js 114 XPCWrappedNative_NoHelper - 157 MouseEvent - firebug-service.js 172 Function - 307 XPCWrappedNative_NoHelper - 388 RegExp - 488 Event - 876 XULElement - 1221 Function - - FILE TOTAL CLASS 2007 Sep 23 23:00:11 - -94 Date - -34 Function - -4 MouseEvent - -2 Array - -1 HTMLBodyElement - -1 HTMLCollection - -1 XPCNativeWrapper - -1 XPC_WN_ModsAllowed_Proto_JSClass - 0 Array - 0 HTMLBodyElement - 0 HTMLCollection - 0 RegExp - 0 TreeColumns - 0 UIEvent - 0 XPC_WN_NoMods_Proto_JSClass - 0 XULTreeBuilder - 0 nsXPCComponents_Classes - 0 nsXPCComponents_Interfaces - 0 nsXPCComponents_Results - browser.js 0 Array - browser.js 0 XPCNativeWrapper - browser.js 0 XPC_WN_NoMods_Proto_JSClass - browser.js 0 nsJSCID - nsUpdateService.js 0 Array - nsUpdateService.js 0 Function - nsUpdateService.js 0 Object - nsUpdateService.js 0 With - nsUpdateService.js 0 XPC_WN_NoMods_Proto_JSClass - nsUpdateService.js 0 nsJSCID - nsUpdateService.js 0 nsJSIID - scrollbar.xml 0 String - text.xml 0 String - tree.xml 0 Array - utilityOverlay.js 0 Call - utilityOverlay.js 0 Function - utilityOverlay.js 0 nsJSCID - 1 NodeList - 1 XPCNativeWrapper - 1 chrome://global/content/bindings/menu.xml#menu-iconic 84ff45a - 1 chrome://global/content/bindings/menu.xml#menu-iconic 8befbba - 1 chrome://global/content/bindings/tree.xml#treebody 84caa3a - 1 chrome://global/content/bindings/tree.xml#treebody 84e3a72 - bookmarksMenu.js 1 Function - browser.xul 1 Function - func_clock.html 1 Date - popup.xml 1 Function - scrollbox.xml 1 XULElement - scrollbox.xml 1 nsJSIID - 2 Constructor - 2 XPC_WN_ModsAllowed_Proto_JSClass - browser.js 2 nsJSIID - scrollbox.xml 2 Function - tree.xml 2 Function - utilityOverlay.js 2 nsJSIID - popup.xml 3 Array - bookmarks.js 5 With - firebug-service.js 5 Object - 6 Event - 6 MouseEvent - bookmarks.js 9 XPCWrappedNative_NoHelper - 10 XPCWrappedNative_NoHelper - bookmarks.js 10 Object - browser.js 10 Function - bookmarks.js 15 Function - firebug-service.js 16 Function - 18 BoxObject - bookmarks.js 75 Error - 79 Function - 315 XULElement -^C - -Just after time 23:00:10, garbage collection fired cleaning up many objects. -The final output shows a much reduced object count including a negative -count for objects created before this script was tracing. - -If over the period of several minutes an object type is still steadily -increasing, then that would be of interest. Be patient, depending on the rate -of object creation it can take over ten minutes for garbage collect to kick in. - diff --git a/cddl/contrib/dtracetoolkit/Examples/js_objnew_example.txt b/cddl/contrib/dtracetoolkit/Examples/js_objnew_example.txt deleted file mode 100644 index c3a888120f78..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/js_objnew_example.txt +++ /dev/null @@ -1,100 +0,0 @@ -The following are examples of the results of running js_objnew.d. - -It reports on the class type of new objects created. - -Here we can see it running on the program Code/JavaScript/func_clock.html. - -# js_objnew.d -Tracing... Hit Ctrl-C to end. -^C - FILE CLASS COUNT - func_clock.html Date 2 - -The results are very simple, func_clock.html caused two new objects to be -created, both of type 'Date'. - - -Here is a more complicated example, running on the program -Code/JavaScript/func_slow.html, with the results of that plus JavaScript caused -by hitting reload on the browser. - - -# js_objnew.d -Tracing... Hit Ctrl-C to end. -^C - FILE CLASS COUNT - BarProp 1 - CSSStyleDeclaration 1 - Global Scope Polluter 1 - HTMLBodyElement 1 - HTMLDocument 1 - HTMLHtmlElement 1 - NodeList 1 - StyleSheetList 1 - TreeSelection 1 - Window 1 - XULCommandDispatcher 1 - chrome://global/content/bindings/popup.xml#popup 8c35c92 1 - chrome://global/content/bindings/popup.xml#popup 8fb299a 1 - chrome://global/content/bindings/scrollbar.xml#scrollbar 8fb2ea2 1 - nsXPCComponents_Classes 1 - xpcTempGlobalClass 1 - autocomplete.xml Object 1 - browser.js Array 1 - browser.js Object 1 - browser.js XPC_WN_NoMods_Proto_JSClass 1 - browser.js nsJSCID 1 - consoleAPI.js Call 1 - firebug.js Constructor 1 - firebug.js Location 1 - firebug.js Object 1 - firebug.js XPC_WN_ModsAllowed_Proto_JSClass 1 - func_slow.html Function 1 - popup.xml Array 1 - preferences.js nsJSCID 1 - tabbrowser.xml Array 1 - tabbrowser.xml String 1 - webdeveloper.js Array 1 - webdeveloper.js String 1 - BoxObject 2 - JSOptions 2 - JavaArray 2 - JavaClass 2 - JavaMember 2 - JavaObject 2 - PageTransitionEvent 2 - autocomplete.xml Function 2 - firebug.js XPC_WN_NoMods_Proto_JSClass 2 - reporterOverlay.js Function 2 - tree.xml Function 2 - Array 3 - DOM Constructor.prototype 3 - With 3 - XPC_WN_NoMods_Proto_JSClass 3 - nsXPCComponents 3 - globalOverlay.js Function 3 - scrollbar.xml String 3 - utils.js Array 3 - utils.js String 3 - browser.js Call 4 - func_clock.html Date 4 - webdeveloper.js Function 4 - XPCNativeWrapper 5 - browser.js String 6 - Object 7 - tabbrowser.xml Function 7 - XPC_WN_ModsAllowed_Proto_JSClass 8 - Constructor 9 - browser.xml Function 9 - firebug.js Function 10 - MouseEvent 12 - XPCWrappedNative_NoHelper 13 - KeyboardEvent 14 - XULElement 16 - Event 29 - browser.js Function 33 - consoleAPI.js Function 33 - JavaPackage 41 - scrollbar.xml Function 61 - Function 211 - diff --git a/cddl/contrib/dtracetoolkit/Examples/js_stat_example.txt b/cddl/contrib/dtracetoolkit/Examples/js_stat_example.txt deleted file mode 100644 index b658b4f05422..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/js_stat_example.txt +++ /dev/null @@ -1,35 +0,0 @@ -The following are examples of running js_stat.d - -Here is the result after running the program Code/JavaScript/func_clock.html. - -# js_stat.d -TIME EXEC/s FUNC/s OBJNEW/s OBJFRE/s -2007 Sep 23 23:04:59 1 9 1 0 -2007 Sep 23 23:05:00 1 9 1 0 -2007 Sep 23 23:05:01 1 9 1 0 -2007 Sep 23 23:05:02 1 6 1 0 -2007 Sep 23 23:05:03 0 3 0 0 -2007 Sep 23 23:05:04 1 9 1 0 -2007 Sep 23 23:05:05 1 9 1 0 -2007 Sep 23 23:05:06 1 9 1 0 -^C - -We can see that at 2007 Sep 23 23:05:02 there was one JavaScript program -executed, six functions called, one new object created and no objects freed. - - -Here is the result after running the program Code/JavaScript/func_slow.html. -This also includes browser JavaScript. - -# js_stat.d -TIME EXEC/s FUNC/s OBJNEW/s OBJFRE/s -2007 Sep 23 23:05:48 1 124 41 0 -2007 Sep 23 23:05:49 1 29 19 0 -2007 Sep 23 23:05:50 1 29 25 0 -2007 Sep 23 23:05:51 1 670 497 0 -2007 Sep 23 23:05:52 0 62 11 0 -2007 Sep 23 23:05:53 0 0 6 617 -2007 Sep 23 23:05:54 0 0 0 0 -2007 Sep 23 23:05:55 0 0 0 0 -^C - diff --git a/cddl/contrib/dtracetoolkit/Examples/js_who_example.txt b/cddl/contrib/dtracetoolkit/Examples/js_who_example.txt deleted file mode 100644 index 06e3e31c6020..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/js_who_example.txt +++ /dev/null @@ -1,59 +0,0 @@ -The following examples are the results of running the js_who.d script while -various JavaScript events happen. - -A JavaScript program that behaves like a clock is frequently used by these -examples, since it can be left running in the background without browser -input. Browser input, such as hitting the reload button or using menus, -triggers many other JavaScript events since much of the browser uses -JavaScript. This makes for interesting longer examples, but would be -overwhelming for example #1. - -In the first example, we can see what happens when we run this program, -Code/JavaScript/func_clock.html - -# js_who.d -Tracing... Hit Ctrl-C to end. -^C - PID UID FUNCS FILE - 10530 100 18 file:///export/home/brendan/Lang/JavaScript/func_clock.html - - -The second example is more complex, the reason for this is that the program -Code/Javascript/func_slow.html was loaded in the browser, and the reload -button was pressed. This output captured the many browser events that occured -when moving the mouse pointer to do so. - -# js_who.d -Tracing... Hit Ctrl-C to end. -^C - PID UID FUNCS FILE - 10530 100 2 chrome://firebug/content/views/css.js - 10530 100 2 chrome://firebug/content/views/dom.js - 10530 100 2 chrome://firebug/content/views/events.js - 10530 100 2 chrome://firebug/content/views/layout.js - 10530 100 2 chrome://firebug/content/views/source.js - 10530 100 2 chrome://firebug/content/views/style.js - 10530 100 2 chrome://global/content/bindings/scrollbar.xml - 10530 100 3 chrome://global/content/bindings/general.xml - 10530 100 3 chrome://global/content/bindings/tabbox.xml - 10530 100 3 chrome://global/content/bindings/text.xml - 10530 100 4 chrome://browser/content/utilityOverlay.js - 10530 100 5 chrome://firebug/content/views/view.js - 10530 100 6 file:///export/home/brendan/Lang/JavaScript/func_slow.html - 10530 100 7 chrome://global/content/bindings/textbox.xml - 10530 100 7 chrome://global/content/bindings/tree.xml - 10530 100 10 chrome://reporter/content/reporterOverlay.js - 10530 100 12 XStringBundle - 10530 100 14 chrome://global/content/bindings/progressmeter.xml - 10530 100 18 file:///export/home/brendan/Lang/JavaScript/func_clock.html - 10530 100 19 chrome://firebug/content/utils.js - 10530 100 30 chrome://webdeveloper/content/common/preferences.js - 10530 100 43 chrome://global/content/bindings/browser.xml - 10530 100 44 chrome://global/content/bindings/tabbrowser.xml - 10530 100 72 chrome://global/content/bindings/button.xml - 10530 100 88 chrome://global/content/bindings/autocomplete.xml - 10530 100 110 chrome://browser/content/browser.js - 10530 100 121 chrome://webdeveloper/content/webdeveloper.js - 10530 100 133 chrome://firebug/content/firebug.js - 10530 100 162 chrome://global/content/globalOverlay.js - diff --git a/cddl/contrib/dtracetoolkit/Examples/kill_example.txt b/cddl/contrib/dtracetoolkit/Examples/kill_example.txt deleted file mode 100644 index f73621c6d252..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/kill_example.txt +++ /dev/null @@ -1,12 +0,0 @@ -This is an example of the kill.d DTrace script, - - # kill.d - FROM COMMAND SIG TO RESULT - 2344 bash 2 3117 0 - 2344 bash 9 12345 -1 - ^C - -In the above output, a kill -2 (Ctrl-C) was sent from the bash command -to PID 3177. Then a kill -9 (SIGKILL) was sent to PID 12345 - which -returned a "-1" for failure. - diff --git a/cddl/contrib/dtracetoolkit/Examples/kstat_types_example.txt b/cddl/contrib/dtracetoolkit/Examples/kstat_types_example.txt deleted file mode 100644 index 8ffecbff70eb..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/kstat_types_example.txt +++ /dev/null @@ -1,1358 +0,0 @@ -The following are demonstrations of the kstat_types.d script. - - -Here kstat_types.d is used to trace the kstat activity of the vmstat command, - - # ./kstat_types.d - CMD CLASS TYPE MOD:INS:NAME - vmstat . raw :0:kstat_headers - vmstat . raw :0:kstat_headers - vmstat misc named cpu_info:0:cpu_info0 - vmstat misc named cpu:0:vm - vmstat misc named cpu:0:sys - vmstat disk io cmdk:0:cmdk0 - vmstat disk io sd:0:sd0 - vmstat misc raw unix:0:sysinfo - vmstat vm raw unix:0:vminfo - vmstat misc named unix:0:dnlcstats - vmstat misc named unix:0:system_misc - ^C - -Details of each lookup can be seen, including each disk device that -was read. - - - -This is mpstat on a single CPU server, - - # ./kstat_types.d - CMD CLASS TYPE MOD:INS:NAME - mpstat . raw :0:kstat_headers - mpstat . raw :0:kstat_headers - mpstat misc named cpu_info:0:cpu_info0 - mpstat misc named cpu:0:vm - mpstat misc named cpu:0:sys - ^C - -The output shows that the focus was CPU statistics, as expected. - - - -The following has caught in.routed reading some statistics, - - # ./kstat_types.d - CMD CLASS TYPE MOD:INS:NAME - in.routed . raw :0:kstat_headers - in.routed . raw :0:kstat_headers - in.routed net named lo:0:lo0 - in.routed . raw :0:kstat_headers - in.routed . raw :0:kstat_headers - in.routed net named rtls:0:rtls0 - in.routed . raw :0:kstat_headers - in.routed . raw :0:kstat_headers - in.routed net named rtls:0:rtls0 - ^C - -Which shows that the network interfaces were checked. - - - -Finally, this is the kstats used when a "sar -u 1 1" command is run. -ie, this thing, - - $ sar -u 1 1 - - SunOS jupiter 5.10 Generic i86pc 04/21/2006 - - 23:28:53 %usr %sys %wio %idle - 23:28:54 1 3 0 96 - -sar actually forks a child "sadc" to do the lookups. sadc caused the -following kstat lookups (I'm not making this up), - - # ./kstat_types.d - CMD CLASS TYPE MOD:INS:NAME - sadc . raw :0:kstat_headers - sadc . raw :0:kstat_headers - sadc misc named unix:0:system_misc - sadc kmem_cache named unix:0:file_cache - sadc vmem named vmem:16:kmem_oversize - sadc ufs named ufs:0:inode_cache - sadc misc raw unix:0:var - sadc kmem_cache named unix:0:kmem_magazine_1 - sadc kmem_cache named unix:0:kmem_magazine_3 - sadc kmem_cache named unix:0:kmem_magazine_7 - sadc kmem_cache named unix:0:kmem_magazine_15 - sadc kmem_cache named unix:0:kmem_magazine_31 - sadc kmem_cache named unix:0:kmem_magazine_47 - sadc kmem_cache named unix:0:kmem_magazine_63 - sadc kmem_cache named unix:0:kmem_magazine_95 - sadc kmem_cache named unix:0:kmem_magazine_143 - sadc kmem_cache named unix:0:kmem_slab_cache - sadc kmem_cache named unix:0:kmem_bufctl_cache - sadc kmem_cache named unix:0:kmem_bufctl_audit_cache - sadc kmem_cache named unix:0:kmem_va_4096 - sadc kmem_cache named unix:0:kmem_va_8192 - sadc kmem_cache named unix:0:kmem_va_12288 - sadc kmem_cache named unix:0:kmem_va_16384 - sadc kmem_cache named unix:0:kmem_va_20480 - sadc kmem_cache named unix:0:kmem_va_24576 - sadc kmem_cache named unix:0:kmem_va_28672 - sadc kmem_cache named unix:0:kmem_va_32768 - sadc kmem_cache named unix:0:kmem_alloc_8 - sadc kmem_cache named unix:0:kmem_alloc_16 - sadc kmem_cache named unix:0:kmem_alloc_24 - sadc kmem_cache named unix:0:kmem_alloc_32 - sadc kmem_cache named unix:0:kmem_alloc_40 - sadc kmem_cache named unix:0:kmem_alloc_48 - sadc kmem_cache named unix:0:kmem_alloc_56 - sadc kmem_cache named unix:0:kmem_alloc_64 - sadc kmem_cache named unix:0:kmem_alloc_80 - sadc kmem_cache named unix:0:kmem_alloc_96 - sadc kmem_cache named unix:0:kmem_alloc_112 - sadc kmem_cache named unix:0:kmem_alloc_128 - sadc kmem_cache named unix:0:kmem_alloc_160 - sadc kmem_cache named unix:0:kmem_alloc_192 - sadc kmem_cache named unix:0:kmem_alloc_224 - sadc kmem_cache named unix:0:kmem_alloc_256 - sadc kmem_cache named unix:0:kmem_alloc_320 - sadc kmem_cache named unix:0:kmem_alloc_384 - sadc kmem_cache named unix:0:kmem_alloc_448 - sadc kmem_cache named unix:0:kmem_alloc_512 - sadc kmem_cache named unix:0:kmem_alloc_640 - sadc kmem_cache named unix:0:kmem_alloc_768 - sadc kmem_cache named unix:0:kmem_alloc_896 - sadc kmem_cache named unix:0:kmem_alloc_1152 - sadc kmem_cache named unix:0:kmem_alloc_1344 - sadc kmem_cache named unix:0:kmem_alloc_1600 - sadc kmem_cache named unix:0:kmem_alloc_2048 - sadc kmem_cache named unix:0:kmem_alloc_2688 - sadc kmem_cache named unix:0:kmem_alloc_4096 - sadc kmem_cache named unix:0:kmem_alloc_8192 - sadc kmem_cache named unix:0:kmem_alloc_12288 - sadc kmem_cache named unix:0:kmem_alloc_16384 - sadc kmem_cache named unix:0:streams_mblk - sadc kmem_cache named unix:0:streams_dblk_64 - sadc kmem_cache named unix:0:streams_dblk_128 - sadc kmem_cache named unix:0:streams_dblk_320 - sadc kmem_cache named unix:0:streams_dblk_576 - sadc kmem_cache named unix:0:streams_dblk_1088 - sadc kmem_cache named unix:0:streams_dblk_1536 - sadc kmem_cache named unix:0:streams_dblk_1984 - sadc kmem_cache named unix:0:streams_dblk_2624 - sadc kmem_cache named unix:0:streams_dblk_3968 - sadc kmem_cache named unix:0:streams_dblk_8192 - sadc kmem_cache named unix:0:streams_dblk_12160 - sadc kmem_cache named unix:0:streams_dblk_16384 - sadc kmem_cache named unix:0:streams_dblk_20352 - sadc kmem_cache named unix:0:streams_dblk_24576 - sadc kmem_cache named unix:0:streams_dblk_28544 - sadc kmem_cache named unix:0:streams_dblk_32768 - sadc kmem_cache named unix:0:streams_dblk_36736 - sadc kmem_cache named unix:0:streams_dblk_40960 - sadc kmem_cache named unix:0:streams_dblk_44928 - sadc kmem_cache named unix:0:streams_dblk_49152 - sadc kmem_cache named unix:0:streams_dblk_53120 - sadc kmem_cache named unix:0:streams_dblk_57344 - sadc kmem_cache named unix:0:streams_dblk_61312 - sadc kmem_cache named unix:0:streams_dblk_65536 - sadc kmem_cache named unix:0:streams_dblk_69504 - sadc kmem_cache named unix:0:streams_dblk_73728 - sadc kmem_cache named unix:0:streams_dblk_esb - sadc kmem_cache named unix:0:streams_fthdr - sadc kmem_cache named unix:0:streams_ftblk - sadc kmem_cache named unix:0:multidata - sadc kmem_cache named unix:0:multidata_pdslab - sadc kmem_cache named unix:0:multidata_pattbl - sadc kmem_cache named unix:0:taskq_ent_cache - sadc kmem_cache named unix:0:taskq_cache - sadc kmem_cache named unix:0:kmem_io_512M_128 - sadc kmem_cache named unix:0:kmem_io_512M_256 - sadc kmem_cache named unix:0:kmem_io_512M_512 - sadc kmem_cache named unix:0:kmem_io_512M_1024 - sadc kmem_cache named unix:0:kmem_io_512M_2048 - sadc kmem_cache named unix:0:kmem_io_512M_4096 - sadc kmem_cache named unix:0:kmem_io_16M_128 - sadc kmem_cache named unix:0:kmem_io_16M_256 - sadc kmem_cache named unix:0:kmem_io_16M_512 - sadc kmem_cache named unix:0:kmem_io_16M_1024 - sadc kmem_cache named unix:0:kmem_io_16M_2048 - sadc kmem_cache named unix:0:kmem_io_16M_4096 - sadc kmem_cache named unix:0:id32_cache - sadc kmem_cache named unix:0:bp_map_4096 - sadc kmem_cache named unix:0:bp_map_8192 - sadc kmem_cache named unix:0:bp_map_12288 - sadc kmem_cache named unix:0:bp_map_16384 - sadc kmem_cache named unix:0:bp_map_20480 - sadc kmem_cache named unix:0:bp_map_24576 - sadc kmem_cache named unix:0:bp_map_28672 - sadc kmem_cache named unix:0:bp_map_32768 - sadc kmem_cache named unix:0:mod_hash_entries - sadc kmem_cache named unix:0:ipp_mod - sadc kmem_cache named unix:0:ipp_action - sadc kmem_cache named unix:0:ipp_packet - sadc kmem_cache named unix:0:htable_t - sadc kmem_cache named unix:0:hment_t - sadc kmem_cache named unix:0:hat_t - sadc kmem_cache named unix:0:HatHash - sadc kmem_cache named unix:0:seg_cache - sadc kmem_cache named unix:0:snode_cache - sadc kmem_cache named unix:0:dv_node_cache - sadc kmem_cache named unix:0:dev_info_node_cache - sadc kmem_cache named unix:0:segkp_4096 - sadc kmem_cache named unix:0:segkp_8192 - sadc kmem_cache named unix:0:segkp_12288 - sadc kmem_cache named unix:0:segkp_16384 - sadc kmem_cache named unix:0:segkp_20480 - sadc kmem_cache named unix:0:thread_cache - sadc kmem_cache named unix:0:lwp_cache - sadc kmem_cache named unix:0:turnstile_cache - sadc kmem_cache named unix:0:cred_cache - sadc kmem_cache named unix:0:rctl_cache - sadc kmem_cache named unix:0:rctl_val_cache - sadc kmem_cache named unix:0:task_cache - sadc kmem_cache named unix:0:cyclic_id_cache - sadc kmem_cache named unix:0:dnlc_space_cache - sadc kmem_cache named unix:0:vn_cache - sadc kmem_cache named unix:0:file_cache - sadc kmem_cache named unix:0:stream_head_cache - sadc kmem_cache named unix:0:queue_cache - sadc kmem_cache named unix:0:syncq_cache - sadc kmem_cache named unix:0:qband_cache - sadc kmem_cache named unix:0:linkinfo_cache - sadc kmem_cache named unix:0:ciputctrl_cache - sadc kmem_cache named unix:0:serializer_cache - sadc kmem_cache named unix:0:as_cache - sadc kmem_cache named unix:0:marker_cache - sadc kmem_cache named unix:0:anon_cache - sadc kmem_cache named unix:0:anonmap_cache - sadc kmem_cache named unix:0:segvn_cache - sadc kmem_cache named unix:0:flk_edges - sadc kmem_cache named unix:0:fdb_cache - sadc kmem_cache named unix:0:timer_cache - sadc kmem_cache named unix:0:physio_buf_cache - sadc kmem_cache named unix:0:ufs_inode_cache - sadc kmem_cache named unix:0:directio_buf_cache - sadc kmem_cache named unix:0:lufs_save - sadc kmem_cache named unix:0:lufs_bufs - sadc kmem_cache named unix:0:lufs_mapentry_cache - sadc misc raw cpu_stat:0:cpu_stat0 - sadc kmem_cache named unix:0:kcf_sreq_cache - sadc kmem_cache named unix:0:kcf_areq_cache - sadc kmem_cache named unix:0:kcf_context_cache - sadc kmem_cache named unix:0:ipsec_actions - sadc kmem_cache named unix:0:ipsec_selectors - sadc kmem_cache named unix:0:ipsec_policy - sadc kmem_cache named unix:0:ipsec_info - sadc kmem_cache named unix:0:ip_minor_arena_1 - sadc kmem_cache named unix:0:ipcl_conn_cache - sadc kmem_cache named unix:0:ipcl_tcpconn_cache - sadc kmem_cache named unix:0:ire_cache - sadc kmem_cache named unix:0:tcp_timercache - sadc kmem_cache named unix:0:tcp_sack_info_cache - sadc kmem_cache named unix:0:tcp_iphc_cache - sadc kmem_cache named unix:0:squeue_cache - sadc kmem_cache named unix:0:sctp_conn_cache - sadc kmem_cache named unix:0:sctp_faddr_cache - sadc kmem_cache named unix:0:sctp_set_cache - sadc kmem_cache named unix:0:sctp_ftsn_set_cache - sadc kmem_cache named unix:0:sctpsock - sadc kmem_cache named unix:0:sctp_assoc - sadc kmem_cache named unix:0:socktpi_cache - sadc kmem_cache named unix:0:socktpi_unix_cache - sadc kmem_cache named unix:0:ncafs_cache - sadc kmem_cache named unix:0:process_cache - sadc kmem_cache named unix:0:exacct_object_cache - sadc kmem_cache named unix:0:fctl_cache - sadc kmem_cache named unix:0:tl_cache - sadc kmem_cache named unix:0:keysock_1 - sadc kmem_cache named unix:0:spdsock_1 - sadc kmem_cache named unix:0:fnode_cache - sadc kmem_cache named unix:0:pipe_cache - sadc kmem_cache named unix:0:namefs_inodes_1 - sadc kmem_cache named unix:0:port_cache - sadc kmem_cache named unix:0:lnode_cache - sadc kmem_cache named unix:0:clnt_clts_endpnt_cache - sadc kmem_cache named unix:0:pty_map - sadc kmem_cache named unix:0:sppptun_map - sadc kmem_cache named unix:0:dtrace_state_cache - sadc kmem_cache named unix:0:qif_head_cache - sadc kmem_cache named unix:0:udp_minor_1 - sadc kmem_cache named unix:0:authkern_cache - sadc kmem_cache named unix:0:authloopback_cache - sadc kmem_cache named unix:0:authdes_cache_handle - sadc kmem_cache named unix:0:rnode_cache - sadc kmem_cache named unix:0:nfs_access_cache - sadc kmem_cache named unix:0:client_handle_cache - sadc kmem_cache named unix:0:rnode4_cache - sadc kmem_cache named unix:0:svnode_cache - sadc kmem_cache named unix:0:nfs4_access_cache - sadc kmem_cache named unix:0:client_handle4_cache - sadc kmem_cache named unix:0:nfs4_ace4vals_cache - sadc kmem_cache named unix:0:nfs4_ace4_list_cache - sadc kmem_cache named unix:0:NFS_idmap_cache - sadc kmem_cache named unix:0:lm_vnode - sadc kmem_cache named unix:0:lm_xprt - sadc kmem_cache named unix:0:lm_sysid - sadc kmem_cache named unix:0:lm_client - sadc kmem_cache named unix:0:lm_async - sadc kmem_cache named unix:0:lm_sleep - sadc kmem_cache named unix:0:lm_config - sadc kmem_cache named unix:0:nfslog_small_rec - sadc kmem_cache named unix:0:nfslog_medium_rec - sadc kmem_cache named unix:0:nfslog_large_rec - sadc kmem_cache named unix:0:exi_cache_handle - sadc kmem_cache named unix:0:Client_entry_cache - sadc kmem_cache named unix:0:OpenOwner_entry_cache - sadc kmem_cache named unix:0:OpenStateID_entry_cache - sadc kmem_cache named unix:0:LockStateID_entry_cache - sadc kmem_cache named unix:0:Lockowner_entry_cache - sadc kmem_cache named unix:0:File_entry_cache - sadc kmem_cache named unix:0:DelegStateID_entry_cache - sadc kmem_cache named unix:0:ip_minor_1 - sadc kmem_cache named unix:0:ar_minor_1 - sadc kmem_cache named unix:0:icmp_minor_1 - sadc kmem_cache named unix:0:crypto_session_cache - sadc kmem_cache named unix:0:fcsm_job_cache - sadc kmem_cache named unix:0:sd0_cache - sadc kmem_cache named unix:0:hsfs_hsnode_cache - sadc kmem_cache named unix:0:kmem_magazine_1 - sadc misc named unix:0:system_misc - sadc kmem_cache named unix:0:file_cache - sadc vmem named vmem:16:kmem_oversize - sadc ufs named ufs:0:inode_cache - sadc misc raw unix:0:var - sadc kmem_cache named unix:0:kmem_magazine_1 - sadc kmem_cache named unix:0:kmem_magazine_3 - sadc kmem_cache named unix:0:kmem_magazine_7 - sadc kmem_cache named unix:0:kmem_magazine_15 - sadc kmem_cache named unix:0:kmem_magazine_31 - sadc kmem_cache named unix:0:kmem_magazine_47 - sadc kmem_cache named unix:0:kmem_magazine_63 - sadc kmem_cache named unix:0:kmem_magazine_95 - sadc kmem_cache named unix:0:kmem_magazine_143 - sadc kmem_cache named unix:0:kmem_slab_cache - sadc kmem_cache named unix:0:kmem_bufctl_cache - sadc kmem_cache named unix:0:kmem_bufctl_audit_cache - sadc kmem_cache named unix:0:kmem_va_4096 - sadc kmem_cache named unix:0:kmem_va_8192 - sadc kmem_cache named unix:0:kmem_va_12288 - sadc kmem_cache named unix:0:kmem_va_16384 - sadc kmem_cache named unix:0:kmem_va_20480 - sadc kmem_cache named unix:0:kmem_va_24576 - sadc kmem_cache named unix:0:kmem_va_28672 - sadc kmem_cache named unix:0:kmem_va_32768 - sadc kmem_cache named unix:0:kmem_alloc_8 - sadc kmem_cache named unix:0:kmem_alloc_16 - sadc kmem_cache named unix:0:kmem_alloc_24 - sadc kmem_cache named unix:0:kmem_alloc_32 - sadc kmem_cache named unix:0:kmem_alloc_40 - sadc kmem_cache named unix:0:kmem_alloc_48 - sadc kmem_cache named unix:0:kmem_alloc_56 - sadc kmem_cache named unix:0:kmem_alloc_64 - sadc kmem_cache named unix:0:kmem_alloc_80 - sadc kmem_cache named unix:0:kmem_alloc_96 - sadc kmem_cache named unix:0:kmem_alloc_112 - sadc kmem_cache named unix:0:kmem_alloc_128 - sadc kmem_cache named unix:0:kmem_alloc_160 - sadc kmem_cache named unix:0:kmem_alloc_192 - sadc kmem_cache named unix:0:kmem_alloc_224 - sadc kmem_cache named unix:0:kmem_alloc_256 - sadc kmem_cache named unix:0:kmem_alloc_320 - sadc kmem_cache named unix:0:kmem_alloc_384 - sadc kmem_cache named unix:0:kmem_alloc_448 - sadc kmem_cache named unix:0:kmem_alloc_512 - sadc kmem_cache named unix:0:kmem_alloc_640 - sadc kmem_cache named unix:0:kmem_alloc_768 - sadc kmem_cache named unix:0:kmem_alloc_896 - sadc kmem_cache named unix:0:kmem_alloc_1152 - sadc kmem_cache named unix:0:kmem_alloc_1344 - sadc kmem_cache named unix:0:kmem_alloc_1600 - sadc kmem_cache named unix:0:kmem_alloc_2048 - sadc kmem_cache named unix:0:kmem_alloc_2688 - sadc kmem_cache named unix:0:kmem_alloc_4096 - sadc kmem_cache named unix:0:kmem_alloc_8192 - sadc kmem_cache named unix:0:kmem_alloc_12288 - sadc kmem_cache named unix:0:kmem_alloc_16384 - sadc kmem_cache named unix:0:streams_mblk - sadc kmem_cache named unix:0:streams_dblk_64 - sadc kmem_cache named unix:0:streams_dblk_128 - sadc kmem_cache named unix:0:streams_dblk_320 - sadc kmem_cache named unix:0:streams_dblk_576 - sadc kmem_cache named unix:0:streams_dblk_1088 - sadc kmem_cache named unix:0:streams_dblk_1536 - sadc kmem_cache named unix:0:streams_dblk_1984 - sadc kmem_cache named unix:0:streams_dblk_2624 - sadc kmem_cache named unix:0:streams_dblk_3968 - sadc kmem_cache named unix:0:streams_dblk_8192 - sadc kmem_cache named unix:0:streams_dblk_12160 - sadc kmem_cache named unix:0:streams_dblk_16384 - sadc kmem_cache named unix:0:streams_dblk_20352 - sadc kmem_cache named unix:0:streams_dblk_24576 - sadc kmem_cache named unix:0:streams_dblk_28544 - sadc kmem_cache named unix:0:streams_dblk_32768 - sadc kmem_cache named unix:0:streams_dblk_36736 - sadc kmem_cache named unix:0:streams_dblk_40960 - sadc kmem_cache named unix:0:streams_dblk_44928 - sadc kmem_cache named unix:0:streams_dblk_49152 - sadc kmem_cache named unix:0:streams_dblk_53120 - sadc kmem_cache named unix:0:streams_dblk_57344 - sadc kmem_cache named unix:0:streams_dblk_61312 - sadc kmem_cache named unix:0:streams_dblk_65536 - sadc kmem_cache named unix:0:streams_dblk_69504 - sadc kmem_cache named unix:0:streams_dblk_73728 - sadc kmem_cache named unix:0:streams_dblk_esb - sadc kmem_cache named unix:0:streams_fthdr - sadc kmem_cache named unix:0:streams_ftblk - sadc kmem_cache named unix:0:multidata - sadc kmem_cache named unix:0:multidata_pdslab - sadc kmem_cache named unix:0:multidata_pattbl - sadc kmem_cache named unix:0:taskq_ent_cache - sadc kmem_cache named unix:0:taskq_cache - sadc kmem_cache named unix:0:kmem_io_512M_128 - sadc kmem_cache named unix:0:kmem_io_512M_256 - sadc kmem_cache named unix:0:kmem_io_512M_512 - sadc kmem_cache named unix:0:kmem_io_512M_1024 - sadc kmem_cache named unix:0:kmem_io_512M_2048 - sadc kmem_cache named unix:0:kmem_io_512M_4096 - sadc kmem_cache named unix:0:kmem_io_16M_128 - sadc kmem_cache named unix:0:kmem_io_16M_256 - sadc kmem_cache named unix:0:kmem_io_16M_512 - sadc kmem_cache named unix:0:kmem_io_16M_1024 - sadc kmem_cache named unix:0:kmem_io_16M_2048 - sadc kmem_cache named unix:0:kmem_io_16M_4096 - sadc kmem_cache named unix:0:id32_cache - sadc kmem_cache named unix:0:bp_map_4096 - sadc kmem_cache named unix:0:bp_map_8192 - sadc kmem_cache named unix:0:bp_map_12288 - sadc kmem_cache named unix:0:bp_map_16384 - sadc kmem_cache named unix:0:bp_map_20480 - sadc kmem_cache named unix:0:bp_map_24576 - sadc kmem_cache named unix:0:bp_map_28672 - sadc kmem_cache named unix:0:bp_map_32768 - sadc kmem_cache named unix:0:mod_hash_entries - sadc kmem_cache named unix:0:ipp_mod - sadc kmem_cache named unix:0:ipp_action - sadc kmem_cache named unix:0:ipp_packet - sadc kmem_cache named unix:0:htable_t - sadc kmem_cache named unix:0:hment_t - sadc kmem_cache named unix:0:hat_t - sadc kmem_cache named unix:0:HatHash - sadc kmem_cache named unix:0:seg_cache - sadc kmem_cache named unix:0:snode_cache - sadc kmem_cache named unix:0:dv_node_cache - sadc kmem_cache named unix:0:dev_info_node_cache - sadc kmem_cache named unix:0:segkp_4096 - sadc kmem_cache named unix:0:segkp_8192 - sadc kmem_cache named unix:0:segkp_12288 - sadc kmem_cache named unix:0:segkp_16384 - sadc kmem_cache named unix:0:segkp_20480 - sadc kmem_cache named unix:0:thread_cache - sadc kmem_cache named unix:0:lwp_cache - sadc kmem_cache named unix:0:turnstile_cache - sadc kmem_cache named unix:0:cred_cache - sadc kmem_cache named unix:0:rctl_cache - sadc kmem_cache named unix:0:rctl_val_cache - sadc kmem_cache named unix:0:task_cache - sadc kmem_cache named unix:0:cyclic_id_cache - sadc kmem_cache named unix:0:dnlc_space_cache - sadc kmem_cache named unix:0:vn_cache - sadc kmem_cache named unix:0:file_cache - sadc kmem_cache named unix:0:stream_head_cache - sadc kmem_cache named unix:0:queue_cache - sadc kmem_cache named unix:0:syncq_cache - sadc kmem_cache named unix:0:qband_cache - sadc kmem_cache named unix:0:linkinfo_cache - sadc kmem_cache named unix:0:ciputctrl_cache - sadc kmem_cache named unix:0:serializer_cache - sadc kmem_cache named unix:0:as_cache - sadc kmem_cache named unix:0:marker_cache - sadc kmem_cache named unix:0:anon_cache - sadc kmem_cache named unix:0:anonmap_cache - sadc kmem_cache named unix:0:segvn_cache - sadc kmem_cache named unix:0:flk_edges - sadc kmem_cache named unix:0:fdb_cache - sadc kmem_cache named unix:0:timer_cache - sadc kmem_cache named unix:0:physio_buf_cache - sadc kmem_cache named unix:0:ufs_inode_cache - sadc kmem_cache named unix:0:directio_buf_cache - sadc kmem_cache named unix:0:lufs_save - sadc kmem_cache named unix:0:lufs_bufs - sadc kmem_cache named unix:0:lufs_mapentry_cache - sadc misc raw cpu_stat:0:cpu_stat0 - sadc kmem_cache named unix:0:kcf_sreq_cache - sadc kmem_cache named unix:0:kcf_areq_cache - sadc kmem_cache named unix:0:kcf_context_cache - sadc kmem_cache named unix:0:ipsec_actions - sadc kmem_cache named unix:0:ipsec_selectors - sadc kmem_cache named unix:0:ipsec_policy - sadc kmem_cache named unix:0:ipsec_info - sadc kmem_cache named unix:0:ip_minor_arena_1 - sadc kmem_cache named unix:0:ipcl_conn_cache - sadc kmem_cache named unix:0:ipcl_tcpconn_cache - sadc kmem_cache named unix:0:ire_cache - sadc kmem_cache named unix:0:tcp_timercache - sadc kmem_cache named unix:0:tcp_sack_info_cache - sadc kmem_cache named unix:0:tcp_iphc_cache - sadc kmem_cache named unix:0:squeue_cache - sadc kmem_cache named unix:0:sctp_conn_cache - sadc kmem_cache named unix:0:sctp_faddr_cache - sadc kmem_cache named unix:0:sctp_set_cache - sadc kmem_cache named unix:0:sctp_ftsn_set_cache - sadc kmem_cache named unix:0:sctpsock - sadc kmem_cache named unix:0:sctp_assoc - sadc kmem_cache named unix:0:socktpi_cache - sadc kmem_cache named unix:0:socktpi_unix_cache - sadc kmem_cache named unix:0:ncafs_cache - sadc kmem_cache named unix:0:process_cache - sadc kmem_cache named unix:0:exacct_object_cache - sadc kmem_cache named unix:0:fctl_cache - sadc kmem_cache named unix:0:tl_cache - sadc kmem_cache named unix:0:keysock_1 - sadc kmem_cache named unix:0:spdsock_1 - sadc kmem_cache named unix:0:fnode_cache - sadc kmem_cache named unix:0:pipe_cache - sadc kmem_cache named unix:0:namefs_inodes_1 - sadc kmem_cache named unix:0:port_cache - sadc kmem_cache named unix:0:lnode_cache - sadc kmem_cache named unix:0:clnt_clts_endpnt_cache - sadc kmem_cache named unix:0:pty_map - sadc kmem_cache named unix:0:sppptun_map - sadc kmem_cache named unix:0:dtrace_state_cache - sadc kmem_cache named unix:0:qif_head_cache - sadc kmem_cache named unix:0:udp_minor_1 - sadc kmem_cache named unix:0:authkern_cache - sadc kmem_cache named unix:0:authloopback_cache - sadc kmem_cache named unix:0:authdes_cache_handle - sadc kmem_cache named unix:0:rnode_cache - sadc kmem_cache named unix:0:nfs_access_cache - sadc kmem_cache named unix:0:client_handle_cache - sadc kmem_cache named unix:0:rnode4_cache - sadc kmem_cache named unix:0:svnode_cache - sadc kmem_cache named unix:0:nfs4_access_cache - sadc kmem_cache named unix:0:client_handle4_cache - sadc kmem_cache named unix:0:nfs4_ace4vals_cache - sadc kmem_cache named unix:0:nfs4_ace4_list_cache - sadc kmem_cache named unix:0:NFS_idmap_cache - sadc kmem_cache named unix:0:lm_vnode - sadc kmem_cache named unix:0:lm_xprt - sadc kmem_cache named unix:0:lm_sysid - sadc kmem_cache named unix:0:lm_client - sadc kmem_cache named unix:0:lm_async - sadc kmem_cache named unix:0:lm_sleep - sadc kmem_cache named unix:0:lm_config - sadc kmem_cache named unix:0:nfslog_small_rec - sadc kmem_cache named unix:0:nfslog_medium_rec - sadc kmem_cache named unix:0:nfslog_large_rec - sadc kmem_cache named unix:0:exi_cache_handle - sadc kmem_cache named unix:0:Client_entry_cache - sadc kmem_cache named unix:0:OpenOwner_entry_cache - sadc kmem_cache named unix:0:OpenStateID_entry_cache - sadc kmem_cache named unix:0:LockStateID_entry_cache - sadc kmem_cache named unix:0:Lockowner_entry_cache - sadc kmem_cache named unix:0:File_entry_cache - sadc kmem_cache named unix:0:DelegStateID_entry_cache - sadc kmem_cache named unix:0:ip_minor_1 - sadc kmem_cache named unix:0:ar_minor_1 - sadc kmem_cache named unix:0:icmp_minor_1 - sadc kmem_cache named unix:0:crypto_session_cache - sadc kmem_cache named unix:0:fcsm_job_cache - sadc kmem_cache named unix:0:sd0_cache - sadc kmem_cache named unix:0:hsfs_hsnode_cache - sadc kmem_cache named unix:0:kmem_magazine_1 - sadc misc raw unix:0:sysinfo - sadc vm raw unix:0:vminfo - sadc misc named unix:0:system_misc - sadc kmem_cache named unix:0:file_cache - sadc ufs named ufs:0:inode_cache - sadc misc raw cpu_stat:0:cpu_stat0 - sadc kmem_cache named unix:0:kmem_magazine_1 - sadc kmem_cache named unix:0:kmem_magazine_3 - sadc kmem_cache named unix:0:kmem_magazine_7 - sadc kmem_cache named unix:0:kmem_magazine_15 - sadc kmem_cache named unix:0:kmem_magazine_31 - sadc kmem_cache named unix:0:kmem_magazine_47 - sadc kmem_cache named unix:0:kmem_magazine_63 - sadc kmem_cache named unix:0:kmem_magazine_95 - sadc kmem_cache named unix:0:kmem_magazine_143 - sadc kmem_cache named unix:0:kmem_slab_cache - sadc kmem_cache named unix:0:kmem_bufctl_cache - sadc kmem_cache named unix:0:kmem_bufctl_audit_cache - sadc kmem_cache named unix:0:kmem_va_4096 - sadc kmem_cache named unix:0:kmem_va_8192 - sadc kmem_cache named unix:0:kmem_va_12288 - sadc kmem_cache named unix:0:kmem_va_16384 - sadc kmem_cache named unix:0:kmem_va_20480 - sadc kmem_cache named unix:0:kmem_va_24576 - sadc kmem_cache named unix:0:kmem_va_28672 - sadc kmem_cache named unix:0:kmem_va_32768 - sadc kmem_cache named unix:0:kmem_alloc_8 - sadc kmem_cache named unix:0:kmem_alloc_16 - sadc kmem_cache named unix:0:kmem_alloc_24 - sadc kmem_cache named unix:0:kmem_alloc_32 - sadc kmem_cache named unix:0:kmem_alloc_40 - sadc kmem_cache named unix:0:kmem_alloc_48 - sadc kmem_cache named unix:0:kmem_alloc_56 - sadc kmem_cache named unix:0:kmem_alloc_64 - sadc kmem_cache named unix:0:kmem_alloc_80 - sadc kmem_cache named unix:0:kmem_alloc_96 - sadc kmem_cache named unix:0:kmem_alloc_112 - sadc kmem_cache named unix:0:kmem_alloc_128 - sadc kmem_cache named unix:0:kmem_alloc_160 - sadc kmem_cache named unix:0:kmem_alloc_192 - sadc kmem_cache named unix:0:kmem_alloc_224 - sadc kmem_cache named unix:0:kmem_alloc_256 - sadc kmem_cache named unix:0:kmem_alloc_320 - sadc kmem_cache named unix:0:kmem_alloc_384 - sadc kmem_cache named unix:0:kmem_alloc_448 - sadc kmem_cache named unix:0:kmem_alloc_512 - sadc kmem_cache named unix:0:kmem_alloc_640 - sadc kmem_cache named unix:0:kmem_alloc_768 - sadc kmem_cache named unix:0:kmem_alloc_896 - sadc kmem_cache named unix:0:kmem_alloc_1152 - sadc kmem_cache named unix:0:kmem_alloc_1344 - sadc kmem_cache named unix:0:kmem_alloc_1600 - sadc kmem_cache named unix:0:kmem_alloc_2048 - sadc kmem_cache named unix:0:kmem_alloc_2688 - sadc kmem_cache named unix:0:kmem_alloc_4096 - sadc kmem_cache named unix:0:kmem_alloc_8192 - sadc kmem_cache named unix:0:kmem_alloc_12288 - sadc kmem_cache named unix:0:kmem_alloc_16384 - sadc kmem_cache named unix:0:streams_mblk - sadc kmem_cache named unix:0:streams_dblk_64 - sadc kmem_cache named unix:0:streams_dblk_128 - sadc kmem_cache named unix:0:streams_dblk_320 - sadc kmem_cache named unix:0:streams_dblk_576 - sadc kmem_cache named unix:0:streams_dblk_1088 - sadc kmem_cache named unix:0:streams_dblk_1536 - sadc kmem_cache named unix:0:streams_dblk_1984 - sadc kmem_cache named unix:0:streams_dblk_2624 - sadc kmem_cache named unix:0:streams_dblk_3968 - sadc kmem_cache named unix:0:streams_dblk_8192 - sadc kmem_cache named unix:0:streams_dblk_12160 - sadc kmem_cache named unix:0:streams_dblk_16384 - sadc kmem_cache named unix:0:streams_dblk_20352 - sadc kmem_cache named unix:0:streams_dblk_24576 - sadc kmem_cache named unix:0:streams_dblk_28544 - sadc kmem_cache named unix:0:streams_dblk_32768 - sadc kmem_cache named unix:0:streams_dblk_36736 - sadc kmem_cache named unix:0:streams_dblk_40960 - sadc kmem_cache named unix:0:streams_dblk_44928 - sadc kmem_cache named unix:0:streams_dblk_49152 - sadc kmem_cache named unix:0:streams_dblk_53120 - sadc kmem_cache named unix:0:streams_dblk_57344 - sadc kmem_cache named unix:0:streams_dblk_61312 - sadc kmem_cache named unix:0:streams_dblk_65536 - sadc kmem_cache named unix:0:streams_dblk_69504 - sadc kmem_cache named unix:0:streams_dblk_73728 - sadc kmem_cache named unix:0:streams_dblk_esb - sadc kmem_cache named unix:0:streams_fthdr - sadc kmem_cache named unix:0:streams_ftblk - sadc kmem_cache named unix:0:multidata - sadc kmem_cache named unix:0:multidata_pdslab - sadc kmem_cache named unix:0:multidata_pattbl - sadc kmem_cache named unix:0:taskq_ent_cache - sadc kmem_cache named unix:0:taskq_cache - sadc kmem_cache named unix:0:kmem_io_512M_128 - sadc kmem_cache named unix:0:kmem_io_512M_256 - sadc kmem_cache named unix:0:kmem_io_512M_512 - sadc kmem_cache named unix:0:kmem_io_512M_1024 - sadc kmem_cache named unix:0:kmem_io_512M_2048 - sadc kmem_cache named unix:0:kmem_io_512M_4096 - sadc kmem_cache named unix:0:kmem_io_16M_128 - sadc kmem_cache named unix:0:kmem_io_16M_256 - sadc kmem_cache named unix:0:kmem_io_16M_512 - sadc kmem_cache named unix:0:kmem_io_16M_1024 - sadc kmem_cache named unix:0:kmem_io_16M_2048 - sadc kmem_cache named unix:0:kmem_io_16M_4096 - sadc kmem_cache named unix:0:id32_cache - sadc kmem_cache named unix:0:bp_map_4096 - sadc kmem_cache named unix:0:bp_map_8192 - sadc kmem_cache named unix:0:bp_map_12288 - sadc kmem_cache named unix:0:bp_map_16384 - sadc kmem_cache named unix:0:bp_map_20480 - sadc kmem_cache named unix:0:bp_map_24576 - sadc kmem_cache named unix:0:bp_map_28672 - sadc kmem_cache named unix:0:bp_map_32768 - sadc kmem_cache named unix:0:mod_hash_entries - sadc kmem_cache named unix:0:ipp_mod - sadc kmem_cache named unix:0:ipp_action - sadc kmem_cache named unix:0:ipp_packet - sadc kmem_cache named unix:0:htable_t - sadc kmem_cache named unix:0:hment_t - sadc kmem_cache named unix:0:hat_t - sadc kmem_cache named unix:0:HatHash - sadc kmem_cache named unix:0:seg_cache - sadc kmem_cache named unix:0:snode_cache - sadc kmem_cache named unix:0:dv_node_cache - sadc kmem_cache named unix:0:dev_info_node_cache - sadc kmem_cache named unix:0:segkp_4096 - sadc kmem_cache named unix:0:segkp_8192 - sadc kmem_cache named unix:0:segkp_12288 - sadc kmem_cache named unix:0:segkp_16384 - sadc kmem_cache named unix:0:segkp_20480 - sadc kmem_cache named unix:0:thread_cache - sadc kmem_cache named unix:0:lwp_cache - sadc kmem_cache named unix:0:turnstile_cache - sadc kmem_cache named unix:0:cred_cache - sadc kmem_cache named unix:0:rctl_cache - sadc kmem_cache named unix:0:rctl_val_cache - sadc kmem_cache named unix:0:task_cache - sadc kmem_cache named unix:0:cyclic_id_cache - sadc kmem_cache named unix:0:dnlc_space_cache - sadc kmem_cache named unix:0:vn_cache - sadc kmem_cache named unix:0:file_cache - sadc kmem_cache named unix:0:stream_head_cache - sadc kmem_cache named unix:0:queue_cache - sadc kmem_cache named unix:0:syncq_cache - sadc kmem_cache named unix:0:qband_cache - sadc kmem_cache named unix:0:linkinfo_cache - sadc kmem_cache named unix:0:ciputctrl_cache - sadc kmem_cache named unix:0:serializer_cache - sadc kmem_cache named unix:0:as_cache - sadc kmem_cache named unix:0:marker_cache - sadc kmem_cache named unix:0:anon_cache - sadc kmem_cache named unix:0:anonmap_cache - sadc kmem_cache named unix:0:segvn_cache - sadc kmem_cache named unix:0:flk_edges - sadc kmem_cache named unix:0:fdb_cache - sadc kmem_cache named unix:0:timer_cache - sadc kmem_cache named unix:0:physio_buf_cache - sadc kmem_cache named unix:0:ufs_inode_cache - sadc kmem_cache named unix:0:directio_buf_cache - sadc kmem_cache named unix:0:lufs_save - sadc kmem_cache named unix:0:lufs_bufs - sadc kmem_cache named unix:0:lufs_mapentry_cache - sadc kmem_cache named unix:0:kcf_sreq_cache - sadc kmem_cache named unix:0:kcf_areq_cache - sadc kmem_cache named unix:0:kcf_context_cache - sadc kmem_cache named unix:0:ipsec_actions - sadc kmem_cache named unix:0:ipsec_selectors - sadc kmem_cache named unix:0:ipsec_policy - sadc kmem_cache named unix:0:ipsec_info - sadc kmem_cache named unix:0:ip_minor_arena_1 - sadc kmem_cache named unix:0:ipcl_conn_cache - sadc kmem_cache named unix:0:ipcl_tcpconn_cache - sadc kmem_cache named unix:0:ire_cache - sadc kmem_cache named unix:0:tcp_timercache - sadc kmem_cache named unix:0:tcp_sack_info_cache - sadc kmem_cache named unix:0:tcp_iphc_cache - sadc kmem_cache named unix:0:squeue_cache - sadc kmem_cache named unix:0:sctp_conn_cache - sadc kmem_cache named unix:0:sctp_faddr_cache - sadc kmem_cache named unix:0:sctp_set_cache - sadc kmem_cache named unix:0:sctp_ftsn_set_cache - sadc kmem_cache named unix:0:sctpsock - sadc kmem_cache named unix:0:sctp_assoc - sadc kmem_cache named unix:0:socktpi_cache - sadc kmem_cache named unix:0:socktpi_unix_cache - sadc kmem_cache named unix:0:ncafs_cache - sadc kmem_cache named unix:0:process_cache - sadc kmem_cache named unix:0:exacct_object_cache - sadc kmem_cache named unix:0:fctl_cache - sadc kmem_cache named unix:0:tl_cache - sadc kmem_cache named unix:0:keysock_1 - sadc kmem_cache named unix:0:spdsock_1 - sadc kmem_cache named unix:0:fnode_cache - sadc kmem_cache named unix:0:pipe_cache - sadc kmem_cache named unix:0:namefs_inodes_1 - sadc kmem_cache named unix:0:port_cache - sadc kmem_cache named unix:0:lnode_cache - sadc kmem_cache named unix:0:clnt_clts_endpnt_cache - sadc kmem_cache named unix:0:pty_map - sadc kmem_cache named unix:0:sppptun_map - sadc kmem_cache named unix:0:dtrace_state_cache - sadc kmem_cache named unix:0:qif_head_cache - sadc kmem_cache named unix:0:udp_minor_1 - sadc kmem_cache named unix:0:authkern_cache - sadc kmem_cache named unix:0:authloopback_cache - sadc kmem_cache named unix:0:authdes_cache_handle - sadc kmem_cache named unix:0:rnode_cache - sadc kmem_cache named unix:0:nfs_access_cache - sadc kmem_cache named unix:0:client_handle_cache - sadc kmem_cache named unix:0:rnode4_cache - sadc kmem_cache named unix:0:svnode_cache - sadc kmem_cache named unix:0:nfs4_access_cache - sadc kmem_cache named unix:0:client_handle4_cache - sadc kmem_cache named unix:0:nfs4_ace4vals_cache - sadc kmem_cache named unix:0:nfs4_ace4_list_cache - sadc kmem_cache named unix:0:NFS_idmap_cache - sadc kmem_cache named unix:0:lm_vnode - sadc kmem_cache named unix:0:lm_xprt - sadc kmem_cache named unix:0:lm_sysid - sadc kmem_cache named unix:0:lm_client - sadc kmem_cache named unix:0:lm_async - sadc kmem_cache named unix:0:lm_sleep - sadc kmem_cache named unix:0:lm_config - sadc kmem_cache named unix:0:nfslog_small_rec - sadc kmem_cache named unix:0:nfslog_medium_rec - sadc kmem_cache named unix:0:nfslog_large_rec - sadc kmem_cache named unix:0:exi_cache_handle - sadc kmem_cache named unix:0:Client_entry_cache - sadc kmem_cache named unix:0:OpenOwner_entry_cache - sadc kmem_cache named unix:0:OpenStateID_entry_cache - sadc kmem_cache named unix:0:LockStateID_entry_cache - sadc kmem_cache named unix:0:Lockowner_entry_cache - sadc kmem_cache named unix:0:File_entry_cache - sadc kmem_cache named unix:0:DelegStateID_entry_cache - sadc kmem_cache named unix:0:ip_minor_1 - sadc kmem_cache named unix:0:ar_minor_1 - sadc kmem_cache named unix:0:icmp_minor_1 - sadc kmem_cache named unix:0:crypto_session_cache - sadc kmem_cache named unix:0:fcsm_job_cache - sadc kmem_cache named unix:0:sd0_cache - sadc kmem_cache named unix:0:hsfs_hsnode_cache - sadc vmem named vmem:16:kmem_oversize - sadc disk io cmdk:0:cmdk0 - sadc nfs io nfs:1:nfs1 - sadc disk io sd:0:sd0 - sadc usb_byte_count io usba:0:uhci0,bulk - sadc usb_byte_count io usba:0:uhci0,ctrl - sadc usb_byte_count io usba:0:uhci0,intr - sadc usb_byte_count io usba:0:uhci0,isoch - sadc usb_byte_count io usba:0:uhci0,total - sadc usb_byte_count io usba:1:uhci1,bulk - sadc usb_byte_count io usba:1:uhci1,ctrl - sadc usb_byte_count io usba:1:uhci1,intr - sadc usb_byte_count io usba:1:uhci1,isoch - sadc usb_byte_count io usba:1:uhci1,total - sadc misc named unix:0:system_misc - sadc kmem_cache named unix:0:file_cache - sadc vmem named vmem:16:kmem_oversize - sadc ufs named ufs:0:inode_cache - sadc misc raw unix:0:var - sadc kmem_cache named unix:0:kmem_magazine_1 - sadc kmem_cache named unix:0:kmem_magazine_3 - sadc kmem_cache named unix:0:kmem_magazine_7 - sadc kmem_cache named unix:0:kmem_magazine_15 - sadc kmem_cache named unix:0:kmem_magazine_31 - sadc kmem_cache named unix:0:kmem_magazine_47 - sadc kmem_cache named unix:0:kmem_magazine_63 - sadc kmem_cache named unix:0:kmem_magazine_95 - sadc kmem_cache named unix:0:kmem_magazine_143 - sadc kmem_cache named unix:0:kmem_slab_cache - sadc kmem_cache named unix:0:kmem_bufctl_cache - sadc kmem_cache named unix:0:kmem_bufctl_audit_cache - sadc kmem_cache named unix:0:kmem_va_4096 - sadc kmem_cache named unix:0:kmem_va_8192 - sadc kmem_cache named unix:0:kmem_va_12288 - sadc kmem_cache named unix:0:kmem_va_16384 - sadc kmem_cache named unix:0:kmem_va_20480 - sadc kmem_cache named unix:0:kmem_va_24576 - sadc kmem_cache named unix:0:kmem_va_28672 - sadc kmem_cache named unix:0:kmem_va_32768 - sadc kmem_cache named unix:0:kmem_alloc_8 - sadc kmem_cache named unix:0:kmem_alloc_16 - sadc kmem_cache named unix:0:kmem_alloc_24 - sadc kmem_cache named unix:0:kmem_alloc_32 - sadc kmem_cache named unix:0:kmem_alloc_40 - sadc kmem_cache named unix:0:kmem_alloc_48 - sadc kmem_cache named unix:0:kmem_alloc_56 - sadc kmem_cache named unix:0:kmem_alloc_64 - sadc kmem_cache named unix:0:kmem_alloc_80 - sadc kmem_cache named unix:0:kmem_alloc_96 - sadc kmem_cache named unix:0:kmem_alloc_112 - sadc kmem_cache named unix:0:kmem_alloc_128 - sadc kmem_cache named unix:0:kmem_alloc_160 - sadc kmem_cache named unix:0:kmem_alloc_192 - sadc kmem_cache named unix:0:kmem_alloc_224 - sadc kmem_cache named unix:0:kmem_alloc_256 - sadc kmem_cache named unix:0:kmem_alloc_320 - sadc kmem_cache named unix:0:kmem_alloc_384 - sadc kmem_cache named unix:0:kmem_alloc_448 - sadc kmem_cache named unix:0:kmem_alloc_512 - sadc kmem_cache named unix:0:kmem_alloc_640 - sadc kmem_cache named unix:0:kmem_alloc_768 - sadc kmem_cache named unix:0:kmem_alloc_896 - sadc kmem_cache named unix:0:kmem_alloc_1152 - sadc kmem_cache named unix:0:kmem_alloc_1344 - sadc kmem_cache named unix:0:kmem_alloc_1600 - sadc kmem_cache named unix:0:kmem_alloc_2048 - sadc kmem_cache named unix:0:kmem_alloc_2688 - sadc kmem_cache named unix:0:kmem_alloc_4096 - sadc kmem_cache named unix:0:kmem_alloc_8192 - sadc kmem_cache named unix:0:kmem_alloc_12288 - sadc kmem_cache named unix:0:kmem_alloc_16384 - sadc kmem_cache named unix:0:streams_mblk - sadc kmem_cache named unix:0:streams_dblk_64 - sadc kmem_cache named unix:0:streams_dblk_128 - sadc kmem_cache named unix:0:streams_dblk_320 - sadc kmem_cache named unix:0:streams_dblk_576 - sadc kmem_cache named unix:0:streams_dblk_1088 - sadc kmem_cache named unix:0:streams_dblk_1536 - sadc kmem_cache named unix:0:streams_dblk_1984 - sadc kmem_cache named unix:0:streams_dblk_2624 - sadc kmem_cache named unix:0:streams_dblk_3968 - sadc kmem_cache named unix:0:streams_dblk_8192 - sadc kmem_cache named unix:0:streams_dblk_12160 - sadc kmem_cache named unix:0:streams_dblk_16384 - sadc kmem_cache named unix:0:streams_dblk_20352 - sadc kmem_cache named unix:0:streams_dblk_24576 - sadc kmem_cache named unix:0:streams_dblk_28544 - sadc kmem_cache named unix:0:streams_dblk_32768 - sadc kmem_cache named unix:0:streams_dblk_36736 - sadc kmem_cache named unix:0:streams_dblk_40960 - sadc kmem_cache named unix:0:streams_dblk_44928 - sadc kmem_cache named unix:0:streams_dblk_49152 - sadc kmem_cache named unix:0:streams_dblk_53120 - sadc kmem_cache named unix:0:streams_dblk_57344 - sadc kmem_cache named unix:0:streams_dblk_61312 - sadc kmem_cache named unix:0:streams_dblk_65536 - sadc kmem_cache named unix:0:streams_dblk_69504 - sadc kmem_cache named unix:0:streams_dblk_73728 - sadc kmem_cache named unix:0:streams_dblk_esb - sadc kmem_cache named unix:0:streams_fthdr - sadc kmem_cache named unix:0:streams_ftblk - sadc kmem_cache named unix:0:multidata - sadc kmem_cache named unix:0:multidata_pdslab - sadc kmem_cache named unix:0:multidata_pattbl - sadc kmem_cache named unix:0:taskq_ent_cache - sadc kmem_cache named unix:0:taskq_cache - sadc kmem_cache named unix:0:kmem_io_512M_128 - sadc kmem_cache named unix:0:kmem_io_512M_256 - sadc kmem_cache named unix:0:kmem_io_512M_512 - sadc kmem_cache named unix:0:kmem_io_512M_1024 - sadc kmem_cache named unix:0:kmem_io_512M_2048 - sadc kmem_cache named unix:0:kmem_io_512M_4096 - sadc kmem_cache named unix:0:kmem_io_16M_128 - sadc kmem_cache named unix:0:kmem_io_16M_256 - sadc kmem_cache named unix:0:kmem_io_16M_512 - sadc kmem_cache named unix:0:kmem_io_16M_1024 - sadc kmem_cache named unix:0:kmem_io_16M_2048 - sadc kmem_cache named unix:0:kmem_io_16M_4096 - sadc kmem_cache named unix:0:id32_cache - sadc kmem_cache named unix:0:bp_map_4096 - sadc kmem_cache named unix:0:bp_map_8192 - sadc kmem_cache named unix:0:bp_map_12288 - sadc kmem_cache named unix:0:bp_map_16384 - sadc kmem_cache named unix:0:bp_map_20480 - sadc kmem_cache named unix:0:bp_map_24576 - sadc kmem_cache named unix:0:bp_map_28672 - sadc kmem_cache named unix:0:bp_map_32768 - sadc kmem_cache named unix:0:mod_hash_entries - sadc kmem_cache named unix:0:ipp_mod - sadc kmem_cache named unix:0:ipp_action - sadc kmem_cache named unix:0:ipp_packet - sadc kmem_cache named unix:0:htable_t - sadc kmem_cache named unix:0:hment_t - sadc kmem_cache named unix:0:hat_t - sadc kmem_cache named unix:0:HatHash - sadc kmem_cache named unix:0:seg_cache - sadc kmem_cache named unix:0:snode_cache - sadc kmem_cache named unix:0:dv_node_cache - sadc kmem_cache named unix:0:dev_info_node_cache - sadc kmem_cache named unix:0:segkp_4096 - sadc kmem_cache named unix:0:segkp_8192 - sadc kmem_cache named unix:0:segkp_12288 - sadc kmem_cache named unix:0:segkp_16384 - sadc kmem_cache named unix:0:segkp_20480 - sadc kmem_cache named unix:0:thread_cache - sadc kmem_cache named unix:0:lwp_cache - sadc kmem_cache named unix:0:turnstile_cache - sadc kmem_cache named unix:0:cred_cache - sadc kmem_cache named unix:0:rctl_cache - sadc kmem_cache named unix:0:rctl_val_cache - sadc kmem_cache named unix:0:task_cache - sadc kmem_cache named unix:0:cyclic_id_cache - sadc kmem_cache named unix:0:dnlc_space_cache - sadc kmem_cache named unix:0:vn_cache - sadc kmem_cache named unix:0:file_cache - sadc kmem_cache named unix:0:stream_head_cache - sadc kmem_cache named unix:0:queue_cache - sadc kmem_cache named unix:0:syncq_cache - sadc kmem_cache named unix:0:qband_cache - sadc kmem_cache named unix:0:linkinfo_cache - sadc kmem_cache named unix:0:ciputctrl_cache - sadc kmem_cache named unix:0:serializer_cache - sadc kmem_cache named unix:0:as_cache - sadc kmem_cache named unix:0:marker_cache - sadc kmem_cache named unix:0:anon_cache - sadc kmem_cache named unix:0:anonmap_cache - sadc kmem_cache named unix:0:segvn_cache - sadc kmem_cache named unix:0:flk_edges - sadc kmem_cache named unix:0:fdb_cache - sadc kmem_cache named unix:0:timer_cache - sadc kmem_cache named unix:0:physio_buf_cache - sadc kmem_cache named unix:0:ufs_inode_cache - sadc kmem_cache named unix:0:directio_buf_cache - sadc kmem_cache named unix:0:lufs_save - sadc kmem_cache named unix:0:lufs_bufs - sadc kmem_cache named unix:0:lufs_mapentry_cache - sadc misc raw cpu_stat:0:cpu_stat0 - sadc kmem_cache named unix:0:kcf_sreq_cache - sadc kmem_cache named unix:0:kcf_areq_cache - sadc kmem_cache named unix:0:kcf_context_cache - sadc kmem_cache named unix:0:ipsec_actions - sadc kmem_cache named unix:0:ipsec_selectors - sadc kmem_cache named unix:0:ipsec_policy - sadc kmem_cache named unix:0:ipsec_info - sadc kmem_cache named unix:0:ip_minor_arena_1 - sadc kmem_cache named unix:0:ipcl_conn_cache - sadc kmem_cache named unix:0:ipcl_tcpconn_cache - sadc kmem_cache named unix:0:ire_cache - sadc kmem_cache named unix:0:tcp_timercache - sadc kmem_cache named unix:0:tcp_sack_info_cache - sadc kmem_cache named unix:0:tcp_iphc_cache - sadc kmem_cache named unix:0:squeue_cache - sadc kmem_cache named unix:0:sctp_conn_cache - sadc kmem_cache named unix:0:sctp_faddr_cache - sadc kmem_cache named unix:0:sctp_set_cache - sadc kmem_cache named unix:0:sctp_ftsn_set_cache - sadc kmem_cache named unix:0:sctpsock - sadc kmem_cache named unix:0:sctp_assoc - sadc kmem_cache named unix:0:socktpi_cache - sadc kmem_cache named unix:0:socktpi_unix_cache - sadc kmem_cache named unix:0:ncafs_cache - sadc kmem_cache named unix:0:process_cache - sadc kmem_cache named unix:0:exacct_object_cache - sadc kmem_cache named unix:0:fctl_cache - sadc kmem_cache named unix:0:tl_cache - sadc kmem_cache named unix:0:keysock_1 - sadc kmem_cache named unix:0:spdsock_1 - sadc kmem_cache named unix:0:fnode_cache - sadc kmem_cache named unix:0:pipe_cache - sadc kmem_cache named unix:0:namefs_inodes_1 - sadc kmem_cache named unix:0:port_cache - sadc kmem_cache named unix:0:lnode_cache - sadc kmem_cache named unix:0:clnt_clts_endpnt_cache - sadc kmem_cache named unix:0:pty_map - sadc kmem_cache named unix:0:sppptun_map - sadc kmem_cache named unix:0:dtrace_state_cache - sadc kmem_cache named unix:0:qif_head_cache - sadc kmem_cache named unix:0:udp_minor_1 - sadc kmem_cache named unix:0:authkern_cache - sadc kmem_cache named unix:0:authloopback_cache - sadc kmem_cache named unix:0:authdes_cache_handle - sadc kmem_cache named unix:0:rnode_cache - sadc kmem_cache named unix:0:nfs_access_cache - sadc kmem_cache named unix:0:client_handle_cache - sadc kmem_cache named unix:0:rnode4_cache - sadc kmem_cache named unix:0:svnode_cache - sadc kmem_cache named unix:0:nfs4_access_cache - sadc kmem_cache named unix:0:client_handle4_cache - sadc kmem_cache named unix:0:nfs4_ace4vals_cache - sadc kmem_cache named unix:0:nfs4_ace4_list_cache - sadc kmem_cache named unix:0:NFS_idmap_cache - sadc kmem_cache named unix:0:lm_vnode - sadc kmem_cache named unix:0:lm_xprt - sadc kmem_cache named unix:0:lm_sysid - sadc kmem_cache named unix:0:lm_client - sadc kmem_cache named unix:0:lm_async - sadc kmem_cache named unix:0:lm_sleep - sadc kmem_cache named unix:0:lm_config - sadc kmem_cache named unix:0:nfslog_small_rec - sadc kmem_cache named unix:0:nfslog_medium_rec - sadc kmem_cache named unix:0:nfslog_large_rec - sadc kmem_cache named unix:0:exi_cache_handle - sadc kmem_cache named unix:0:Client_entry_cache - sadc kmem_cache named unix:0:OpenOwner_entry_cache - sadc kmem_cache named unix:0:OpenStateID_entry_cache - sadc kmem_cache named unix:0:LockStateID_entry_cache - sadc kmem_cache named unix:0:Lockowner_entry_cache - sadc kmem_cache named unix:0:File_entry_cache - sadc kmem_cache named unix:0:DelegStateID_entry_cache - sadc kmem_cache named unix:0:ip_minor_1 - sadc kmem_cache named unix:0:ar_minor_1 - sadc kmem_cache named unix:0:icmp_minor_1 - sadc kmem_cache named unix:0:crypto_session_cache - sadc kmem_cache named unix:0:fcsm_job_cache - sadc kmem_cache named unix:0:sd0_cache - sadc kmem_cache named unix:0:hsfs_hsnode_cache - sadc kmem_cache named unix:0:kmem_magazine_1 - sadc misc raw unix:0:sysinfo - sadc vm raw unix:0:vminfo - sadc misc named unix:0:system_misc - sadc kmem_cache named unix:0:file_cache - sadc ufs named ufs:0:inode_cache - sadc misc raw cpu_stat:0:cpu_stat0 - sadc kmem_cache named unix:0:kmem_magazine_1 - sadc kmem_cache named unix:0:kmem_magazine_3 - sadc kmem_cache named unix:0:kmem_magazine_7 - sadc kmem_cache named unix:0:kmem_magazine_15 - sadc kmem_cache named unix:0:kmem_magazine_31 - sadc kmem_cache named unix:0:kmem_magazine_47 - sadc kmem_cache named unix:0:kmem_magazine_63 - sadc kmem_cache named unix:0:kmem_magazine_95 - sadc kmem_cache named unix:0:kmem_magazine_143 - sadc kmem_cache named unix:0:kmem_slab_cache - sadc kmem_cache named unix:0:kmem_bufctl_cache - sadc kmem_cache named unix:0:kmem_bufctl_audit_cache - sadc kmem_cache named unix:0:kmem_va_4096 - sadc kmem_cache named unix:0:kmem_va_8192 - sadc kmem_cache named unix:0:kmem_va_12288 - sadc kmem_cache named unix:0:kmem_va_16384 - sadc kmem_cache named unix:0:kmem_va_20480 - sadc kmem_cache named unix:0:kmem_va_24576 - sadc kmem_cache named unix:0:kmem_va_28672 - sadc kmem_cache named unix:0:kmem_va_32768 - sadc kmem_cache named unix:0:kmem_alloc_8 - sadc kmem_cache named unix:0:kmem_alloc_16 - sadc kmem_cache named unix:0:kmem_alloc_24 - sadc kmem_cache named unix:0:kmem_alloc_32 - sadc kmem_cache named unix:0:kmem_alloc_40 - sadc kmem_cache named unix:0:kmem_alloc_48 - sadc kmem_cache named unix:0:kmem_alloc_56 - sadc kmem_cache named unix:0:kmem_alloc_64 - sadc kmem_cache named unix:0:kmem_alloc_80 - sadc kmem_cache named unix:0:kmem_alloc_96 - sadc kmem_cache named unix:0:kmem_alloc_112 - sadc kmem_cache named unix:0:kmem_alloc_128 - sadc kmem_cache named unix:0:kmem_alloc_160 - sadc kmem_cache named unix:0:kmem_alloc_192 - sadc kmem_cache named unix:0:kmem_alloc_224 - sadc kmem_cache named unix:0:kmem_alloc_256 - sadc kmem_cache named unix:0:kmem_alloc_320 - sadc kmem_cache named unix:0:kmem_alloc_384 - sadc kmem_cache named unix:0:kmem_alloc_448 - sadc kmem_cache named unix:0:kmem_alloc_512 - sadc kmem_cache named unix:0:kmem_alloc_640 - sadc kmem_cache named unix:0:kmem_alloc_768 - sadc kmem_cache named unix:0:kmem_alloc_896 - sadc kmem_cache named unix:0:kmem_alloc_1152 - sadc kmem_cache named unix:0:kmem_alloc_1344 - sadc kmem_cache named unix:0:kmem_alloc_1600 - sadc kmem_cache named unix:0:kmem_alloc_2048 - sadc kmem_cache named unix:0:kmem_alloc_2688 - sadc kmem_cache named unix:0:kmem_alloc_4096 - sadc kmem_cache named unix:0:kmem_alloc_8192 - sadc kmem_cache named unix:0:kmem_alloc_12288 - sadc kmem_cache named unix:0:kmem_alloc_16384 - sadc kmem_cache named unix:0:streams_mblk - sadc kmem_cache named unix:0:streams_dblk_64 - sadc kmem_cache named unix:0:streams_dblk_128 - sadc kmem_cache named unix:0:streams_dblk_320 - sadc kmem_cache named unix:0:streams_dblk_576 - sadc kmem_cache named unix:0:streams_dblk_1088 - sadc kmem_cache named unix:0:streams_dblk_1536 - sadc kmem_cache named unix:0:streams_dblk_1984 - sadc kmem_cache named unix:0:streams_dblk_2624 - sadc kmem_cache named unix:0:streams_dblk_3968 - sadc kmem_cache named unix:0:streams_dblk_8192 - sadc kmem_cache named unix:0:streams_dblk_12160 - sadc kmem_cache named unix:0:streams_dblk_16384 - sadc kmem_cache named unix:0:streams_dblk_20352 - sadc kmem_cache named unix:0:streams_dblk_24576 - sadc kmem_cache named unix:0:streams_dblk_28544 - sadc kmem_cache named unix:0:streams_dblk_32768 - sadc kmem_cache named unix:0:streams_dblk_36736 - sadc kmem_cache named unix:0:streams_dblk_40960 - sadc kmem_cache named unix:0:streams_dblk_44928 - sadc kmem_cache named unix:0:streams_dblk_49152 - sadc kmem_cache named unix:0:streams_dblk_53120 - sadc kmem_cache named unix:0:streams_dblk_57344 - sadc kmem_cache named unix:0:streams_dblk_61312 - sadc kmem_cache named unix:0:streams_dblk_65536 - sadc kmem_cache named unix:0:streams_dblk_69504 - sadc kmem_cache named unix:0:streams_dblk_73728 - sadc kmem_cache named unix:0:streams_dblk_esb - sadc kmem_cache named unix:0:streams_fthdr - sadc kmem_cache named unix:0:streams_ftblk - sadc kmem_cache named unix:0:multidata - sadc kmem_cache named unix:0:multidata_pdslab - sadc kmem_cache named unix:0:multidata_pattbl - sadc kmem_cache named unix:0:taskq_ent_cache - sadc kmem_cache named unix:0:taskq_cache - sadc kmem_cache named unix:0:kmem_io_512M_128 - sadc kmem_cache named unix:0:kmem_io_512M_256 - sadc kmem_cache named unix:0:kmem_io_512M_512 - sadc kmem_cache named unix:0:kmem_io_512M_1024 - sadc kmem_cache named unix:0:kmem_io_512M_2048 - sadc kmem_cache named unix:0:kmem_io_512M_4096 - sadc kmem_cache named unix:0:kmem_io_16M_128 - sadc kmem_cache named unix:0:kmem_io_16M_256 - sadc kmem_cache named unix:0:kmem_io_16M_512 - sadc kmem_cache named unix:0:kmem_io_16M_1024 - sadc kmem_cache named unix:0:kmem_io_16M_2048 - sadc kmem_cache named unix:0:kmem_io_16M_4096 - sadc kmem_cache named unix:0:id32_cache - sadc kmem_cache named unix:0:bp_map_4096 - sadc kmem_cache named unix:0:bp_map_8192 - sadc kmem_cache named unix:0:bp_map_12288 - sadc kmem_cache named unix:0:bp_map_16384 - sadc kmem_cache named unix:0:bp_map_20480 - sadc kmem_cache named unix:0:bp_map_24576 - sadc kmem_cache named unix:0:bp_map_28672 - sadc kmem_cache named unix:0:bp_map_32768 - sadc kmem_cache named unix:0:mod_hash_entries - sadc kmem_cache named unix:0:ipp_mod - sadc kmem_cache named unix:0:ipp_action - sadc kmem_cache named unix:0:ipp_packet - sadc kmem_cache named unix:0:htable_t - sadc kmem_cache named unix:0:hment_t - sadc kmem_cache named unix:0:hat_t - sadc kmem_cache named unix:0:HatHash - sadc kmem_cache named unix:0:seg_cache - sadc kmem_cache named unix:0:snode_cache - sadc kmem_cache named unix:0:dv_node_cache - sadc kmem_cache named unix:0:dev_info_node_cache - sadc kmem_cache named unix:0:segkp_4096 - sadc kmem_cache named unix:0:segkp_8192 - sadc kmem_cache named unix:0:segkp_12288 - sadc kmem_cache named unix:0:segkp_16384 - sadc kmem_cache named unix:0:segkp_20480 - sadc kmem_cache named unix:0:thread_cache - sadc kmem_cache named unix:0:lwp_cache - sadc kmem_cache named unix:0:turnstile_cache - sadc kmem_cache named unix:0:cred_cache - sadc kmem_cache named unix:0:rctl_cache - sadc kmem_cache named unix:0:rctl_val_cache - sadc kmem_cache named unix:0:task_cache - sadc kmem_cache named unix:0:cyclic_id_cache - sadc kmem_cache named unix:0:dnlc_space_cache - sadc kmem_cache named unix:0:vn_cache - sadc kmem_cache named unix:0:file_cache - sadc kmem_cache named unix:0:stream_head_cache - sadc kmem_cache named unix:0:queue_cache - sadc kmem_cache named unix:0:syncq_cache - sadc kmem_cache named unix:0:qband_cache - sadc kmem_cache named unix:0:linkinfo_cache - sadc kmem_cache named unix:0:ciputctrl_cache - sadc kmem_cache named unix:0:serializer_cache - sadc kmem_cache named unix:0:as_cache - sadc kmem_cache named unix:0:marker_cache - sadc kmem_cache named unix:0:anon_cache - sadc kmem_cache named unix:0:anonmap_cache - sadc kmem_cache named unix:0:segvn_cache - sadc kmem_cache named unix:0:flk_edges - sadc kmem_cache named unix:0:fdb_cache - sadc kmem_cache named unix:0:timer_cache - sadc kmem_cache named unix:0:physio_buf_cache - sadc kmem_cache named unix:0:ufs_inode_cache - sadc kmem_cache named unix:0:directio_buf_cache - sadc kmem_cache named unix:0:lufs_save - sadc kmem_cache named unix:0:lufs_bufs - sadc kmem_cache named unix:0:lufs_mapentry_cache - sadc kmem_cache named unix:0:kcf_sreq_cache - sadc kmem_cache named unix:0:kcf_areq_cache - sadc kmem_cache named unix:0:kcf_context_cache - sadc kmem_cache named unix:0:ipsec_actions - sadc kmem_cache named unix:0:ipsec_selectors - sadc kmem_cache named unix:0:ipsec_policy - sadc kmem_cache named unix:0:ipsec_info - sadc kmem_cache named unix:0:ip_minor_arena_1 - sadc kmem_cache named unix:0:ipcl_conn_cache - sadc kmem_cache named unix:0:ipcl_tcpconn_cache - sadc kmem_cache named unix:0:ire_cache - sadc kmem_cache named unix:0:tcp_timercache - sadc kmem_cache named unix:0:tcp_sack_info_cache - sadc kmem_cache named unix:0:tcp_iphc_cache - sadc kmem_cache named unix:0:squeue_cache - sadc kmem_cache named unix:0:sctp_conn_cache - sadc kmem_cache named unix:0:sctp_faddr_cache - sadc kmem_cache named unix:0:sctp_set_cache - sadc kmem_cache named unix:0:sctp_ftsn_set_cache - sadc kmem_cache named unix:0:sctpsock - sadc kmem_cache named unix:0:sctp_assoc - sadc kmem_cache named unix:0:socktpi_cache - sadc kmem_cache named unix:0:socktpi_unix_cache - sadc kmem_cache named unix:0:ncafs_cache - sadc kmem_cache named unix:0:process_cache - sadc kmem_cache named unix:0:exacct_object_cache - sadc kmem_cache named unix:0:fctl_cache - sadc kmem_cache named unix:0:tl_cache - sadc kmem_cache named unix:0:keysock_1 - sadc kmem_cache named unix:0:spdsock_1 - sadc kmem_cache named unix:0:fnode_cache - sadc kmem_cache named unix:0:pipe_cache - sadc kmem_cache named unix:0:namefs_inodes_1 - sadc kmem_cache named unix:0:port_cache - sadc kmem_cache named unix:0:lnode_cache - sadc kmem_cache named unix:0:clnt_clts_endpnt_cache - sadc kmem_cache named unix:0:pty_map - sadc kmem_cache named unix:0:sppptun_map - sadc kmem_cache named unix:0:dtrace_state_cache - sadc kmem_cache named unix:0:qif_head_cache - sadc kmem_cache named unix:0:udp_minor_1 - sadc kmem_cache named unix:0:authkern_cache - sadc kmem_cache named unix:0:authloopback_cache - sadc kmem_cache named unix:0:authdes_cache_handle - sadc kmem_cache named unix:0:rnode_cache - sadc kmem_cache named unix:0:nfs_access_cache - sadc kmem_cache named unix:0:client_handle_cache - sadc kmem_cache named unix:0:rnode4_cache - sadc kmem_cache named unix:0:svnode_cache - sadc kmem_cache named unix:0:nfs4_access_cache - sadc kmem_cache named unix:0:client_handle4_cache - sadc kmem_cache named unix:0:nfs4_ace4vals_cache - sadc kmem_cache named unix:0:nfs4_ace4_list_cache - sadc kmem_cache named unix:0:NFS_idmap_cache - sadc kmem_cache named unix:0:lm_vnode - sadc kmem_cache named unix:0:lm_xprt - sadc kmem_cache named unix:0:lm_sysid - sadc kmem_cache named unix:0:lm_client - sadc kmem_cache named unix:0:lm_async - sadc kmem_cache named unix:0:lm_sleep - sadc kmem_cache named unix:0:lm_config - sadc kmem_cache named unix:0:nfslog_small_rec - sadc kmem_cache named unix:0:nfslog_medium_rec - sadc kmem_cache named unix:0:nfslog_large_rec - sadc kmem_cache named unix:0:exi_cache_handle - sadc kmem_cache named unix:0:Client_entry_cache - sadc kmem_cache named unix:0:OpenOwner_entry_cache - sadc kmem_cache named unix:0:OpenStateID_entry_cache - sadc kmem_cache named unix:0:LockStateID_entry_cache - sadc kmem_cache named unix:0:Lockowner_entry_cache - sadc kmem_cache named unix:0:File_entry_cache - sadc kmem_cache named unix:0:DelegStateID_entry_cache - sadc kmem_cache named unix:0:ip_minor_1 - sadc kmem_cache named unix:0:ar_minor_1 - sadc kmem_cache named unix:0:icmp_minor_1 - sadc kmem_cache named unix:0:crypto_session_cache - sadc kmem_cache named unix:0:fcsm_job_cache - sadc kmem_cache named unix:0:sd0_cache - sadc kmem_cache named unix:0:hsfs_hsnode_cache - sadc vmem named vmem:16:kmem_oversize - sadc disk io cmdk:0:cmdk0 - sadc nfs io nfs:1:nfs1 - sadc disk io sd:0:sd0 - sadc usb_byte_count io usba:0:uhci0,bulk - sadc usb_byte_count io usba:0:uhci0,ctrl - sadc usb_byte_count io usba:0:uhci0,intr - sadc usb_byte_count io usba:0:uhci0,isoch - sadc usb_byte_count io usba:0:uhci0,total - sadc usb_byte_count io usba:1:uhci1,bulk - sadc usb_byte_count io usba:1:uhci1,ctrl - sadc usb_byte_count io usba:1:uhci1,intr - sadc usb_byte_count io usba:1:uhci1,isoch - sadc usb_byte_count io usba:1:uhci1,total - -Yep, to print the four fields from "sar -u 1 1", sadc read the ENTIRE -KSTAT TREE FIVE TIMES. - -Comparing the effect of this to vmstat, - - # ptime vmstat 1 6 - kthr memory page disk faults cpu - r b w swap free re mf pi po fr de sr cd s0 -- -- in sy cs us sy id - 0 0 43 907784 115324 29 124 34 1 1 0 4 2 0 0 0 277 470 210 1 2 97 - 0 0 38 750856 172304 1 40 0 0 0 0 0 0 0 0 0 230 224 130 1 1 98 - 0 0 38 750856 172304 0 0 0 0 0 0 0 0 0 0 0 219 168 111 0 1 99 - 0 0 38 750856 172304 0 0 0 0 0 0 0 0 0 0 0 226 109 113 0 0 100 - 0 0 38 750856 172304 0 0 0 0 0 0 0 0 0 0 0 225 246 137 1 1 98 - 0 0 38 750856 172304 0 0 0 0 0 0 0 0 0 0 0 222 175 119 0 1 99 - - real 5.060 - user 0.006 - sys 0.013 - -Ok, so vmstat causes a total of 13 ms of sys time - much of which would -be the fork and exec. Now lets try sar, - - # ptime sar -u 1 5 - - SunOS jupiter 5.10 Generic i86pc 04/21/2006 - - 23:42:55 %usr %sys %wio %idle - 23:42:56 0 3 0 97 - 23:42:57 1 2 0 97 - 23:42:58 0 2 0 98 - 23:42:59 1 3 0 96 - 23:43:00 0 2 0 98 - - Average 0 2 0 97 - - real 5.148 - user 0.010 - sys 0.127 - -Phwaorr - 127 ms of sys time to measure 5 samples. That is a LOT. diff --git a/cddl/contrib/dtracetoolkit/Examples/lastwords_example.txt b/cddl/contrib/dtracetoolkit/Examples/lastwords_example.txt deleted file mode 100644 index 5452d2e36f25..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/lastwords_example.txt +++ /dev/null @@ -1,81 +0,0 @@ -The following is a demonstration of the lastwords command, - - -Here we run lastwords to catch syscalls from processes named "bash" as they -exit, - - # ./lastwords bash - Tracing... Waiting for bash to exit... - 1091567219163679 1861 bash sigaction 0 0 - 1091567219177487 1861 bash sigaction 0 0 - 1091567219189692 1861 bash sigaction 0 0 - 1091567219202085 1861 bash sigaction 0 0 - 1091567219214553 1861 bash sigaction 0 0 - 1091567219226690 1861 bash sigaction 0 0 - 1091567219238786 1861 bash sigaction 0 0 - 1091567219251697 1861 bash sigaction 0 0 - 1091567219265770 1861 bash sigaction 0 0 - 1091567219294110 1861 bash gtime 42a7c194 0 - 1091567219428305 1861 bash write 5 0 - 1091567219451138 1861 bash setcontext 0 0 - 1091567219473911 1861 bash sigaction 0 0 - 1091567219516487 1861 bash stat64 0 0 - 1091567219547973 1861 bash open64 4 0 - 1091567219638345 1861 bash write 5 0 - 1091567219658886 1861 bash close 0 0 - 1091567219689094 1861 bash open64 4 0 - 1091567219704301 1861 bash fstat64 0 0 - 1091567219731796 1861 bash read 2fe 0 - 1091567219745541 1861 bash close 0 0 - 1091567219768536 1861 bash lwp_sigmask ffbffeff 0 - 1091567219787494 1861 bash ioctl 0 0 - 1091567219801338 1861 bash setpgrp 6a3 0 - 1091567219814067 1861 bash ioctl 0 0 - 1091567219825791 1861 bash lwp_sigmask ffbffeff 0 - 1091567219847778 1861 bash setpgrp 0 0 - TIME PID EXEC SYSCALL RETURN ERR - -In another window, a bash shell was executed and then exited normally. The -last few system calls that the bash shell made can be seen above. - - - - -In the following example we moniter the exit of bash shells again, but this -time the bash shell sends itself a "kill -8", - - # ./lastwords bash - Tracing... Waiting for bash to exit... - 1091650185555391 1865 bash sigaction 0 0 - 1091650185567963 1865 bash sigaction 0 0 - 1091650185580316 1865 bash sigaction 0 0 - 1091650185592381 1865 bash sigaction 0 0 - 1091650185605046 1865 bash sigaction 0 0 - 1091650185618451 1865 bash sigaction 0 0 - 1091650185647663 1865 bash gtime 42a7c1e7 0 - 1091650185794626 1865 bash kill 0 0 - 1091650185836941 1865 bash lwp_sigmask ffbffeff 0 - 1091650185884145 1865 bash stat64 0 0 - 1091650185916135 1865 bash open64 4 0 - 1091650186005673 1865 bash write b 0 - 1091650186025782 1865 bash close 0 0 - 1091650186052002 1865 bash open64 4 0 - 1091650186067538 1865 bash fstat64 0 0 - 1091650186094289 1865 bash read 309 0 - 1091650186108086 1865 bash close 0 0 - 1091650186129965 1865 bash lwp_sigmask ffbffeff 0 - 1091650186149092 1865 bash ioctl 0 0 - 1091650186162614 1865 bash setpgrp 6a3 0 - 1091650186175457 1865 bash ioctl 0 0 - 1091650186187206 1865 bash lwp_sigmask ffbffeff 0 - 1091650186209514 1865 bash setpgrp 0 0 - 1091650186225307 1865 bash sigaction 0 0 - 1091650186238832 1865 bash getpid 749 0 - 1091650186260149 1865 bash kill 0 0 - 1091650186277925 1865 bash setcontext 0 0 - TIME PID EXEC SYSCALL RETURN ERR - -The last few system calls are different, we can see the kill system call -before bash exits. - - diff --git a/cddl/contrib/dtracetoolkit/Examples/loads_example.txt b/cddl/contrib/dtracetoolkit/Examples/loads_example.txt deleted file mode 100644 index f369f960ad8d..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/loads_example.txt +++ /dev/null @@ -1,19 +0,0 @@ -The following is a demonstration of the loads.d script. - - -Here we run both loads.d and the uptime command for comparison, - - # uptime - 1:30am up 14 day(s), 2:27, 3 users, load average: 3.52, 3.45, 3.05 - - # ./loads.d - 2005 Jun 11 01:30:49, load average: 3.52, 3.45, 3.05 - -Both have returned the same load average, confirming that loads.d is -behaving as expected. - - -The point of loads.d is to demonstrate fetching the same data as uptime -does, in the DTrace language. It is not intended as a replacement -or substitute to the uptime(1) command. - diff --git a/cddl/contrib/dtracetoolkit/Examples/lockbydist_example.txt b/cddl/contrib/dtracetoolkit/Examples/lockbydist_example.txt deleted file mode 100644 index 7310e5adde26..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/lockbydist_example.txt +++ /dev/null @@ -1,114 +0,0 @@ -The following is a demonstration of the lockbyproc.d script, - - # lockbydist.d - dtrace: description 'lockstat:::adaptive-block ' matched 1 probe - ^C - - metadata-manager - value ------------- Distribution ------------- count - 131072 | 0 - 262144 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 524288 | 0 - - sched - value ------------- Distribution ------------- count - 16384 | 0 - 32768 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 9 - 65536 | 0 - - oracle - value ------------- Distribution ------------- count - 16384 | 0 - 32768 |@@@@@@@@@@@@@@@@@@@ 9 - 65536 |@@@@@@@@@@@@@@@@@@@@@ 10 - 131072 | 0 - -In the above output, oracle can be seen to have blocked 10 times from -65 to 131 microseconds, and 9 times from 32 to 65 microseconds. sched, -the kernel, has blocked several times also. metadata-manager only -blocked once, which was at least 262 microseconds. - - - -The following is a longer sample, - - # lockbydist.d - dtrace: description 'lockstat:::adaptive-block ' matched 1 probe - ^C - - svc.startd - value ------------- Distribution ------------- count - 8192 | 0 - 16384 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32768 | 0 - - java - value ------------- Distribution ------------- count - 16384 | 0 - 32768 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 65536 | 0 - - oracle - value ------------- Distribution ------------- count - 16384 | 0 - 32768 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 4 - 65536 |@@@@@@@@@@@@@ 2 - 131072 | 0 - - mysql-test-run - value ------------- Distribution ------------- count - 65536 | 0 - 131072 |@@@@@@@@@@@@@@@@@@@@ 1 - 262144 |@@@@@@@@@@@@@@@@@@@@ 1 - 524288 | 0 - - pageout - value ------------- Distribution ------------- count - 16384 | 0 - 32768 |@@@@@@@@@@@@@ 1 - 65536 | 0 - 131072 | 0 - 262144 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 524288 | 0 - - mysqltest - value ------------- Distribution ------------- count - 16384 | 0 - 32768 |@@@@@@ 1 - 65536 |@@@@@@@@@@@ 2 - 131072 |@@@@@@@@@@@ 2 - 262144 |@@@@@@@@@@@ 2 - 524288 | 0 - - sched - value ------------- Distribution ------------- count - 8192 | 0 - 16384 |@@@@@@@@@@@ 11 - 32768 |@@@@@@@@@@@@@@@@@@@@@@@@@@ 25 - 65536 | 0 - 131072 |@ 1 - 262144 |@@ 2 - 524288 | 0 - - mysqld - value ------------- Distribution ------------- count - 16384 | 0 - 32768 |@@@@@@@@@@@@@@@@@@@@@ 22 - 65536 |@@@@@@@@@ 9 - 131072 | 0 - 262144 |@@@@ 4 - 524288 | 0 - 1048576 | 0 - 2097152 | 0 - 4194304 |@@ 2 - 8388608 |@@@@ 4 - 16777216 | 0 - -The length of time threads were blocked, and the number of such blocks -can be easily observed from the above output. - -mysqld can be seen to have many short blocks: 22 from 32 -> 65 microseconds, -and a few larger blocks: 4 from 8 -> 16 ms. - - - diff --git a/cddl/contrib/dtracetoolkit/Examples/lockbyproc_example.txt b/cddl/contrib/dtracetoolkit/Examples/lockbyproc_example.txt deleted file mode 100644 index 11092353fdf3..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/lockbyproc_example.txt +++ /dev/null @@ -1,42 +0,0 @@ -The following is a demonstration of the lockbyproc.d script, - - # lockbyproc.d - dtrace: description 'lockstat:::adaptive-block ' matched 1 probe - ^C - - pageout 49438 - mysql-test-run 96414 - oracle 149086 - sched 220601 - -The above output shows that threads belonging to sched, the kernel, spent -a total of 220 microseconds waiting for an adaptive mutex lock. - - - - -This example sampled for a longer interval, - - # lockbyproc.d - dtrace: description 'lockstat:::adaptive-block ' matched 1 probe - ^C - - init 136228 - java 371896 - oracle 783402 - sched 2315779 - mysqltest 9428277 - mysql-test-run 10093658 - mysqld 17412999 - fsflush 19676738 - -Here we can see threads belonging to fsflush have spent a total of 19.7 ms -waiting for an adaptive mutex. Note: it's not easy to say that it means a -19.7 ms delay in the completion of the fsflush program, as this value is -the sum of the block times across all the threads. So it is possible that -many threads were blocked at the same time, eg, it could have been 19 threads -blocked during the same 1 ms. - - - - diff --git a/cddl/contrib/dtracetoolkit/Examples/minfbypid_example.txt b/cddl/contrib/dtracetoolkit/Examples/minfbypid_example.txt deleted file mode 100644 index c2fffb4c6f26..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/minfbypid_example.txt +++ /dev/null @@ -1,20 +0,0 @@ -The following is a demonstration of the minfbypid.d script, - - -Here we run it for a few seconds then hit Ctrl-C, - - # minfbypid.d - Tracing... Hit Ctrl-C to end. - ^C - PID CMD MINFAULTS - 11021 dtrace 54 - 11023 ls 56 - 11024 df 57 - 11023 bash 75 - 11022 bash 75 - 11024 bash 76 - 11022 find 91 - -In the above output, we can see that each of the bash shells had about 75 -minor faults each. Minor faults are an indication of memory consumption. - diff --git a/cddl/contrib/dtracetoolkit/Examples/minfbyproc_example.txt b/cddl/contrib/dtracetoolkit/Examples/minfbyproc_example.txt deleted file mode 100644 index 0c1ce8401c82..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/minfbyproc_example.txt +++ /dev/null @@ -1,14 +0,0 @@ -The following is an example of the minfbyproc.d script, - - # minfbyproc.d - dtrace: description 'vminfo:::as_fault ' matched 1 probe - ^C - - mozilla-bin 18 - dtrace 57 - find 64 - bash 150 - tar 501 - -In the above output, tar processes caused 501 minor faults. - diff --git a/cddl/contrib/dtracetoolkit/Examples/mmapfiles_example.txt b/cddl/contrib/dtracetoolkit/Examples/mmapfiles_example.txt deleted file mode 100644 index eca437056040..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/mmapfiles_example.txt +++ /dev/null @@ -1,109 +0,0 @@ -The following is a demonstration of the mmapfiles.d script. - -Here we run mmapfiles.d while in another window a new bash shell is started. -The files that were mapped in aren't suprising, they are the common shared -librarios, - - # mmapfiles.d - Tracing... Hit Ctrl-C to end. - ^C - MMAPS CMD PATHNAME - 1 bash /lib/libdl.so.1 - 3 bash /lib/libsocket.so.1 - 3 bash /lib/libnsl.so.1 - 3 bash /lib/libc.so.1 - 3 bash /lib/libcurses.so.1 - - - -Now we examine zsh. This time a number of extra libraries are mapped, - - # mmapfiles.d - Tracing... Hit Ctrl-C to end. - ^C - MMAPS CMD PATHNAME - 1 zsh /lib/libdl.so.1 - 3 getent /lib/libc.so.1 - 3 getent /lib/libnsl.so.1 - 3 getent /lib/libsocket.so.1 - 3 zsh /usr/sfw/lib/zsh/4.2.1/zsh/parameter.so - 3 zsh /usr/sfw/lib/zsh/4.2.1/zsh/zutil.so - 3 zsh /usr/sfw/lib/zsh/4.2.1/zsh/complete.so - 3 zsh /usr/sfw/lib/zsh/4.2.1/zsh/stat.so - 3 zsh /usr/sfw/lib/zsh/4.2.1/zsh/zle.so - 3 tset /lib/libc.so.1 - 3 tset /opt/sfw/lib/libncurses.so.5.2 - 3 zsh /lib/libc.so.1 - 3 zsh /lib/libm.so.2 - 3 zsh /lib/libcurses.so.1 - 3 zsh /lib/libnsl.so.1 - 3 zsh /usr/sfw/lib/zsh/4.2.1/zsh/complist.so - 3 zsh /lib/libsocket.so.1 - - - -Sometimes the output can be quite suprising. The following shows the mmaps -caused by the "sdtaudiocontrol" tool, a java tool to change the volume levels -on Solaris, - - # mmapfiles.d - Tracing... Hit Ctrl-C to end. - - MMAPS CMD PATHNAME - 1 java /usr/jdk/packages/jmf/lib/ext/jmplay.jar - 1 java /usr/dt/appconfig/sdtaudiocontrol/classes/SDtAudioControl.jar - 1 java /usr/dt/classes/xservices.jar - 1 java /usr/dt/classes/jhall.jar - 1 java /usr/dt/classes/jsearch.jar - 1 java /usr/jdk/packages/jmf/lib/ext/mp3plugin.jar - 1 java /usr/jdk/packages/jmf/lib/ext/jmfmp3.jar - 1 java /usr/jdk/packages/jmf/lib/ext/multiplayer.jar - 1 java /usr/jdk/packages/jmf/lib/ext/mediaplayer.jar - 1 java /usr/jdk/packages/jmf/lib/ext/jmf.jar - 1 java /usr/jdk/packages/jai-imageio/lib/ext/jai_imageio.jar - 1 java /usr/jdk/packages/jai-imageio/lib/ext/clibwrapper_jiio.jar - 1 java /usr/jdk/packages/jai/lib/ext/mlibwrapper_jai.jar - 1 java /usr/jdk/packages/jai/lib/ext/jai_core.jar - 1 java /usr/jdk/packages/jai/lib/ext/jai_codec.jar - 1 java /usr/jdk/packages/javax.help-2.0/lib/jhall.jar - 1 java /usr/jdk/instances/jdk1.5.0/jre/lib/ext/sunpkcs11.jar - 1 java /usr/jdk/instances/jdk1.5.0/jre/lib/ext/sunjce_provider.jar - 1 java /usr/jdk/instances/jdk1.5.0/jre/lib/ext/localedata.jar - 1 java /usr/jdk/instances/jdk1.5.0/jre/lib/ext/dnsns.jar - 1 java /tmp/hsperfdata_root/6464 - 1 java /tmp/hsperfdata_root/6455 - 2 java /usr/lib/libsched.so.1 - 2 java /usr/jdk/instances/jdk1.5.0/jre/lib/charsets.jar - 2 java /usr/jdk/instances/jdk1.5.0/jre/lib/jce.jar - 2 java /usr/jdk/instances/jdk1.5.0/jre/lib/jsse.jar - 2 java /usr/jdk/instances/jdk1.5.0/jre/lib/rt.jar - 3 sdtaudiocontrol /lib/libc.so.1 - 3 java /usr/jdk/instances/jdk1.5.0/jre/lib/i386/headless/libmawt.so - 3 java /usr/jdk/instances/jdk1.5.0/jre/lib/i386/libmlib_image.so - 3 ls /lib/libc.so.1 - 3 rm /lib/libc.so.1 - 3 java /usr/dt/appconfig/sdtaudiocontrol/lib/libAudioControl.so - 3 java /usr/jdk/instances/jdk1.5.0/jre/lib/i386/libawt.so - 4 java /lib/libdl.so.1 - 6 java /usr/jdk/instances/jdk1.5.0/jre/lib/i386/libzip.so - 6 java /usr/jdk/instances/jdk1.5.0/jre/lib/i386/libjava.so - 6 java /usr/jdk/instances/jdk1.5.0/jre/lib/i386/libverify.so - 6 java /lib/libscf.so.1 - 6 java /usr/lib/libCrun.so.1 - 6 java /lib/libnsl.so.1 - 6 java /lib/libm.so.1 - 6 java /usr/jdk/instances/jdk1.5.0/jre/lib/i386/client/libjvm.so - 6 java /lib/libsocket.so.1 - 6 java /lib/libuutil.so.1 - 6 java /usr/jdk/instances/jdk1.5.0/jre/lib/i386/native_threads/libhpi.so - 6 java /lib/libmp.so.2 - 6 java /lib/libmd5.so.1 - 6 java /lib/libm.so.2 - 6 java /lib/libdoor.so.1 - 8 java /usr/jdk/instances/jdk1.5.0/jre/lib/i386/client/classes.jsa - 8 java /lib/libthread.so.1 - 12 java /lib/libc.so.1 - 21 awk /lib/libm.so.2 - 21 awk /lib/libc.so.1 - 65 java /devices/pseudo/mm@0:zero - diff --git a/cddl/contrib/dtracetoolkit/Examples/modcalls_example.txt b/cddl/contrib/dtracetoolkit/Examples/modcalls_example.txt deleted file mode 100644 index f920d20581bf..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/modcalls_example.txt +++ /dev/null @@ -1,47 +0,0 @@ -The following is an example of the modcalls.d oneliner, - - -Here we run it for a few seconds then hit Ctrl-C, - - # modcalls.d - dtrace: script './modcalls.d' matched 18437 probes - ^C - - ptm 2 - mntfs 2 - pool 2 - kcf 4 - pts 5 - portfs 6 - pset 6 - ttcompat 9 - ptem 9 - devfs 13 - ipf 15 - namefs 20 - ctfs 22 - procfs 22 - ldterm 23 - ipgpc 48 - sockfs 58 - flowacct 69 - ata 70 - gld 75 - rtls 76 - specfs 83 - ip 201 - uhci 294 - TS 333 - tmpfs 694 - doorfs 897 - ufs 1329 - uppc 5617 - unix 49794 - genunix 53445 - -The output lists kernel modules, and the number of function calls for -each module. For example, "rtls" - the network driver, called 76 functions. - -This script may be useful to determine whether drivers are "thinking" when -troubleshooting driver issues. - diff --git a/cddl/contrib/dtracetoolkit/Examples/newproc_example.txt b/cddl/contrib/dtracetoolkit/Examples/newproc_example.txt deleted file mode 100644 index f392b050f88a..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/newproc_example.txt +++ /dev/null @@ -1,19 +0,0 @@ -The following is an example of the newproc.d script, - - # ./newproc.d - dtrace: description 'proc:::exec-success ' matched 1 probe - CPU ID FUNCTION:NAME - 0 3297 exec_common:exec-success man ls - 0 3297 exec_common:exec-success sh -c cd /usr/share/man; tbl /usr/share/man/man1/ls.1 |neqn /usr/share/lib/pub/ - 0 3297 exec_common:exec-success tbl /usr/share/man/man1/ls.1 - 0 3297 exec_common:exec-success neqn /usr/share/lib/pub/eqnchar - - 0 3297 exec_common:exec-success nroff -u0 -Tlp -man - - 0 3297 exec_common:exec-success col -x - 0 3297 exec_common:exec-success sh -c trap '' 1 15; /usr/bin/mv -f/tmp/mpzIaOZF /usr/share/man/cat1/ls.1 2> /d - 0 3297 exec_common:exec-success /usr/bin/mv -f /tmp/mpzIaOZF /usr/share/man/cat1/ls.1 - 0 3297 exec_common:exec-success sh -c more -s /tmp/mpzIaOZF - 0 3297 exec_common:exec-success more -s /tmp/mpzIaOZF - -The above output was caught when running "man ls". This identifies all the -commands responsible for processing the man page. - diff --git a/cddl/contrib/dtracetoolkit/Examples/nfswizard_example.txt b/cddl/contrib/dtracetoolkit/Examples/nfswizard_example.txt deleted file mode 100644 index 68fb18542377..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/nfswizard_example.txt +++ /dev/null @@ -1,67 +0,0 @@ -The following is a demonstration of the NFS client wizard tool, nfswizard.d, - - - - # nfswizard.d - Tracing... Hit Ctrl-C to end. - ^C - NFS Client Wizard. 2005 Dec 2 14:59:07 -> 2005 Dec 2 14:59:14 - - Read: 4591616 bytes (4 Mb) - Write: 0 bytes (0 Mb) - - Read: 640 Kb/sec - Write: 0 Kb/sec - - NFS I/O events: 166 - Avg response time: 8 ms - Max response time: 14 ms - - Response times (us): - value ------------- Distribution ------------- count - 128 | 0 - 256 | 1 - 512 |@@@ 14 - 1024 |@ 4 - 2048 |@@@@@@@ 30 - 4096 |@@@@@ 20 - 8192 |@@@@@@@@@@@@@@@@@@@@@@@ 97 - 16384 | 0 - - Top 25 files accessed (bytes): - PATHNAME BYTES - /net/mars/var/tmp/adm/vold.log 4096 - /net/mars/var/tmp/adm/uptime 4096 - /net/mars/var/tmp/adm/mail 4096 - /net/mars/var/tmp/adm/authlog.5 4096 - /net/mars/var/tmp/adm/ftpd 12288 - /net/mars/var/tmp/adm/spellhist 16384 - /net/mars/var/tmp/adm/messages 16384 - /net/mars/var/tmp/adm/utmpx 20480 - /net/mars/var/tmp/adm/ftpd.2 20480 - /net/mars/var/tmp/adm/ftpd.3 20480 - /net/mars/var/tmp/adm/ftpd.1 24576 - /net/mars/var/tmp/adm/ftpd.0 24576 - /net/mars/var/tmp/adm/lastlog 28672 - /net/mars/var/tmp/adm/ipf 61440 - /net/mars/var/tmp/adm/loginlog 69632 - /net/mars/var/tmp/adm/ipf.4 73728 - /net/mars/var/tmp/adm/messages.20040906 81920 - /net/mars/var/tmp/adm/ipf.3 102400 - /net/mars/var/tmp/adm/ipf.1 110592 - /net/mars/var/tmp/adm/ipf.5 114688 - /net/mars/var/tmp/adm/ipf.2 114688 - /net/mars/var/tmp/adm/ipf.0 122880 - /net/mars/var/tmp/adm/route.log 266240 - /net/mars/var/tmp/adm/pppd.log 425984 - /net/mars/var/tmp/adm/wtmpx 2842624 - - - -In the above demonstration, we run nfswizard.d for several seconds then hit -Ctrl-C. The report contains useful information about NFS client activity, -including response time statistics and file access details. - -Note: this is measuring activity caused by NFS client processes (which must -be on the same server). It is not examining NFS server processes. - diff --git a/cddl/contrib/dtracetoolkit/Examples/oneliners_examples.txt b/cddl/contrib/dtracetoolkit/Examples/oneliners_examples.txt deleted file mode 100644 index 9ca0fa62f671..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/oneliners_examples.txt +++ /dev/null @@ -1,307 +0,0 @@ -# -# DTrace OneLiners Examples -# - -### New processes with arguments, - -# dtrace -n 'proc:::exec-success { trace(curpsinfo->pr_psargs); }' -dtrace: description 'proc:::exec-success ' matched 1 probe -CPU ID FUNCTION:NAME - 0 3297 exec_common:exec-success man ls - 0 3297 exec_common:exec-success sh -c cd /usr/share/man; tbl /usr/share/man/man1/ls.1 |neqn /usr/share/lib/pub/ - 0 3297 exec_common:exec-success tbl /usr/share/man/man1/ls.1 - 0 3297 exec_common:exec-success neqn /usr/share/lib/pub/eqnchar - - 0 3297 exec_common:exec-success nroff -u0 -Tlp -man - - 0 3297 exec_common:exec-success col -x - 0 3297 exec_common:exec-success sh -c trap '' 1 15; /usr/bin/mv -f /tmp/mpzIaOZF /usr/share/man/cat1/ls.1 2> /d - 0 3297 exec_common:exec-success /usr/bin/mv -f /tmp/mpzIaOZF /usr/share/man/cat1/ls.1 - 0 3297 exec_common:exec-success sh -c more -s /tmp/mpzIaOZF - 0 3297 exec_common:exec-success more -s /tmp/mpzIaOZF - - -### Files opened by process, - -# dtrace -n 'syscall::open*:entry { printf("%s %s",execname,copyinstr(arg0)); }' -dtrace: description 'syscall::open*:entry ' matched 2 probes -CPU ID FUNCTION:NAME - 0 14 open:entry gnome-netstatus- /dev/kstat - 0 14 open:entry man /var/ld/ld.config - 0 14 open:entry man /lib/libc.so.1 - 0 14 open:entry man /usr/share/man/man.cf - 0 14 open:entry man /usr/share/man/windex - 0 14 open:entry man /usr/share/man/man1/ls.1 - 0 14 open:entry man /usr/share/man/man1/ls.1 - 0 14 open:entry man /tmp/mpqea4RF - 0 14 open:entry sh /var/ld/ld.config - 0 14 open:entry sh /lib/libc.so.1 - 0 14 open:entry neqn /var/ld/ld.config - 0 14 open:entry neqn /lib/libc.so.1 - 0 14 open:entry neqn /usr/share/lib/pub/eqnchar - 0 14 open:entry tbl /var/ld/ld.config - 0 14 open:entry tbl /lib/libc.so.1 - 0 14 open:entry tbl /usr/share/man/man1/ls.1 - 0 14 open:entry nroff /var/ld/ld.config -[...] - - -### Syscall count by program, - -# dtrace -n 'syscall:::entry { @num[execname] = count(); }' -dtrace: description 'syscall:::entry ' matched 228 probes -^C - snmpd 1 - utmpd 2 - inetd 2 - nscd 7 - svc.startd 11 - sendmail 31 - poold 133 - dtrace 1720 - - -### Syscall count by syscall, - -# dtrace -n 'syscall:::entry { @num[probefunc] = count(); }' -dtrace: description 'syscall:::entry ' matched 228 probes -^C - fstat 1 - setcontext 1 - lwp_park 1 - schedctl 1 - mmap 1 - sigaction 2 - pset 2 - lwp_sigmask 2 - gtime 3 - sysconfig 3 - write 4 - brk 6 - pollsys 7 - p_online 558 - ioctl 579 - - -### Syscall count by process, - -# dtrace -n 'syscall:::entry { @num[pid,execname] = count(); }' -dtrace: description 'syscall:::entry ' matched 228 probes -^C - 1109 svc.startd 1 - 4588 svc.startd 2 - 7 svc.startd 2 - 3950 svc.startd 2 - 1626 nscd 2 - 870 svc.startd 2 - 82 nscd 6 - 5011 sendmail 10 - 6010 poold 74 - 8707 dtrace 1720 - - -### Read bytes by process, - -# dtrace -n 'sysinfo:::readch { @bytes[execname] = sum(arg0); }' -dtrace: description 'sysinfo:::readch ' matched 4 probes -^C - - mozilla-bin 16 - gnome-smproxy 64 - metacity 64 - dsdm 64 - wnck-applet 64 - xscreensaver 96 - gnome-terminal 900 - ttymon 5952 - Xorg 17544 - - -### Write bytes by process, - -# dtrace -n 'sysinfo:::writech { @bytes[execname] = sum(arg0); }' -dtrace: description 'sysinfo:::writech ' matched 4 probes -^C - - dtrace 1 - gnome-settings-d 8 - xscreensaver 8 - gnome-panel 8 - nautilus 8 - date 29 - wnck-applet 120 - bash 210 - mozilla-bin 1497 - ls 1947 - metacity 3172 - Xorg 7424 - gnome-terminal 51955 - - -### Read size distribution by process, - -# dtrace -n 'sysinfo:::readch { @dist[execname] = quantize(arg0); }' -dtrace: description 'sysinfo:::readch ' matched 4 probes -^C -[...] - gnome-terminal - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 15 - 64 |@@@ 1 - 128 | 0 - - Xorg - value ------------- Distribution ------------- count - -1 | 0 - 0 |@@@@@@@@@@@@@@@@@@@ 26 - 1 | 0 - 2 | 0 - 4 | 0 - 8 |@@@@ 6 - 16 |@ 2 - 32 |@ 2 - 64 | 0 - 128 |@@@@@@@@ 11 - 256 |@@@ 4 - 512 | 0 - - -### Write size distribution by process, - -# dtrace -n 'sysinfo:::writech { @dist[execname] = quantize(arg0); }' -dtrace: description 'sysinfo:::writech ' matched 4 probes -^C -[...] - Xorg - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 169 - 64 |@@@ 16 - 128 |@@ 10 - 256 | 0 - - gnome-terminal - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@ 6 - 2 | 0 - 4 | 0 - 8 | 1 - 16 |@ 2 - 32 |@@@ 7 - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@@@@ 63 - 256 |@@@@ 10 - 512 | 1 - 1024 |@@@@@ 13 - 2048 |@ 2 - 4096 |@@@ 7 - - -### Disk size by process, - -# dtrace -n 'io:::start { printf("%d %s %d",pid,execname,args[0]->b_bcount); }' - 0 3271 bdev_strategy:start 16459 tar 1024 - 0 3271 bdev_strategy:start 16459 tar 1024 - 0 3271 bdev_strategy:start 16459 tar 2048 - 0 3271 bdev_strategy:start 16459 tar 1024 - 0 3271 bdev_strategy:start 16459 tar 1024 - 0 3271 bdev_strategy:start 16459 tar 1024 - 0 3271 bdev_strategy:start 16459 tar 8192 - 0 3271 bdev_strategy:start 16459 tar 8192 - 0 3271 bdev_strategy:start 16459 tar 16384 - 0 3271 bdev_strategy:start 16459 tar 2048 - 0 3271 bdev_strategy:start 16459 tar 1024 - 0 3271 bdev_strategy:start 16459 tar 1024 - - -### Pages paged in by process, - -# dtrace -n 'vminfo:::pgpgin { @pg[execname] = sum(arg0); }' -dtrace: description 'vminfo:::pgpgin ' matched 1 probe -^C - - ttymon 1 - bash 1 - mozilla-bin 36 - tar 6661 - - -### Minor faults by process, - -# dtrace -n 'vminfo:::as_fault { @mem[execname] = sum(arg0); }' -dtrace: description 'vminfo:::as_fault ' matched 1 probe -^C - - mozilla-bin 18 - dtrace 57 - find 64 - bash 150 - tar 501 - - -### Interrupts by CPU, - -# dtrace -n 'sdt:::interrupt-start { @num[cpu] = count(); }' -dtrace: description 'sdt:::interrupt-start ' matched 1 probe -^C - - 513 2 - 515 4 - 3 39 - 2 39 - - -### New processes with arguments and time, - -# dtrace -qn 'syscall::exec*:return { printf("%Y %s\n",walltimestamp,curpsinfo->pr_psargs); }' -2005 Apr 25 19:15:09 man ls -2005 Apr 25 19:15:09 sh -c cd /usr/share/man; tbl /usr/share/man/man1/ls.1 |... -2005 Apr 25 19:15:09 neqn /usr/share/lib/pub/eqnchar - -2005 Apr 25 19:15:09 tbl /usr/share/man/man1/ls.1 -2005 Apr 25 19:15:09 nroff -u0 -Tlp -man - -2005 Apr 25 19:15:09 col -x -2005 Apr 25 19:15:10 sh -c trap '' 1 15; /usr/bin/mv -f /tmp/mpRZaqTF /usr/s... -2005 Apr 25 19:15:10 /usr/bin/mv -f /tmp/mpRZaqTF /usr/share/man/cat1/ls.1 -2005 Apr 25 19:15:10 sh -c more -s /tmp/mpRZaqTF -2005 Apr 25 19:15:10 more -s /tmp/mpRZaqTF -[...] - - -### Successful signal details, - -# dtrace -n 'proc:::signal-send /pid/ { printf("%s -%d %d",execname,args[2],args[1]->pr_pid); }' -dtrace: description 'proc:::signal-send ' matched 1 probe -CPU ID FUNCTION:NAME - 0 3303 sigtoproc:signal-send bash -15 16442 - 0 3303 sigtoproc:signal-send bash -9 16443 -^C - - -### Kernel function calls by module, - -# dtrace -n 'fbt:::entry { @calls[probemod] = count(); }' -dtrace: description 'fbt:::entry ' matched 18437 probes -^C - - devfs 2 - ptm 2 - ipf 5 - pts 5 - ttcompat 9 - ptem 9 - ldterm 23 - ipgpc 24 - ufs 24 - ata 25 - sockfs 27 - gld 32 - rtls 34 - flowacct 38 - specfs 50 - ip 84 - TS 92 - uhci 101 - uppc 1758 - unix 6347 - genunix 10023 - diff --git a/cddl/contrib/dtracetoolkit/Examples/opensnoop_example.txt b/cddl/contrib/dtracetoolkit/Examples/opensnoop_example.txt deleted file mode 100644 index 329d09b50340..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/opensnoop_example.txt +++ /dev/null @@ -1,110 +0,0 @@ -The following are examples of opensnoop. File open events are traced -along with some process details. - - -This first example is of the default output. The commands "cat", "cal", -"ls" and "uname" were run. The returned file descriptor (or -1 for error) are -shown, along with the filenames. - - # ./opensnoop - UID PID COMM FD PATH - 100 3504 cat -1 /var/ld/ld.config - 100 3504 cat 3 /usr/lib/libc.so.1 - 100 3504 cat 3 /etc/passwd - 100 3505 cal -1 /var/ld/ld.config - 100 3505 cal 3 /usr/lib/libc.so.1 - 100 3505 cal 3 /usr/share/lib/zoneinfo/Australia/NSW - 100 3506 ls -1 /var/ld/ld.config - 100 3506 ls 3 /usr/lib/libc.so.1 - 100 3507 uname -1 /var/ld/ld.config - 100 3507 uname 3 /usr/lib/libc.so.1 - [...] - - -Full command arguments can be fetched using -g, - - # ./opensnoop -g - UID PID PATH FD ARGS - 100 3528 /var/ld/ld.config -1 cat /etc/passwd - 100 3528 /usr/lib/libc.so.1 3 cat /etc/passwd - 100 3528 /etc/passwd 3 cat /etc/passwd - 100 3529 /var/ld/ld.config -1 cal - 100 3529 /usr/lib/libc.so.1 3 cal - 100 3529 /usr/share/lib/zoneinfo/Australia/NSW 3 cal - 100 3530 /var/ld/ld.config -1 ls -l - 100 3530 /usr/lib/libc.so.1 3 ls -l - 100 3530 /var/run/name_service_door 3 ls -l - 100 3530 /usr/share/lib/zoneinfo/Australia/NSW 4 ls -l - 100 3531 /var/ld/ld.config -1 uname -a - 100 3531 /usr/lib/libc.so.1 3 uname -a - [...] - - - -The verbose option prints human readable timestamps, - - # ./opensnoop -v - STRTIME UID PID COMM FD PATH - 2005 Jan 22 01:22:50 0 23212 df -1 /var/ld/ld.config - 2005 Jan 22 01:22:50 0 23212 df 3 /lib/libcmd.so.1 - 2005 Jan 22 01:22:50 0 23212 df 3 /lib/libc.so.1 - 2005 Jan 22 01:22:50 0 23212 df 3 /platform/SUNW,Sun-Fire-V210/lib/libc_psr.so.1 - 2005 Jan 22 01:22:50 0 23212 df 3 /etc/mnttab - 2005 Jan 22 01:22:50 0 23211 dtrace 4 /usr/share/lib/zoneinfo/Australia/NSW - 2005 Jan 22 01:22:51 0 23213 uname -1 /var/ld/ld.config - 2005 Jan 22 01:22:51 0 23213 uname 3 /lib/libc.so.1 - 2005 Jan 22 01:22:51 0 23213 uname 3 /platform/SUNW,Sun-Fire-V210/lib/libc_psr.so.1 - [...] - - - -Particular files can be monitored using -f. For example, - - # ./opensnoop -vgf /etc/passwd - STRTIME UID PID PATH FD ARGS - 2005 Jan 22 01:28:50 0 23242 /etc/passwd 3 cat /etc/passwd - 2005 Jan 22 01:28:54 0 23243 /etc/passwd 4 vi /etc/passwd - 2005 Jan 22 01:29:06 0 23244 /etc/passwd 3 passwd brendan - [...] - - - -This example is of opensnoop running on a quiet system. We can see as -various daemons are opening files, - - # ./opensnoop - UID PID COMM FD PATH - 0 253 nscd 5 /etc/user_attr - 0 253 nscd 5 /etc/hosts - 0 419 mibiisa 2 /dev/kstat - 0 419 mibiisa 2 /dev/rtls - 0 419 mibiisa 2 /dev/kstat - 0 419 mibiisa 2 /dev/kstat - 0 419 mibiisa 2 /dev/rtls - 0 419 mibiisa 2 /dev/kstat - 0 253 nscd 5 /etc/user_attr - 0 419 mibiisa 2 /dev/kstat - 0 419 mibiisa 2 /dev/rtls - 0 419 mibiisa 2 /dev/kstat - 0 174 in.routed 8 /dev/kstat - 0 174 in.routed 8 /dev/kstat - 0 174 in.routed 6 /dev/ip - 0 419 mibiisa 2 /dev/kstat - 0 419 mibiisa 2 /dev/rtls - 0 419 mibiisa 2 /dev/kstat - 0 293 utmpd 4 /var/adm/utmpx - 0 293 utmpd 5 /var/adm/utmpx - 0 293 utmpd 6 /proc/442/psinfo - 0 293 utmpd 6 /proc/567/psinfo - 0 293 utmpd 6 /proc/567/psinfo - 0 293 utmpd 6 /proc/567/psinfo - 0 293 utmpd 6 /proc/567/psinfo - 0 293 utmpd 6 /proc/567/psinfo - 0 293 utmpd 6 /proc/567/psinfo - 0 293 utmpd 6 /proc/567/psinfo - 0 293 utmpd 6 /proc/567/psinfo - 0 293 utmpd 6 /proc/3013/psinfo - 0 419 mibiisa 2 /dev/kstat - 0 419 mibiisa 2 /dev/rtls - 0 419 mibiisa 2 /dev/kstat - [...] diff --git a/cddl/contrib/dtracetoolkit/Examples/pathopens_example.txt b/cddl/contrib/dtracetoolkit/Examples/pathopens_example.txt deleted file mode 100644 index b5004dd3fc93..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/pathopens_example.txt +++ /dev/null @@ -1,32 +0,0 @@ -The following is a demonstration of the pathopens.d script, - - -Here we run it for a few seconds then hit Ctrl-C, - - # pathopens.d - Tracing... Hit Ctrl-C to end. - ^C - COUNT PATHNAME - 1 /lib/libcmd.so.1 - 1 /export/home/root/DTrace/Dexplorer/dexplorer - 1 /lib/libmd5.so.1 - 1 /lib/libaio.so.1 - 1 /lib/librt.so.1 - 1 /etc/security/prof_attr - 1 /etc/mnttab - 2 /devices/pseudo/devinfo@0:devinfo - 2 /dev/kstat - 2 /lib/libnvpair.so.1 - 2 /lib/libkstat.so.1 - 2 /lib/libdevinfo.so.1 - 2 /lib/libnsl.so.1 - 4 /lib/libc.so.1 - 4 /var/ld/ld.config - 8 /export/home/brendan/Utils_solx86/setiathome-3.08.i386-pc-solaris2.6/outfile.sah - -In the above output, many of the files would have been opened using -absolute pathnames. However the "dexplorer" file was opened using a relative -pathname - and the pathopens.d script has correctly printed the full path. - -The above shows that the outfile.sah file was opened successfully 8 times. - diff --git a/cddl/contrib/dtracetoolkit/Examples/pfilestat_example.txt b/cddl/contrib/dtracetoolkit/Examples/pfilestat_example.txt deleted file mode 100644 index b2c54a031f0c..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/pfilestat_example.txt +++ /dev/null @@ -1,200 +0,0 @@ -The following are sample outputs of the pfilestat tool for various scenarios. - - - -Starting with something simple, - -Running: dd if=/dev/rdsk/c0d0s0 of=/dev/null bs=56k # x86, 32-bit - - # ./pfilestat `pgrep -x dd` - - STATE FDNUM Time Filename - read 3 2% /devices/pci@0,0/pci-ide@1f,1/ide@0/cmdk@0,0 - write 4 3% /devices/pseudo/mm@0:null - waitcpu 0 7% - running 0 16% - sleep-r 0 69% - - STATE FDNUM KB/s Filename - write 4 53479 /devices/pseudo/mm@0:null - read 3 53479 /devices/pci@0,0/pci-ide@1f,1/ide@0/cmdk@0,0 - - Total event time (ms): 4999 Total Mbytes/sec: 104 - -Most of the time we are sleeping on read, which is to be expected as dd on -the raw device is simple -> read:entry, strategy, biodone, read:return. -CPU time in read() itself is small. - - - -Now for the dsk device, - -Running: dd if=/dev/dsk/c0d0s0 of=/dev/null bs=56k # x86, 32-bit - - # ./pfilestat `pgrep -x dd` - - STATE FDNUM Time Filename - write 4 5% /devices/pseudo/mm@0:null - waitcpu 0 8% - running 0 15% - sleep-r 0 18% - read 3 53% /devices/pci@0,0/pci-ide@1f,1/ide@0/cmdk@0,0 - - STATE FDNUM KB/s Filename - read 3 53492 /devices/pci@0,0/pci-ide@1f,1/ide@0/cmdk@0,0 - write 4 53492 /devices/pseudo/mm@0:null - - Total event time (ms): 4914 Total Mbytes/sec: 102 - -Woah, we are now spending much more time in read()! I imagine segmap is -a busy bee. The "running" and "write" times are hardly different. - - - -Now for a SPARC demo of the same, - -Running: dd if=/dev/dsk/c0d0s0 of=/dev/null bs=56k # SPARC, 64-bit - - # ./pfilestat `pgrep -x dd` - - STATE FDNUM Time Filename - write 4 3% /devices/pseudo/mm@0:zero - waitcpu 0 7% - running 0 17% - read 3 24% /devices/pci@1f,0/pci@1,1/ide@3/dad@0,0:a - sleep-r 0 54% - - STATE FDNUM KB/s Filename - read 3 13594 /devices/pci@1f,0/pci@1,1/ide@3/dad@0,0:a - write 4 13606 /devices/pseudo/mm@0:zero - - Total event time (ms): 4741 Total Mbytes/sec: 25 - -I did prime the cache by running this a few times first. There is less -read() time than with the x86 32-bit demo, as I would guess that the -process is more often exhausting the (faster) segmap cache and getting -to the point where it must sleep. (However, do take this comparison with -a grain of salt - my development servers aren't ideal for comparing -statistics: one is a 867 MHz Pentium, and the other a 360 MHz Ultra 5). - -The file system cache is faster on 64-bit systems due to the segkpm -enhancement in Solaris 10. For details see, -http://blogs.sun.com/roller/page/rmc?entry=solaris_10_fast_filesystem_cache - - - -Now, back to x86. - -Running: tar cf /dev/null / - - # ./pfilestat `pgrep -x tar` - - STATE FDNUM Time Filename - read 11 0% /extra1/test/amd64/libCstd.so.1 - read 11 0% /extra1/test/amd64/libXm.so - read 11 0% /extra1/test/amd64/libXm.so.4 - read 11 1% /extra1/test/amd64/libgtk-x11-2.0.so - read 11 2% /extra1/test/amd64/libgtk-x11-2.0.so.0 - waitcpu 0 2% - read 9 4% /extra1/5000 - write 3 7% /devices/pseudo/mm@0:null - running 0 19% - sleep-r 0 46% - - STATE FDNUM KB/s Filename - read 11 293 /extra1/test/amd64/libgdk-x11-2.0.so - read 11 295 /extra1/test/amd64/libgdk-x11-2.0.so.0 - read 9 476 /extra1/1000 - read 11 526 /extra1/test/amd64/libCstd.so.1 - read 11 594 /extra1/test/amd64/libXm.so.4 - read 11 594 /extra1/test/amd64/libXm.so - read 11 1603 /extra1/test/amd64/libgtk-x11-2.0.so.0 - read 11 1606 /extra1/test/amd64/libgtk-x11-2.0.so - read 9 4078 /extra1/5000 - write 3 21254 /devices/pseudo/mm@0:null - - Total event time (ms): 4903 Total Mbytes/sec: 41 - -Fair enough. tar is crusing along at 21 Mbytes/sec (writes to fd 3!). - - - -More interesting is to do the following, - -Running: tar cf - / | gzip > /dev/null - - # ./pfilestat `pgrep -x tar` - - STATE FDNUM Time Filename - read 11 0% /extra1/test/amd64/libm.so - read 11 0% /extra1/test/amd64/libm.so.2 - read 11 0% /extra1/test/amd64/libnsl.so - read 11 0% /extra1/test/amd64/libnsl.so.1 - read 11 0% /extra1/test/amd64/libc.so.1 - write 3 2% - waitcpu 0 4% - sleep-r 0 4% - running 0 6% - sleep-w 0 78% - - STATE FDNUM KB/s Filename - read 11 74 /extra1/test/amd64/libldap.so - read 11 75 /extra1/test/amd64/libldap.so.5 - read 11 75 /extra1/test/amd64/libresolv.so.2 - read 11 76 /extra1/test/amd64/libresolv.so - read 11 97 /extra1/test/amd64/libm.so.2 - read 11 98 /extra1/test/amd64/libm.so - read 11 174 /extra1/test/amd64/libnsl.so - read 11 176 /extra1/test/amd64/libnsl.so.1 - read 11 216 /extra1/test/amd64/libc.so.1 - write 3 3022 - - Total event time (ms): 4911 Total Mbytes/sec: 6 - -Woah now, tar is writing 3 Mbytes/sec - AND spending 78% of it's time on -sleep-w, sleeping on writes! Of course, this is because we are piping the -output to gzip, which is spending a while compressing the data. 78% -matches the time gzip was on the CPU (using either "prstat -m" or dtrace -to measure; procfs's pr_pctcpu would take too long to catch up). - - - - -Also interesting is, - -Running: perl -e 'while (1) {;}' & -Running: perl -e 'while (1) {;}' & -Running: perl -e 'while (1) {;}' & -Running: perl -e 'while (1) {;}' & -Running: tar cf /dev/null / - - # ./pfilestat `pgrep -x tar` - - STATE FDNUM Time Filename - read 11 0% /extra1/test/amd64/libxml2.so.2 - read 11 0% /extra1/test/amd64/libgdk-x11-2.0.so.0 - read 11 0% /extra1/test/amd64/libgdk-x11-2.0.so - read 11 0% /extra1/test/amd64/libCstd.so.1 - read 11 0% /extra1/test/amd64/libgtk-x11-2.0.so.0 - read 11 2% /extra1/test/amd64/libgtk-x11-2.0.so - write 3 2% /devices/pseudo/mm@0:null - running 0 8% - sleep-r 0 22% - waitcpu 0 65% - - STATE FDNUM KB/s Filename - read 11 182 /extra1/test/amd64/libsun_fc.so - read 11 264 /extra1/test/amd64/libglib-2.0.so - read 11 266 /extra1/test/amd64/libglib-2.0.so.0 - read 11 280 /extra1/test/amd64/libxml2.so.2 - read 11 293 /extra1/test/amd64/libgdk-x11-2.0.so - read 11 295 /extra1/test/amd64/libgdk-x11-2.0.so.0 - read 11 526 /extra1/test/amd64/libCstd.so.1 - read 11 761 /extra1/test/amd64/libgtk-x11-2.0.so.0 - read 11 1606 /extra1/test/amd64/libgtk-x11-2.0.so - write 3 7881 /devices/pseudo/mm@0:null - - Total event time (ms): 4596 Total Mbytes/sec: 13 - -Now we have "waitcpu" as tar competes for CPU cycles along with the greedy -infinite perl processes. diff --git a/cddl/contrib/dtracetoolkit/Examples/pgpginbypid_example.txt b/cddl/contrib/dtracetoolkit/Examples/pgpginbypid_example.txt deleted file mode 100644 index 8326b904d94c..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/pgpginbypid_example.txt +++ /dev/null @@ -1,14 +0,0 @@ -The following is a demonstration of the pgpginbypid.d script, - - -Here we run it for a few seconds then hit Ctrl-C, - - # pgpginbypid.d - Tracing... Hit Ctrl-C to end. - ^C - PID CMD PAGES - 10692 find 128 - 10693 tar 11928 - -In the output above, we can see which processes are responsible for page ins, -as well as the number of pages paged in. diff --git a/cddl/contrib/dtracetoolkit/Examples/pgpginbyproc_example.txt b/cddl/contrib/dtracetoolkit/Examples/pgpginbyproc_example.txt deleted file mode 100644 index e8bb8217a138..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/pgpginbyproc_example.txt +++ /dev/null @@ -1,13 +0,0 @@ -The following is a demonstration of the pgpginbyproc.d script, - - # pgpginbyproc.d - dtrace: description 'vminfo:::pgpgin ' matched 1 probe - ^C - - ttymon 1 - bash 1 - mozilla-bin 36 - tar 6661 - -In the above output, tar processes have paged in 6661 pages from the filesystem. - diff --git a/cddl/contrib/dtracetoolkit/Examples/php_calldist_example.txt b/cddl/contrib/dtracetoolkit/Examples/php_calldist_example.txt deleted file mode 100644 index db3b0af9d542..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/php_calldist_example.txt +++ /dev/null @@ -1,84 +0,0 @@ -The following are examples of php_calldist.d. - -This script traces the elapsed time of PHP functions and prints a report -containing distribution plots per subroutine. Here it traces the example program -Code/Php/func_abc.php. - -# php_calldist.d -Tracing... Hit Ctrl-C to end. -^C - -Exclusive function elapsed times (us), - func_abc.php, func, func_a - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - - func_abc.php, func, func_b - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - - func_abc.php, func, func_c - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - - func_abc.php, func, sleep - value ------------- Distribution ------------- count - 262144 | 0 - 524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 1048576 | 0 - - -Inclusive function elapsed times (us), - func_abc.php, func, func_c - value ------------- Distribution ------------- count - 262144 | 0 - 524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1048576 | 0 - - func_abc.php, func, func_b - value ------------- Distribution ------------- count - 524288 | 0 - 1048576 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2097152 | 0 - - func_abc.php, func, sleep - value ------------- Distribution ------------- count - 262144 | 0 - 524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 1048576 | 0 - - func_abc.php, func, func_a - value ------------- Distribution ------------- count - 1048576 | 0 - 2097152 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4194304 | 0 - -In total, 3 subroutines were called, one each of func_a(), func_b() and -func_c(), and sleep was called 3 times. You can see this reflected in the -"count" column on the right. - -The exclusive subroutine elapsed times show that each subroutine spent -between 256 and 512 microseconds. This time excludes the time spent in -other subroutines. - -The inclusive subroutine elapsed times show that func_c() took between 0.5 -seconds and 1 second, func_b() took between 1 second and 2.1 seconds, and -func_a() took between 2.1 seconds and 4.2 seconds to execute. This time -includes the time spent in other subroutines called, and since func_a() called -func_b() which called func_c(), these times make sense. - -These elapsed times are the absolute time from when the subroutine began to -when it completed - which includes off-CPU time due to other system events -such as I/O, scheduling, interrupts, etc. - -Elapsed times are useful for identifying where latencies are. -See Notes/ALLelapsed_notes.txt for more details. Also see -Notes/ALLexclusive_notes.txt and Notes/ALLinclusive_notes.txt for a -detailed explanation of exclusive vs inclusive subroutine time. - diff --git a/cddl/contrib/dtracetoolkit/Examples/php_calltime_example.txt b/cddl/contrib/dtracetoolkit/Examples/php_calltime_example.txt deleted file mode 100644 index d76cb6e02581..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/php_calltime_example.txt +++ /dev/null @@ -1,51 +0,0 @@ -The following is an example of running php_calltime.d and tracing the elapsed -times for functions. - -We run php_calltime.d while running the program Code/Php/func_abc.php. We can -see that there are three sections in the DTrace output - -# php_calltime.d -Tracing... Hit Ctrl-C to end. -^C - -Count, - FILE TYPE NAME COUNT - func_abc.php func func_a 1 - func_abc.php func func_b 1 - func_abc.php func func_c 1 - func_abc.php func sleep 3 - - total - 6 - -Exclusive function elapsed times (us), - FILE TYPE NAME TOTAL - func_abc.php func func_c 330 - func_abc.php func func_b 367 - func_abc.php func func_a 418 - func_abc.php func sleep 3025644 - - total - 3026761 - -Inclusive function elapsed times (us), - FILE TYPE NAME TOTAL - func_abc.php func func_c 1010119 - func_abc.php func func_b 2020118 - func_abc.php func sleep 3025644 - func_abc.php func func_a 3026761 - -Section 1 - Count shows us how many times each function was called in the -Code/Php/func_abc.php program, with the last line giving us a total number of -functions called (in this case, six). - -Section 2 - These elapsed times shows us how many microseconds the program -spends in each function. This does not include the time spent in any -sub-functions called by that particular function. Again the last line gives -us the total time in microseconds. - -Section 3 - These elapsed times are the absolute time from when the function began to -when it completed - which includes off-CPU time due to other system events -such as I/O, scheduling, interrupts, etc. In particular, for this case it has -included the time waiting for the sleep commands. - -Elapsed times are useful for identifying where latencies are. -See Notes/ALLelapsed_notes.txt for more details. Also see -Notes/ALLexclusive_notes.txt and Notes/ALLinclusive_notes.txt for a -detailed explanation of exclusive vs inclusive function time. diff --git a/cddl/contrib/dtracetoolkit/Examples/php_cpudist_example.txt b/cddl/contrib/dtracetoolkit/Examples/php_cpudist_example.txt deleted file mode 100644 index 6da7d29d8f4d..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/php_cpudist_example.txt +++ /dev/null @@ -1,84 +0,0 @@ -The following are examples of php_cpudist.d. - -This script traces the on-CPU time of PHP functions and prints a report -containing distribution plots per subroutine. Here it traces the example -program Code/Php/func_abc.php. - -# php_cpudist.d -Tracing... Hit Ctrl-C to end. -^C - -Exclusive function on-CPU times (us), - func_abc.php, func, func_a - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - func_abc.php, func, func_b - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - func_abc.php, func, func_c - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - func_abc.php, func, sleep - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 32 | 0 - - -Inclusive function on-CPU times (us), - func_abc.php, func, func_c - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - func_abc.php, func, sleep - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 32 | 0 - - func_abc.php, func, func_b - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - func_abc.php, func, func_a - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 256 | 0 - -In total, 3 subroutines were called, one each of func_a(), func_b() and -func_c(), and sleep was called 3 times. You can see this reflected in the -"count" column on the right. - -The exclusive subroutine elapsed times show that each subroutine spent -between 16 and 31 microseconds on CPU. This time excludes the time spent in -other subroutines. - -The inclusive subroutine elapsed times show that func_c() took between 32 -microseconds and 63 microseconds on CPU; sleep ran three times and each time -took between 16 and 31 microseconds on CPU; func_b() took between 64 and 127 -microseconds on CPU; and func_a() took between 128 and 255 microseconds on -CPU. This time includes the time spent in other subroutines called, and since -func_a() called func_b() which called func_c(), these times make sense. - -These elapsed times are the on CPU time from when the subroutine began to -when it completed. - -On-CPU times are useful for showing who is causing the CPUs to be busy. -See Notes/ALLelapsed_notes.txt for more details. Also see -Notes/ALLexclusive_notes.txt and Notes/ALLinclusive_notes.txt for a -detailed explanation of exclusive vs inclusive subroutine time. - diff --git a/cddl/contrib/dtracetoolkit/Examples/php_cputime_example.txt b/cddl/contrib/dtracetoolkit/Examples/php_cputime_example.txt deleted file mode 100644 index db218e1d1f53..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/php_cputime_example.txt +++ /dev/null @@ -1,58 +0,0 @@ -The following are examples of php_cputime.d. - -This script traces the on-CPU time of PHP functions and prints a report. -Here it traces the example program, Code/Php/func_abc.php. - -# php_cputime.d -Tracing... Hit Ctrl-C to end. -^C - -Count, - FILE TYPE NAME COUNT - func_abc.php func func_a 1 - func_abc.php func func_b 1 - func_abc.php func func_c 1 - func_abc.php func sleep 3 - - total - 6 - -Exclusive function on-CPU times (us), - FILE TYPE NAME TOTAL - func_abc.php func func_c 17 - func_abc.php func func_b 25 - func_abc.php func func_a 74 - func_abc.php func sleep 93 - - total - 210 - -Inclusive function on-CPU times (us), - FILE TYPE NAME TOTAL - func_abc.php func func_c 39 - func_abc.php func func_b 87 - func_abc.php func sleep 93 - func_abc.php func func_a 210 - -In total, six functions were called; sleep was called three times and there -was one call each of func_a(), func_b() and func_c(). - -The exclusive subroutine on-CPU times show that func_a() spent around 74 -microseconds on-CPU, func_b() spent 25 microseconds on-CPU, and func_c() spent -17 microseconds on-CPU. This exclusive times excludes time spent in other -subroutines. - -The inclusive subroutine on-CPU times show that func_c() spent around 39 -microseconds on-CPU, func_b() spent around 87 microseconds on-CPU and -func_a() spent around 210 microseconds. This inclusive time includes the time -spent in other functions called (including sleep), and since func_a() called -func_b() which called func_c(), these times make perfect sense. - -These on-CPU times are the time the program spent running on a CPU, from when -the function began to when it completed. This does not include time -spent off-CPU time such as sleeping for I/O or waiting for scheduling. - -On-CPU times are useful for showing who is causing the CPUs to be busy. -See Notes/ALLoncpu_notes.txt for more details. Also see -Notes/ALLexclusive_notes.txt and Notes/ALLinclusive_notes.txt for a -detailed explanation of exclusive vs inclusive subroutine time. - -If you study the func_abc.php program alongside the above output, the numbers -should make sense. - diff --git a/cddl/contrib/dtracetoolkit/Examples/php_flow_example.txt b/cddl/contrib/dtracetoolkit/Examples/php_flow_example.txt deleted file mode 100644 index 6470daf087b3..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/php_flow_example.txt +++ /dev/null @@ -1,36 +0,0 @@ -The following are examples of php_flow.d. - -This is a simple script to trace the flow of PHP functions. -Here it traces the example program, Code/Php/func_abc.php - -# php_flow.d - C TIME(us) FILE -- FUNC - 0 3645535409575 func_abc.php -> func_a - 0 3645535409653 func_abc.php -> sleep - 0 3645536410511 func_abc.php <- sleep - 0 3645536410536 func_abc.php -> func_b - 0 3645536410557 func_abc.php -> sleep - 0 3645537420627 func_abc.php <- sleep - 0 3645537420652 func_abc.php -> func_c - 0 3645537420673 func_abc.php -> sleep - 0 3645538430106 func_abc.php <- sleep - 0 3645538430125 func_abc.php <- func_c - 0 3645538430134 func_abc.php <- func_b - 0 3645538430143 func_abc.php <- func_a -^C - -The fourth column is indented by 2 spaces to show when a new function begins. -This shows which function is calling which - the output above begins by -showing that func_a() began; slept, and returned from sleep; and then called -func_b(). - -The TIME(us) column shows time from boot in microseconds. - -The FILE column shows the file that was being executed. - -If the output looks strange, check the CPU "C" column - if it changes, -then the output is probably shuffled. See Notes/ALLsnoop_notes.txt for -details and suggested workarounds. - -See Notes/ALLflow_notes.txt for important notes about reading flow outputs. - diff --git a/cddl/contrib/dtracetoolkit/Examples/php_flowinfo_example.txt b/cddl/contrib/dtracetoolkit/Examples/php_flowinfo_example.txt deleted file mode 100644 index 3b2e3c1f314c..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/php_flowinfo_example.txt +++ /dev/null @@ -1,40 +0,0 @@ -The following are examples of php_flowinfo.d. - -This is a simple script to trace the flow of PHP functions. -Here it traces the example program, Code/Php/func_abc.php - -# php_flowinfo.d -C PID/TID DELTA(us) FILE:LINE TYPE -- FUNC -0 18422/1 9 func_abc.php:22 func -> func_a -0 18422/1 35 func_abc.php:18 func -> sleep -0 18422/1 1009146 func_abc.php:18 func <- sleep -0 18422/1 35 func_abc.php:19 func -> func_b -0 18422/1 24 func_abc.php:11 func -> sleep -0 18422/1 1009803 func_abc.php:11 func <- sleep -0 18422/1 34 func_abc.php:12 func -> func_c -0 18422/1 24 func_abc.php:5 func -> sleep -0 18422/1 1009953 func_abc.php:5 func <- sleep -0 18422/1 28 func_abc.php:6 func <- func_c -0 18422/1 11 func_abc.php:13 func <- func_b -0 18422/1 10 func_abc.php:20 func <- func_a -^C - -The third column is indented by 2 spaces to show when a new function begins. -This shows which function is calling which - the output above begins by -showing that func_a() began; slept, and returned from sleep; and then called -func_b(). - -The DELTA(us) column shows time from that line to the previous line, and -so can be a bit tricky to read. For example, the second line of data output -(skipping the header) reads as "the time from func_a() beginning to -calling the sleep function beginning was 35 microseconds". - -The LINE column shows the line in the file what was being executed. Refer -to the source program to see what this line refers to. - -If the output looks shuffled, check the CPU "C" column - if it changes, -then the output is probably shuffled. See Notes/ALLsnoop_notes.txt for -details and suggested workarounds. - -See Notes/ALLflow_notes.txt for important notes about reading flow outputs. - diff --git a/cddl/contrib/dtracetoolkit/Examples/php_flowtime_example.txt b/cddl/contrib/dtracetoolkit/Examples/php_flowtime_example.txt deleted file mode 100644 index 57eb69c6dc64..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/php_flowtime_example.txt +++ /dev/null @@ -1,41 +0,0 @@ -The following are examples of php_flowtime.d. - -This is a simple script to trace the flow of PHP functions. -Here it traces the example program, Code/Php/func_abc.php - -# php_flowtime.d - C TIME(us) FILE DELTA(us) -- FUNC - 0 3646108339057 func_abc.php 9 -> func_a - 0 3646108339090 func_abc.php 32 -> sleep - 0 3646109341043 func_abc.php 1001953 <- sleep - 0 3646109341074 func_abc.php 31 -> func_b - 0 3646109341098 func_abc.php 23 -> sleep - 0 3646110350712 func_abc.php 1009614 <- sleep - 0 3646110350745 func_abc.php 32 -> func_c - 0 3646110350768 func_abc.php 23 -> sleep - 0 3646111362323 func_abc.php 1011554 <- sleep - 0 3646111362351 func_abc.php 27 <- func_c - 0 3646111362361 func_abc.php 10 <- func_b - 0 3646111362370 func_abc.php 9 <- func_a -^C - -The fifth column is indented by 2 spaces to show when a new function begins. -This shows which function is calling which - the output above begins by -showing that func_a() began; slept, and returned from sleep; and then called -func_b(). - -The TIME(us) column shows time since boot. - -The DELTA(us) column shows time from that line to the previous line, and -so can be a bit tricky to read. For example, the second line of data output -(skipping the header) reads as "the time from func_a() beginning to -calling the sleep function beginning was 32 microseconds". - -The FILE column shows file that was being executed. - -If the output looks shuffled, check the CPU "C" and "TIME" columns, and -post sort based on TIME if necessary. - -See Notes/ALLflow_notes.txt for important notes about reading flow outputs. - - diff --git a/cddl/contrib/dtracetoolkit/Examples/php_funccalls_example.txt b/cddl/contrib/dtracetoolkit/Examples/php_funccalls_example.txt deleted file mode 100644 index 7155a7139b92..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/php_funccalls_example.txt +++ /dev/null @@ -1,17 +0,0 @@ -The following are examples of php_funccalls.d. - -This is a simple script to count executed PHP functions. Here it traces -an example program, Code/Php/func_abc.php - -# php_funccalls.d -Tracing... Hit Ctrl-C to end. -^C - FILE FUNC CALLS - func_abc.php func_a 1 - func_abc.php func_b 1 - func_abc.php func_c 1 - func_abc.php sleep 3 - -While tracing, func_a() from the program "func_abc.php" was executed once, -as were func_b() and func_c(). sleep was executed three times. - diff --git a/cddl/contrib/dtracetoolkit/Examples/php_malloc_example.txt b/cddl/contrib/dtracetoolkit/Examples/php_malloc_example.txt deleted file mode 100644 index 853d08299314..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/php_malloc_example.txt +++ /dev/null @@ -1,23 +0,0 @@ -Following are examples of running php_malloc.d. - -Here it is running on Code/Php/func_abc.php - - # php_malloc.d -p 18523 - Tracing... Hit Ctrl-C to end. - ^C - - PHP malloc byte distributions by engine caller, - - - PHP malloc byte distributions by PHP file and function, - - -Theoretically this should show you mallocs. However there weren't any in this -example. The rest of these example files would have been so much easier to -write if they were all like this. I would have been finished by now and would -have been flicking through the TV channels with a nice, cold beer in hand. - - -... Fixing this example is on my todo list. Check for newer versions of the -toolkit. - diff --git a/cddl/contrib/dtracetoolkit/Examples/php_syscalls_example.txt b/cddl/contrib/dtracetoolkit/Examples/php_syscalls_example.txt deleted file mode 100644 index c783420fc0fb..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/php_syscalls_example.txt +++ /dev/null @@ -1,22 +0,0 @@ -The following are examples of php_syscalls.d. - -This is a simple script to count executed PHP functions and system calls. -Here it traces an example program, Code/Php/func_abc.php - -# php_syscalls.d -Tracing... Hit Ctrl-C to end. -^C - PID FILE TYPE NAME COUNT - 18419 func_abc.php func func_a 1 - 18419 func_abc.php func func_b 1 - 18419 func_abc.php func func_c 1 - 18419 func_abc.php func sleep 3 - 18419 httpd syscall nanosleep 3 - -While tracing, four functions were called - func_a(), func_b(), func_c(), and -sleep. There were also three instances of the system call nanosleep(). - -This script can provide an insight to how a PHP application is interacting -with the system, by providing both application function calls and system calls -in the same output. - diff --git a/cddl/contrib/dtracetoolkit/Examples/php_syscolors_example.txt b/cddl/contrib/dtracetoolkit/Examples/php_syscolors_example.txt deleted file mode 100644 index 96b26a8877df..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/php_syscolors_example.txt +++ /dev/null @@ -1,63 +0,0 @@ -The following are examples of php_syscolors.d. - -This is a simple script to trace the flow of PHP functions and system -calls made, and renders the output in color ("colour") using terminal -escape sequences (which you can tweak by modifying the script). - -Here it traces the example program, Code/Php/func_abc.php. - -WARNING: This output is full of terminal escape sequences, so if you are -trying to view this through an editor or web browser - it may look awful. -Try viewing this using "more" (although, depending on your terminal, it -still may look awful). - -# php_syscolors.d -C PID/TID DELTA(us) FILE:LINE TYPE -- NAME -0 18426/1 8 func_abc.php:22 func -> func_a -0 18426/1 41 func_abc.php:18 func -> sleep -0 18426/1 15 ":- syscall -> nanosleep -0 18426/1 1008700 ":- syscall <- nanosleep -0 18426/1 30 func_abc.php:18 func <- sleep -0 18426/1 42 func_abc.php:19 func -> func_b -0 18426/1 28 func_abc.php:11 func -> sleep -0 18426/1 14 ":- syscall -> nanosleep -0 18426/1 1010083 ":- syscall <- nanosleep -0 18426/1 29 func_abc.php:11 func <- sleep -0 18426/1 43 func_abc.php:12 func -> func_c -0 18426/1 28 func_abc.php:5 func -> sleep -0 18426/1 14 ":- syscall -> nanosleep -0 18426/1 1009794 ":- syscall <- nanosleep -0 18426/1 28 func_abc.php:5 func <- sleep -0 18426/1 34 func_abc.php:6 func <- func_c -0 18426/1 18 func_abc.php:13 func <- func_b -0 18426/1 17 func_abc.php:20 func <- func_a -0 18426/1 21 ":- syscall -> fchdir -0 18426/1 19 ":- syscall <- fchdir -0 18426/1 9 ":- syscall -> close -0 18426/1 13 ":- syscall <- close -0 18426/1 35 ":- syscall -> semsys -0 18426/1 12 ":- syscall <- semsys -0 18426/1 7 ":- syscall -> semsys -0 18426/1 7 ":- syscall <- semsys -0 18426/1 66 ":- syscall -> setitimer -0 18426/1 8 ":- syscall <- setitimer -0 18426/1 39 ":- syscall -> read -0 18426/1 14 ":- syscall <- read -0 18426/1 11 ":- syscall -> writev -0 18426/1 22 ":- syscall <- writev -0 18426/1 23 ":- syscall -> write -0 18426/1 110 ":- syscall <- write -0 18426/1 61 ":- syscall -> pollsys - -In this excerpt: -0 18426/1 43 func_abc.php:12 func -> func_c -0 18426/1 28 func_abc.php:5 func -> sleep -0 18426/1 14 ":- syscall -> nanosleep -0 18426/1 1009794 ":- syscall <- nanosleep -0 18426/1 28 func_abc.php:5 func <- sleep -0 18426/1 34 func_abc.php:6 func <- func_c - -we can see that we are at Line 12 of the program which invokes func_c. func_c -then invokes sleep, which uses the syscall nanosleep. Approximately one -second later nanosleep returns, then sleep finishes, then func_c finishes. - diff --git a/cddl/contrib/dtracetoolkit/Examples/php_who_example.txt b/cddl/contrib/dtracetoolkit/Examples/php_who_example.txt deleted file mode 100644 index cee32b2f8494..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/php_who_example.txt +++ /dev/null @@ -1,10 +0,0 @@ -The following are examples of the results of running php_who.d. - -# php_who.d -Tracing... Hit Ctrl-C to end. -^C - PID UID FUNCS FILE - 158525 80 7 /opt/coolstack/apache2/htdocs/php/func_abc.php - -Running the php_who.d while the func_abc.php program runs, we can see that -while func_abc.php was running, it called seven functions. diff --git a/cddl/contrib/dtracetoolkit/Examples/pidpersec_example.txt b/cddl/contrib/dtracetoolkit/Examples/pidpersec_example.txt deleted file mode 100644 index 11f6bd7c1fc9..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/pidpersec_example.txt +++ /dev/null @@ -1,33 +0,0 @@ -The following is a demonstration of the pidpersec.d script. - - -Here the program is run on an idle system, - - # ./pidpersec.d - TIME LASTPID PID/s - 2005 Jun 9 22:15:09 3010 0 - 2005 Jun 9 22:15:10 3010 0 - 2005 Jun 9 22:15:11 3010 0 - 2005 Jun 9 22:15:12 3010 0 - 2005 Jun 9 22:15:13 3010 0 - ^C - -This shows that there are now new processes being created. - - - -Now the script is run on a busy system, that is creating many processes -(which happen to be short-lived), - - # ./pidpersec.d - TIME LASTPID PID/s - 2005 Jun 9 22:16:30 3051 13 - 2005 Jun 9 22:16:31 3063 12 - 2005 Jun 9 22:16:32 3073 10 - 2005 Jun 9 22:16:33 3084 11 - 2005 Jun 9 22:16:34 3096 12 - ^C - -Now we can see that there are over 10 new processes created each second. -The value for lastpid confirms the rates printed. - diff --git a/cddl/contrib/dtracetoolkit/Examples/pl_calldist_example.txt b/cddl/contrib/dtracetoolkit/Examples/pl_calldist_example.txt deleted file mode 100644 index f53b7f54777d..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/pl_calldist_example.txt +++ /dev/null @@ -1,456 +0,0 @@ -The following are examples of pl_calldist.d. - -This script traces the elapsed time of Perl subroutines (functions) and -prints a report containing distribution plots per subroutine. Here it -traces the example program, Code/Perl/func_abc.pl. - - # pl_calldist.d - Tracing... Hit Ctrl-C to end. - ^C - - Exclusive subroutine elapsed times (us), - func_abc.pl, sub, func_a - value ------------- Distribution ------------- count - 262144 | 0 - 524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1048576 | 0 - - func_abc.pl, sub, func_b - value ------------- Distribution ------------- count - 262144 | 0 - 524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1048576 | 0 - - func_abc.pl, sub, func_c - value ------------- Distribution ------------- count - 262144 | 0 - 524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1048576 | 0 - - - Inclusive subroutine elapsed times (us), - func_abc.pl, sub, func_c - value ------------- Distribution ------------- count - 262144 | 0 - 524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1048576 | 0 - - func_abc.pl, sub, func_b - value ------------- Distribution ------------- count - 524288 | 0 - 1048576 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2097152 | 0 - - func_abc.pl, sub, func_a - value ------------- Distribution ------------- count - 1048576 | 0 - 2097152 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4194304 | 0 - -In total, 3 subroutines were called - func_a(), func_b(), and func_c(). - -The exclusive subroutine elapsed times show that each subroutine spent -between 524 and 1048 ms. This exclusive time excludes the time spent in -other subroutines. - -The inclusive subroutine elapsed times show that func_c() took between 0.5 and -1.0 seconds, func_b() took between 1.0 and 2.1 seconds, and func_a() took -between 2.1 and 4.2 seconds to execute. This inclusive time includes the -time spent in other subroutines called, and since func_a() called func_b() -which called func_c(), these times make sense. - -These elapsed times are the absolute time from when the subroutine began to -when it completed - which includes off-CPU time due to other system events -such as I/O, scheduling, interrupts, etc. - -Elapsed times are useful for identifying where latencies are. -See Notes/ALLelapsed_notes.txt for more details. Also see -Notes/ALLexclusive_notes.txt and Notes/ALLinclusive_notes.txt for a -detailed explanation of exclusive vs inclusive subroutine time. - - - -The following traces a Perl network interface statistics tool, "nicstat" -version 0.99, - -# pl_calldist.d -Tracing... Hit Ctrl-C to end. -^C - -Exclusive subroutine elapsed times (us), - DynaLoader.pm, sub, dl_load_flags - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - Config.pm, sub, TIEHASH - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - Config.pm, sub, DESTROY - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - Config.pm, sub, import - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - register.pm, sub, mkMask - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 8 | 0 - - Config.pm, sub, FETCH - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@ 2 - 4 |@@@@@@@@@@@@@@@@@@@@ 2 - 8 | 0 - - Config.pm, sub, BEGIN - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@ 1 - 16 |@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - strict.pm, sub, import - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@ 1 - 4 |@@@@@@@@@@@@@@@@ 2 - 8 |@@@@@@@@ 1 - 16 |@@@@@@@@ 1 - 32 | 0 - - strict.pm, sub, bits - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 4 - 8 |@@@@@@@ 1 - 16 |@@@@@@@ 1 - 32 | 0 - - strict.pm, sub, unimport - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 16 |@@@@@@@@@@ 1 - 32 | 0 - - AutoLoader.pm, sub, BEGIN - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@ 1 - 4 |@@@@@@@ 1 - 8 |@@@@@@@@@@@@@@@@@@@@ 3 - 16 |@@@@@@@ 1 - 32 | 0 - - Std.pm, sub, getopts - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - register.pm, sub, import - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - vars.pm, sub, import - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 64 | 0 - - Exporter.pm, sub, import - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@ 1 - 64 |@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - DynaLoader.pm, sub, bootstrap - value ------------- Distribution ------------- count - 256 | 0 - 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1024 | 0 - - warnings.pm, sub, BEGIN - value ------------- Distribution ------------- count - 256 | 0 - 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1024 | 0 - - DynaLoader.pm, sub, BEGIN - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - 1024 |@@@@@@@@@@@@@@@@@@@@ 1 - 2048 | 0 - - nicstat, sub, print_neat - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@ 10 - 128 |@@@@@@@@@@@@@@@@@@ 8 - 256 | 0 - - vars.pm, sub, BEGIN - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@ 1 - 4 | 0 - 8 |@@@@@@@@@@@@@ 1 - 16 | 0 - 32 | 0 - 64 | 0 - 128 | 0 - 256 | 0 - 512 | 0 - 1024 | 0 - 2048 |@@@@@@@@@@@@@ 1 - 4096 | 0 - - Kstat.pm, sub, BEGIN - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 16 | 0 - 32 | 0 - 64 | 0 - 128 | 0 - 256 | 0 - 512 | 0 - 1024 | 0 - 2048 |@@@@@@@@@@@@@ 1 - 4096 | 0 - - nicstat, sub, BEGIN - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@ 1 - 512 |@@@@@@@@@@@@@ 1 - 1024 | 0 - 2048 |@@@@@@@@@@@@@ 1 - 4096 | 0 - - nicstat, sub, fetch_net_data - value ------------- Distribution ------------- count - 16384 | 0 - 32768 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 65536 | 0 - - nicstat, sub, find_nets - value ------------- Distribution ------------- count - 16384 | 0 - 32768 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 65536 | 0 - - -Inclusive subroutine elapsed times (us), - DynaLoader.pm, sub, dl_load_flags - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - Config.pm, sub, TIEHASH - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - Config.pm, sub, DESTROY - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - Config.pm, sub, import - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - register.pm, sub, mkMask - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 8 | 0 - - Config.pm, sub, FETCH - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@ 2 - 4 |@@@@@@@@@@@@@@@@@@@@ 2 - 8 | 0 - - strict.pm, sub, bits - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 4 - 8 |@@@@@@@ 1 - 16 |@@@@@@@ 1 - 32 | 0 - - strict.pm, sub, import - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@ 1 - 4 |@@@@@@@@@@@@@@@@ 2 - 8 | 0 - 16 |@@@@@@@@@@@@@@@@ 2 - 32 | 0 - - Config.pm, sub, BEGIN - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@ 1 - 32 |@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - Std.pm, sub, getopts - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - register.pm, sub, import - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - strict.pm, sub, unimport - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 4 - 32 | 0 - - vars.pm, sub, import - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 64 | 0 - - AutoLoader.pm, sub, BEGIN - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@ 1 - 4 |@@@@@@@ 1 - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@ 3 - 32 |@@@@@@@ 1 - 64 | 0 - - Exporter.pm, sub, import - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@ 1 - 64 |@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - DynaLoader.pm, sub, bootstrap - value ------------- Distribution ------------- count - 256 | 0 - 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1024 | 0 - - warnings.pm, sub, BEGIN - value ------------- Distribution ------------- count - 256 | 0 - 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1024 | 0 - - nicstat, sub, print_neat - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@ 10 - 128 |@@@@@@@@@@@@@@@@@@ 8 - 256 | 0 - - vars.pm, sub, BEGIN - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@ 1 - 4 | 0 - 8 | 0 - 16 | 0 - 32 |@@@@@@@@@@@@@ 1 - 64 | 0 - 128 | 0 - 256 | 0 - 512 | 0 - 1024 | 0 - 2048 |@@@@@@@@@@@@@ 1 - 4096 | 0 - - DynaLoader.pm, sub, BEGIN - value ------------- Distribution ------------- count - 512 | 0 - 1024 |@@@@@@@@@@@@@@@@@@@@ 1 - 2048 |@@@@@@@@@@@@@@@@@@@@ 1 - 4096 | 0 - - Kstat.pm, sub, BEGIN - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@ 1 - 32 |@@@@@@@@@@@@@ 1 - 64 | 0 - 128 | 0 - 256 | 0 - 512 | 0 - 1024 | 0 - 2048 | 0 - 4096 | 0 - 8192 |@@@@@@@@@@@@@ 1 - 16384 | 0 - - nicstat, sub, BEGIN - value ------------- Distribution ------------- count - 256 | 0 - 512 |@@@@@@@@@@@@@ 1 - 1024 | 0 - 2048 |@@@@@@@@@@@@@ 1 - 4096 | 0 - 8192 |@@@@@@@@@@@@@ 1 - 16384 | 0 - - nicstat, sub, fetch_net_data - value ------------- Distribution ------------- count - 16384 | 0 - 32768 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 65536 | 0 - - nicstat, sub, find_nets - value ------------- Distribution ------------- count - 16384 | 0 - 32768 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 65536 | 0 - -As an example of interpreting the output: the inclusive elapsed time for -the "print_neat" subroutine in "nicstat", - - nicstat, sub, print_neat - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@ 10 - 128 |@@@@@@@@@@@@@@@@@@ 8 - 256 | 0 - -shows that "print_neat" was called 18 times, 10 of which took between 64 -and 127 microseconds, and 8 of which took between 128 and 255 microseconds. - diff --git a/cddl/contrib/dtracetoolkit/Examples/pl_calltime_example.txt b/cddl/contrib/dtracetoolkit/Examples/pl_calltime_example.txt deleted file mode 100644 index 3cc5480fdc2d..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/pl_calltime_example.txt +++ /dev/null @@ -1,150 +0,0 @@ -The following are examples of pl_calltime.d. - -This script traces the elapsed time of Perl subroutines (functions) and -prints a report. Here it traces the example program, Code/Perl/func_abc.pl. - - # pl_calltime.d - Tracing... Hit Ctrl-C to end. - ^C - - Count, - FILE TYPE NAME COUNT - func_abc.pl sub func_a 1 - func_abc.pl sub func_b 1 - func_abc.pl sub func_c 1 - - total - 3 - - Exclusive subroutine elapsed times (us), - FILE TYPE NAME TOTAL - func_abc.pl sub func_a 1006119 - func_abc.pl sub func_c 1009978 - func_abc.pl sub func_b 1010273 - - total - 3026371 - - Inclusive subroutine elapsed times (us), - FILE TYPE NAME TOTAL - func_abc.pl sub func_c 1009978 - func_abc.pl sub func_b 2020252 - func_abc.pl sub func_a 3026371 - -In total, 3 subroutines were called, one of each. - -The exclusive subroutine elapsed times show that each subroutine spent around -1.0 seconds of time (~1000000 us) processing code - while not in other -subroutines. - -The inclusive subroutine elapsed times show that func_a() took around 3.0 -seconds to execute, followed by func_b() at 2.0 seconds, and func_c() at 1.0. -The inclusive time includes the time spent in other subroutines called, and -since func_a() called func_b() which called func_c(), these times make -perfect sense. - -These elapsed times are the absolute time from when the subroutine began to -when it completed - which includes off-CPU time due to other system events -such as I/O, scheduling, interrupts, etc. - -Elapsed times are useful for identifying where latencies are. -See Notes/ALLelapsed_notes.txt for more details. Also see -Notes/ALLexclusive_notes.txt and Notes/ALLinclusive_notes.txt for a -detailed explanation of exclusive vs inclusive subroutine time. - -If you study the func_abc.pl program alongside the above output, the numbers -should make sense. - - - -The following traces a Perl network interface statistics tool, "nicstat" -version 0.99, - -# pl_calltime.d -Tracing... Hit Ctrl-C to end. -^C - -Count, - FILE TYPE NAME COUNT - Config.pm sub DESTROY 1 - Config.pm sub TIEHASH 1 - Config.pm sub import 1 - DynaLoader.pm sub bootstrap 1 - DynaLoader.pm sub dl_load_flags 1 - Std.pm sub getopts 1 - nicstat sub fetch_net_data 1 - nicstat sub find_nets 1 - register.pm sub import 1 - warnings.pm sub BEGIN 1 - Config.pm sub BEGIN 2 - DynaLoader.pm sub BEGIN 2 - Exporter.pm sub import 2 - register.pm sub mkMask 2 - vars.pm sub import 2 - Kstat.pm sub BEGIN 3 - nicstat sub BEGIN 3 - vars.pm sub BEGIN 3 - Config.pm sub FETCH 4 - strict.pm sub unimport 4 - strict.pm sub import 5 - AutoLoader.pm sub BEGIN 6 - strict.pm sub bits 6 - nicstat sub print_neat 18 - - total - 72 - -Exclusive subroutine elapsed times (us), - FILE TYPE NAME TOTAL - DynaLoader.pm sub dl_load_flags 2 - Config.pm sub TIEHASH 3 - Config.pm sub DESTROY 9 - register.pm sub mkMask 11 - Config.pm sub import 12 - Config.pm sub FETCH 17 - strict.pm sub import 38 - Config.pm sub BEGIN 38 - strict.pm sub bits 49 - vars.pm sub import 59 - strict.pm sub unimport 65 - AutoLoader.pm sub BEGIN 70 - Std.pm sub getopts 78 - register.pm sub import 86 - Exporter.pm sub import 112 - warnings.pm sub BEGIN 680 - DynaLoader.pm sub BEGIN 1131 - DynaLoader.pm sub bootstrap 1221 - nicstat sub print_neat 2450 - vars.pm sub BEGIN 2608 - Kstat.pm sub BEGIN 3171 - nicstat sub BEGIN 3963 - nicstat sub fetch_net_data 45424 - nicstat sub find_nets 55737 - - total - 117047 - -Inclusive subroutine elapsed times (us), - FILE TYPE NAME TOTAL - DynaLoader.pm sub dl_load_flags 2 - Config.pm sub TIEHASH 3 - Config.pm sub DESTROY 9 - register.pm sub mkMask 11 - Config.pm sub import 12 - Config.pm sub FETCH 17 - strict.pm sub import 46 - strict.pm sub bits 49 - vars.pm sub import 59 - Config.pm sub BEGIN 64 - strict.pm sub unimport 87 - register.pm sub import 97 - Std.pm sub getopts 112 - Exporter.pm sub import 112 - AutoLoader.pm sub BEGIN 140 - warnings.pm sub BEGIN 680 - DynaLoader.pm sub bootstrap 1224 - nicstat sub print_neat 2450 - vars.pm sub BEGIN 3412 - DynaLoader.pm sub BEGIN 4656 - Kstat.pm sub BEGIN 8020 - nicstat sub BEGIN 13313 - nicstat sub fetch_net_data 45424 - nicstat sub find_nets 55737 - -The output showed that the most time was spent in the subroutine find_nets(), -with a total exclusive elapsed time of 55.7 ms. This also matches the -total inclusive time, suggesting that find_nets() didn't call other -subroutines. - diff --git a/cddl/contrib/dtracetoolkit/Examples/pl_cpudist_example.txt b/cddl/contrib/dtracetoolkit/Examples/pl_cpudist_example.txt deleted file mode 100644 index a2ccff83f4ed..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/pl_cpudist_example.txt +++ /dev/null @@ -1,470 +0,0 @@ -The following are examples of pl_cpudist.d. - -This script traces the on-CPU time of Perl subroutines (functions) and -prints a report containing distribution plots per subroutine. Here it -traces the example program, Code/Perl/func_slow.pl. - - # pl_cpudist.d - Tracing... Hit Ctrl-C to end. - ^C - - Exclusive subroutine on-CPU times (us), - func_slow.pl, sub, func_a - value ------------- Distribution ------------- count - 131072 | 0 - 262144 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 524288 | 0 - - func_slow.pl, sub, func_b - value ------------- Distribution ------------- count - 262144 | 0 - 524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1048576 | 0 - - func_slow.pl, sub, func_c - value ------------- Distribution ------------- count - 262144 | 0 - 524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1048576 | 0 - - - Inclusive subroutine on-CPU times (us), - func_slow.pl, sub, func_c - value ------------- Distribution ------------- count - 262144 | 0 - 524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1048576 | 0 - - func_slow.pl, sub, func_a - value ------------- Distribution ------------- count - 524288 | 0 - 1048576 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2097152 | 0 - - func_slow.pl, sub, func_b - value ------------- Distribution ------------- count - 524288 | 0 - 1048576 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2097152 | 0 - -The exclusive subroutine on-CPU times show that func_a() spent between -262 ms and 524 ms on-CPU, while func_b() and func_c() both spent between -524 ms and 1048 ms on-CPU. - -The inclusive subroutine on-CPU times show that func_c() spent between 0.5 and -1.0 seconds, and both func_b() and func_a() spent between 1.0 and 2.1 seconds -of CPU time. This inclusive time includes the time spent in other subroutines -called, and since func_a() called func_b() which called func_c(), these times -make sense. - -These on-CPU times are the time the thread spent running on a CPU, from when -the subroutine began to when it completed. This does not include time -spent off-CPU time such as sleeping for I/O or waiting for scheduling. - -On-CPU times are useful for showing who is causing the CPUs to be busy. -See Notes/ALLoncpu_notes.txt for more details. Also see -Notes/ALLexclusive_notes.txt and Notes/ALLinclusive_notes.txt for a -detailed explanation of exclusive vs inclusive subroutine time. - - -The following traces a Perl network interface statistics tool, "nicstat" -version 0.99, - -# pl_cpudist.pl -Tracing... Hit Ctrl-C to end. -^C - -Exclusive subroutine on-CPU times (us), - Config.pm, sub, TIEHASH - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - DynaLoader.pm, sub, dl_load_flags - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - Config.pm, sub, BEGIN - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 4 | 0 - - Config.pm, sub, DESTROY - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - register.pm, sub, mkMask - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@ 1 - 4 |@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - Config.pm, sub, import - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - Config.pm, sub, FETCH - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 4 |@@@@@@@@@@ 1 - 8 | 0 - - strict.pm, sub, unimport - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 8 |@@@@@@@@@@ 1 - 16 | 0 - - Std.pm, sub, getopts - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - register.pm, sub, import - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - strict.pm, sub, import - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@ 2 - 4 |@@@@@@@@ 1 - 8 |@@@@@@@@ 1 - 16 |@@@@@@@@ 1 - 32 | 0 - - strict.pm, sub, bits - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 4 - 8 |@@@@@@@ 1 - 16 |@@@@@@@ 1 - 32 | 0 - - AutoLoader.pm, sub, BEGIN - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@ 1 - 2 |@@@@@@@@@@@@@ 2 - 4 |@@@@@@@@@@@@@ 2 - 8 | 0 - 16 | 0 - 32 |@@@@@@@ 1 - 64 | 0 - - vars.pm, sub, import - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 64 | 0 - - Exporter.pm, sub, import - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - nicstat, sub, print_neat - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 16 - 32 |@@ 1 - 64 |@@ 1 - 128 | 0 - - DynaLoader.pm, sub, bootstrap - value ------------- Distribution ------------- count - 256 | 0 - 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1024 | 0 - - warnings.pm, sub, BEGIN - value ------------- Distribution ------------- count - 256 | 0 - 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1024 | 0 - - DynaLoader.pm, sub, BEGIN - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@ 1 - 512 |@@@@@@@@@@@@@@@@@@@@ 1 - 1024 | 0 - - vars.pm, sub, BEGIN - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@ 1 - 2 |@@@@@@@@@@@@@ 1 - 4 | 0 - 8 | 0 - 16 | 0 - 32 | 0 - 64 | 0 - 128 | 0 - 256 | 0 - 512 | 0 - 1024 | 0 - 2048 |@@@@@@@@@@@@@ 1 - 4096 | 0 - - Kstat.pm, sub, BEGIN - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 4 | 0 - 8 | 0 - 16 | 0 - 32 | 0 - 64 | 0 - 128 | 0 - 256 | 0 - 512 | 0 - 1024 | 0 - 2048 |@@@@@@@@@@@@@ 1 - 4096 | 0 - - nicstat, sub, BEGIN - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 512 | 0 - 1024 | 0 - 2048 |@@@@@@@@@@@@@ 1 - 4096 | 0 - - nicstat, sub, fetch_net_data - value ------------- Distribution ------------- count - 16384 | 0 - 32768 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 65536 | 0 - - nicstat, sub, find_nets - value ------------- Distribution ------------- count - 16384 | 0 - 32768 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 65536 | 0 - - -Inclusive subroutine on-CPU times (us), - Config.pm, sub, TIEHASH - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - DynaLoader.pm, sub, dl_load_flags - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - Config.pm, sub, DESTROY - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - register.pm, sub, mkMask - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@ 1 - 4 |@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - Config.pm, sub, import - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - Config.pm, sub, FETCH - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 4 |@@@@@@@@@@ 1 - 8 | 0 - - Config.pm, sub, BEGIN - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - strict.pm, sub, unimport - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 4 - 16 | 0 - - strict.pm, sub, import - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@ 2 - 4 | 0 - 8 |@@@@@@@@@@@@@@@@ 2 - 16 |@@@@@@@@ 1 - 32 | 0 - - strict.pm, sub, bits - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 4 - 8 |@@@@@@@ 1 - 16 |@@@@@@@ 1 - 32 | 0 - - Std.pm, sub, getopts - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - register.pm, sub, import - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - vars.pm, sub, import - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 64 | 0 - - AutoLoader.pm, sub, BEGIN - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@ 1 - 2 | 0 - 4 |@@@@@@@ 1 - 8 |@@@@@@@@@@@@@ 2 - 16 |@@@@@@@ 1 - 32 |@@@@@@@ 1 - 64 | 0 - - Exporter.pm, sub, import - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - nicstat, sub, print_neat - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 16 - 32 |@@ 1 - 64 |@@ 1 - 128 | 0 - - DynaLoader.pm, sub, bootstrap - value ------------- Distribution ------------- count - 256 | 0 - 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1024 | 0 - - warnings.pm, sub, BEGIN - value ------------- Distribution ------------- count - 256 | 0 - 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1024 | 0 - - vars.pm, sub, BEGIN - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@ 1 - 2 | 0 - 4 | 0 - 8 | 0 - 16 |@@@@@@@@@@@@@ 1 - 32 | 0 - 64 | 0 - 128 | 0 - 256 | 0 - 512 | 0 - 1024 | 0 - 2048 |@@@@@@@@@@@@@ 1 - 4096 | 0 - - DynaLoader.pm, sub, BEGIN - value ------------- Distribution ------------- count - 256 | 0 - 512 |@@@@@@@@@@@@@@@@@@@@ 1 - 1024 | 0 - 2048 |@@@@@@@@@@@@@@@@@@@@ 1 - 4096 | 0 - - Kstat.pm, sub, BEGIN - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@ 1 - 8 | 0 - 16 | 0 - 32 |@@@@@@@@@@@@@ 1 - 64 | 0 - 128 | 0 - 256 | 0 - 512 | 0 - 1024 | 0 - 2048 | 0 - 4096 |@@@@@@@@@@@@@ 1 - 8192 | 0 - - nicstat, sub, BEGIN - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@ 1 - 512 | 0 - 1024 | 0 - 2048 |@@@@@@@@@@@@@ 1 - 4096 | 0 - 8192 |@@@@@@@@@@@@@ 1 - 16384 | 0 - - nicstat, sub, fetch_net_data - value ------------- Distribution ------------- count - 16384 | 0 - 32768 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 65536 | 0 - - nicstat, sub, find_nets - value ------------- Distribution ------------- count - 16384 | 0 - 32768 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 65536 | 0 - -As an example of interpreting the output: the inclusive on-CPU time for -the "print_neat" subroutine in "nicstat", - - nicstat, sub, print_neat - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 16 - 32 |@@ 1 - 64 |@@ 1 - 128 | 0 - -shows that "print_neat" was called 18 times, 16 of which spent between 16 -and 31 microseconds on-CPU, once between 32 and 63 microseconds, and once -between 64 and 127 microseconds. - diff --git a/cddl/contrib/dtracetoolkit/Examples/pl_cputime_example.txt b/cddl/contrib/dtracetoolkit/Examples/pl_cputime_example.txt deleted file mode 100644 index 5dc56eead288..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/pl_cputime_example.txt +++ /dev/null @@ -1,151 +0,0 @@ -The following are examples of pl_cputime.d. - -This script traces the on-CPU time of Perl subroutines (functions) and -prints a report. Here it traces the example program, Code/Perl/func_slow.pl. - - # pl_cputime.d - Tracing... Hit Ctrl-C to end. - ^C - - Count, - FILE TYPE NAME COUNT - func_slow.pl sub func_a 1 - func_slow.pl sub func_b 1 - func_slow.pl sub func_c 1 - - total - 3 - - Exclusive subroutine on-CPU times (us), - FILE TYPE NAME TOTAL - func_slow.pl sub func_a 264193 - func_slow.pl sub func_b 538498 - func_slow.pl sub func_c 798961 - - total - 1601653 - - Inclusive subroutine on-CPU times (us), - FILE TYPE NAME TOTAL - func_slow.pl sub func_c 798961 - func_slow.pl sub func_b 1337459 - func_slow.pl sub func_a 1601653 - -In total, 3 subroutines were called, one each of func_a(), func_b() and -func_c(). - -The exclusive subroutine on-CPU times show that func_a() spent around 264.2 ms -on-CPU, func_b() spent 538.5 ms, and func_c() spent 799.0 ms. This exclusive -times excludes time spent in other subroutines. - -The inclusive subroutine on-CPU times show that func_c() spent around 799.0 ms -on-CPU, func_b() spent around 1.3 seconds, and func_a() spent around 1.6 -seconds. This inclusive time includes the time spent in other subroutines -called, and since func_a() called func_b() which called func_c(), these -times make perfect sense. - -These on-CPU times are the time the thread spent running on a CPU, from when -the subroutine began to when it completed. This does not include time -spent off-CPU time such as sleeping for I/O or waiting for scheduling. - -On-CPU times are useful for showing who is causing the CPUs to be busy. -See Notes/ALLoncpu_notes.txt for more details. Also see -Notes/ALLexclusive_notes.txt and Notes/ALLinclusive_notes.txt for a -detailed explanation of exclusive vs inclusive subroutine time. - -If you study the func_slow.pl program alongside the above output, the numbers -should make sense. - - - -The following traces a Perl network interface statistics tool, "nicstat" -version 0.99, - -# pl_cputime.pl -Tracing... Hit Ctrl-C to end. -^C - -Count, - FILE TYPE NAME COUNT - Config.pm sub DESTROY 1 - Config.pm sub TIEHASH 1 - Config.pm sub import 1 - DynaLoader.pm sub bootstrap 1 - DynaLoader.pm sub dl_load_flags 1 - Std.pm sub getopts 1 - nicstat sub fetch_net_data 1 - nicstat sub find_nets 1 - register.pm sub import 1 - warnings.pm sub BEGIN 1 - Config.pm sub BEGIN 2 - DynaLoader.pm sub BEGIN 2 - Exporter.pm sub import 2 - register.pm sub mkMask 2 - vars.pm sub import 2 - Kstat.pm sub BEGIN 3 - nicstat sub BEGIN 3 - vars.pm sub BEGIN 3 - Config.pm sub FETCH 4 - strict.pm sub unimport 4 - strict.pm sub import 5 - AutoLoader.pm sub BEGIN 6 - strict.pm sub bits 6 - nicstat sub print_neat 18 - - total - 72 - -Exclusive subroutine on-CPU times (us), - FILE TYPE NAME TOTAL - DynaLoader.pm sub dl_load_flags 2 - Config.pm sub TIEHASH 2 - Config.pm sub DESTROY 6 - Config.pm sub BEGIN 7 - register.pm sub mkMask 8 - Config.pm sub import 11 - Config.pm sub FETCH 12 - strict.pm sub unimport 17 - strict.pm sub import 21 - AutoLoader.pm sub BEGIN 22 - Std.pm sub getopts 33 - strict.pm sub bits 40 - register.pm sub import 51 - vars.pm sub import 65 - Exporter.pm sub import 88 - nicstat sub print_neat 426 - warnings.pm sub BEGIN 598 - DynaLoader.pm sub bootstrap 677 - DynaLoader.pm sub BEGIN 1015 - Kstat.pm sub BEGIN 2627 - vars.pm sub BEGIN 2642 - nicstat sub BEGIN 3033 - nicstat sub fetch_net_data 42018 - nicstat sub find_nets 52094 - - total - 105526 - -Inclusive subroutine on-CPU times (us), - FILE TYPE NAME TOTAL - DynaLoader.pm sub dl_load_flags 2 - Config.pm sub TIEHASH 2 - Config.pm sub DESTROY 6 - register.pm sub mkMask 8 - Config.pm sub import 11 - Config.pm sub FETCH 12 - Config.pm sub BEGIN 19 - strict.pm sub import 28 - strict.pm sub unimport 35 - strict.pm sub bits 40 - AutoLoader.pm sub BEGIN 51 - register.pm sub import 59 - Std.pm sub getopts 63 - vars.pm sub import 65 - Exporter.pm sub import 88 - nicstat sub print_neat 426 - warnings.pm sub BEGIN 598 - DynaLoader.pm sub bootstrap 680 - vars.pm sub BEGIN 3313 - DynaLoader.pm sub BEGIN 4401 - Kstat.pm sub BEGIN 7124 - nicstat sub BEGIN 10916 - nicstat sub fetch_net_data 42018 - nicstat sub find_nets 52094 - -The output showed that the most CPU time was spent in the subroutine -find_nets(), with a total exclusive on-CPU time of 52.1 ms. This also matches -the total inclusive time, suggesting that find_nets() didn't call other -subroutines. - diff --git a/cddl/contrib/dtracetoolkit/Examples/pl_flow_example.txt b/cddl/contrib/dtracetoolkit/Examples/pl_flow_example.txt deleted file mode 100644 index dcce6e04de03..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/pl_flow_example.txt +++ /dev/null @@ -1,179 +0,0 @@ -The following are examples of pl_flow.d. - -This is a simple script to trace the flow of Perl subroutines (functions). -Here it traces the example program, Code/Perl/func_abc.pl. - - # pl_flow.d - C TIME(us) FILE -- SUB - 0 2979519183757 func_abc.pl -> func_a - 0 2979520190159 func_abc.pl -> func_b - 0 2979521200166 func_abc.pl -> func_c - 0 2979522210184 func_abc.pl <- func_c - 0 2979522210199 func_abc.pl <- func_b - 0 2979522210207 func_abc.pl <- func_a - ^C - -As each subroutine is entered, the third column is indented by 2 spaces. This -shows which subroutine is calling who - the output abovebegins by showing that -func_a() began, and then called func_b(). - -If the output looks shuffled, check the CPU "C" and "TIME" columns, and -post sort based on TIME if necessary. - -See Notes/ALLflow_notes.txt for important notes about reading flow outputs. - - - -The following traces a Perl network interface statistics tool, "nicstat" -version 0.99, - -# pl_flow.d - C TIME(us) FILE -- SUB - 0 4181899422549 nicstat -> BEGIN - 0 4181899423048 strict.pm -> bits - 0 4181899423081 strict.pm <- bits - 0 4181899423105 strict.pm -> import - 0 4181899423126 strict.pm <- import - 0 4181899423133 nicstat <- BEGIN - 0 4181899423157 nicstat -> BEGIN - 0 4181899445634 Exporter.pm -> import - 0 4181899445730 Exporter.pm <- import - 0 4181899445743 nicstat <- BEGIN - 0 4181899445770 nicstat -> BEGIN - 0 4181899446066 Kstat.pm -> BEGIN - 0 4181899446076 strict.pm -> import - 0 4181899446087 strict.pm <- import - 0 4181899446094 Kstat.pm <- BEGIN - 0 4181899446116 Kstat.pm -> BEGIN - 0 4181899453669 DynaLoader.pm -> BEGIN - 0 4181899453810 vars.pm -> BEGIN - 0 4181899453821 vars.pm <- BEGIN - 0 4181899453921 vars.pm -> BEGIN - 0 4181899454494 warnings.pm -> BEGIN - 0 4181899455149 warnings.pm <- BEGIN - 0 4181899457183 register.pm -> import - 0 4181899457202 register.pm -> mkMask - 0 4181899457214 register.pm <- mkMask - 0 4181899457264 register.pm -> mkMask - 0 4181899457274 register.pm <- mkMask - 0 4181899457283 register.pm <- import - 0 4181899457290 vars.pm <- BEGIN - 0 4181899457316 vars.pm -> BEGIN - 0 4181899457324 strict.pm -> import - 0 4181899457332 strict.pm -> bits - 0 4181899457345 strict.pm <- bits - 0 4181899457353 strict.pm <- import - 0 4181899457359 vars.pm <- BEGIN - 0 4181899457652 vars.pm -> import - 0 4181899457703 vars.pm <- import - 0 4181899457710 DynaLoader.pm <- BEGIN - 0 4181899457758 DynaLoader.pm -> BEGIN - 0 4181899457883 Config.pm -> BEGIN - 0 4181899457890 strict.pm -> import - 0 4181899457899 strict.pm <- import - 0 4181899457906 Config.pm <- BEGIN - 0 4181899458038 Config.pm -> BEGIN - 0 4181899458045 strict.pm -> unimport - 0 4181899458053 strict.pm -> bits - 0 4181899458063 strict.pm <- bits - 0 4181899458077 strict.pm <- unimport - 0 4181899458084 Config.pm <- BEGIN - 0 4181899458426 Config.pm -> TIEHASH - 0 4181899458435 Config.pm <- TIEHASH - 0 4181899458476 Config.pm -> import - 0 4181899458493 Config.pm <- import - 0 4181899458500 DynaLoader.pm <- BEGIN - 0 4181899459978 AutoLoader.pm -> BEGIN - 0 4181899459990 strict.pm -> import - 0 4181899460033 strict.pm <- import - 0 4181899460064 AutoLoader.pm <- BEGIN - 0 4181899460088 AutoLoader.pm -> BEGIN - 0 4181899460096 AutoLoader.pm <- BEGIN - 0 4181899460187 AutoLoader.pm -> BEGIN - 0 4181899460199 AutoLoader.pm <- BEGIN - 0 4181899460582 AutoLoader.pm -> BEGIN - 0 4181899460590 strict.pm -> unimport - 0 4181899460598 strict.pm -> bits - 0 4181899460611 strict.pm <- bits - 0 4181899460619 strict.pm <- unimport - 0 4181899460625 AutoLoader.pm <- BEGIN - 0 4181899460830 AutoLoader.pm -> BEGIN - 0 4181899460838 strict.pm -> unimport - 0 4181899460845 strict.pm -> bits - 0 4181899460855 strict.pm <- bits - 0 4181899460862 strict.pm <- unimport - 0 4181899460869 AutoLoader.pm <- BEGIN - 0 4181899461092 AutoLoader.pm -> BEGIN - 0 4181899461100 strict.pm -> unimport - 0 4181899461107 strict.pm -> bits - 0 4181899461116 strict.pm <- bits - 0 4181899461124 strict.pm <- unimport - 0 4181899461130 AutoLoader.pm <- BEGIN - 0 4181899461238 Config.pm -> FETCH - 0 4181899461250 Config.pm <- FETCH - 0 4181899461264 Config.pm -> FETCH - 0 4181899461272 Config.pm <- FETCH - 0 4181899461282 Config.pm -> FETCH - 0 4181899461290 Config.pm <- FETCH - 0 4181899461299 Config.pm -> FETCH - 0 4181899461307 Config.pm <- FETCH - 0 4181899461403 Kstat.pm <- BEGIN - 0 4181899461432 Kstat.pm -> BEGIN - 0 4181899461440 vars.pm -> import - 0 4181899461476 vars.pm <- import - 0 4181899461483 Kstat.pm <- BEGIN - 0 4181899461539 DynaLoader.pm -> bootstrap - 0 4181899461769 DynaLoader.pm -> dl_load_flags - 0 4181899461777 DynaLoader.pm <- dl_load_flags - 0 4181899462208 DynaLoader.pm <- bootstrap - 0 4181899462231 nicstat <- BEGIN - 0 4181899468306 Std.pm -> getopts - 0 4181899468351 Exporter.pm -> import - 0 4181899468390 Exporter.pm <- import - 0 4181899468405 Std.pm <- getopts - 0 4181899468426 nicstat -> find_nets - 0 4181899521011 nicstat <- find_nets - 0 4181899521415 nicstat -> fetch_net_data - 0 4181899564973 nicstat <- fetch_net_data - 0 4181899565526 nicstat -> print_neat - 0 4181899565672 nicstat <- print_neat - 0 4181899565680 nicstat -> print_neat - 0 4181899565902 nicstat <- print_neat - 0 4181899565909 nicstat -> print_neat - 0 4181899566033 nicstat <- print_neat - 0 4181899566039 nicstat -> print_neat - 0 4181899566165 nicstat <- print_neat - 0 4181899566172 nicstat -> print_neat - 0 4181899566331 nicstat <- print_neat - 0 4181899566338 nicstat -> print_neat - 0 4181899566494 nicstat <- print_neat - 0 4181899566791 nicstat -> print_neat - 0 4181899566953 nicstat <- print_neat - 0 4181899566961 nicstat -> print_neat - 0 4181899567085 nicstat <- print_neat - 0 4181899567091 nicstat -> print_neat - 0 4181899567247 nicstat <- print_neat - 0 4181899567254 nicstat -> print_neat - 0 4181899567377 nicstat <- print_neat - 0 4181899567383 nicstat -> print_neat - 0 4181899567538 nicstat <- print_neat - 0 4181899567544 nicstat -> print_neat - 0 4181899567666 nicstat <- print_neat - 0 4181899567977 nicstat -> print_neat - 0 4181899568232 nicstat <- print_neat - 0 4181899568240 nicstat -> print_neat - 0 4181899568397 nicstat <- print_neat - 0 4181899568404 nicstat -> print_neat - 0 4181899568528 nicstat <- print_neat - 0 4181899568535 nicstat -> print_neat - 0 4181899568656 nicstat <- print_neat - 0 4181899568663 nicstat -> print_neat - 0 4181899568819 nicstat <- print_neat - 0 4181899568826 nicstat -> print_neat - 0 4181899568947 nicstat <- print_neat - 0 4181899572708 Config.pm -> DESTROY - 0 4181899572735 Config.pm <- DESTROY - -After initialising Perl libraries and modules, the "nicstat" program ran, -the output matching what was expected from the source. - diff --git a/cddl/contrib/dtracetoolkit/Examples/pl_flowinfo_example.txt b/cddl/contrib/dtracetoolkit/Examples/pl_flowinfo_example.txt deleted file mode 100644 index e4b406f14c49..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/pl_flowinfo_example.txt +++ /dev/null @@ -1,188 +0,0 @@ -The following are examples of pl_flowinfo.d. - -This is a simple script to trace the flow of Perl subroutines (functions). -Here it traces the example program, Code/Perl/func_abc.pl. - - # pl_flowinfo.d - C PID DELTA(us) FILE:LINE TYPE -- SUB - 0 305127 2 func_abc.pl:15 sub -> func_a - 0 305127 1008776 func_abc.pl:9 sub -> func_b - 0 305127 1010019 func_abc.pl:4 sub -> func_c - 0 305127 1009979 func_abc.pl:4 sub <- func_c - 0 305127 26 func_abc.pl:9 sub <- func_b - 0 305127 9 func_abc.pl:15 sub <- func_a - ^C - -As each subroutine is entered, the third column is indented by 2 spaces. This -shows which subroutine is calling who - the output abovebegins by showing that -func_a() began, and then called func_b(). - -The DELTA(us) column shows time from that line to the previous line, and -so can be a bit tricky to read. For example, the second line of data output -(skipping the header) reads as "the time from func_a() beginning to -func_b() beginning was 1008776 us, or 1.01 seconds". - -The LINE column shows the line in the file what was being executed. Refer -to the source program to see what this line refers to. - -If the output looks shuffled, check the CPU "C" column - if it changes, -then the output is probably shuffled. See Notes/ALLsnoop_notes.txt for -details and suggested workarounds. - -See Notes/ALLflow_notes.txt for important notes about reading flow outputs. - - - -The following traces a Perl network interface statistics tool, "nicstat" -version 0.99, - -# pl_flowinfo.d -C PID DELTA(us) FILE:LINE TYPE -- SUB -0 305132 2 nicstat:83 sub -> BEGIN -0 305132 444 strict.pm:12 sub -> bits -0 305132 34 strict.pm:12 sub <- bits -0 305132 32 strict.pm:28 sub -> import -0 305132 22 strict.pm:28 sub <- import -0 305132 8 nicstat:83 sub <- BEGIN -0 305132 26 nicstat:84 sub -> BEGIN -0 305132 2339 Exporter.pm:30 sub -> import -0 305132 83 Exporter.pm:30 sub <- import -0 305132 14 nicstat:84 sub <- BEGIN -0 305132 27 nicstat:85 sub -> BEGIN -0 305132 205 Kstat.pm:34 sub -> BEGIN -0 305132 11 strict.pm:28 sub -> import -0 305132 11 strict.pm:28 sub <- import -0 305132 8 Kstat.pm:34 sub <- BEGIN -0 305132 23 Kstat.pm:35 sub -> BEGIN -0 305132 187 DynaLoader.pm:18 sub -> BEGIN -0 305132 73 vars.pm:3 sub -> BEGIN -0 305132 9 vars.pm:3 sub <- BEGIN -0 305132 34 vars.pm:7 sub -> BEGIN -0 305132 470 warnings.pm:134 sub -> BEGIN -0 305132 598 warnings.pm:134 sub <- BEGIN -0 305132 2151 register.pm:37 sub -> import -0 305132 23 register.pm:28 sub -> mkMask -0 305132 13 register.pm:28 sub <- mkMask -0 305132 53 register.pm:28 sub -> mkMask -0 305132 11 register.pm:28 sub <- mkMask -0 305132 11 register.pm:37 sub <- import -0 305132 8 vars.pm:7 sub <- BEGIN -0 305132 28 vars.pm:8 sub -> BEGIN -0 305132 9 strict.pm:28 sub -> import -0 305132 8 strict.pm:12 sub -> bits -0 305132 13 strict.pm:12 sub <- bits -0 305132 9 strict.pm:28 sub <- import -0 305132 8 vars.pm:8 sub <- BEGIN -0 305132 294 vars.pm:11 sub -> import -0 305132 52 vars.pm:11 sub <- import -0 305132 8 DynaLoader.pm:18 sub <- BEGIN -0 305132 48 DynaLoader.pm:25 sub -> BEGIN -0 305132 97 Config.pm:5 sub -> BEGIN -0 305132 9 strict.pm:28 sub -> import -0 305132 9 strict.pm:28 sub <- import -0 305132 8 Config.pm:5 sub <- BEGIN -0 305132 134 Config.pm:31 sub -> BEGIN -0 305132 9 strict.pm:33 sub -> unimport -0 305132 8 strict.pm:12 sub -> bits -0 305132 11 strict.pm:12 sub <- bits -0 305132 16 strict.pm:33 sub <- unimport -0 305132 8 Config.pm:31 sub <- BEGIN -0 305132 343 Config.pm:60 sub -> TIEHASH -0 305132 10 Config.pm:60 sub <- TIEHASH -0 305132 44 Config.pm:25 sub -> import -0 305132 18 Config.pm:25 sub <- import -0 305132 9 DynaLoader.pm:25 sub <- BEGIN -0 305132 1301 AutoLoader.pm:3 sub -> BEGIN -0 305132 11 strict.pm:28 sub -> import -0 305132 10 strict.pm:28 sub <- import -0 305132 9 AutoLoader.pm:3 sub <- BEGIN -0 305132 22 AutoLoader.pm:4 sub -> BEGIN -0 305132 9 AutoLoader.pm:4 sub <- BEGIN -0 305132 89 AutoLoader.pm:14 sub -> BEGIN -0 305132 13 AutoLoader.pm:14 sub <- BEGIN -0 305132 375 AutoLoader.pm:95 sub -> BEGIN -0 305132 9 strict.pm:33 sub -> unimport -0 305132 8 strict.pm:12 sub -> bits -0 305132 11 strict.pm:12 sub <- bits -0 305132 9 strict.pm:33 sub <- unimport -0 305132 8 AutoLoader.pm:95 sub <- BEGIN -0 305132 203 AutoLoader.pm:128 sub -> BEGIN -0 305132 9 strict.pm:33 sub -> unimport -0 305132 8 strict.pm:12 sub -> bits -0 305132 11 strict.pm:12 sub <- bits -0 305132 9 strict.pm:33 sub <- unimport -0 305132 8 AutoLoader.pm:128 sub <- BEGIN -0 305132 220 AutoLoader.pm:173 sub -> BEGIN -0 305132 9 strict.pm:33 sub -> unimport -0 305132 8 strict.pm:12 sub -> bits -0 305132 10 strict.pm:12 sub <- bits -0 305132 9 strict.pm:33 sub <- unimport -0 305132 8 AutoLoader.pm:173 sub <- BEGIN -0 305132 103 Config.pm:52 sub -> FETCH -0 305132 12 Config.pm:52 sub <- FETCH -0 305132 16 Config.pm:52 sub -> FETCH -0 305132 9 Config.pm:52 sub <- FETCH -0 305132 11 Config.pm:52 sub -> FETCH -0 305132 9 Config.pm:52 sub <- FETCH -0 305132 11 Config.pm:52 sub -> FETCH -0 305132 9 Config.pm:52 sub <- FETCH -0 305132 95 Kstat.pm:35 sub <- BEGIN -0 305132 29 Kstat.pm:36 sub -> BEGIN -0 305132 10 vars.pm:11 sub -> import -0 305132 33 vars.pm:11 sub <- import -0 305132 8 Kstat.pm:36 sub <- BEGIN -0 305132 56 DynaLoader.pm:133 sub -> bootstrap -0 305132 314 DynaLoader.pm:48 sub -> dl_load_flags -0 305132 11 DynaLoader.pm:48 sub <- dl_load_flags -0 305132 1113 DynaLoader.pm:133 sub <- bootstrap -0 305132 41 nicstat:85 sub <- BEGIN -0 305132 6102 Std.pm:219 sub -> getopts -0 305132 52 Exporter.pm:30 sub -> import -0 305132 40 Exporter.pm:30 sub <- import -0 305132 22 Std.pm:219 sub <- getopts -0 305132 24 nicstat:264 sub -> find_nets -0 305132 79662 nicstat:264 sub <- find_nets -0 305132 420 nicstat:304 sub -> fetch_net_data -0 305132 43871 nicstat:304 sub <- fetch_net_data -0 305132 479 nicstat:372 sub -> print_neat -0 305132 150 nicstat:372 sub <- print_neat -0 305132 10 nicstat:372 sub -> print_neat -0 305132 220 nicstat:372 sub <- print_neat -0 305132 10 nicstat:372 sub -> print_neat -0 305132 126 nicstat:372 sub <- print_neat -0 305132 10 nicstat:372 sub -> print_neat -0 305132 125 nicstat:372 sub <- print_neat -0 305132 10 nicstat:372 sub -> print_neat -0 305132 157 nicstat:372 sub <- print_neat -0 305132 10 nicstat:372 sub -> print_neat -0 305132 171 nicstat:372 sub <- print_neat -0 305132 343 nicstat:372 sub -> print_neat -0 305132 128 nicstat:372 sub <- print_neat -0 305132 10 nicstat:372 sub -> print_neat -0 305132 157 nicstat:372 sub <- print_neat -0 305132 9 nicstat:372 sub -> print_neat -0 305132 125 nicstat:372 sub <- print_neat -0 305132 9 nicstat:372 sub -> print_neat -0 305132 123 nicstat:372 sub <- print_neat -0 305132 9 nicstat:372 sub -> print_neat -0 305132 160 nicstat:372 sub <- print_neat -0 305132 10 nicstat:372 sub -> print_neat -0 305132 124 nicstat:372 sub <- print_neat -0 305132 342 nicstat:372 sub -> print_neat -0 305132 126 nicstat:372 sub <- print_neat -0 305132 10 nicstat:372 sub -> print_neat -0 305132 123 nicstat:372 sub <- print_neat -0 305132 10 nicstat:372 sub -> print_neat -0 305132 156 nicstat:372 sub <- print_neat -0 305132 10 nicstat:372 sub -> print_neat -0 305132 153 nicstat:372 sub <- print_neat -0 305132 10 nicstat:372 sub -> print_neat -0 305132 123 nicstat:372 sub <- print_neat -0 305132 9 nicstat:372 sub -> print_neat -0 305132 123 nicstat:372 sub <- print_neat -0 305132 3736 Config.pm:63 sub -> DESTROY -0 305132 32 Config.pm:63 sub <- DESTROY - -After initialising Perl libraries and modules, the "nicstat" program ran, -the output matching what was expected from the source. - diff --git a/cddl/contrib/dtracetoolkit/Examples/pl_flowtime_example.txt b/cddl/contrib/dtracetoolkit/Examples/pl_flowtime_example.txt deleted file mode 100644 index 24c53838a9e6..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/pl_flowtime_example.txt +++ /dev/null @@ -1,199 +0,0 @@ -The following are examples of pl_flowtime.d. - -This is a simple script to trace the flow of Perl subroutines (functions). -Here it traces the example program, Code/Perl/func_abc.pl. - - # pl_flowtime.d - C TIME(us) FILE DELTA(us) -- SUB - 0 4201460363351 func_abc.pl 2 -> func_a - 0 4201461370041 func_abc.pl 1006689 -> func_b - 0 4201462380038 func_abc.pl 1009997 -> func_c - 0 4201463390094 func_abc.pl 1010055 <- func_c - 0 4201463390117 func_abc.pl 23 <- func_b - 0 4201463390126 func_abc.pl 8 <- func_a - ^C - -As each subroutine is entered, the third column is indented by 2 spaces. This -shows which subroutine is calling who - the output above begins by showing that -func_a() began, and then called func_b(). - -The DELTA(us) column shows time from that line to the previous line, and -so can be a bit tricky to read. For example, the second line of data output -(skipping the header) reads as "the time from func_a() beginning to -func_b() beginning was 1006689 us, or 1.01 seconds". - -If the output looks shuffled, check the CPU "C" and "TIME" columns, and -post sort based on TIME if necessary. - -See Notes/ALLflow_notes.txt for important notes about reading flow outputs. - - - -The following traces a Perl network interface statistics tool, "nicstat" -version 0.99, - -# pl_flowtime.d - C TIME(us) FILE DELTA(us) -- SUB - 0 4201691465151 nicstat 2 -> BEGIN - 0 4201691465593 strict.pm 441 -> bits - 0 4201691465625 strict.pm 32 <- bits - 0 4201691465655 strict.pm 29 -> import - 0 4201691465676 strict.pm 21 <- import - 0 4201691465684 nicstat 7 <- BEGIN - 0 4201691465710 nicstat 25 -> BEGIN - 0 4201691468038 Exporter.pm 2328 -> import - 0 4201691468121 Exporter.pm 82 <- import - 0 4201691468133 nicstat 12 <- BEGIN - 0 4201691468160 nicstat 26 -> BEGIN - 0 4201691468367 Kstat.pm 207 -> BEGIN - 0 4201691468378 strict.pm 10 -> import - 0 4201691468388 strict.pm 10 <- import - 0 4201691468396 Kstat.pm 8 <- BEGIN - 0 4201691468419 Kstat.pm 23 -> BEGIN - 0 4201691468612 DynaLoader.pm 192 -> BEGIN - 0 4201691468685 vars.pm 73 -> BEGIN - 0 4201691468694 vars.pm 8 <- BEGIN - 0 4201691468727 vars.pm 33 -> BEGIN - 0 4201691469199 warnings.pm 471 -> BEGIN - 0 4201691469863 warnings.pm 663 <- BEGIN - 0 4201691471965 register.pm 2102 -> import - 0 4201691471986 register.pm 21 -> mkMask - 0 4201691472000 register.pm 13 <- mkMask - 0 4201691472052 register.pm 52 -> mkMask - 0 4201691472063 register.pm 10 <- mkMask - 0 4201691472074 register.pm 10 <- import - 0 4201691472081 vars.pm 7 <- BEGIN - 0 4201691472109 vars.pm 28 -> BEGIN - 0 4201691472118 strict.pm 8 -> import - 0 4201691472126 strict.pm 8 -> bits - 0 4201691472139 strict.pm 12 <- bits - 0 4201691472148 strict.pm 9 <- import - 0 4201691472155 vars.pm 7 <- BEGIN - 0 4201691472450 vars.pm 294 -> import - 0 4201691472501 vars.pm 51 <- import - 0 4201691472509 DynaLoader.pm 7 <- BEGIN - 0 4201691472557 DynaLoader.pm 48 -> BEGIN - 0 4201691472650 Config.pm 92 -> BEGIN - 0 4201691472658 strict.pm 8 -> import - 0 4201691472667 strict.pm 8 <- import - 0 4201691472675 Config.pm 7 <- BEGIN - 0 4201691472809 Config.pm 133 -> BEGIN - 0 4201691472817 strict.pm 8 -> unimport - 0 4201691472825 strict.pm 8 -> bits - 0 4201691472852 strict.pm 26 <- bits - 0 4201691472868 strict.pm 16 <- unimport - 0 4201691472876 Config.pm 7 <- BEGIN - 0 4201691473222 Config.pm 345 -> TIEHASH - 0 4201691473231 Config.pm 9 <- TIEHASH - 0 4201691473275 Config.pm 43 -> import - 0 4201691473292 Config.pm 17 <- import - 0 4201691473301 DynaLoader.pm 8 <- BEGIN - 0 4201691474650 AutoLoader.pm 1349 -> BEGIN - 0 4201691474661 strict.pm 10 -> import - 0 4201691474670 strict.pm 9 <- import - 0 4201691474679 AutoLoader.pm 8 <- BEGIN - 0 4201691474701 AutoLoader.pm 21 -> BEGIN - 0 4201691474709 AutoLoader.pm 8 <- BEGIN - 0 4201691474797 AutoLoader.pm 88 -> BEGIN - 0 4201691474810 AutoLoader.pm 12 <- BEGIN - 0 4201691475186 AutoLoader.pm 376 -> BEGIN - 0 4201691475195 strict.pm 9 -> unimport - 0 4201691475203 strict.pm 7 -> bits - 0 4201691475214 strict.pm 10 <- bits - 0 4201691475223 strict.pm 8 <- unimport - 0 4201691475230 AutoLoader.pm 7 <- BEGIN - 0 4201691475435 AutoLoader.pm 204 -> BEGIN - 0 4201691475444 strict.pm 8 -> unimport - 0 4201691475451 strict.pm 7 -> bits - 0 4201691475462 strict.pm 10 <- bits - 0 4201691475470 strict.pm 8 <- unimport - 0 4201691475478 AutoLoader.pm 7 <- BEGIN - 0 4201691475697 AutoLoader.pm 219 -> BEGIN - 0 4201691475706 strict.pm 8 -> unimport - 0 4201691475714 strict.pm 7 -> bits - 0 4201691475724 strict.pm 10 <- bits - 0 4201691475732 strict.pm 8 <- unimport - 0 4201691475739 AutoLoader.pm 7 <- BEGIN - 0 4201691475842 Config.pm 102 -> FETCH - 0 4201691475854 Config.pm 11 <- FETCH - 0 4201691475870 Config.pm 15 -> FETCH - 0 4201691475879 Config.pm 9 <- FETCH - 0 4201691475890 Config.pm 10 -> FETCH - 0 4201691475898 Config.pm 8 <- FETCH - 0 4201691475909 Config.pm 10 -> FETCH - 0 4201691475917 Config.pm 8 <- FETCH - 0 4201691476012 Kstat.pm 94 <- BEGIN - 0 4201691476041 Kstat.pm 29 -> BEGIN - 0 4201691476051 vars.pm 9 -> import - 0 4201691476084 vars.pm 32 <- import - 0 4201691476091 Kstat.pm 7 <- BEGIN - 0 4201691476147 DynaLoader.pm 56 -> bootstrap - 0 4201691476373 DynaLoader.pm 225 -> dl_load_flags - 0 4201691476383 DynaLoader.pm 9 <- dl_load_flags - 0 4201691476813 DynaLoader.pm 430 <- bootstrap - 0 4201691476837 nicstat 23 <- BEGIN - 0 4201691483648 Std.pm 6811 -> getopts - 0 4201691483697 Exporter.pm 49 -> import - 0 4201691483737 Exporter.pm 39 <- import - 0 4201691483756 Std.pm 19 <- getopts - 0 4201691483780 nicstat 24 -> find_nets - 0 4201691539198 nicstat 55418 <- find_nets - 0 4201691539610 nicstat 411 -> fetch_net_data - 0 4201691583290 nicstat 43679 <- fetch_net_data - 0 4201691583781 nicstat 491 -> print_neat - 0 4201691583930 nicstat 149 <- print_neat - 0 4201691583996 nicstat 65 -> print_neat - 0 4201691584165 nicstat 169 <- print_neat - 0 4201691584174 nicstat 9 -> print_neat - 0 4201691584298 nicstat 124 <- print_neat - 0 4201691584308 nicstat 9 -> print_neat - 0 4201691584432 nicstat 124 <- print_neat - 0 4201691584473 nicstat 41 -> print_neat - 0 4201691584597 nicstat 123 <- print_neat - 0 4201691584607 nicstat 9 -> print_neat - 0 4201691584730 nicstat 123 <- print_neat - 0 4201691585091 nicstat 361 -> print_neat - 0 4201691585217 nicstat 125 <- print_neat - 0 4201691585226 nicstat 9 -> print_neat - 0 4201691585379 nicstat 152 <- print_neat - 0 4201691585389 nicstat 9 -> print_neat - 0 4201691585512 nicstat 123 <- print_neat - 0 4201691585521 nicstat 9 -> print_neat - 0 4201691585644 nicstat 123 <- print_neat - 0 4201691585653 nicstat 9 -> print_neat - 0 4201691585825 nicstat 171 <- print_neat - 0 4201691585834 nicstat 9 -> print_neat - 0 4201691585988 nicstat 154 <- print_neat - 0 4201691586274 nicstat 285 -> print_neat - 0 4201691586434 nicstat 160 <- print_neat - 0 4201691586443 nicstat 9 -> print_neat - 0 4201691586567 nicstat 123 <- print_neat - 0 4201691586576 nicstat 9 -> print_neat - 0 4201691586731 nicstat 154 <- print_neat - 0 4201691586740 nicstat 8 -> print_neat - 0 4201691586892 nicstat 151 <- print_neat - 0 4201691586901 nicstat 9 -> print_neat - 0 4201691587025 nicstat 123 <- print_neat - 0 4201691587034 nicstat 9 -> print_neat - 0 4201691587157 nicstat 123 <- print_neat - 0 4201691590909 Config.pm 3751 -> DESTROY - 0 4201691590938 Config.pm 29 <- DESTROY - -After initialising Perl libraries and modules, the "nicstat" program ran, -the output matching what was expected from the source. - -The DELTA column shows that most time is spent in the find_nets() and -fetch_nets_data() subroutines, with 55.4 ms and 44.7 ms of elapsed -function time respectively. Those particular times were easy to interpret, -since there were no child subroutines called, and the delta spanned -the subroutine entry to its return. - -Some times get trickier to comprehend. The 2nd last line with a DELTA time -of 3751 us, means "the time from the print_neat() subroutine completing -to the DESTROY() subroutine starting, took 3751 us.". What is happening -during this time? It is hard to say based on this output - since it isn't -time within a function, rather it is time that Perl spent processing the -main program. Since we have the last function called, we may guess where -the program was at; or we could enhance this script to trace Perl engine -internals as well (and/or syscalls). - diff --git a/cddl/contrib/dtracetoolkit/Examples/pl_malloc_example.txt b/cddl/contrib/dtracetoolkit/Examples/pl_malloc_example.txt deleted file mode 100644 index a22a0082309d..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/pl_malloc_example.txt +++ /dev/null @@ -1,79 +0,0 @@ -The following are examples of pl_malloc.d. - -This is an expiremental script that attepmts to identify who is calling -malloc() from Perl, and to print byte distribution plots. - -Here it traces the example program, Code/Perl/func_malloc.pl. - -# pl_malloc.d -c ./func_malloc.pl -Function A -Function B -Function C -Tracing... Hit Ctrl-C to end. - -Perl malloc byte distributions by engine caller, - - perl`perl_alloc, total bytes = 1 - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2 | 0 - - libc.so.1`_findbuf, total bytes = 520 - value ------------- Distribution ------------- count - 256 | 0 - 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1024 | 0 - - perl`Perl_safesysmalloc, total bytes = 72106 - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@ 26 - 4 |@@@@@ 72 - 8 |@@@@@@ 101 - 16 |@@@@@@@@@@@@@@ 216 - 32 |@@@@@@@@@@@ 178 - 64 |@ 21 - 128 | 6 - 256 | 2 - 512 | 4 - 1024 | 1 - 2048 |@ 11 - 4096 | 1 - 8192 | 0 - - -Perl malloc byte distributions by Perl file and subroutine, - - func_malloc.pl, func_a, bytes total = 42504 - value ------------- Distribution ------------- count - 16384 | 0 - 32768 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 65536 | 0 - - func_malloc.pl, func_b, bytes total = 100008 - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - 16 | 0 - 32 | 0 - 64 | 0 - 128 | 0 - 256 | 0 - 512 | 0 - 1024 | 0 - 2048 | 0 - 4096 | 0 - 8192 | 0 - 16384 | 0 - 32768 | 0 - 65536 |@@@@@@@@@@@@@@@@@@@@ 1 - 131072 | 0 - -The func_malloc.pl program allocated around 100 Kbytes by creating a -variable ($b) and populating it with 100,000 "b" characters. This has been -identified in the last distribution plot printed, with one malloc event -of between 64 Kbytes and 128 Kbytes in size. There was also a malloc event -of between 4 and 7 bytes in size. - diff --git a/cddl/contrib/dtracetoolkit/Examples/pl_subcalls_example.txt b/cddl/contrib/dtracetoolkit/Examples/pl_subcalls_example.txt deleted file mode 100644 index 1ea0369f4ed2..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/pl_subcalls_example.txt +++ /dev/null @@ -1,53 +0,0 @@ -The following are examples of pl_subcalls.d. - -This is a simple script to count executed Perl subroutines. Here it traces -an example program, Code/Perl/func_abc.pl. - - # pl_subcalls.d - Tracing... Hit Ctrl-C to end. - ^C - FILE SUB CALLS - func_abc.pl func_a 1 - func_abc.pl func_b 1 - func_abc.pl func_c 1 - -While tracing, func_a() from the program "func_abc.pl" was executed once, -along with func_b() and func_c(). - - - -The following traces a Perl network interface statistics tool, "nicstat" -version 0.99, - - # pl_subcalls.d - Tracing... Hit Ctrl-C to end. - ^C - FILE SUB CALLS - Config.pm DESTROY 1 - Config.pm TIEHASH 1 - Config.pm import 1 - DynaLoader.pm bootstrap 1 - DynaLoader.pm dl_load_flags 1 - Std.pm getopts 1 - nicstat fetch_net_data 1 - nicstat find_nets 1 - register.pm import 1 - warnings.pm BEGIN 1 - Config.pm BEGIN 2 - DynaLoader.pm BEGIN 2 - Exporter.pm import 2 - register.pm mkMask 2 - vars.pm import 2 - Kstat.pm BEGIN 3 - nicstat BEGIN 3 - vars.pm BEGIN 3 - Config.pm FETCH 4 - strict.pm unimport 4 - strict.pm import 5 - AutoLoader.pm BEGIN 6 - strict.pm bits 6 - nicstat print_neat 18 - -The number of subroutines called by nicstat can be seen above, which includes -subroutines from libraries and modules that the program used. - diff --git a/cddl/contrib/dtracetoolkit/Examples/pl_syscalls_example.txt b/cddl/contrib/dtracetoolkit/Examples/pl_syscalls_example.txt deleted file mode 100644 index 8cd509401708..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/pl_syscalls_example.txt +++ /dev/null @@ -1,50 +0,0 @@ -The following are examples of pl_syscalls.d. - -This is a simple script to count executed Perl subroutines and system calls. -Here it traces an example program, Code/Perl/func_abc.pl. - - # pl_syscalls.d -c ./func_abc.pl - Function A - Tracing... Hit Ctrl-C to end. - Function B - Function C - - Calls for PID 305173, - - FILE TYPE NAME COUNT - func_abc.pl sub func_a 1 - func_abc.pl sub func_b 1 - func_abc.pl sub func_c 1 - func_abc.pl syscall fcntl 1 - func_abc.pl syscall getrlimit 1 - func_abc.pl syscall mmap 1 - func_abc.pl syscall munmap 1 - func_abc.pl syscall rexit 1 - func_abc.pl syscall schedctl 1 - func_abc.pl syscall sigpending 1 - func_abc.pl syscall sysi86 1 - func_abc.pl syscall getgid 2 - func_abc.pl syscall getpid 2 - func_abc.pl syscall getuid 2 - func_abc.pl syscall sigaction 2 - func_abc.pl syscall sysconfig 2 - func_abc.pl syscall fstat64 3 - func_abc.pl syscall nanosleep 3 - func_abc.pl syscall read 3 - func_abc.pl syscall setcontext 3 - func_abc.pl syscall write 3 - func_abc.pl syscall close 4 - func_abc.pl syscall ioctl 4 - func_abc.pl syscall open64 4 - func_abc.pl syscall llseek 5 - func_abc.pl syscall gtime 7 - func_abc.pl syscall brk 20 - -While tracing, three subroutines were called - func_a(), func_b() and func_c(). -There were numerous system calls made, including 20 brk()'s, 7 gtime()'s -and 5 llseek()'s. - -This script can provide an insight to how an application is interacting -with the system, by providing both application subroutine calls and -system calls in the same output. - diff --git a/cddl/contrib/dtracetoolkit/Examples/pl_syscolors_example.txt b/cddl/contrib/dtracetoolkit/Examples/pl_syscolors_example.txt deleted file mode 100644 index 3a5f249c9175..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/pl_syscolors_example.txt +++ /dev/null @@ -1,183 +0,0 @@ -The following are examples of pl_syscolors.d. - -This is a simple script to trace the flow of Perl subroutines and system -calls made, and renders the output in color ("colour") using terminal -escape sequences (which you can tweak by modifying the script). - -Here it traces the example program, Code/Perl/func_abc.pl. - -WARNING: This output is full of terminal escape sequences, so if you are -trying to view this through an editor or web browser - it may look awful. -Try viewing this using "more" (although, depending on your terminal, it -still may look awful). - -# pl_syscolors.d -C PID DELTA(us) FILE:LINE TYPE -- NAME -0 305181 2 ":- syscall -> munmap -0 305181 33 ":- syscall <- munmap -0 305181 59 ":- syscall -> mmap -0 305181 18 ":- syscall <- mmap -0 305181 35 ":- syscall -> setcontext -0 305181 8 ":- syscall <- setcontext -0 305181 8 ":- syscall -> getrlimit -0 305181 9 ":- syscall <- getrlimit -0 305181 8 ":- syscall -> getpid -0 305181 7 ":- syscall <- getpid -0 305181 64 ":- syscall -> setcontext -0 305181 6 ":- syscall <- setcontext -0 305181 137 ":- syscall -> sigpending -0 305181 8 ":- syscall <- sigpending -0 305181 1148 ":- syscall -> sysi86 -0 305181 11 ":- syscall <- sysi86 -0 305181 105 ":- syscall -> open64 -0 305181 96 ":- syscall <- open64 -0 305181 13 ":- syscall -> ioctl -0 305181 18 ":- syscall <- ioctl -0 305181 14 ":- syscall -> close -0 305181 14 ":- syscall <- close -0 305181 123 ":- syscall -> sigaction -0 305181 9 ":- syscall <- sigaction -0 305181 49 ":- syscall -> brk -0 305181 9 ":- syscall <- brk -0 305181 8 ":- syscall -> brk -0 305181 16 ":- syscall <- brk -0 305181 63 ":- syscall -> brk -0 305181 7 ":- syscall <- brk -0 305181 7 ":- syscall -> brk -0 305181 8 ":- syscall <- brk -0 305181 43 ":- syscall -> brk -0 305181 7 ":- syscall <- brk -0 305181 7 ":- syscall -> brk -0 305181 8 ":- syscall <- brk -0 305181 141 ":- syscall -> brk -0 305181 7 ":- syscall <- brk -0 305181 8 ":- syscall -> brk -0 305181 9 ":- syscall <- brk -0 305181 24 ":- syscall -> brk -0 305181 7 ":- syscall <- brk -0 305181 7 ":- syscall -> brk -0 305181 8 ":- syscall <- brk -0 305181 30 ":- syscall -> getuid -0 305181 7 ":- syscall <- getuid -0 305181 10 ":- syscall -> getuid -0 305181 6 ":- syscall <- getuid -0 305181 10 ":- syscall -> getgid -0 305181 7 ":- syscall <- getgid -0 305181 9 ":- syscall -> getgid -0 305181 6 ":- syscall <- getgid -0 305181 117 ":- syscall -> sysconfig -0 305181 9 ":- syscall <- sysconfig -0 305181 19 ":- syscall -> open64 -0 305181 59 ":- syscall <- open64 -0 305181 15 ":- syscall -> read -0 305181 11 ":- syscall <- read -0 305181 8 ":- syscall -> close -0 305181 8 ":- syscall <- close -0 305181 34 ":- syscall -> gtime -0 305181 7 ":- syscall <- gtime -0 305181 34 ":- syscall -> brk -0 305181 7 ":- syscall <- brk -0 305181 7 ":- syscall -> brk -0 305181 9 ":- syscall <- brk -0 305181 44 ":- syscall -> sysconfig -0 305181 7 ":- syscall <- sysconfig -0 305181 9 ":- syscall -> brk -0 305181 6 ":- syscall <- brk -0 305181 7 ":- syscall -> brk -0 305181 8 ":- syscall <- brk -0 305181 145 ":- syscall -> open64 -0 305181 16 ":- syscall <- open64 -0 305181 16 ":- syscall -> fcntl -0 305181 7 ":- syscall <- fcntl -0 305181 10 ":- syscall -> sigaction -0 305181 7 ":- syscall <- sigaction -0 305181 8 ":- syscall -> brk -0 305181 7 ":- syscall <- brk -0 305181 7 ":- syscall -> brk -0 305181 9 ":- syscall <- brk -0 305181 104 ":- syscall -> brk -0 305181 7 ":- syscall <- brk -0 305181 7 ":- syscall -> brk -0 305181 8 ":- syscall <- brk -0 305181 88 ":- syscall -> getpid -0 305181 7 ":- syscall <- getpid -0 305181 8 ":- syscall -> brk -0 305181 6 ":- syscall <- brk -0 305181 7 ":- syscall -> brk -0 305181 8 ":- syscall <- brk -0 305181 105 ":- syscall -> fstat64 -0 305181 10 ":- syscall <- fstat64 -0 305181 16 ":- syscall -> fstat64 -0 305181 7 ":- syscall <- fstat64 -0 305181 25 ":- syscall -> ioctl -0 305181 8 ":- syscall <- ioctl -0 305181 7 ":- syscall -> read -0 305181 23 ":- syscall <- read -0 305181 18 ":- syscall -> llseek -0 305181 8 ":- syscall <- llseek -0 305181 126 ":- syscall -> llseek -0 305181 7 ":- syscall <- llseek -0 305181 34 ":- syscall -> llseek -0 305181 7 ":- syscall <- llseek -0 305181 30 ":- syscall -> llseek -0 305181 7 ":- syscall <- llseek -0 305181 12 ":- syscall -> read -0 305181 8 ":- syscall <- read -0 305181 11 ":- syscall -> llseek -0 305181 6 ":- syscall <- llseek -0 305181 7 ":- syscall -> close -0 305181 8 ":- syscall <- close -0 305181 27 func_a:15 sub -> ./func_abc.pl -0 305181 36 ":- syscall -> ioctl -0 305181 7 ":- syscall <- ioctl -0 305181 8 ":- syscall -> fstat64 -0 305181 8 ":- syscall <- fstat64 -0 305181 8 ":- syscall -> brk -0 305181 7 ":- syscall <- brk -0 305181 7 ":- syscall -> brk -0 305181 9 ":- syscall <- brk -0 305181 23 ":- syscall -> fstat64 -0 305181 7 ":- syscall <- fstat64 -0 305181 13 ":- syscall -> gtime -0 305181 7 ":- syscall <- gtime -0 305181 11 ":- syscall -> nanosleep -0 305181 1007250 ":- syscall <- nanosleep -0 305181 24 ":- syscall -> gtime -0 305181 15 ":- syscall <- gtime -0 305181 21 func_b:9 sub -> ./func_abc.pl -0 305181 27 ":- syscall -> gtime -0 305181 6 ":- syscall <- gtime -0 305181 8 ":- syscall -> nanosleep -0 305181 1009847 ":- syscall <- nanosleep -0 305181 24 ":- syscall -> gtime -0 305181 15 ":- syscall <- gtime -0 305181 21 func_c:4 sub -> ./func_abc.pl -0 305181 27 ":- syscall -> gtime -0 305181 6 ":- syscall <- gtime -0 305181 8 ":- syscall -> nanosleep -Function A -Function B -Function C -0 305181 1009916 ":- syscall <- nanosleep -0 305181 24 ":- syscall -> gtime -0 305181 15 ":- syscall <- gtime -0 305181 20 func_c:4 sub <- ./func_abc.pl -0 305181 29 func_b:9 sub <- ./func_abc.pl -0 305181 12 func_a:15 sub <- ./func_abc.pl -0 305181 51 ":- syscall -> schedctl -0 305181 53 ":- syscall <- schedctl -0 305181 16 ":- syscall -> setcontext -0 305181 8 ":- syscall <- setcontext -0 305181 21 ":- syscall -> write -0 305181 97 ":- syscall <- write -0 305181 28 ":- syscall -> open64 -0 305181 101 ":- syscall <- open64 -0 305181 9 ":- syscall -> ioctl -0 305181 10 ":- syscall <- ioctl -0 305181 10 ":- syscall -> close -0 305181 15 ":- syscall <- close -0 305181 35 ":- syscall -> rexit - -If the colors don't suit you (or you'd rather HTML colored output), it -should be trivial to modify the script to do so. - diff --git a/cddl/contrib/dtracetoolkit/Examples/pl_who_example.txt b/cddl/contrib/dtracetoolkit/Examples/pl_who_example.txt deleted file mode 100644 index 4ef361d69d01..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/pl_who_example.txt +++ /dev/null @@ -1,41 +0,0 @@ -The following are examples of pl_who.d. - -This is a simple script to see who is executing Perl subroutines. Here it -traces as a few examples programs are executed (from Code/Perl/*.pl). - - # pl_who.d - Tracing... Hit Ctrl-C to end. - ^C - PID UID SUBS FILE - 30817 100 3 ./func_abc.pl - 30818 100 3 ./func_slow.pl - 30819 100 3 ./func_slow.pl - -While tracing, the user with UID 100 executed three Perl programs; -"func_abc.pl" once getting PID 130817, and "func_slow.pl" twice. All -programs called three subroutines. - - - -The following traces a Perl network interface statistics tool, "nicstat" -version 0.99, - - # pl_who.d - Tracing... Hit Ctrl-C to end. - ^C - PID UID SUBS FILE - 14977 100 1 lib/Getopt/Std.pm - 14977 100 1 lib/warnings.pm - 14977 100 2 lib/Exporter.pm - 14977 100 3 /usr/perl5/5.8.4/lib/Sun/Solaris/Kstat.pm - 14977 100 3 lib/warnings/register.pm - 14977 100 4 lib/DynaLoader.pm - 14977 100 5 lib/vars.pm - 14977 100 6 lib/AutoLoader.pm - 14977 100 9 lib/Config.pm - 14977 100 15 lib/strict.pm - 14977 100 23 /tmp/nicstat - -This shows the location of libraries and modules from where subroutines were -called. - diff --git a/cddl/contrib/dtracetoolkit/Examples/priclass_example.txt b/cddl/contrib/dtracetoolkit/Examples/priclass_example.txt deleted file mode 100644 index bf63e098e62e..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/priclass_example.txt +++ /dev/null @@ -1,82 +0,0 @@ -The following is a demonstration of the priclass.d script. - - -The script was run for several seconds then Ctrl-C was hit. During -this time, other processes in different scheduling classes were -running. - - # ./priclass.d - Sampling... Hit Ctrl-C to end. - ^C - - IA - value ------------- Distribution ------------- count - 40 | 0 - 50 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 30 - 60 | 0 - - SYS - value ------------- Distribution ------------- count - < 0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 4959 - 0 | 0 - 10 | 0 - 20 | 0 - 30 | 0 - 40 | 0 - 50 | 0 - 60 | 30 - 70 | 0 - 80 | 0 - 90 | 0 - 100 | 0 - 110 | 0 - 120 | 0 - 130 | 0 - 140 | 0 - 150 | 0 - 160 | 50 - >= 170 | 0 - - RT - value ------------- Distribution ------------- count - 90 | 0 - 100 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 110 - 110 | 0 - - TS - value ------------- Distribution ------------- count - < 0 | 0 - 0 |@@@@@@@@@@@@@@@ 2880 - 10 |@@@@@@@ 1280 - 20 |@@@@@ 990 - 30 |@@@@@ 920 - 40 |@@@@ 670 - 50 |@@@@ 730 - 60 | 0 - -The output is quite interesting, and illustrates neatly the behaviour -of different scheduling classes. - -The IA interactive class had 30 samples of a 50 to 59 priority, a fairly -high priority. This class is used for interactive processes, such as -the windowing system. I had clicked on a few windows to create this -activity. - -The SYS system class has had 4959 samples at a < 0 priority - the lowest, -which was for the idle thread. There are a few samples at higher -priorities, including some in the 160 to 169 range (the highest), which -are for interrupt threads. The system class is used by the kernel. - -The RT real time class had 110 samples in the 100 to 109 priority range. -This class is designed for real-time applications, those that must have -a consistant response time regardless of other process activity. For that -reason, the RT class trumps both TS and IA. I created these events by -running "prstat -R" as root, which runs prstat in the real time class. - -The TS time sharing class is the default scheduling class for the processes -on a Solaris system. I ran an infinite shell loop to create heavy activity, -"while :; do :; done", which shows a profile that leans towards lower -priorities. This is deliberate behaivour from the time sharing class, which -reduces the priority of CPU bound processes so that they interefere less -with I/O bound processes. The result is more samples in the lower priority -ranges. diff --git a/cddl/contrib/dtracetoolkit/Examples/pridist_example.txt b/cddl/contrib/dtracetoolkit/Examples/pridist_example.txt deleted file mode 100644 index 1f930ab03ce5..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/pridist_example.txt +++ /dev/null @@ -1,238 +0,0 @@ -The following are demonstrations of the pridist.d script. - - -Here we run pridist.d for a few seconds then hit Ctrl-C, - - # pridist.d - Sampling... Hit Ctrl-C to end. - ^C - CMD: setiathome PID: 2190 - - value ------------- Distribution ------------- count - -5 | 0 - 0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 6629 - 5 | 0 - - CMD: sshd PID: 9172 - - value ------------- Distribution ------------- count - 50 | 0 - 55 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 10 - 60 | 0 - - CMD: mozilla-bin PID: 3164 - - value ------------- Distribution ------------- count - 40 | 0 - 45 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 20 - 50 | 0 - - CMD: perl PID: 11544 - - value ------------- Distribution ------------- count - 10 | 0 - 15 |@@@@@@@@ 60 - 20 | 0 - 25 |@@@@@@@@@@@@@@@ 120 - 30 | 0 - 35 |@@@@@@@@@@ 80 - 40 | 0 - 45 |@@@@@ 40 - 50 | 0 - 55 |@@@ 20 - 60 | 0 - -During this sample there was a CPU bound process called "setiathome" -running, and a new CPU bound "perl" process was executed. - -perl, executing an infinite loop, begins with a high priority of 55 to 59 -where it is sampled 20 times. pridist.d samples 1000 times per second, -so this equates to 20 ms. The perl process has also been sampled for 40 ms -at priority 45 to 49, for 80 ms at priority 35 to 39, down to 60 ms at a -priority 15 to 19 - at which point I had hit Ctrl-C to end sampling. - -The output is spectacular as it matches the behaviour of the dispatcher -table for the time sharing class perfectly! - -setiathome is running with the lowest priority, in the 0 to 4 range. - -... ok, so when I say 20 samples equates 20 ms, we know that's only an -estimate. It really means that for 20 samples that process was the one on -the CPU. In between the samples anything may have occured (I/O bound -processes will context switch off the CPU). DTrace can certainly be used -to measure this based on schedular events not samples (eg, cpudist), -however DTrace can then sometimes consume a noticable portion of the CPUs -(for example, 2%). - - - - -The following is a longer sample. Again, I start a new CPU bound perl -process, - - # pridist.d - Sampling... Hit Ctrl-C to end. - ^C - CMD: setiathome PID: 2190 - - value ------------- Distribution ------------- count - -5 | 0 - 0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1820 - 5 | 0 - - CMD: mozilla-bin PID: 3164 - - value ------------- Distribution ------------- count - 40 | 0 - 45 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 10 - 50 | 0 - - CMD: bash PID: 9185 - - value ------------- Distribution ------------- count - 50 | 0 - 55 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 10 - 60 | 0 - - CMD: perl PID: 11547 - - value ------------- Distribution ------------- count - -5 | 0 - 0 |@@@@@@@@@@@@@@@ 2020 - 5 |@@ 200 - 10 |@@@@@@@ 960 - 15 |@ 160 - 20 |@@@@@ 720 - 25 |@ 120 - 30 |@@@@ 480 - 35 |@ 80 - 40 |@@ 240 - 45 | 40 - 50 |@@ 240 - 55 | 10 - 60 | 0 - -Now other behaviour can be observed as the perl process runs. The effect -here is due to ts_maxwait triggering a priority boot to avoid CPU starvation; -the priority is boosted to the 50 to 54 range, then decreases by 10 until -it reaches 0 and another ts_maxwait is triggered. The process spends -more time at lower priorities, as that is exactly how the TS dispatch table -has been configured. - - - - -Now we run prdist.d for a considerable time, - - # pridist.d - Sampling... Hit Ctrl-C to end. - ^C - CMD: setiathome PID: 2190 - - value ------------- Distribution ------------- count - -5 | 0 - 0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3060 - 5 | 0 - - CMD: mozilla-bin PID: 3164 - - value ------------- Distribution ------------- count - 40 | 0 - 45 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 20 - 50 | 0 - - CMD: perl PID: 11549 - - value ------------- Distribution ------------- count - -5 | 0 - 0 |@@@@@@@@@@@@@@@@@@@ 7680 - 5 | 0 - 10 |@@@@@@@ 3040 - 15 | 70 - 20 |@@@@@@ 2280 - 25 | 120 - 30 |@@@@ 1580 - 35 | 80 - 40 |@@ 800 - 45 | 40 - 50 |@@ 800 - 55 | 20 - 60 | 0 - -The process has settled to a pattern of 0 priority, ts_maxwait boot to 50, -drop back to 0. - -Run "dispadmin -c TS -g" for a printout of the time sharing dispatcher table. - - - - - -The following shows running pridist.d on a completely idle system, - - # pridist.d - Sampling... Hit Ctrl-C to end. - ^C - CMD: sched PID: 0 - - value ------------- Distribution ------------- count - -10 | 0 - -5 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1190 - 0 | 0 - -Only the kernel "sched" was sampled. It would have been running the idle -thread. - - - - -The following is an unusual output that is worth mentioning, - - # pridist.d - Sampling... Hit Ctrl-C to end. - ^C - CMD: sched PID: 0 - - value ------------- Distribution ------------- count - -10 | 0 - -5 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 940 - 0 | 0 - 5 | 0 - 10 | 0 - 15 | 0 - 20 | 0 - 25 | 0 - 30 | 0 - 35 | 0 - 40 | 0 - 45 | 0 - 50 | 0 - 55 | 0 - 60 | 0 - 65 | 0 - 70 | 0 - 75 | 0 - 80 | 0 - 85 | 0 - 90 | 0 - 95 | 0 - 100 | 0 - 105 | 0 - 110 | 0 - 115 | 0 - 120 | 0 - 125 | 0 - 130 | 0 - 135 | 0 - 140 | 0 - 145 | 0 - 150 | 0 - 155 | 0 - 160 | 0 - 165 | 10 - >= 170 | 0 - -Here we have sampled the kernel running at a priority of 165 to 169. This -is the interrupt priority range, and would be an interrupt servicing thread. -Eg, a network interrupt. - diff --git a/cddl/contrib/dtracetoolkit/Examples/procsystime_example.txt b/cddl/contrib/dtracetoolkit/Examples/procsystime_example.txt deleted file mode 100644 index 89f98bbca7dc..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/procsystime_example.txt +++ /dev/null @@ -1,149 +0,0 @@ -This is a demonstration of the procsystime tool, which can give details -on how processes make use of system calls. - -Here we run procsystime on processes which have the name "bash", - - # procsystime -n bash - Tracing... Hit Ctrl-C to end... - ^C - - Elapsed Times for process bash, - - SYSCALL TIME (ns) - setpgrp 27768 - gtime 28692 - lwp_sigmask 148074 - write 235814 - sigaction 553556 - ioctl 776691 - read 857401243 - -By default procsystime prints elapsed times, the time from when the syscall -was issued to it's completion. In the above output, we can see the read() -syscall took the most time for this process - 8.57 seconds for all the -reads combined. This is because the read syscall is waiting for keystrokes. - - - -Here we try the "-o" option to print CPU overhead times on "bash", - - # procsystime -o -n bash - Tracing... Hit Ctrl-C to end... - ^C - - CPU Times for process bash, - - SYSCALL TIME (ns) - setpgrp 6994 - gtime 8054 - lwp_sigmask 33865 - read 154895 - sigaction 259899 - write 343825 - ioctl 932280 - -This identifies which syscall type from bash is consuming the most CPU time. -This is ioctl, at 932 microseconds. Compare this output to the default in -the first example - both are useful for different reasons, this CPU overhead -output helps us see why processes are consuming a lot of sys time. - - - -This demonstrates using the "-a" for all details, this time with "ssh", - - # procsystime -a -n ssh - Tracing... Hit Ctrl-C to end... - ^C - - Elapsed Times for processes ssh, - - SYSCALL TIME (ns) - read 115833 - write 302419 - pollsys 114616076 - TOTAL: 115034328 - - CPU Times for processes ssh, - - SYSCALL TIME (ns) - read 82381 - pollsys 201818 - write 280390 - TOTAL: 564589 - - Syscall Counts for processes ssh, - - SYSCALL COUNT - read 4 - write 4 - pollsys 8 - TOTAL: 16 - -Now we can see elapsed times, overhead times, and syscall counts in one -report. Very handy. We can also see totals printed as "TOTAL:". - - - -procsystime also lets us just examine one PID. For example, - - # procsystime -p 1304 - Tracing... Hit Ctrl-C to end... - ^C - - Elapsed Times for PID 1304, - - SYSCALL TIME (ns) - fcntl 7323 - fstat64 21349 - ioctl 190683 - read 238197 - write 1276169 - pollsys 1005360640 - - - -Here is a longer example of running procsystime on mozilla, - - # procsystime -a -n mozilla-bin - Tracing... Hit Ctrl-C to end... - ^C - - Elapsed Times for processes mozilla-bin, - - SYSCALL TIME (ns) - readv 677958 - writev 1159088 - yield 1298742 - read 18019194 - write 35679619 - ioctl 108845685 - lwp_park 38090969432 - pollsys 65955258781 - TOTAL: 104211908499 - - CPU Times for processes mozilla-bin, - - SYSCALL TIME (ns) - yield 120345 - readv 398046 - writev 1117178 - lwp_park 8591428 - read 9752315 - write 29043460 - ioctl 37089349 - pollsys 189933470 - TOTAL: 276045591 - - Syscall Counts for processes mozilla-bin, - - SYSCALL COUNT - writev 3 - yield 9 - readv 58 - lwp_park 280 - write 1317 - read 1744 - pollsys 8268 - ioctl 16434 - TOTAL: 28113 - diff --git a/cddl/contrib/dtracetoolkit/Examples/putnexts_example.txt b/cddl/contrib/dtracetoolkit/Examples/putnexts_example.txt deleted file mode 100644 index fd7fc3db40df..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/putnexts_example.txt +++ /dev/null @@ -1,520 +0,0 @@ -The following is an example of the putnexts.d script. - - -When investigating the operation of kernel streams, it can be extreamly -useful to trace who (which stack trace) is calling putnext to who (the -kernel modele). This script does that, - -# putnexts.d -dtrace: script './putnexts.d' matched 1 probe -^C - - bufmod - bufmod`sbrput+0xb9 - unix`putnext+0x1b7 - pts`ptswput+0x1e1 - unix`putnext+0x1b7 - ptem`ptemwput+0x22f - 1 - ip - ip`ip_fanout_proto+0x4d2 - ip`ip_proto_input+0x616 - ip`ip_fanout_proto_again+0x160 - ip`ip_proto_input+0x530 - ip`ip_rput+0x50d - 1 - ip - ip`ip_wput_ipsec_out+0x60a - ip`ipsec_out_process+0x322 - ip`ip_wput_ire+0x18d0 - ip`ip_output+0x70a - ip`ip_wput+0x14 - 1 - ip - ip`ip_wput_ire+0x17d1 - ip`ip_output+0x70a - ip`tcp_send_data+0x68c - ip`tcp_ack_timer+0xb0 - ip`tcp_timer_handler+0x1d - 1 - ip - ip`ip_udp_input+0x4e4 - ip`ip_rput+0x540 - unix`putnext+0x1b7 - gld`gld_recv_tagged+0xed - gld`gld_recv+0x10 - 1 - ldterm - genunix`putnextctl1+0x52 - ldterm`ldterm_dosig+0x7b - ldterm`ldtermrput+0x6fe - unix`putnext+0x1b7 - ptem`ptemrput+0xff - 1 - ldterm - ldterm`ldterm_ioctl_reply+0x93 - ldterm`ldtermrput+0x186 - genunix`qdrain_syncq+0x68 - genunix`drain_syncq+0x1a4 - genunix`putnext_tail+0x88 - 1 - ldterm - ldterm`ldtermrput+0x12a - unix`putnext+0x1b7 - ptem`ptemrput+0xff - genunix`qdrain_syncq+0x68 - genunix`drain_syncq+0x1a4 - 1 - ldterm - ldterm`ldterm_dosig+0x16f - ldterm`ldtermrput+0x6fe - unix`putnext+0x1b7 - ptem`ptemrput+0xff - unix`putnext+0x1b7 - 1 - ldterm - genunix`putnextctl1+0x52 - ldterm`ldterm_dosig+0x124 - ldterm`ldtermrput+0x6fe - unix`putnext+0x1b7 - ptem`ptemrput+0xff - 1 - ldterm - ldterm`ldterm_do_ioctl+0xd8b - ldterm`ldtermwmsg+0x41 - ldterm`ldtermwput+0x8e - unix`putnext+0x1b7 - ttcompat`ttcompat_do_ioctl+0x425 - 1 - ldterm - genunix`putnextctl1+0x52 - ldterm`ldterm_dosig+0xe3 - ldterm`ldtermrput+0x6fe - unix`putnext+0x1b7 - ptem`ptemrput+0xff - 1 - ptem - genunix`qreply+0x23 - ptem`ptemwmsg+0x2b9 - ptem`ptemwput+0xe1 - unix`putnext+0x1b7 - ldterm`ldterm_do_ioctl+0xd8b - 1 - ptem - ptem`ptemwput+0x22f - genunix`qdrain_syncq+0x68 - genunix`drain_syncq+0x1a4 - genunix`putnext_tail+0x88 - unix`putnext+0x38e - 1 - ptem - ptem`ptemrput+0xff - genunix`qdrain_syncq+0x68 - genunix`drain_syncq+0x1a4 - genunix`putnext_tail+0x88 - unix`putnext+0x38e - 1 - ptem - ptem`ptemwmsg+0x44d - ptem`ptemwput+0xe1 - genunix`qdrain_syncq+0x68 - genunix`drain_syncq+0x1a4 - genunix`putnext_tail+0x88 - 1 - ptm - pts`ptswsrv+0x7c - genunix`runservice+0x2a - genunix`queue_service+0x30 - genunix`stream_service+0x69 - genunix`taskq_d_thread+0x8a - 1 - ptm - pts`ptswput+0x1e1 - unix`putnext+0x1b7 - ptem`ptemwput+0x22f - genunix`qdrain_syncq+0x68 - genunix`drain_syncq+0x1a4 - 1 - pts - genunix`qreply+0x23 - pts`ptswput+0x201 - unix`putnext+0x1b7 - ptem`ptemwput+0x22f - genunix`qdrain_syncq+0x68 - 1 - strwhead - genunix`qreply+0x23 - genunix`strrput_nondata+0x22d - genunix`strrput+0x256 - unix`putnext+0x1b7 - ttcompat`ttcompatrput+0x1d - 1 - strwhead - genunix`strdoioctl+0x30d - genunix`strioctl+0x6ae - specfs`spec_ioctl+0x48 - genunix`fop_ioctl+0x1e - genunix`ioctl+0x199 - 1 - tcp - ip`tcp_rput_data+0x2221 - ip`tcp_input+0x39 - ip`squeue_enter+0x1bf - ip`ip_tcp_input+0x9f8 - ip`ip_rput+0x583 - 1 - ttcompat - ttcompat`ttcompat_ioctl_ack+0x398 - ttcompat`ttcompatrput+0x39 - genunix`qdrain_syncq+0x68 - genunix`drain_syncq+0x1a4 - genunix`putnext_tail+0x88 - 1 - ttcompat - ttcompat`ttcompatrput+0x1d - unix`putnext+0x1b7 - ldterm`ldtermrput+0x12a - unix`putnext+0x1b7 - ptem`ptemrput+0xff - 1 - ttcompat - ttcompat`ttcompatrput+0x1d - unix`putnext+0x1b7 - genunix`putnextctl1+0x52 - ldterm`ldterm_dosig+0x124 - ldterm`ldtermrput+0x6fe - 1 - ttcompat - ttcompat`ttcompatwput+0x32 - genunix`qdrain_syncq+0x68 - genunix`drain_syncq+0x1a4 - genunix`putnext_tail+0x88 - unix`putnext+0x38e - 1 - ttcompat - ttcompat`ttcompat_do_ioctl+0x425 - ttcompat`ttcompatwput+0x152 - unix`putnext+0x1b7 - genunix`strdoioctl+0x30d - genunix`strioctl+0x6ae - 1 - ttcompat - ttcompat`ttcompatrput+0x1d - unix`putnext+0x1b7 - genunix`putnextctl1+0x52 - ldterm`ldterm_dosig+0xe3 - ldterm`ldtermrput+0x6fe - 1 - tun - tun`tun_rdata_v4+0x58c - tun`tun_rproc+0x256 - tun`tun_rput+0x23 - unix`putnext+0x1b7 - ip`ip_fanout_proto+0x4d2 - 1 - tun - tun`tun_wputnext_v4+0x1f8 - tun`tun_wproc_mdata+0x71 - tun`tun_wproc+0xdf - tun`tun_wput+0x23 - unix`putnext+0x1b7 - 1 - udp - udp`udp_rput+0x975 - unix`putnext+0x1b7 - ip`ip_udp_input+0x4e4 - ip`ip_rput+0x540 - unix`putnext+0x1b7 - 1 - conskbd - genunix`qreply+0x23 - conskbd`conskbd_mux_upstream_msg+0x24f - conskbd`conskbd_lqs_ack_complete+0x65 - conskbd`conskbdlrput+0x9d - unix`putnext+0x1b7 - 2 - conskbd - conskbd`conskbdlwserv+0x2d - genunix`runservice+0x2a - genunix`queue_service+0x30 - genunix`stream_service+0x69 - genunix`taskq_d_thread+0x8a - 2 - kb8042 - genunix`qreply+0x23 - genunix`miocack+0x2a - kb8042`kb8042_ioctlmsg+0x281 - kb8042`kb8042_wsrv+0xcb - genunix`runservice+0x2a - 2 - strwhead - genunix`strdoioctl+0x30d - genunix`strioctl+0x587 - specfs`spec_ioctl+0x48 - genunix`fop_ioctl+0x1e - genunix`ioctl+0x199 - 2 - consms - consms`consmslrput+0x15a - unix`putnext+0x1b7 - vuid3ps2`vuid3ps2_putnext+0x94 - vuid3ps2`sendButtonEvent+0x58 - vuid3ps2`vuid3ps2+0x8ee - 4 - vuid3ps2 - vuid3ps2`vuid3ps2_putnext+0x94 - vuid3ps2`sendButtonEvent+0x58 - vuid3ps2`vuid3ps2+0x8ee - vuid3ps2`vuidmice_rsrv+0x69 - genunix`runservice+0x2a - 4 - ip - ip`tcp_send_data+0x55d - ip`tcp_ack_timer+0xb0 - ip`tcp_timer_handler+0x1d - ip`squeue_drain+0xbb - ip`squeue_worker+0xeb - 10 - ip - ip`tcp_send_data+0x55d - ip`tcp_rput_data+0x259e - ip`squeue_enter+0x1bf - ip`ip_tcp_input+0xcfb - ip`ip_rput+0x583 - 11 - ip - ip`ip_fanout_udp_conn+0x14b - ip`ip_fanout_udp+0x373 - ip`ip_wput_local+0x16f - ip`ip_wput_ire+0x1436 - ip`ip_output+0x70a - 14 - strwhead - genunix`strput+0x168 - genunix`strputmsg+0x1d5 - genunix`msgio+0x142 - genunix`putmsg+0x6e - unix`sys_sysenter+0xdc - 14 - timod - timod`timodwput+0xea - unix`putnext+0x1b7 - genunix`strput+0x168 - genunix`strputmsg+0x1d5 - genunix`msgio+0x142 - 14 - timod - timod`timodrput+0xa9 - unix`putnext+0x1b7 - udp`udp_rput+0x975 - unix`putnext+0x1b7 - ip`ip_fanout_udp_conn+0x14b - 14 - udp - udp`udp_rput+0x975 - unix`putnext+0x1b7 - ip`ip_fanout_udp_conn+0x14b - ip`ip_fanout_udp+0x373 - ip`ip_wput_local+0x16f - 14 - udp - udp`udp_wput+0x378 - unix`putnext+0x1b7 - timod`timodwput+0xea - unix`putnext+0x1b7 - genunix`strput+0x168 - 14 - bufmod - bufmod`sbsendit+0x5a - bufmod`sbclosechunk+0x2e - bufmod`sbrput+0xee - genunix`qdrain_syncq+0x68 - genunix`drain_syncq+0x1a4 - 21 - conskbd - kbtrans`kbtrans_queueevent+0x5c - kbtrans`kbtrans_keyreleased+0x3d - kbtrans`kbtrans_untrans_keyreleased_raw+0x10 - kbtrans`kbtrans_processkey+0x20 - kbtrans`kbtrans_streams_key+0x95 - 22 - kb8042 - kbtrans`kbtrans_queueevent+0x5c - kbtrans`kbtrans_keyreleased+0x3d - kbtrans`kbtrans_untrans_keyreleased_raw+0x10 - kbtrans`kbtrans_processkey+0x20 - kbtrans`kbtrans_streams_key+0x95 - 22 - ldterm - ldterm`ldterm_msg_upstream+0x2c - ldterm`vmin_satisfied+0x5e - ldterm`ldterm_dononcanon+0x230 - ldterm`ldtermrmsg+0x252 - ldterm`ldtermrput+0x7e9 - 22 - ttcompat - ttcompat`ttcompatrput+0x1d - unix`putnext+0x1b7 - ldterm`ldterm_msg_upstream+0x2c - ldterm`vmin_satisfied+0x5e - ldterm`ldterm_dononcanon+0x230 - 22 - bufmod - bufmod`sbwput+0x33 - unix`putnext+0x1b7 - genunix`strput+0x168 - genunix`strwrite+0x151 - specfs`spec_write+0x4e - 23 - ptem - ptem`ptemrput+0xff - unix`putnext+0x1b7 - ptm`ptmwsrv+0x90 - genunix`runservice+0x2a - genunix`queue_service+0x30 - 23 - pts - ptm`ptmwsrv+0x90 - genunix`runservice+0x2a - genunix`queue_service+0x30 - genunix`stream_runservice+0x96 - genunix`strput+0x171 - 23 - conskbd - kbtrans`kbtrans_queueevent+0x5c - kbtrans`kbtrans_queuepress+0x5f - kbtrans`kbtrans_untrans_keypressed_raw+0x36 - kbtrans`kbtrans_processkey+0x30 - kbtrans`kbtrans_streams_key+0x95 - 24 - kb8042 - kbtrans`kbtrans_queueevent+0x5c - kbtrans`kbtrans_queuepress+0x5f - kbtrans`kbtrans_untrans_keypressed_raw+0x36 - kbtrans`kbtrans_processkey+0x30 - kbtrans`kbtrans_streams_key+0x95 - 24 - ip - ip`tcp_send_data+0x55d - ip`tcp_output+0x562 - ip`squeue_enter+0x1bf - ip`tcp_wput+0x234 - unix`putnext+0x1b7 - 32 - ldterm - ldterm`ldtermwmsg+0x100 - ldterm`ldtermwput+0x8e - unix`putnext+0x1b7 - ttcompat`ttcompatwput+0x32 - unix`putnext+0x1b7 - 36 - ptem - ptem`ptemwmsg+0x44d - ptem`ptemwput+0xe1 - unix`putnext+0x1b7 - ldterm`ldtermwmsg+0x100 - ldterm`ldtermwput+0x8e - 36 - ptm - pts`ptswsrv+0x7c - genunix`runservice+0x2a - genunix`queue_service+0x30 - genunix`stream_runservice+0x96 - genunix`strput+0x171 - 36 - ttcompat - ttcompat`ttcompatwput+0x32 - unix`putnext+0x1b7 - genunix`strput+0x168 - genunix`strwrite+0x151 - specfs`spec_write+0x4e - 36 - tcp - ip`tcp_rput_data+0x2221 - ip`squeue_enter+0x1bf - ip`ip_tcp_input+0xcfb - ip`ip_rput+0x583 - unix`putnext+0x1b7 - 40 - rtls - gld`gld_recv_tagged+0xed - gld`gld_recv+0x10 - rtls`rtls_receive+0x18f - rtls`rtls_gld_intr+0x133 - gld`gld_intr+0x1e - 46 - consms - consms`consmslrput+0x15a - unix`putnext+0x1b7 - vuid3ps2`vuid3ps2_putnext+0x94 - vuid3ps2`vuid3ps2+0x82b - vuid3ps2`vuidmice_rsrv+0x69 - 59 - strwhead - genunix`strput+0x168 - genunix`strwrite+0x151 - specfs`spec_write+0x4e - genunix`fop_write+0x1b - genunix`write+0x29a - 59 - vuid3ps2 - vuid3ps2`vuid3ps2_putnext+0x94 - vuid3ps2`vuid3ps2+0x82b - vuid3ps2`vuidmice_rsrv+0x69 - genunix`runservice+0x2a - genunix`queue_service+0x30 - 59 - consms - consms`consmslrput+0x15a - unix`putnext+0x1b7 - vuid3ps2`vuid3ps2_putnext+0x94 - vuid3ps2`vuid3ps2+0x809 - vuid3ps2`vuidmice_rsrv+0x69 - 77 - vuid3ps2 - vuid3ps2`vuid3ps2_putnext+0x94 - vuid3ps2`vuid3ps2+0x809 - vuid3ps2`vuidmice_rsrv+0x69 - genunix`runservice+0x2a - genunix`queue_service+0x30 - 77 - strwhead - genunix`strput+0x168 - genunix`strwrite+0x151 - sockfs`socktpi_write+0xcb - genunix`fop_write+0x1b - genunix`writev+0x308 - 108 - rtls - gld`gld_passon+0x9e - gld`gld_sendup+0xfc - gld`gld_recv_tagged+0x15f - gld`gld_recv+0x10 - rtls`rtls_receive+0x18f - 124 - strwhead - genunix`strput+0x168 - genunix`strwrite+0x151 - sockfs`socktpi_write+0xcb - genunix`fop_write+0x1b - genunix`write+0x29a - 138 - tl - tl`tl_wput_data_ser+0x5e - genunix`serializer_exec+0x1d - genunix`serializer_enter+0x81 - tl`tl_serializer_enter+0x40 - tl`tl_wput+0x1c7 - 214 - mouse8042 - mouse8042`mouse8042_intr+0x68 - i8042`i8042_intr+0xa6 - unix`intr_thread+0x107 - 261 - -Highlights of the above output include, - -- gld calling putnext to rtls (my laptop network device driver) -- ip receive path calling putnext to tcp -- tcp_send_data() calling putnext to ip - diff --git a/cddl/contrib/dtracetoolkit/Examples/py_calldist_example.txt b/cddl/contrib/dtracetoolkit/Examples/py_calldist_example.txt deleted file mode 100644 index da44430213a2..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/py_calldist_example.txt +++ /dev/null @@ -1,966 +0,0 @@ -The following are examples of py_calldist.d. - -This script traces the elapsed time of Python functions and prints a report in -the form of a histogram. Here it traces the example program, -Code/Python/func_abc.py - -The results are displayed in two sections, the first, Exclusive function -elapsed times, shows us the time spent in each functions, not including time -spent in subroutines. - -The third section, Inclusive function elapsed times, shows us the time spent -in each function, this time including that time spent in subroutines called -by those functions. - -It is important to pay close attention to the third column, "count" as this -will indicate if there were any instances in a particular timeframe, even if -the number is too small to show up on the histogram clearly. - -# py_calldist.d -Tracing... Hit Ctrl-C to end. -^C - -Exclusive function elapsed times (us), - UserDict.py, func, IterableUserDict - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - __init__.py, func, CodecRegistryError - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - ascii.py, func, Codec - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - ascii.py, func, StreamConverter - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - ascii.py, func, StreamReader - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - ascii.py, func, StreamWriter - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - ascii.py, func, getregentry - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - site.py, func, _Helper - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - site.py, func, aliasmbcs - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - site.py, func, setencoding - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - site.py, func, sethelper - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - types.py, func, _C - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - warnings.py, func, _OptionError - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - warnings.py, func, _processoptions - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - UserDict.py, func, __init__ - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - codecs.py, func, Codec - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - codecs.py, func, StreamReader - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - codecs.py, func, StreamReaderWriter - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - codecs.py, func, StreamRecoder - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - codecs.py, func, StreamWriter - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - os.py, func, _Environ - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - site.py, func, _Printer - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - site.py, func, setquit - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - copy_reg.py, func, constructor - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 4 | 0 - - site.py, func, __init__ - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 4 | 0 - - warnings.py, func, simplefilter - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@ 1 - 4 |@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - __init__.py, func, normalize_encoding - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - linecache.py, func, ? - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - posixpath.py, func, dirname - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - posixpath.py, func, split - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 8 | 0 - - stat.py, func, ? - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - stat.py, func, S_IFMT - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 6 - 4 | 0 - - UserDict.py, func, UserDict - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - os.py, func, __init__ - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - posixpath.py, func, basename - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - posixpath.py, func, normcase - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@ 6 - 2 |@@@@@@@@@@@@@@@@@@@@@@@ 8 - 4 | 0 - - aliases.py, func, ? - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - copy_reg.py, func, pickle - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 16 |@@@@@@@@@@@@@ 1 - 32 | 0 - - posixpath.py, func, exists - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 32 | 0 - - , func, ? - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 10 - 4 | 0 - 8 | 0 - 16 |@@@@ 1 - 32 | 0 - - posixpath.py, func, isabs - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 21 - 4 |@@ 1 - 8 | 0 - - stat.py, func, S_ISDIR - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 5 - 16 |@@@@@@@ 1 - 32 | 0 - - UserDict.py, func, ? - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - ascii.py, func, ? - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - site.py, func, addsitepackages - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - site.py, func, removeduppaths - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - site.py, func, setcopyright - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - types.py, func, ? - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - posixpath.py, func, join - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@ 12 - 4 |@@@@@@@@@@@@ 6 - 8 |@@ 1 - 16 | 0 - 32 |@@ 1 - 64 | 0 - - UserDict.py, func, DictMixin - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 256 | 0 - - __init__.py, func, search_function - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 256 | 0 - - codecs.py, func, ? - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 256 | 0 - - copy_reg.py, func, ? - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 256 | 0 - - os.py, func, _get_exports_list - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 256 | 0 - - site.py, func, _init_pathinfo - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 256 | 0 - - site.py, func, abs__file__ - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 256 | 0 - - site.py, func, main - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 256 | 0 - - warnings.py, func, ? - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 256 | 0 - - posixpath.py, func, normpath - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 22 - 16 | 0 - - posixpath.py, func, isdir - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 6 - 32 |@@@@@ 1 - 64 |@@@@@ 1 - 128 | 0 - - site.py, func, addpackage - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@ 1 - 128 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 256 | 0 - - posixpath.py, func, abspath - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 21 - 32 |@@ 1 - 64 | 0 - - site.py, func, makepath - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 14 - 64 | 0 - - posixpath.py, func, ? - value ------------- Distribution ------------- count - 256 | 0 - 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1024 | 0 - - site.py, func, ? - value ------------- Distribution ------------- count - 256 | 0 - 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1024 | 0 - - site.py, func, execsitecustomize - value ------------- Distribution ------------- count - 256 | 0 - 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1024 | 0 - - site.py, func, addsitedir - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@ 1 - 256 | 0 - 512 |@@@@@@@@@@@@@@@@@@@@ 1 - 1024 | 0 - - os.py, func, _exists - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 7 - 32 |@@@@@@@@ 2 - 64 | 0 - 128 | 0 - 256 | 0 - 512 |@@@@ 1 - 1024 | 0 - - __init__.py, func, ? - value ------------- Distribution ------------- count - 512 | 0 - 1024 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2048 | 0 - - os.py, func, ? - value ------------- Distribution ------------- count - 512 | 0 - 1024 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2048 | 0 - - func_abc.py, func, ? - value ------------- Distribution ------------- count - 1024 | 0 - 2048 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4096 | 0 - - func_abc.py, func, func_a - value ------------- Distribution ------------- count - 262144 | 0 - 524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1048576 | 0 - - func_abc.py, func, func_b - value ------------- Distribution ------------- count - 262144 | 0 - 524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1048576 | 0 - - func_abc.py, func, func_c - value ------------- Distribution ------------- count - 262144 | 0 - 524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1048576 | 0 - - -Inclusive function elapsed times (us), - UserDict.py, func, IterableUserDict - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - __init__.py, func, CodecRegistryError - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - ascii.py, func, Codec - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - ascii.py, func, StreamConverter - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - ascii.py, func, StreamReader - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - ascii.py, func, StreamWriter - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - ascii.py, func, getregentry - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - site.py, func, _Helper - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - site.py, func, aliasmbcs - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - site.py, func, setencoding - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - site.py, func, sethelper - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - types.py, func, _C - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - warnings.py, func, _OptionError - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - warnings.py, func, _processoptions - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - UserDict.py, func, __init__ - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - codecs.py, func, Codec - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - codecs.py, func, StreamReader - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - codecs.py, func, StreamReaderWriter - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - codecs.py, func, StreamRecoder - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - codecs.py, func, StreamWriter - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - os.py, func, _Environ - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - site.py, func, _Printer - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - site.py, func, setquit - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - copy_reg.py, func, constructor - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 4 | 0 - - site.py, func, __init__ - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 4 | 0 - - warnings.py, func, simplefilter - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@ 1 - 4 |@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - __init__.py, func, normalize_encoding - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - linecache.py, func, ? - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - posixpath.py, func, split - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 8 | 0 - - stat.py, func, ? - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - stat.py, func, S_IFMT - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 6 - 4 | 0 - - UserDict.py, func, UserDict - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - os.py, func, __init__ - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - posixpath.py, func, basename - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - posixpath.py, func, dirname - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - posixpath.py, func, normcase - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@ 6 - 2 |@@@@@@@@@@@@@@@@@@@@@@@ 8 - 4 | 0 - - aliases.py, func, ? - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - posixpath.py, func, exists - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 32 | 0 - - copy_reg.py, func, pickle - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@ 1 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 32 | 0 - - posixpath.py, func, isabs - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 21 - 4 |@@ 1 - 8 | 0 - - ascii.py, func, ? - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - site.py, func, setcopyright - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - stat.py, func, S_ISDIR - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 4 - 16 |@@@@@@@@@@@@@ 2 - 32 | 0 - - types.py, func, ? - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - posixpath.py, func, join - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@ 12 - 4 |@@@@@@@@@@@@ 6 - 8 |@@ 1 - 16 | 0 - 32 |@@ 1 - 64 | 0 - - UserDict.py, func, DictMixin - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 256 | 0 - - codecs.py, func, ? - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 256 | 0 - - os.py, func, _get_exports_list - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 256 | 0 - - posixpath.py, func, normpath - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 22 - 16 | 0 - - UserDict.py, func, ? - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - - __init__.py, func, search_function - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - - copy_reg.py, func, ? - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - - site.py, func, abs__file__ - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - - site.py, func, removeduppaths - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - - warnings.py, func, ? - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - - posixpath.py, func, isdir - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@ 1 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@ 5 - 64 |@@@@@@@@@@ 2 - 128 | 0 - - posixpath.py, func, ? - value ------------- Distribution ------------- count - 256 | 0 - 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1024 | 0 - - site.py, func, _init_pathinfo - value ------------- Distribution ------------- count - 256 | 0 - 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1024 | 0 - - site.py, func, execsitecustomize - value ------------- Distribution ------------- count - 256 | 0 - 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1024 | 0 - - posixpath.py, func, abspath - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 22 - 64 | 0 - - os.py, func, _exists - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@ 4 - 32 |@@@@@@@@@@@@@@@@@@@@ 5 - 64 | 0 - 128 | 0 - 256 | 0 - 512 |@@@@ 1 - 1024 | 0 - - site.py, func, makepath - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 14 - 128 | 0 - - __init__.py, func, ? - value ------------- Distribution ------------- count - 512 | 0 - 1024 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2048 | 0 - - , func, ? - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 10 - 4 | 0 - 8 | 0 - 16 | 0 - 32 | 0 - 64 | 0 - 128 | 0 - 256 | 0 - 512 | 0 - 1024 |@@@@ 1 - 2048 | 0 - - site.py, func, addpackage - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@@@@@ 1 - 256 |@@@@@@@@@@@@@ 1 - 512 | 0 - 1024 |@@@@@@@@@@@@@ 1 - 2048 | 0 - - os.py, func, ? - value ------------- Distribution ------------- count - 1024 | 0 - 2048 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4096 | 0 - - site.py, func, addsitepackages - value ------------- Distribution ------------- count - 1024 | 0 - 2048 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4096 | 0 - - site.py, func, addsitedir - value ------------- Distribution ------------- count - 512 | 0 - 1024 |@@@@@@@@@@@@@@@@@@@@ 1 - 2048 |@@@@@@@@@@@@@@@@@@@@ 1 - 4096 | 0 - - site.py, func, main - value ------------- Distribution ------------- count - 2048 | 0 - 4096 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8192 | 0 - - site.py, func, ? - value ------------- Distribution ------------- count - 4096 | 0 - 8192 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16384 | 0 - - func_abc.py, func, func_c - value ------------- Distribution ------------- count - 262144 | 0 - 524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1048576 | 0 - - func_abc.py, func, func_b - value ------------- Distribution ------------- count - 524288 | 0 - 1048576 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2097152 | 0 - - func_abc.py, func, ? - value ------------- Distribution ------------- count - 1048576 | 0 - 2097152 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4194304 | 0 - - func_abc.py, func, func_a - value ------------- Distribution ------------- count - 1048576 | 0 - 2097152 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4194304 | 0 - - diff --git a/cddl/contrib/dtracetoolkit/Examples/py_calltime_example.txt b/cddl/contrib/dtracetoolkit/Examples/py_calltime_example.txt deleted file mode 100644 index bda8ea898826..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/py_calltime_example.txt +++ /dev/null @@ -1,255 +0,0 @@ -The following are examples of py_calltime.d. - -This script traces the elapsed time of Python functions and prints a report. -Here it traces the example program, Code/Python/func_abc.py - -# py_calltime.d -Tracing... Hit Ctrl-C to end. -^C - -Count, - FILE TYPE NAME COUNT - UserDict.py func ? 1 - UserDict.py func DictMixin 1 - UserDict.py func IterableUserDict 1 - UserDict.py func UserDict 1 - UserDict.py func __init__ 1 - __init__.py func ? 1 - __init__.py func CodecRegistryError 1 - __init__.py func normalize_encoding 1 - __init__.py func search_function 1 - aliases.py func ? 1 - ascii.py func ? 1 - ascii.py func Codec 1 - ascii.py func StreamConverter 1 - ascii.py func StreamReader 1 - ascii.py func StreamWriter 1 - ascii.py func getregentry 1 - codecs.py func ? 1 - codecs.py func Codec 1 - codecs.py func StreamReader 1 - codecs.py func StreamReaderWriter 1 - codecs.py func StreamRecoder 1 - codecs.py func StreamWriter 1 - copy_reg.py func ? 1 - func_abc.py func ? 1 - func_abc.py func func_a 1 - func_abc.py func func_b 1 - func_abc.py func func_c 1 - linecache.py func ? 1 - os.py func ? 1 - os.py func _Environ 1 - os.py func __init__ 1 - os.py func _get_exports_list 1 - posixpath.py func ? 1 - posixpath.py func basename 1 - posixpath.py func dirname 1 - site.py func ? 1 - site.py func _Helper 1 - site.py func _Printer 1 - site.py func _init_pathinfo 1 - site.py func abs__file__ 1 - site.py func addsitepackages 1 - site.py func aliasmbcs 1 - site.py func execsitecustomize 1 - site.py func main 1 - site.py func removeduppaths 1 - site.py func setcopyright 1 - site.py func setencoding 1 - site.py func sethelper 1 - site.py func setquit 1 - stat.py func ? 1 - types.py func ? 1 - types.py func _C 1 - warnings.py func ? 1 - warnings.py func _OptionError 1 - warnings.py func _processoptions 1 - posixpath.py func exists 2 - posixpath.py func split 2 - site.py func addsitedir 2 - warnings.py func simplefilter 2 - copy_reg.py func constructor 3 - copy_reg.py func pickle 3 - site.py func __init__ 3 - site.py func addpackage 3 - stat.py func S_IFMT 6 - stat.py func S_ISDIR 6 - posixpath.py func isdir 8 - os.py func _exists 10 - func ? 11 - posixpath.py func normcase 14 - site.py func makepath 14 - posixpath.py func join 20 - posixpath.py func abspath 22 - posixpath.py func isabs 22 - posixpath.py func normpath 22 - - total - 230 - -Exclusive function elapsed times (us), - FILE TYPE NAME TOTAL - ascii.py func StreamWriter 2 - ascii.py func StreamReader 2 - site.py func setencoding 2 - UserDict.py func IterableUserDict 2 - __init__.py func CodecRegistryError 2 - ascii.py func getregentry 2 - site.py func aliasmbcs 2 - warnings.py func _OptionError 3 - types.py func _C 3 - site.py func sethelper 3 - warnings.py func _processoptions 3 - ascii.py func StreamConverter 3 - ascii.py func Codec 3 - site.py func _Helper 3 - site.py func setquit 4 - codecs.py func StreamWriter 4 - UserDict.py func __init__ 4 - site.py func _Printer 4 - codecs.py func Codec 4 - os.py func _Environ 4 - codecs.py func StreamRecoder 5 - codecs.py func StreamReaderWriter 6 - codecs.py func StreamReader 6 - copy_reg.py func constructor 7 - __init__.py func normalize_encoding 9 - site.py func __init__ 10 - warnings.py func simplefilter 11 - linecache.py func ? 11 - posixpath.py func split 13 - stat.py func ? 14 - stat.py func S_IFMT 14 - posixpath.py func dirname 16 - posixpath.py func basename 24 - os.py func __init__ 26 - posixpath.py func normcase 29 - UserDict.py func UserDict 32 - posixpath.py func exists 37 - aliases.py func ? 46 - func ? 56 - copy_reg.py func pickle 59 - UserDict.py func ? 84 - site.py func addsitepackages 85 - posixpath.py func isabs 87 - site.py func setcopyright 94 - stat.py func S_ISDIR 98 - posixpath.py func join 105 - types.py func ? 106 - site.py func removeduppaths 115 - ascii.py func ? 122 - os.py func _get_exports_list 136 - site.py func _init_pathinfo 155 - site.py func abs__file__ 158 - codecs.py func ? 182 - UserDict.py func DictMixin 184 - __init__.py func search_function 205 - site.py func main 218 - posixpath.py func normpath 231 - copy_reg.py func ? 239 - posixpath.py func isdir 285 - site.py func addpackage 419 - site.py func addsitedir 473 - warnings.py func ? 500 - posixpath.py func ? 546 - site.py func execsitecustomize 558 - site.py func makepath 608 - posixpath.py func abspath 646 - os.py func _exists 925 - __init__.py func ? 1289 - os.py func ? 1473 - site.py func ? 1510 - func_abc.py func ? 1517 - func_abc.py func func_c 1000071 - func_abc.py func func_a 1005706 - func_abc.py func func_b 1010158 - - total - 3029815 - -Inclusive function elapsed times (us), - FILE TYPE NAME TOTAL - ascii.py func StreamWriter 2 - ascii.py func StreamReader 2 - site.py func setencoding 2 - UserDict.py func IterableUserDict 2 - __init__.py func CodecRegistryError 2 - ascii.py func getregentry 2 - site.py func aliasmbcs 2 - warnings.py func _OptionError 3 - types.py func _C 3 - site.py func sethelper 3 - warnings.py func _processoptions 3 - ascii.py func StreamConverter 3 - ascii.py func Codec 3 - site.py func _Helper 3 - site.py func setquit 4 - codecs.py func StreamWriter 4 - UserDict.py func __init__ 4 - site.py func _Printer 4 - codecs.py func Codec 4 - os.py func _Environ 4 - codecs.py func StreamRecoder 5 - codecs.py func StreamReaderWriter 6 - codecs.py func StreamReader 6 - copy_reg.py func constructor 7 - __init__.py func normalize_encoding 9 - site.py func __init__ 10 - warnings.py func simplefilter 11 - linecache.py func ? 11 - posixpath.py func split 13 - stat.py func ? 14 - stat.py func S_IFMT 14 - posixpath.py func dirname 22 - posixpath.py func normcase 29 - os.py func __init__ 31 - posixpath.py func basename 31 - UserDict.py func UserDict 32 - posixpath.py func exists 37 - aliases.py func ? 46 - copy_reg.py func pickle 66 - posixpath.py func isabs 87 - posixpath.py func join 105 - types.py func ? 109 - stat.py func S_ISDIR 113 - site.py func setcopyright 132 - ascii.py func ? 133 - os.py func _get_exports_list 136 - UserDict.py func DictMixin 184 - codecs.py func ? 210 - posixpath.py func normpath 231 - UserDict.py func ? 303 - __init__.py func search_function 350 - copy_reg.py func ? 377 - posixpath.py func isdir 399 - warnings.py func ? 530 - site.py func abs__file__ 540 - site.py func execsitecustomize 558 - posixpath.py func ? 560 - site.py func removeduppaths 565 - site.py func _init_pathinfo 899 - os.py func _exists 953 - posixpath.py func abspath 966 - site.py func makepath 1296 - __init__.py func ? 1548 - func ? 1808 - site.py func addsitepackages 2471 - site.py func addpackage 2475 - os.py func ? 3879 - site.py func addsitedir 4026 - site.py func main 4532 - site.py func ? 9930 - func_abc.py func func_c 1000071 - func_abc.py func func_b 2010230 - func_abc.py func func_a 3015936 - func_abc.py func ? 3017454 - -Counts shows us how many times each different function was called, and how -many functions were called in total. - -The exclusive function elapsed times show the time that each function spent -processing code - while not in other functions. - -The inclusive function elapsed times show the time that each function spent -processing code, including the time spent in other calls. - -These elapsed times are the absolute time from when the function began to -when it completed - which includes off-CPU time due to other system events -such as I/O, scheduling, interrupts, etc. - diff --git a/cddl/contrib/dtracetoolkit/Examples/py_cpudist_example.txt b/cddl/contrib/dtracetoolkit/Examples/py_cpudist_example.txt deleted file mode 100644 index 3272e904387f..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/py_cpudist_example.txt +++ /dev/null @@ -1,966 +0,0 @@ -The following are examples of py_cpudist.d. - -This script traces the on-CPU time of Python functions and prints a report -in the form of a histogram. Here it traces the example program, -Code/Python/func_slow.py - -# py_cpudist.d -Tracing... Hit Ctrl-C to end. -^C - -Exclusive function on-CPU times (us), - UserDict.py, func, IterableUserDict - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2 | 0 - - __init__.py, func, CodecRegistryError - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2 | 0 - - ascii.py, func, StreamReader - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2 | 0 - - ascii.py, func, StreamWriter - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2 | 0 - - ascii.py, func, getregentry - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2 | 0 - - site.py, func, aliasmbcs - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2 | 0 - - site.py, func, sethelper - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2 | 0 - - types.py, func, _C - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2 | 0 - - warnings.py, func, _OptionError - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2 | 0 - - UserDict.py, func, __init__ - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - ascii.py, func, Codec - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - ascii.py, func, StreamConverter - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - codecs.py, func, Codec - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - codecs.py, func, StreamWriter - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - os.py, func, _Environ - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - posixpath.py, func, basename - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - posixpath.py, func, dirname - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - site.py, func, _Helper - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - site.py, func, _Printer - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - site.py, func, setencoding - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - site.py, func, setquit - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - warnings.py, func, _processoptions - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - copy_reg.py, func, constructor - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 2 | 0 - - codecs.py, func, StreamReader - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - codecs.py, func, StreamReaderWriter - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - codecs.py, func, StreamRecoder - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - func_slow.py, func, ? - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - os.py, func, __init__ - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - site.py, func, __init__ - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 4 | 0 - - stat.py, func, S_IFMT - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 6 - 2 | 0 - - warnings.py, func, simplefilter - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@ 1 - 4 |@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - __init__.py, func, normalize_encoding - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - copy_reg.py, func, pickle - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 4 |@@@@@@@@@@@@@ 1 - 8 | 0 - - linecache.py, func, ? - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - posixpath.py, func, split - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 8 | 0 - - stat.py, func, ? - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - stat.py, func, S_ISDIR - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 6 - 4 | 0 - - posixpath.py, func, normcase - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 14 - 2 | 0 - - UserDict.py, func, ? - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - UserDict.py, func, UserDict - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - site.py, func, _init_pathinfo - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - site.py, func, addsitepackages - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - site.py, func, setcopyright - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - , func, ? - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@ 5 - 2 |@@@@@@@@@@@@@@@@@@ 5 - 4 |@@@@ 1 - 8 | 0 - - posixpath.py, func, isabs - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 20 - 2 |@@@@ 2 - 4 | 0 - - aliases.py, func, ? - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - ascii.py, func, ? - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - posixpath.py, func, exists - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 32 | 0 - - site.py, func, abs__file__ - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - site.py, func, removeduppaths - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - site.py, func, makepath - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 14 - 8 | 0 - - posixpath.py, func, join - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@ 12 - 2 |@@@@@@@@@@ 5 - 4 |@@@@ 2 - 8 | 0 - 16 | 0 - 32 |@@ 1 - 64 | 0 - - codecs.py, func, ? - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - site.py, func, main - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - types.py, func, ? - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - posixpath.py, func, abspath - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 22 - 8 | 0 - - UserDict.py, func, DictMixin - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 256 | 0 - - __init__.py, func, search_function - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 256 | 0 - - copy_reg.py, func, ? - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 256 | 0 - - os.py, func, _get_exports_list - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 256 | 0 - - posixpath.py, func, ? - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 256 | 0 - - warnings.py, func, ? - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 256 | 0 - - posixpath.py, func, isdir - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@ 1 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 6 - 32 | 0 - 64 |@@@@@ 1 - 128 | 0 - - posixpath.py, func, normpath - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@ 1 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 21 - 16 | 0 - - site.py, func, addpackage - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 128 |@@@@@@@@@@@@@ 1 - 256 | 0 - - site.py, func, addsitedir - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 256 | 0 - - site.py, func, ? - value ------------- Distribution ------------- count - 256 | 0 - 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1024 | 0 - - site.py, func, execsitecustomize - value ------------- Distribution ------------- count - 256 | 0 - 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1024 | 0 - - os.py, func, _exists - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 9 - 32 | 0 - 64 | 0 - 128 | 0 - 256 | 0 - 512 |@@@@ 1 - 1024 | 0 - - __init__.py, func, ? - value ------------- Distribution ------------- count - 512 | 0 - 1024 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2048 | 0 - - os.py, func, ? - value ------------- Distribution ------------- count - 512 | 0 - 1024 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2048 | 0 - - func_slow.py, func, func_a - value ------------- Distribution ------------- count - 65536 | 0 - 131072 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 262144 | 0 - - func_slow.py, func, func_b - value ------------- Distribution ------------- count - 131072 | 0 - 262144 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 524288 | 0 - - func_slow.py, func, func_c - value ------------- Distribution ------------- count - 262144 | 0 - 524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1048576 | 0 - - -Inclusive function on-CPU times (us), - UserDict.py, func, IterableUserDict - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2 | 0 - - __init__.py, func, CodecRegistryError - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2 | 0 - - ascii.py, func, StreamReader - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2 | 0 - - ascii.py, func, StreamWriter - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2 | 0 - - ascii.py, func, getregentry - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2 | 0 - - site.py, func, aliasmbcs - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2 | 0 - - site.py, func, sethelper - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2 | 0 - - types.py, func, _C - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2 | 0 - - warnings.py, func, _OptionError - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2 | 0 - - UserDict.py, func, __init__ - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - ascii.py, func, Codec - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - ascii.py, func, StreamConverter - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - codecs.py, func, Codec - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - codecs.py, func, StreamWriter - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - os.py, func, _Environ - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - site.py, func, _Helper - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - site.py, func, _Printer - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - site.py, func, setencoding - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - site.py, func, setquit - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - warnings.py, func, _processoptions - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - copy_reg.py, func, constructor - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 2 | 0 - - codecs.py, func, StreamReader - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - codecs.py, func, StreamReaderWriter - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - codecs.py, func, StreamRecoder - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - site.py, func, __init__ - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 4 | 0 - - stat.py, func, S_IFMT - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 6 - 2 | 0 - - warnings.py, func, simplefilter - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@ 1 - 4 |@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - __init__.py, func, normalize_encoding - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - linecache.py, func, ? - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - os.py, func, __init__ - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - posixpath.py, func, basename - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - posixpath.py, func, dirname - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - posixpath.py, func, split - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 8 | 0 - - stat.py, func, ? - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - copy_reg.py, func, pickle - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 8 | 0 - - posixpath.py, func, normcase - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 14 - 2 | 0 - - UserDict.py, func, UserDict - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - stat.py, func, S_ISDIR - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 4 - 4 |@@@@@@@@@@@@@ 2 - 8 | 0 - - posixpath.py, func, isabs - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 20 - 2 |@@@@ 2 - 4 | 0 - - aliases.py, func, ? - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - ascii.py, func, ? - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - posixpath.py, func, exists - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 32 | 0 - - site.py, func, setcopyright - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - posixpath.py, func, join - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@ 12 - 2 |@@@@@@@@@@ 5 - 4 |@@@@ 2 - 8 | 0 - 16 | 0 - 32 |@@ 1 - 64 | 0 - - codecs.py, func, ? - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - types.py, func, ? - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - UserDict.py, func, ? - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 256 | 0 - - UserDict.py, func, DictMixin - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 256 | 0 - - __init__.py, func, search_function - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 256 | 0 - - os.py, func, _get_exports_list - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 256 | 0 - - posixpath.py, func, ? - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 256 | 0 - - site.py, func, abs__file__ - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 256 | 0 - - site.py, func, removeduppaths - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 256 | 0 - - warnings.py, func, ? - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 256 | 0 - - posixpath.py, func, normpath - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@ 1 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 21 - 16 | 0 - - posixpath.py, func, isdir - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 7 - 32 | 0 - 64 |@@@@@ 1 - 128 | 0 - - posixpath.py, func, abspath - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 17 - 16 |@@@@@@@@@ 5 - 32 | 0 - - copy_reg.py, func, ? - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - - site.py, func, _init_pathinfo - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - - site.py, func, makepath - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 13 - 32 | 0 - 64 |@@@ 1 - 128 | 0 - - site.py, func, execsitecustomize - value ------------- Distribution ------------- count - 256 | 0 - 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1024 | 0 - - , func, ? - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@ 5 - 2 |@@@@@@@@@@@@@@@@@@ 5 - 4 | 0 - 8 | 0 - 16 | 0 - 32 | 0 - 64 | 0 - 128 | 0 - 256 | 0 - 512 |@@@@ 1 - 1024 | 0 - - os.py, func, _exists - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 8 - 32 |@@@@ 1 - 64 | 0 - 128 | 0 - 256 | 0 - 512 |@@@@ 1 - 1024 | 0 - - site.py, func, addpackage - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 256 | 0 - 512 |@@@@@@@@@@@@@ 1 - 1024 | 0 - - __init__.py, func, ? - value ------------- Distribution ------------- count - 512 | 0 - 1024 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2048 | 0 - - site.py, func, addsitepackages - value ------------- Distribution ------------- count - 512 | 0 - 1024 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2048 | 0 - - site.py, func, addsitedir - value ------------- Distribution ------------- count - 256 | 0 - 512 |@@@@@@@@@@@@@@@@@@@@ 1 - 1024 |@@@@@@@@@@@@@@@@@@@@ 1 - 2048 | 0 - - os.py, func, ? - value ------------- Distribution ------------- count - 1024 | 0 - 2048 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4096 | 0 - - site.py, func, main - value ------------- Distribution ------------- count - 1024 | 0 - 2048 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4096 | 0 - - site.py, func, ? - value ------------- Distribution ------------- count - 2048 | 0 - 4096 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8192 | 0 - - func_slow.py, func, func_c - value ------------- Distribution ------------- count - 262144 | 0 - 524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1048576 | 0 - - func_slow.py, func, ? - value ------------- Distribution ------------- count - 524288 | 0 - 1048576 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2097152 | 0 - - func_slow.py, func, func_a - value ------------- Distribution ------------- count - 524288 | 0 - 1048576 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2097152 | 0 - - func_slow.py, func, func_b - value ------------- Distribution ------------- count - 524288 | 0 - 1048576 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2097152 | 0 - -The first section, Exclusive function on-CPU times, shows us the time spent -on-CPU by various functions, not including time spent in subroutines. You can -see here that func_a had one instance of being on-CPU between 0.13 seconds and -0.25 seconds. - -The second section, Inclusive function on-CPU times, shows us the time spent -on-CPU by various functions, including that time spent in subroutines called -by those functions. You can see that here func_a had an instance of being -on-CPU between 1.0 seconds and 2.1 seconds. - -It is important to pay close attention to the third column, "count" as this -will indicate if there were any instances in a particular timeframe, even if -the number is too small to show up on the histogram clearly. - diff --git a/cddl/contrib/dtracetoolkit/Examples/py_cputime_example.txt b/cddl/contrib/dtracetoolkit/Examples/py_cputime_example.txt deleted file mode 100644 index 2f25922adc2a..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/py_cputime_example.txt +++ /dev/null @@ -1,262 +0,0 @@ -The following are examples of py_cputime.d. - -This script traces the on-CPU time of JavaScript functions and prints a -report. Here it traces the example program, Code/Python/func_slow.py - -# py_cputime.d -Tracing... Hit Ctrl-C to end. -^C - -Count, - FILE TYPE NAME COUNT - UserDict.py func ? 1 - UserDict.py func DictMixin 1 - UserDict.py func IterableUserDict 1 - UserDict.py func UserDict 1 - UserDict.py func __init__ 1 - __init__.py func ? 1 - __init__.py func CodecRegistryError 1 - __init__.py func normalize_encoding 1 - __init__.py func search_function 1 - aliases.py func ? 1 - ascii.py func ? 1 - ascii.py func Codec 1 - ascii.py func StreamConverter 1 - ascii.py func StreamReader 1 - ascii.py func StreamWriter 1 - ascii.py func getregentry 1 - codecs.py func ? 1 - codecs.py func Codec 1 - codecs.py func StreamReader 1 - codecs.py func StreamReaderWriter 1 - codecs.py func StreamRecoder 1 - codecs.py func StreamWriter 1 - copy_reg.py func ? 1 - func_slow.py func ? 1 - func_slow.py func func_a 1 - func_slow.py func func_b 1 - func_slow.py func func_c 1 - linecache.py func ? 1 - os.py func ? 1 - os.py func _Environ 1 - os.py func __init__ 1 - os.py func _get_exports_list 1 - posixpath.py func ? 1 - posixpath.py func basename 1 - posixpath.py func dirname 1 - site.py func ? 1 - site.py func _Helper 1 - site.py func _Printer 1 - site.py func _init_pathinfo 1 - site.py func abs__file__ 1 - site.py func addsitepackages 1 - site.py func aliasmbcs 1 - site.py func execsitecustomize 1 - site.py func main 1 - site.py func removeduppaths 1 - site.py func setcopyright 1 - site.py func setencoding 1 - site.py func sethelper 1 - site.py func setquit 1 - stat.py func ? 1 - types.py func ? 1 - types.py func _C 1 - warnings.py func ? 1 - warnings.py func _OptionError 1 - warnings.py func _processoptions 1 - posixpath.py func exists 2 - posixpath.py func split 2 - site.py func addsitedir 2 - warnings.py func simplefilter 2 - copy_reg.py func constructor 3 - copy_reg.py func pickle 3 - site.py func __init__ 3 - site.py func addpackage 3 - stat.py func S_IFMT 6 - stat.py func S_ISDIR 6 - posixpath.py func isdir 8 - os.py func _exists 10 - func ? 11 - posixpath.py func normcase 14 - site.py func makepath 14 - posixpath.py func join 20 - posixpath.py func abspath 22 - posixpath.py func isabs 22 - posixpath.py func normpath 22 - - total - 230 - -Exclusive function on-CPU times (us), - FILE TYPE NAME TOTAL - ascii.py func StreamWriter 1 - __init__.py func CodecRegistryError 1 - ascii.py func StreamReader 1 - site.py func setencoding 1 - warnings.py func _OptionError 1 - UserDict.py func IterableUserDict 1 - site.py func aliasmbcs 1 - warnings.py func _processoptions 1 - types.py func _C 1 - ascii.py func getregentry 1 - site.py func _Helper 2 - ascii.py func Codec 2 - ascii.py func StreamConverter 2 - site.py func sethelper 2 - codecs.py func Codec 2 - UserDict.py func __init__ 3 - posixpath.py func dirname 3 - posixpath.py func basename 3 - site.py func _Printer 3 - os.py func _Environ 3 - codecs.py func StreamWriter 3 - site.py func setquit 3 - copy_reg.py func constructor 3 - codecs.py func StreamRecoder 4 - codecs.py func StreamReaderWriter 5 - codecs.py func StreamReader 5 - os.py func __init__ 6 - func_slow.py func ? 6 - __init__.py func normalize_encoding 7 - site.py func __init__ 7 - linecache.py func ? 7 - warnings.py func simplefilter 7 - stat.py func S_IFMT 9 - stat.py func ? 10 - copy_reg.py func pickle 12 - posixpath.py func split 12 - posixpath.py func normcase 15 - stat.py func S_ISDIR 17 - site.py func addsitepackages 20 - UserDict.py func ? 20 - site.py func setcopyright 23 - site.py func main 24 - func ? 28 - UserDict.py func UserDict 31 - site.py func _init_pathinfo 33 - posixpath.py func exists 35 - ascii.py func ? 38 - posixpath.py func isabs 42 - aliases.py func ? 43 - site.py func removeduppaths 51 - site.py func abs__file__ 56 - codecs.py func ? 75 - types.py func ? 83 - posixpath.py func join 85 - site.py func makepath 97 - posixpath.py func abspath 99 - os.py func _get_exports_list 132 - __init__.py func search_function 142 - warnings.py func ? 171 - UserDict.py func DictMixin 182 - posixpath.py func ? 192 - copy_reg.py func ? 196 - posixpath.py func normpath 209 - posixpath.py func isdir 255 - site.py func addpackage 375 - site.py func addsitedir 506 - site.py func execsitecustomize 540 - site.py func ? 725 - os.py func _exists 802 - os.py func ? 1138 - __init__.py func ? 1199 - func_slow.py func func_a 229669 - func_slow.py func func_b 456371 - func_slow.py func func_c 686056 - - total - 1379951 - -Inclusive function on-CPU times (us), - FILE TYPE NAME TOTAL - ascii.py func StreamWriter 1 - __init__.py func CodecRegistryError 1 - ascii.py func StreamReader 1 - site.py func setencoding 1 - warnings.py func _OptionError 1 - UserDict.py func IterableUserDict 1 - site.py func aliasmbcs 1 - warnings.py func _processoptions 1 - types.py func _C 1 - ascii.py func getregentry 1 - site.py func _Helper 2 - ascii.py func Codec 2 - ascii.py func StreamConverter 2 - site.py func sethelper 2 - codecs.py func Codec 2 - UserDict.py func __init__ 3 - site.py func _Printer 3 - os.py func _Environ 3 - codecs.py func StreamWriter 3 - site.py func setquit 3 - copy_reg.py func constructor 3 - codecs.py func StreamRecoder 4 - codecs.py func StreamReaderWriter 5 - codecs.py func StreamReader 5 - __init__.py func normalize_encoding 7 - site.py func __init__ 7 - linecache.py func ? 7 - warnings.py func simplefilter 7 - stat.py func S_IFMT 9 - os.py func __init__ 9 - posixpath.py func basename 9 - posixpath.py func dirname 10 - stat.py func ? 10 - posixpath.py func split 12 - posixpath.py func normcase 15 - copy_reg.py func pickle 15 - stat.py func S_ISDIR 26 - UserDict.py func UserDict 31 - posixpath.py func exists 35 - posixpath.py func isabs 42 - aliases.py func ? 43 - site.py func setcopyright 44 - ascii.py func ? 45 - types.py func ? 85 - posixpath.py func join 85 - codecs.py func ? 97 - os.py func _get_exports_list 132 - site.py func removeduppaths 171 - UserDict.py func DictMixin 182 - site.py func abs__file__ 184 - warnings.py func ? 190 - __init__.py func search_function 196 - posixpath.py func ? 202 - posixpath.py func normpath 209 - UserDict.py func ? 235 - posixpath.py func isdir 281 - copy_reg.py func ? 288 - posixpath.py func abspath 351 - site.py func _init_pathinfo 392 - site.py func makepath 395 - site.py func execsitecustomize 540 - os.py func _exists 819 - func ? 973 - __init__.py func ? 1341 - site.py func addpackage 1470 - site.py func addsitepackages 1562 - site.py func addsitedir 2420 - site.py func main 2546 - os.py func ? 2839 - site.py func ? 6118 - func_slow.py func func_c 686056 - func_slow.py func func_b 1142427 - func_slow.py func func_a 1372097 - func_slow.py func ? 1372104 - -You can see the results are printed in three sections. - -The first section reports how many times each function was called. - -The exclusive function on-CPU times shows, amongst other results that func_a -spent around 0.22 seconds on-CPU. This times excludes time spent in -other functions. - -The inclusive function on-CPU times show that func_a spent around 1.4 -seconds on-CPU. This includes the time spent in other functions called. - -These on-CPU times are the time the thread spent running on a CPU, from when -the subroutine began to when it completed. This does not include time -spent off-CPU time such as sleeping for I/O or waiting for scheduling. - -On-CPU times are useful for showing who is causing the CPUs to be busy. -See Notes/ALLoncpu_notes.txt for more details. Also see -Notes/ALLexclusive_notes.txt and Notes/ALLinclusive_notes.txt for a -detailed explanation of exclusive vs inclusive subroutine time. - diff --git a/cddl/contrib/dtracetoolkit/Examples/py_flow_example.txt b/cddl/contrib/dtracetoolkit/Examples/py_flow_example.txt deleted file mode 100644 index d62269e3b03d..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/py_flow_example.txt +++ /dev/null @@ -1,485 +0,0 @@ -The following are examples of py_flow.d. - -This is a simple script to trace the flow of Python functions. -Here it traces the example program, Code/Python/func_abc.py - -# py_flow.d - C TIME(us) FILE -- FUNC - 0 3064371810154 site.py -> ? - 0 3064371830069 os.py -> ? - 0 3064371840076 posixpath.py -> ? - 0 3064371840298 stat.py -> ? - 0 3064371840319 stat.py <- ? - 0 3064371840345 posixpath.py <- ? - 0 3064371840364 os.py -> _get_exports_list - 0 3064371840510 os.py <- _get_exports_list - 0 3064371849994 UserDict.py -> ? - 0 3064371850011 UserDict.py -> UserDict - 0 3064371850051 UserDict.py <- UserDict - 0 3064371850067 UserDict.py -> IterableUserDict - 0 3064371850075 UserDict.py <- IterableUserDict - 0 3064371850088 UserDict.py -> DictMixin - 0 3064371850291 UserDict.py <- DictMixin - 0 3064371850300 UserDict.py <- ? - 0 3064371850320 os.py -> _Environ - 0 3064371850330 os.py <- _Environ - 0 3064371850342 os.py -> __init__ - 0 3064371850353 UserDict.py -> __init__ - 0 3064371850363 UserDict.py <- __init__ - 0 3064371850372 os.py <- __init__ - 0 3064371850381 os.py -> _exists - 0 3064371851137 -> ? - 0 3064371851146 <- ? - 0 3064371851155 os.py <- _exists - 0 3064371851162 os.py -> _exists - 0 3064371851186 -> ? - 0 3064371851195 <- ? - 0 3064371851213 os.py <- _exists - 0 3064371851220 os.py -> _exists - 0 3064371851242 -> ? - 0 3064371851249 <- ? - 0 3064371851257 os.py <- _exists - 0 3064371851266 os.py -> _exists - 0 3064371851286 -> ? - 0 3064371851293 <- ? - 0 3064371851300 os.py <- _exists - 0 3064371851310 os.py -> _exists - 0 3064371851330 -> ? - 0 3064371851337 <- ? - 0 3064371851344 os.py <- _exists - 0 3064371851354 os.py -> _exists - 0 3064371851374 -> ? - 0 3064371851381 <- ? - 0 3064371851388 os.py <- _exists - 0 3064371851395 os.py -> _exists - 0 3064371851415 -> ? - 0 3064371851423 <- ? - 0 3064371851436 os.py <- _exists - 0 3064371851445 os.py -> _exists - 0 3064371851465 -> ? - 0 3064371851473 <- ? - 0 3064371851485 os.py <- _exists - 0 3064371851493 os.py -> _exists - 0 3064371851514 -> ? - 0 3064371851522 <- ? - 0 3064371851534 os.py <- _exists - 0 3064371851785 copy_reg.py -> ? - 0 3064371851996 types.py -> ? - 0 3064371852063 types.py -> _C - 0 3064371852073 types.py <- _C - 0 3064371852108 types.py <- ? - 0 3064371852129 copy_reg.py -> pickle - 0 3064371852139 copy_reg.py -> constructor - 0 3064371852147 copy_reg.py <- constructor - 0 3064371852155 copy_reg.py <- pickle - 0 3064371852166 copy_reg.py <- ? - 0 3064371852179 copy_reg.py -> pickle - 0 3064371852188 copy_reg.py -> constructor - 0 3064371852196 copy_reg.py <- constructor - 0 3064371852204 copy_reg.py <- pickle - 0 3064371852212 copy_reg.py -> pickle - 0 3064371852221 copy_reg.py -> constructor - 0 3064371852229 copy_reg.py <- constructor - 0 3064371852236 copy_reg.py <- pickle - 0 3064371852244 os.py -> _exists - 0 3064371852269 -> ? - 0 3064371852277 <- ? - 0 3064371852289 os.py <- _exists - 0 3064371852297 os.py <- ? - 0 3064371852330 site.py -> _Printer - 0 3064371852340 site.py <- _Printer - 0 3064371852376 site.py -> _Helper - 0 3064371852384 site.py <- _Helper - 0 3064371852416 site.py -> main - 0 3064371852423 site.py -> abs__file__ - 0 3064371852434 posixpath.py -> abspath - 0 3064371852442 posixpath.py -> isabs - 0 3064371852452 posixpath.py <- isabs - 0 3064371852460 posixpath.py -> normpath - 0 3064371852482 posixpath.py <- normpath - 0 3064371852490 posixpath.py <- abspath - 0 3064371852504 posixpath.py -> abspath - 0 3064371852511 posixpath.py -> isabs - 0 3064371852520 posixpath.py <- isabs - 0 3064371852527 posixpath.py -> normpath - 0 3064371852543 posixpath.py <- normpath - 0 3064371852552 posixpath.py <- abspath - 0 3064371852560 posixpath.py -> abspath - 0 3064371852567 posixpath.py -> isabs - 0 3064371852576 posixpath.py <- isabs - 0 3064371852583 posixpath.py -> normpath - 0 3064371852598 posixpath.py <- normpath - 0 3064371852607 posixpath.py <- abspath - 0 3064371852615 posixpath.py -> abspath - 0 3064371852622 posixpath.py -> isabs - 0 3064371852631 posixpath.py <- isabs - 0 3064371852638 posixpath.py -> normpath - 0 3064371852653 posixpath.py <- normpath - 0 3064371852661 posixpath.py <- abspath - 0 3064371852674 posixpath.py -> abspath - 0 3064371852682 posixpath.py -> isabs - 0 3064371852690 posixpath.py <- isabs - 0 3064371852697 posixpath.py -> normpath - 0 3064371852713 posixpath.py <- normpath - 0 3064371852721 posixpath.py <- abspath - 0 3064371852741 posixpath.py -> abspath - 0 3064371852748 posixpath.py -> isabs - 0 3064371852757 posixpath.py <- isabs - 0 3064371852764 posixpath.py -> normpath - 0 3064371852779 posixpath.py <- normpath - 0 3064371852787 posixpath.py <- abspath - 0 3064371852804 posixpath.py -> abspath - 0 3064371852811 posixpath.py -> isabs - 0 3064371852819 posixpath.py <- isabs - 0 3064371852826 posixpath.py -> normpath - 0 3064371852842 posixpath.py <- normpath - 0 3064371852850 posixpath.py <- abspath - 0 3064371852858 posixpath.py -> abspath - 0 3064371852865 posixpath.py -> isabs - 0 3064371852874 posixpath.py <- isabs - 0 3064371852881 posixpath.py -> normpath - 0 3064371852896 posixpath.py <- normpath - 0 3064371852904 posixpath.py <- abspath - 0 3064371852915 site.py <- abs__file__ - 0 3064371852922 site.py -> removeduppaths - 0 3064371852931 site.py -> makepath - 0 3064371852940 posixpath.py -> join - 0 3064371852948 posixpath.py <- join - 0 3064371852955 posixpath.py -> abspath - 0 3064371852963 posixpath.py -> isabs - 0 3064371852972 posixpath.py <- isabs - 0 3064371852980 posixpath.py -> normpath - 0 3064371852995 posixpath.py <- normpath - 0 3064371853002 posixpath.py <- abspath - 0 3064371853010 posixpath.py -> normcase - 0 3064371853018 posixpath.py <- normcase - 0 3064371853025 site.py <- makepath - 0 3064371853065 site.py -> makepath - 0 3064371853073 posixpath.py -> join - 0 3064371853081 posixpath.py <- join - 0 3064371853088 posixpath.py -> abspath - 0 3064371853096 posixpath.py -> isabs - 0 3064371853104 posixpath.py <- isabs - 0 3064371853111 posixpath.py -> normpath - 0 3064371853126 posixpath.py <- normpath - 0 3064371853134 posixpath.py <- abspath - 0 3064371853142 posixpath.py -> normcase - 0 3064371853150 posixpath.py <- normcase - 0 3064371853157 site.py <- makepath - 0 3064371853165 site.py -> makepath - 0 3064371853173 posixpath.py -> join - 0 3064371853181 posixpath.py <- join - 0 3064371853188 posixpath.py -> abspath - 0 3064371853195 posixpath.py -> isabs - 0 3064371853203 posixpath.py <- isabs - 0 3064371853210 posixpath.py -> normpath - 0 3064371853226 posixpath.py <- normpath - 0 3064371853234 posixpath.py <- abspath - 0 3064371853241 posixpath.py -> normcase - 0 3064371853249 posixpath.py <- normcase - 0 3064371853256 site.py <- makepath - 0 3064371853265 site.py -> makepath - 0 3064371853272 posixpath.py -> join - 0 3064371853280 posixpath.py <- join - 0 3064371853287 posixpath.py -> abspath - 0 3064371853294 posixpath.py -> isabs - 0 3064371853303 posixpath.py <- isabs - 0 3064371853310 posixpath.py -> normpath - 0 3064371853325 posixpath.py <- normpath - 0 3064371853333 posixpath.py <- abspath - 0 3064371853341 posixpath.py -> normcase - 0 3064371853348 posixpath.py <- normcase - 0 3064371853356 site.py <- makepath - 0 3064371853364 site.py -> makepath - 0 3064371853372 posixpath.py -> join - 0 3064371853380 posixpath.py <- join - 0 3064371853387 posixpath.py -> abspath - 0 3064371853394 posixpath.py -> isabs - 0 3064371853402 posixpath.py <- isabs - 0 3064371853409 posixpath.py -> normpath - 0 3064371853425 posixpath.py <- normpath - 0 3064371853433 posixpath.py <- abspath - 0 3064371853440 posixpath.py -> normcase - 0 3064371853448 posixpath.py <- normcase - 0 3064371853455 site.py <- makepath - 0 3064371853466 site.py <- removeduppaths - 0 3064371853476 posixpath.py -> basename - 0 3064371853484 posixpath.py -> split - 0 3064371853498 posixpath.py <- split - 0 3064371853505 posixpath.py <- basename - 0 3064371853513 site.py -> addsitepackages - 0 3064371853524 posixpath.py -> join - 0 3064371853538 posixpath.py <- join - 0 3064371853546 posixpath.py -> join - 0 3064371853557 posixpath.py <- join - 0 3064371853566 posixpath.py -> isdir - 0 3064371853597 stat.py -> S_ISDIR - 0 3064371853604 stat.py -> S_IFMT - 0 3064371853612 stat.py <- S_IFMT - 0 3064371853620 stat.py <- S_ISDIR - 0 3064371853627 posixpath.py <- isdir - 0 3064371853636 site.py -> addsitedir - 0 3064371853643 site.py -> makepath - 0 3064371853651 posixpath.py -> join - 0 3064371853659 posixpath.py <- join - 0 3064371853666 posixpath.py -> abspath - 0 3064371853674 posixpath.py -> isabs - 0 3064371853683 posixpath.py <- isabs - 0 3064371853691 posixpath.py -> normpath - 0 3064371853707 posixpath.py <- normpath - 0 3064371853715 posixpath.py <- abspath - 0 3064371853723 posixpath.py -> normcase - 0 3064371853730 posixpath.py <- normcase - 0 3064371853738 site.py <- makepath - 0 3064371853938 site.py -> addpackage - 0 3064371853948 posixpath.py -> join - 0 3064371853958 posixpath.py <- join - 0 3064371854087 -> ? - 0 3064371854098 site.py -> addsitedir - 0 3064371854106 site.py -> _init_pathinfo - 0 3064371854115 posixpath.py -> isdir - 0 3064371854195 posixpath.py <- isdir - 0 3064371854204 posixpath.py -> isdir - 0 3064371854224 stat.py -> S_ISDIR - 0 3064371854232 stat.py -> S_IFMT - 0 3064371854240 stat.py <- S_IFMT - 0 3064371854247 stat.py <- S_ISDIR - 0 3064371854254 posixpath.py <- isdir - 0 3064371854262 site.py -> makepath - 0 3064371854271 posixpath.py -> join - 0 3064371854279 posixpath.py <- join - 0 3064371854286 posixpath.py -> abspath - 0 3064371854293 posixpath.py -> isabs - 0 3064371854302 posixpath.py <- isabs - 0 3064371854309 posixpath.py -> normpath - 0 3064371854325 posixpath.py <- normpath - 0 3064371854333 posixpath.py <- abspath - 0 3064371854341 posixpath.py -> normcase - 0 3064371854349 posixpath.py <- normcase - 0 3064371854356 site.py <- makepath - 0 3064371854364 posixpath.py -> isdir - 0 3064371854386 stat.py -> S_ISDIR - 0 3064371854393 stat.py -> S_IFMT - 0 3064371854400 stat.py <- S_IFMT - 0 3064371854408 stat.py <- S_ISDIR - 0 3064371854415 posixpath.py <- isdir - 0 3064371854423 site.py -> makepath - 0 3064371854431 posixpath.py -> join - 0 3064371854438 posixpath.py <- join - 0 3064371854446 posixpath.py -> abspath - 0 3064371854453 posixpath.py -> isabs - 0 3064371854461 posixpath.py <- isabs - 0 3064371854469 posixpath.py -> normpath - 0 3064371854485 posixpath.py <- normpath - 0 3064371854493 posixpath.py <- abspath - 0 3064371854500 posixpath.py -> normcase - 0 3064371854508 posixpath.py <- normcase - 0 3064371854516 site.py <- makepath - 0 3064371854524 posixpath.py -> isdir - 0 3064371854556 stat.py -> S_ISDIR - 0 3064371854563 stat.py -> S_IFMT - 0 3064371854571 stat.py <- S_IFMT - 0 3064371854578 stat.py <- S_ISDIR - 0 3064371854585 posixpath.py <- isdir - 0 3064371854593 site.py -> makepath - 0 3064371854601 posixpath.py -> join - 0 3064371854609 posixpath.py <- join - 0 3064371854616 posixpath.py -> abspath - 0 3064371854624 posixpath.py -> isabs - 0 3064371854632 posixpath.py <- isabs - 0 3064371854639 posixpath.py -> normpath - 0 3064371854655 posixpath.py <- normpath - 0 3064371854663 posixpath.py <- abspath - 0 3064371854671 posixpath.py -> normcase - 0 3064371854679 posixpath.py <- normcase - 0 3064371854686 site.py <- makepath - 0 3064371854694 posixpath.py -> isdir - 0 3064371854715 stat.py -> S_ISDIR - 0 3064371854722 stat.py -> S_IFMT - 0 3064371854730 stat.py <- S_IFMT - 0 3064371854737 stat.py <- S_ISDIR - 0 3064371854744 posixpath.py <- isdir - 0 3064371854752 site.py -> makepath - 0 3064371854759 posixpath.py -> join - 0 3064371854767 posixpath.py <- join - 0 3064371854774 posixpath.py -> abspath - 0 3064371854782 posixpath.py -> isabs - 0 3064371854790 posixpath.py <- isabs - 0 3064371854797 posixpath.py -> normpath - 0 3064371854813 posixpath.py <- normpath - 0 3064371854821 posixpath.py <- abspath - 0 3064371854829 posixpath.py -> normcase - 0 3064371854837 posixpath.py <- normcase - 0 3064371854844 site.py <- makepath - 0 3064371854852 posixpath.py -> isdir - 0 3064371854872 stat.py -> S_ISDIR - 0 3064371854879 stat.py -> S_IFMT - 0 3064371854887 stat.py <- S_IFMT - 0 3064371854894 stat.py <- S_ISDIR - 0 3064371854901 posixpath.py <- isdir - 0 3064371854909 site.py -> makepath - 0 3064371854917 posixpath.py -> join - 0 3064371854925 posixpath.py <- join - 0 3064371854932 posixpath.py -> abspath - 0 3064371854939 posixpath.py -> isabs - 0 3064371854947 posixpath.py <- isabs - 0 3064371854954 posixpath.py -> normpath - 0 3064371854970 posixpath.py <- normpath - 0 3064371854978 posixpath.py <- abspath - 0 3064371854986 posixpath.py -> normcase - 0 3064371854994 posixpath.py <- normcase - 0 3064371855001 site.py <- makepath - 0 3064371855009 site.py <- _init_pathinfo - 0 3064371855016 site.py -> makepath - 0 3064371855024 posixpath.py -> join - 0 3064371855032 posixpath.py <- join - 0 3064371855039 posixpath.py -> abspath - 0 3064371855047 posixpath.py -> isabs - 0 3064371855055 posixpath.py <- isabs - 0 3064371855063 posixpath.py -> normpath - 0 3064371855078 posixpath.py <- normpath - 0 3064371855086 posixpath.py <- abspath - 0 3064371855094 posixpath.py -> normcase - 0 3064371855101 posixpath.py <- normcase - 0 3064371855144 site.py <- makepath - 0 3064371855318 site.py -> addpackage - 0 3064371855327 posixpath.py -> join - 0 3064371855337 posixpath.py <- join - 0 3064371855411 site.py -> makepath - 0 3064371855420 posixpath.py -> join - 0 3064371855430 posixpath.py <- join - 0 3064371855437 posixpath.py -> abspath - 0 3064371855445 posixpath.py -> isabs - 0 3064371855453 posixpath.py <- isabs - 0 3064371855460 posixpath.py -> normpath - 0 3064371855477 posixpath.py <- normpath - 0 3064371855485 posixpath.py <- abspath - 0 3064371855493 posixpath.py -> normcase - 0 3064371855501 posixpath.py <- normcase - 0 3064371855509 site.py <- makepath - 0 3064371855517 posixpath.py -> exists - 0 3064371855542 posixpath.py <- exists - 0 3064371855591 site.py <- addpackage - 0 3064371855611 site.py -> addpackage - 0 3064371855618 posixpath.py -> join - 0 3064371855628 posixpath.py <- join - 0 3064371855683 site.py -> makepath - 0 3064371855692 posixpath.py -> join - 0 3064371855739 posixpath.py <- join - 0 3064371855747 posixpath.py -> abspath - 0 3064371855754 posixpath.py -> isabs - 0 3064371855763 posixpath.py <- isabs - 0 3064371855770 posixpath.py -> normpath - 0 3064371855788 posixpath.py <- normpath - 0 3064371855796 posixpath.py <- abspath - 0 3064371855803 posixpath.py -> normcase - 0 3064371855811 posixpath.py <- normcase - 0 3064371855818 site.py <- makepath - 0 3064371855826 posixpath.py -> exists - 0 3064371855851 posixpath.py <- exists - 0 3064371855880 site.py <- addpackage - 0 3064371855892 site.py <- addsitedir - 0 3064371855900 <- ? - 0 3064371855915 site.py <- addpackage - 0 3064371855923 site.py <- addsitedir - 0 3064371855932 posixpath.py -> isdir - 0 3064371855965 posixpath.py <- isdir - 0 3064371855973 site.py <- addsitepackages - 0 3064371855982 site.py -> setquit - 0 3064371855993 site.py <- setquit - 0 3064371856000 site.py -> setcopyright - 0 3064371856009 site.py -> __init__ - 0 3064371856019 site.py <- __init__ - 0 3064371856028 site.py -> __init__ - 0 3064371856037 site.py <- __init__ - 0 3064371856045 posixpath.py -> dirname - 0 3064371856052 posixpath.py -> split - 0 3064371856065 posixpath.py <- split - 0 3064371856073 posixpath.py <- dirname - 0 3064371856085 posixpath.py -> join - 0 3064371856096 posixpath.py <- join - 0 3064371856104 site.py -> __init__ - 0 3064371856113 site.py <- __init__ - 0 3064371856121 site.py <- setcopyright - 0 3064371856128 site.py -> sethelper - 0 3064371856136 site.py <- sethelper - 0 3064371856143 site.py -> aliasmbcs - 0 3064371856151 site.py <- aliasmbcs - 0 3064371856158 site.py -> setencoding - 0 3064371856166 site.py <- setencoding - 0 3064371856173 site.py -> execsitecustomize - 0 3064371871773 site.py <- execsitecustomize - 0 3064371871794 site.py <- main - 0 3064371871805 site.py <- ? - 0 3064371872141 warnings.py -> ? - 0 306437187232e linecache.py -> ? - 0 3064371872336 linecache.py <- ? - 0 3064371872352 warnings.py -> _OptionError - 0 3064371872361 warnings.py <- _OptionError - 0 3064371872378 warnings.py -> _processoptions - 0 3064371872387 warnings.py <- _processoptions - 0 3064371872397 warnings.py -> simplefilter - 0 3064371872410 warnings.py <- simplefilter - 0 3064371872418 warnings.py -> simplefilter - 0 3064371872428 warnings.py <- simplefilter - 0 3064371872436 warnings.py <- ? - 0 3064371886557 __init__.py -> ? - 0 3064371891761 codecs.py -> ? - 0 3064371891836 codecs.py -> Codec - 0 3064371891848 codecs.py <- Codec - 0 3064371891864 codecs.py -> StreamWriter - 0 3064371891874 codecs.py <- StreamWriter - 0 3064371891885 codecs.py -> StreamReader - 0 3064371891897 codecs.py <- StreamReader - 0 3064371891907 codecs.py -> StreamReaderWriter - 0 3064371891918 codecs.py <- StreamReaderWriter - 0 3064371891926 codecs.py -> StreamRecoder - 0 3064371891938 codecs.py <- StreamRecoder - 0 3064371891953 codecs.py <- ? - 0 3064371902521 aliases.py -> ? - 0 3064371902580 aliases.py <- ? - 0 3064371902605 __init__.py -> CodecRegistryError - 0 3064371902614 __init__.py <- CodecRegistryError - 0 3064371902636 __init__.py <- ? - 0 3064371902655 __init__.py -> search_function - 0 3064371902666 __init__.py -> normalize_encoding - 0 3064371902682 __init__.py <- normalize_encoding - 0 3064371902888 ascii.py -> ? - 0 3064371902900 ascii.py -> Codec - 0 3064371902909 ascii.py <- Codec - 0 3064371902922 ascii.py -> StreamWriter - 0 3064371902930 ascii.py <- StreamWriter - 0 3064371902941 ascii.py -> StreamReader - 0 3064371902949 ascii.py <- StreamReader - 0 3064371902972 ascii.py -> StreamConverter - 0 3064371902981 ascii.py <- StreamConverter - 0 3064371902993 ascii.py <- ? - 0 3064371903009 ascii.py -> getregentry - 0 3064371903018 ascii.py <- getregentry - 0 3064371903044 __init__.py <- search_function - 0 3064371903414 func_abc.py -> ? - 0 3064371933251 func_abc.py -> func_a - 0 3064372940696 func_abc.py -> func_b - 0 3064373950608 func_abc.py -> func_c - 0 3064374960497 func_abc.py <- func_c - 0 3064374960512 func_abc.py <- func_b - 0 3064374960520 func_abc.py <- func_a - 0 3064374960528 func_abc.py <- ? -^C - -Here we can see that Python has done extensive pre-processing before it runs -the Code/Python/func_abc.py program itself. - -This shows which function is calling which - the output above ends by -showing that func_a called func_b which in turn called func_c etc. - -The TIME(us) column shows time from boot in microseconds. - -The FILE column shows the file that was being executed. - -If the output looks strange, check the CPU "C" column - if it changes, -then the output is probably shuffled. See Notes/ALLsnoop_notes.txt for -details and suggested workarounds. - -See Notes/ALLflow_notes.txt for important notes about reading flow outputs. - diff --git a/cddl/contrib/dtracetoolkit/Examples/py_flowinfo_example.txt b/cddl/contrib/dtracetoolkit/Examples/py_flowinfo_example.txt deleted file mode 100644 index f93dc09b89d8..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/py_flowinfo_example.txt +++ /dev/null @@ -1,485 +0,0 @@ -Following are examples of py_flowinfo.d. - -This is a simple script to trace the flow of Python functions. Here it traces -the flow into and out of libraries and the example program, -Code/Python/func_abc.py. - -# py_flowinfo.d -C PID DELTA(us) FILE:LINE TYPE -- FUNC -0 145424 3 site.py:58 func -> ? -0 145424 1375 os.py:22 func -> ? -0 145424 692 posixpath.py:11 func -> ? -0 145424 184 stat.py:4 func -> ? -0 145424 21 stat.py:86 func <- ? -0 145424 32 posixpath.py:454 func <- ? -0 145424 18 os.py:34 func -> _get_exports_list -0 145424 135 os.py:38 func <- _get_exports_list -0 145424 261 UserDict.py:1 func -> ? -0 145424 11 UserDict.py:3 func -> UserDict -0 145424 36 UserDict.py:71 func <- UserDict -0 145424 16 UserDict.py:73 func -> IterableUserDict -0 145424 9 UserDict.py:74 func <- IterableUserDict -0 145424 13 UserDict.py:77 func -> DictMixin -0 145424 174 UserDict.py:169 func <- DictMixin -0 145424 11 UserDict.py:77 func <- ? -0 145424 17 os.py:458 func -> _Environ -0 145424 11 os.py:489 func <- _Environ -0 145424 13 os.py:459 func -> __init__ -0 145424 11 UserDict.py:4 func -> __init__ -0 145424 11 UserDict.py:9 func <- __init__ -0 145424 10 os.py:461 func <- __init__ -0 145424 11 os.py:501 func -> _exists -0 145424 604 :0 func -> ? -0 145424 10 :0 func <- ? -0 145424 9 os.py:504 func <- _exists -0 145424 9 os.py:501 func -> _exists -0 145424 24 :0 func -> ? -0 145424 9 :0 func <- ? -0 145424 15 os.py:506 func <- _exists -0 145424 9 os.py:501 func -> _exists -0 145424 23 :0 func -> ? -0 145424 8 :0 func <- ? -0 145424 9 os.py:504 func <- _exists -0 145424 26 os.py:501 func -> _exists -0 145424 23 :0 func -> ? -0 145424 8 :0 func <- ? -0 145424 8 os.py:504 func <- _exists -0 145424 11 os.py:501 func -> _exists -0 145424 22 :0 func -> ? -0 145424 8 :0 func <- ? -0 145424 8 os.py:504 func <- _exists -0 145424 11 os.py:501 func -> _exists -0 145424 22 :0 func -> ? -0 145424 8 :0 func <- ? -0 145424 8 os.py:504 func <- _exists -0 145424 9 os.py:501 func -> _exists -0 145424 21 :0 func -> ? -0 145424 9 :0 func <- ? -0 145424 14 os.py:506 func <- _exists -0 145424 10 os.py:501 func -> _exists -0 145424 22 :0 func -> ? -0 145424 9 :0 func <- ? -0 145424 13 os.py:506 func <- _exists -0 145424 11 os.py:501 func -> _exists -0 145424 22 :0 func -> ? -0 145424 8 :0 func <- ? -0 145424 13 os.py:506 func <- _exists -0 145424 181 copy_reg.py:5 func -> ? -0 145424 181 types.py:4 func -> ? -0 145424 64 types.py:55 func -> _C -0 145424 10 types.py:56 func <- _C -0 145424 35 types.py:89 func <- ? -0 145424 22 copy_reg.py:14 func -> pickle -0 145424 11 copy_reg.py:27 func -> constructor -0 145424 9 copy_reg.py:29 func <- constructor -0 145424 9 copy_reg.py:25 func <- pickle -0 145424 12 copy_reg.py:175 func <- ? -0 145424 15 copy_reg.py:14 func -> pickle -0 145424 10 copy_reg.py:27 func -> constructor -0 145424 9 copy_reg.py:29 func <- constructor -0 145424 9 copy_reg.py:25 func <- pickle -0 145424 10 copy_reg.py:14 func -> pickle -0 145424 10 copy_reg.py:27 func -> constructor -0 145424 9 copy_reg.py:29 func <- constructor -0 145424 9 copy_reg.py:25 func <- pickle -0 145424 9 os.py:501 func -> _exists -0 145424 26 :0 func -> ? -0 145424 9 :0 func <- ? -0 145424 14 os.py:506 func <- _exists -0 145424 9 os.py:711 func <- ? -0 145424 33 site.py:238 func -> _Printer -0 145424 11 site.py:279 func <- _Printer -0 145424 38 site.py:317 func -> _Helper -0 145424 9 site.py:326 func <- _Helper -0 145424 34 site.py:376 func -> main -0 145424 8 site.py:69 func -> abs__file__ -0 145424 11 posixpath.py:401 func -> abspath -0 145424 9 posixpath.py:47 func -> isabs -0 145424 11 posixpath.py:49 func <- isabs -0 145424 10 posixpath.py:374 func -> normpath -0 145424 22 posixpath.py:398 func <- normpath -0 145424 10 posixpath.py:405 func <- abspath -0 145424 16 posixpath.py:401 func -> abspath -0 145424 9 posixpath.py:47 func -> isabs -0 145424 9 posixpath.py:49 func <- isabs -0 145424 9 posixpath.py:374 func -> normpath -0 145424 17 posixpath.py:398 func <- normpath -0 145424 10 posixpath.py:405 func <- abspath -0 145424 10 posixpath.py:401 func -> abspath -0 145424 9 posixpath.py:47 func -> isabs -0 145424 9 posixpath.py:49 func <- isabs -0 145424 9 posixpath.py:374 func -> normpath -0 145424 16 posixpath.py:398 func <- normpath -0 145424 10 posixpath.py:405 func <- abspath -0 145424 10 posixpath.py:401 func -> abspath -0 145424 9 posixpath.py:47 func -> isabs -0 145424 9 posixpath.py:49 func <- isabs -0 145424 9 posixpath.py:374 func -> normpath -0 145424 16 posixpath.py:398 func <- normpath -0 145424 9 posixpath.py:405 func <- abspath -0 145424 15 posixpath.py:401 func -> abspath -0 145424 9 posixpath.py:47 func -> isabs -0 145424 9 posixpath.py:49 func <- isabs -0 145424 9 posixpath.py:374 func -> normpath -0 145424 16 posixpath.py:398 func <- normpath -0 145424 9 posixpath.py:405 func <- abspath -0 145424 22 posixpath.py:401 func -> abspath -0 145424 9 posixpath.py:47 func -> isabs -0 145424 9 posixpath.py:49 func <- isabs -0 145424 9 posixpath.py:374 func -> normpath -0 145424 16 posixpath.py:398 func <- normpath -0 145424 9 posixpath.py:405 func <- abspath -0 145424 18 posixpath.py:401 func -> abspath -0 145424 9 posixpath.py:47 func -> isabs -0 145424 9 posixpath.py:49 func <- isabs -0 145424 9 posixpath.py:374 func -> normpath -0 145424 16 posixpath.py:398 func <- normpath -0 145424 10 posixpath.py:405 func <- abspath -0 145424 10 posixpath.py:401 func -> abspath -0 145424 9 posixpath.py:47 func -> isabs -0 145424 9 posixpath.py:49 func <- isabs -0 145424 9 posixpath.py:374 func -> normpath -0 145424 16 posixpath.py:398 func <- normpath -0 145424 9 posixpath.py:405 func <- abspath -0 145424 12 site.py:75 func <- abs__file__ -0 145424 9 site.py:77 func -> removeduppaths -0 145424 11 site.py:65 func -> makepath -0 145424 10 posixpath.py:56 func -> join -0 145424 9 posixpath.py:66 func <- join -0 145424 9 posixpath.py:401 func -> abspath -0 145424 9 posixpath.py:47 func -> isabs -0 145424 9 posixpath.py:49 func <- isabs -0 145424 10 posixpath.py:374 func -> normpath -0 145424 16 posixpath.py:398 func <- normpath -0 145424 9 posixpath.py:405 func <- abspath -0 145424 9 posixpath.py:39 func -> normcase -0 145424 9 posixpath.py:41 func <- normcase -0 145424 9 site.py:67 func <- makepath -0 145424 42 site.py:65 func -> makepath -0 145424 9 posixpath.py:56 func -> join -0 145424 9 posixpath.py:66 func <- join -0 145424 9 posixpath.py:401 func -> abspath -0 145424 9 posixpath.py:47 func -> isabs -0 145424 9 posixpath.py:49 func <- isabs -0 145424 9 posixpath.py:374 func -> normpath -0 145424 16 posixpath.py:398 func <- normpath -0 145424 9 posixpath.py:405 func <- abspath -0 145424 10 posixpath.py:39 func -> normcase -0 145424 8 posixpath.py:41 func <- normcase -0 145424 9 site.py:67 func <- makepath -0 145424 10 site.py:65 func -> makepath -0 145424 9 posixpath.py:56 func -> join -0 145424 9 posixpath.py:66 func <- join -0 145424 9 posixpath.py:401 func -> abspath -0 145424 9 posixpath.py:47 func -> isabs -0 145424 9 posixpath.py:49 func <- isabs -0 145424 9 posixpath.py:374 func -> normpath -0 145424 16 posixpath.py:398 func <- normpath -0 145424 9 posixpath.py:405 func <- abspath -0 145424 9 posixpath.py:39 func -> normcase -0 145424 8 posixpath.py:41 func <- normcase -0 145424 9 site.py:67 func <- makepath -0 145424 10 site.py:65 func -> makepath -0 145424 9 posixpath.py:56 func -> join -0 145424 9 posixpath.py:66 func <- join -0 145424 9 posixpath.py:401 func -> abspath -0 145424 9 posixpath.py:47 func -> isabs -0 145424 9 posixpath.py:49 func <- isabs -0 145424 9 posixpath.py:374 func -> normpath -0 145424 16 posixpath.py:398 func <- normpath -0 145424 9 posixpath.py:405 func <- abspath -0 145424 9 posixpath.py:39 func -> normcase -0 145424 8 posixpath.py:41 func <- normcase -0 145424 9 site.py:67 func <- makepath -0 145424 10 site.py:65 func -> makepath -0 145424 9 posixpath.py:56 func -> join -0 145424 9 posixpath.py:66 func <- join -0 145424 9 posixpath.py:401 func -> abspath -0 145424 9 posixpath.py:47 func -> isabs -0 145424 9 posixpath.py:49 func <- isabs -0 145424 9 posixpath.py:374 func -> normpath -0 145424 16 posixpath.py:398 func <- normpath -0 145424 9 posixpath.py:405 func <- abspath -0 145424 9 posixpath.py:39 func -> normcase -0 145424 8 posixpath.py:41 func <- normcase -0 145424 9 site.py:67 func <- makepath -0 145424 12 site.py:93 func <- removeduppaths -0 145424 11 posixpath.py:110 func -> basename -0 145424 10 posixpath.py:74 func -> split -0 145424 14 posixpath.py:81 func <- split -0 145424 9 posixpath.py:112 func <- basename -0 145424 9 site.py:171 func -> addsitepackages -0 145424 13 posixpath.py:56 func -> join -0 145424 15 posixpath.py:66 func <- join -0 145424 10 posixpath.py:56 func -> join -0 145424 12 posixpath.py:66 func <- join -0 145424 11 posixpath.py:192 func -> isdir -0 145424 34 stat.py:45 func -> S_ISDIR -0 145424 9 stat.py:29 func -> S_IFMT -0 145424 9 stat.py:30 func <- S_IFMT -0 145424 9 stat.py:46 func <- S_ISDIR -0 145424 9 posixpath.py:198 func <- isdir -0 145424 11 site.py:148 func -> addsitedir -0 145424 9 site.py:65 func -> makepath -0 145424 9 posixpath.py:56 func -> join -0 145424 9 posixpath.py:66 func <- join -0 145424 9 posixpath.py:401 func -> abspath -0 145424 9 posixpath.py:47 func -> isabs -0 145424 9 posixpath.py:49 func <- isabs -0 145424 10 posixpath.py:374 func -> normpath -0 145424 17 posixpath.py:398 func <- normpath -0 145424 9 posixpath.py:405 func <- abspath -0 145424 9 posixpath.py:39 func -> normcase -0 145424 9 posixpath.py:41 func <- normcase -0 145424 9 site.py:67 func <- makepath -0 145424 222 site.py:117 func -> addpackage -0 145424 12 posixpath.py:56 func -> join -0 145424 12 posixpath.py:66 func <- join -0 145424 132 :1 func -> ? -0 145424 13 site.py:148 func -> addsitedir -0 145424 9 site.py:105 func -> _init_pathinfo -0 145424 11 posixpath.py:192 func -> isdir -0 145424 84 posixpath.py:197 func <- isdir -0 145424 12 posixpath.py:192 func -> isdir -0 145424 23 stat.py:45 func -> S_ISDIR -0 145424 9 stat.py:29 func -> S_IFMT -0 145424 9 stat.py:30 func <- S_IFMT -0 145424 9 stat.py:46 func <- S_ISDIR -0 145424 9 posixpath.py:198 func <- isdir -0 145424 10 site.py:65 func -> makepath -0 145424 10 posixpath.py:56 func -> join -0 145424 9 posixpath.py:66 func <- join -0 145424 9 posixpath.py:401 func -> abspath -0 145424 9 posixpath.py:47 func -> isabs -0 145424 9 posixpath.py:49 func <- isabs -0 145424 10 posixpath.py:374 func -> normpath -0 145424 17 posixpath.py:398 func <- normpath -0 145424 10 posixpath.py:405 func <- abspath -0 145424 10 posixpath.py:39 func -> normcase -0 145424 9 posixpath.py:41 func <- normcase -0 145424 9 site.py:67 func <- makepath -0 145424 10 posixpath.py:192 func -> isdir -0 145424 23 stat.py:45 func -> S_ISDIR -0 145424 8 stat.py:29 func -> S_IFMT -0 145424 8 stat.py:30 func <- S_IFMT -0 145424 9 stat.py:46 func <- S_ISDIR -0 145424 9 posixpath.py:198 func <- isdir -0 145424 10 site.py:65 func -> makepath -0 145424 9 posixpath.py:56 func -> join -0 145424 9 posixpath.py:66 func <- join -0 145424 9 posixpath.py:401 func -> abspath -0 145424 9 posixpath.py:47 func -> isabs -0 145424 9 posixpath.py:49 func <- isabs -0 145424 9 posixpath.py:374 func -> normpath -0 145424 17 posixpath.py:398 func <- normpath -0 145424 10 posixpath.py:405 func <- abspath -0 145424 10 posixpath.py:39 func -> normcase -0 145424 9 posixpath.py:41 func <- normcase -0 145424 9 site.py:67 func <- makepath -0 145424 10 posixpath.py:192 func -> isdir -0 145424 24 stat.py:45 func -> S_ISDIR -0 145424 8 stat.py:29 func -> S_IFMT -0 145424 8 stat.py:30 func <- S_IFMT -0 145424 9 stat.py:46 func <- S_ISDIR -0 145424 8 posixpath.py:198 func <- isdir -0 145424 10 site.py:65 func -> makepath -0 145424 9 posixpath.py:56 func -> join -0 145424 9 posixpath.py:66 func <- join -0 145424 9 posixpath.py:401 func -> abspath -0 145424 9 posixpath.py:47 func -> isabs -0 145424 9 posixpath.py:49 func <- isabs -0 145424 9 posixpath.py:374 func -> normpath -0 145424 17 posixpath.py:398 func <- normpath -0 145424 10 posixpath.py:405 func <- abspath -0 145424 10 posixpath.py:39 func -> normcase -0 145424 9 posixpath.py:41 func <- normcase -0 145424 9 site.py:67 func <- makepath -0 145424 10 posixpath.py:192 func -> isdir -0 145424 23 stat.py:45 func -> S_ISDIR -0 145424 8 stat.py:29 func -> S_IFMT -0 145424 8 stat.py:30 func <- S_IFMT -0 145424 9 stat.py:46 func <- S_ISDIR -0 145424 9 posixpath.py:198 func <- isdir -0 145424 10 site.py:65 func -> makepath -0 145424 9 posixpath.py:56 func -> join -0 145424 9 posixpath.py:66 func <- join -0 145424 9 posixpath.py:401 func -> abspath -0 145424 9 posixpath.py:47 func -> isabs -0 145424 9 posixpath.py:49 func <- isabs -0 145424 9 posixpath.py:374 func -> normpath -0 145424 17 posixpath.py:398 func <- normpath -0 145424 9 posixpath.py:405 func <- abspath -0 145424 9 posixpath.py:39 func -> normcase -0 145424 9 posixpath.py:41 func <- normcase -0 145424 9 site.py:67 func <- makepath -0 145424 10 posixpath.py:192 func -> isdir -0 145424 22 stat.py:45 func -> S_ISDIR -0 145424 8 stat.py:29 func -> S_IFMT -0 145424 8 stat.py:30 func <- S_IFMT -0 145424 9 stat.py:46 func <- S_ISDIR -0 145424 8 posixpath.py:198 func <- isdir -0 145424 10 site.py:65 func -> makepath -0 145424 9 posixpath.py:56 func -> join -0 145424 9 posixpath.py:66 func <- join -0 145424 9 posixpath.py:401 func -> abspath -0 145424 9 posixpath.py:47 func -> isabs -0 145424 9 posixpath.py:49 func <- isabs -0 145424 9 posixpath.py:374 func -> normpath -0 145424 17 posixpath.py:398 func <- normpath -0 145424 10 posixpath.py:405 func <- abspath -0 145424 10 posixpath.py:39 func -> normcase -0 145424 8 posixpath.py:41 func <- normcase -0 145424 9 site.py:67 func <- makepath -0 145424 10 site.py:115 func <- _init_pathinfo -0 145424 9 site.py:65 func -> makepath -0 145424 10 posixpath.py:56 func -> join -0 145424 9 posixpath.py:66 func <- join -0 145424 9 posixpath.py:401 func -> abspath -0 145424 9 posixpath.py:47 func -> isabs -0 145424 9 posixpath.py:49 func <- isabs -0 145424 10 posixpath.py:374 func -> normpath -0 145424 17 posixpath.py:398 func <- normpath -0 145424 9 posixpath.py:405 func <- abspath -0 145424 9 posixpath.py:39 func -> normcase -0 145424 9 posixpath.py:41 func <- normcase -0 145424 9 site.py:67 func <- makepath -0 145424 170 site.py:117 func -> addpackage -0 145424 11 posixpath.py:56 func -> join -0 145424 12 posixpath.py:66 func <- join -0 145424 73 site.py:65 func -> makepath -0 145424 11 posixpath.py:56 func -> join -0 145424 11 posixpath.py:66 func <- join -0 145424 10 posixpath.py:401 func -> abspath -0 145424 9 posixpath.py:47 func -> isabs -0 145424 9 posixpath.py:49 func <- isabs -0 145424 9 posixpath.py:374 func -> normpath -0 145424 19 posixpath.py:398 func <- normpath -0 145424 10 posixpath.py:405 func <- abspath -0 145424 9 posixpath.py:39 func -> normcase -0 145424 9 posixpath.py:41 func <- normcase -0 145424 9 site.py:67 func <- makepath -0 145424 10 posixpath.py:168 func -> exists -0 145424 41 posixpath.py:174 func <- exists -0 145424 53 site.py:146 func <- addpackage -0 145424 21 site.py:117 func -> addpackage -0 145424 9 posixpath.py:56 func -> join -0 145424 11 posixpath.py:66 func <- join -0 145424 48 site.py:65 func -> makepath -0 145424 10 posixpath.py:56 func -> join -0 145424 47 posixpath.py:66 func <- join -0 145424 10 posixpath.py:401 func -> abspath -0 145424 9 posixpath.py:47 func -> isabs -0 145424 9 posixpath.py:49 func <- isabs -0 145424 9 posixpath.py:374 func -> normpath -0 145424 18 posixpath.py:398 func <- normpath -0 145424 10 posixpath.py:405 func <- abspath -0 145424 10 posixpath.py:39 func -> normcase -0 145424 9 posixpath.py:41 func <- normcase -0 145424 9 site.py:67 func <- makepath -0 145424 10 posixpath.py:168 func -> exists -0 145424 25 posixpath.py:174 func <- exists -0 145424 32 site.py:146 func <- addpackage -0 145424 14 site.py:169 func <- addsitedir -0 145424 10 :1 func <- ? -0 145424 16 site.py:146 func <- addpackage -0 145424 10 site.py:169 func <- addsitedir -0 145424 10 posixpath.py:192 func -> isdir -0 145424 34 posixpath.py:197 func <- isdir -0 145424 10 site.py:204 func <- addsitepackages -0 145424 11 site.py:224 func -> setquit -0 145424 11 site.py:235 func <- setquit -0 145424 9 site.py:299 func -> setcopyright -0 145424 11 site.py:244 func -> __init__ -0 145424 10 site.py:249 func <- __init__ -0 145424 12 site.py:244 func -> __init__ -0 145424 9 site.py:249 func <- __init__ -0 145424 10 posixpath.py:117 func -> dirname -0 145424 9 posixpath.py:74 func -> split -0 145424 14 posixpath.py:81 func <- split -0 145424 9 posixpath.py:119 func <- dirname -0 145424 14 posixpath.py:56 func -> join -0 145424 11 posixpath.py:66 func <- join -0 145424 11 site.py:244 func -> __init__ -0 145424 9 site.py:249 func <- __init__ -0 145424 9 site.py:314 func <- setcopyright -0 145424 9 site.py:330 func -> sethelper -0 145424 9 site.py:331 func <- sethelper -0 145424 9 site.py:333 func -> aliasmbcs -0 145424 9 site.py:346 func <- aliasmbcs -0 145424 9 site.py:348 func -> setencoding -0 145424 9 site.py:365 func <- setencoding -0 145424 9 site.py:368 func -> execsitecustomize -0 145424 706 site.py:373 func <- execsitecustomize -0 145424 16 site.py:395 func <- main -0 145424 12 site.py:406 func <- ? -0 145424 289 warnings.py:1 func -> ? -0 145424 158 linecache.py:6 func -> ? -0 145424 17 linecache.py:66 func <- ? -0 145424 20 warnings.py:179 func -> _OptionError -0 145424 9 warnings.py:180 func <- _OptionError -0 145424 19 warnings.py:184 func -> _processoptions -0 145424 10 warnings.py:189 func <- _processoptions -0 145424 12 warnings.py:160 func -> simplefilter -0 145424 13 warnings.py:173 func <- simplefilter -0 145424 10 warnings.py:160 func -> simplefilter -0 145424 11 warnings.py:173 func <- simplefilter -0 145424 9 warnings.py:259 func <- ? -0 145424 492 __init__.py:28 func -> ? -0 145424 599 codecs.py:8 func -> ? -0 145424 61 codecs.py:76 func -> Codec -0 145424 12 codecs.py:117 func <- Codec -0 145424 18 codecs.py:147 func -> StreamWriter -0 145424 11 codecs.py:200 func <- StreamWriter -0 145424 13 codecs.py:209 func -> StreamReader -0 145424 13 codecs.py:436 func <- StreamReader -0 145424 12 codecs.py:445 func -> StreamReaderWriter -0 145424 13 codecs.py:509 func <- StreamReaderWriter -0 145424 11 codecs.py:518 func -> StreamRecoder -0 145424 12 codecs.py:619 func <- StreamRecoder -0 145424 17 codecs.py:817 func <- ? -0 145424 625 aliases.py:17 func -> ? -0 145424 54 aliases.py:18 func <- ? -0 145424 21 __init__.py:43 func -> CodecRegistryError -0 145424 10 __init__.py:45 func <- CodecRegistryError -0 145424 19 __init__.py:145 func <- ? -0 145424 18 __init__.py:69 func -> search_function -0 145424 12 __init__.py:47 func -> normalize_encoding -0 145424 16 __init__.py:67 func <- normalize_encoding -0 145424 120 ascii.py:8 func -> ? -0 145424 14 ascii.py:13 func -> Codec -0 145424 10 ascii.py:18 func <- Codec -0 145424 15 ascii.py:20 func -> StreamWriter -0 145424 9 ascii.py:21 func <- StreamWriter -0 145424 13 ascii.py:23 func -> StreamReader -0 145424 9 ascii.py:24 func <- StreamReader -0 145424 24 ascii.py:26 func -> StreamConverter -0 145424 10 ascii.py:29 func <- StreamConverter -0 145424 14 ascii.py:33 func <- ? -0 145424 17 ascii.py:33 func -> getregentry -0 145424 10 ascii.py:35 func <- getregentry -0 145424 26 __init__.py:142 func <- search_function -0 145424 367 func_abc.py:3 func -> ? -0 145424 1722 func_abc.py:14 func -> func_a -0 145424 1005677 func_abc.py:9 func -> func_b -0 145424 1000271 func_abc.py:5 func -> func_c -0 145424 1009739 func_abc.py:7 func <- func_c -0 145424 25 func_abc.py:12 func <- func_b -0 145424 9 func_abc.py:17 func <- func_a -0 145424 9 func_abc.py:19 func <- ? -^C - -As each function is entered, the last column is indented by 2 spaces. This -shows which function is calling which. - -The DELTA(us) column shows the change in time from the previous line to the -current line. - -The FILE::LINE column shows which line in which file was being executed. Refer -to the source program to see what this line refers to. - -If the output looks shuffled, check the CPU "C" column - if it changes, -then the output is probably shuffled. See Notes/ALLsnoop_notes.txt for -details and suggested workarounds. - -See Notes/ALLflow_notes.txt for important notes about reading flow outputs. - diff --git a/cddl/contrib/dtracetoolkit/Examples/py_flowtime_example.txt b/cddl/contrib/dtracetoolkit/Examples/py_flowtime_example.txt deleted file mode 100644 index 5ac494bba64d..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/py_flowtime_example.txt +++ /dev/null @@ -1,487 +0,0 @@ -The following are examples of py_flowtime.d. - -This is a simple script to trace the flow of Python functions. Here it traces -the example program, Code/Python/func_abc.py - -# py_flowtime.d - C TIME(us) FILE DELTA(us) -- FUNC - 0 3064660319556 site.py 3 -> ? - 0 3064660320224 os.py 667 -> ? - 0 3064660321335 posixpath.py 1111 -> ? - 0 3064660321526 stat.py 190 -> ? - 0 3064660321546 stat.py 20 <- ? - 0 3064660321576 posixpath.py 29 <- ? - 0 3064660321593 os.py 17 -> _get_exports_list - 0 3064660321728 os.py 134 <- _get_exports_list - 0 3064660321989 UserDict.py 260 -> ? - 0 3064660322000 UserDict.py 10 -> UserDict - 0 3064660322035 UserDict.py 34 <- UserDict - 0 3064660322050 UserDict.py 15 -> IterableUserDict - 0 3064660322058 UserDict.py 8 <- IterableUserDict - 0 3064660322071 UserDict.py 12 -> DictMixin - 0 3064660322247 UserDict.py 176 <- DictMixin - 0 3064660322258 UserDict.py 10 <- ? - 0 3064660322275 os.py 16 -> _Environ - 0 3064660322285 os.py 10 <- _Environ - 0 3064660322298 os.py 13 -> __init__ - 0 3064660322308 UserDict.py 10 -> __init__ - 0 3064660322319 UserDict.py 10 <- __init__ - 0 3064660322328 os.py 9 <- __init__ - 0 3064660322338 os.py 10 -> _exists - 0 3064660322946 607 -> ? - 0 3064660322955 8 <- ? - 0 3064660322963 os.py 8 <- _exists - 0 3064660322972 os.py 8 -> _exists - 0 3064660322996 23 -> ? - 0 3064660323005 8 <- ? - 0 3064660323020 os.py 14 <- _exists - 0 3064660323029 os.py 8 -> _exists - 0 3064660323051 22 -> ? - 0 3064660323059 7 <- ? - 0 3064660323067 os.py 8 <- _exists - 0 3064660323077 os.py 10 -> _exists - 0 3064660323098 21 -> ? - 0 3064660323106 7 <- ? - 0 3064660323114 os.py 8 <- _exists - 0 3064660323125 os.py 10 -> _exists - 0 3064660323146 21 -> ? - 0 3064660323154 7 <- ? - 0 3064660323162 os.py 8 <- _exists - 0 3064660323173 os.py 10 -> _exists - 0 3064660323194 21 -> ? - 0 3064660323202 7 <- ? - 0 3064660323210 os.py 8 <- _exists - 0 3064660323218 os.py 8 -> _exists - 0 3064660323239 21 -> ? - 0 3064660323247 8 <- ? - 0 3064660323261 os.py 13 <- _exists - 0 3064660323271 os.py 10 -> _exists - 0 3064660323293 21 -> ? - 0 3064660323301 8 <- ? - 0 3064660323314 os.py 12 <- _exists - 0 3064660323324 os.py 10 -> _exists - 0 3064660323345 21 -> ? - 0 3064660323354 8 <- ? - 0 3064660323366 os.py 12 <- _exists - 0 3064660323545 copy_reg.py 178 -> ? - 0 3064660323726 types.py 180 -> ? - 0 3064660323790 types.py 64 -> _C - 0 3064660323800 types.py 9 <- _C - 0 3064660323834 types.py 33 <- ? - 0 3064660323855 copy_reg.py 21 -> pickle - 0 3064660323866 copy_reg.py 10 -> constructor - 0 3064660323874 copy_reg.py 8 <- constructor - 0 3064660323883 copy_reg.py 8 <- pickle - 0 3064660323895 copy_reg.py 11 <- ? - 0 3064660323909 copy_reg.py 14 -> pickle - 0 3064660323919 copy_reg.py 9 -> constructor - 0 3064660323927 copy_reg.py 8 <- constructor - 0 3064660323936 copy_reg.py 8 <- pickle - 0 3064660323946 copy_reg.py 9 -> pickle - 0 3064660323955 copy_reg.py 9 -> constructor - 0 3064660323963 copy_reg.py 8 <- constructor - 0 3064660323972 copy_reg.py 8 <- pickle - 0 3064660323981 os.py 9 -> _exists - 0 3064660324006 25 -> ? - 0 3064660324015 8 <- ? - 0 3064660324028 os.py 13 <- _exists - 0 3064660324037 os.py 8 <- ? - 0 3064660324069 site.py 31 -> _Printer - 0 3064660324080 site.py 10 <- _Printer - 0 3064660324118 site.py 38 -> _Helper - 0 3064660324127 site.py 9 <- _Helper - 0 3064660324160 site.py 33 -> main - 0 3064660324168 site.py 8 -> abs__file__ - 0 3064660324179 posixpath.py 10 -> abspath - 0 3064660324187 posixpath.py 8 -> isabs - 0 3064660324197 posixpath.py 9 <- isabs - 0 3064660324207 posixpath.py 9 -> normpath - 0 3064660324228 posixpath.py 21 <- normpath - 0 3064660324238 posixpath.py 9 <- abspath - 0 3064660324253 posixpath.py 15 -> abspath - 0 3064660324261 posixpath.py 8 -> isabs - 0 3064660324270 posixpath.py 8 <- isabs - 0 3064660324278 posixpath.py 8 -> normpath - 0 3064660324295 posixpath.py 16 <- normpath - 0 3064660324304 posixpath.py 9 <- abspath - 0 3064660324314 posixpath.py 9 -> abspath - 0 3064660324322 posixpath.py 8 -> isabs - 0 3064660324331 posixpath.py 8 <- isabs - 0 3064660324339 posixpath.py 8 -> normpath - 0 3064660324355 posixpath.py 15 <- normpath - 0 3064660324364 posixpath.py 8 <- abspath - 0 3064660324374 posixpath.py 9 -> abspath - 0 3064660324382 posixpath.py 8 -> isabs - 0 3064660324391 posixpath.py 8 <- isabs - 0 3064660324399 posixpath.py 8 -> normpath - 0 3064660324415 posixpath.py 15 <- normpath - 0 3064660324424 posixpath.py 8 <- abspath - 0 3064660324439 posixpath.py 14 -> abspath - 0 3064660324447 posixpath.py 8 -> isabs - 0 3064660324456 posixpath.py 8 <- isabs - 0 3064660324464 posixpath.py 8 -> normpath - 0 3064660324480 posixpath.py 15 <- normpath - 0 3064660324489 posixpath.py 8 <- abspath - 0 3064660324511 posixpath.py 21 -> abspath - 0 3064660324519 posixpath.py 8 -> isabs - 0 3064660324528 posixpath.py 8 <- isabs - 0 3064660324536 posixpath.py 8 -> normpath - 0 3064660324552 posixpath.py 15 <- normpath - 0 3064660324561 posixpath.py 9 <- abspath - 0 3064660324579 posixpath.py 17 -> abspath - 0 3064660324588 posixpath.py 8 -> isabs - 0 3064660324596 posixpath.py 8 <- isabs - 0 3064660324605 posixpath.py 8 -> normpath - 0 3064660324621 posixpath.py 15 <- normpath - 0 3064660324630 posixpath.py 8 <- abspath - 0 3064660324639 posixpath.py 9 -> abspath - 0 3064660324648 posixpath.py 8 -> isabs - 0 3064660324656 posixpath.py 8 <- isabs - 0 3064660324665 posixpath.py 8 -> normpath - 0 3064660324681 posixpath.py 15 <- normpath - 0 3064660324690 posixpath.py 9 <- abspath - 0 3064660324701 site.py 11 <- abs__file__ - 0 3064660324709 site.py 8 -> removeduppaths - 0 3064660324719 site.py 10 -> makepath - 0 3064660324729 posixpath.py 9 -> join - 0 3064660324738 posixpath.py 8 <- join - 0 3064660324746 posixpath.py 8 -> abspath - 0 3064660324755 posixpath.py 8 -> isabs - 0 3064660324764 posixpath.py 8 <- isabs - 0 3064660324773 posixpath.py 9 -> normpath - 0 3064660324789 posixpath.py 15 <- normpath - 0 3064660324797 posixpath.py 8 <- abspath - 0 3064660324806 posixpath.py 8 -> normcase - 0 3064660324814 posixpath.py 8 <- normcase - 0 3064660324823 site.py 8 <- makepath - 0 3064660324864 site.py 40 -> makepath - 0 3064660324873 posixpath.py 8 -> join - 0 3064660324881 posixpath.py 8 <- join - 0 3064660324889 posixpath.py 8 -> abspath - 0 3064660324898 posixpath.py 8 -> isabs - 0 3064660324906 posixpath.py 8 <- isabs - 0 3064660324915 posixpath.py 8 -> normpath - 0 3064660324931 posixpath.py 15 <- normpath - 0 3064660324939 posixpath.py 8 <- abspath - 0 3064660324948 posixpath.py 8 -> normcase - 0 3064660324957 posixpath.py 8 <- normcase - 0 3064660324965 site.py 8 <- makepath - 0 3064660324974 site.py 9 -> makepath - 0 3064660324983 posixpath.py 8 -> join - 0 3064660324991 posixpath.py 8 <- join - 0 3064660325000 posixpath.py 8 -> abspath - 0 3064660325008 posixpath.py 8 -> isabs - 0 3064660325017 posixpath.py 8 <- isabs - 0 3064660325025 posixpath.py 8 -> normpath - 0 3064660325041 posixpath.py 15 <- normpath - 0 3064660325050 posixpath.py 8 <- abspath - 0 3064660325059 posixpath.py 8 -> normcase - 0 3064660325067 posixpath.py 8 <- normcase - 0 3064660325075 site.py 8 <- makepath - 0 3064660325084 site.py 9 -> makepath - 0 3064660325093 posixpath.py 8 -> join - 0 3064660325102 posixpath.py 8 <- join - 0 3064660325110 posixpath.py 8 -> abspath - 0 3064660325118 posixpath.py 8 -> isabs - 0 3064660325127 posixpath.py 8 <- isabs - 0 3064660325135 posixpath.py 8 -> normpath - 0 3064660325151 posixpath.py 15 <- normpath - 0 3064660325160 posixpath.py 8 <- abspath - 0 3064660325169 posixpath.py 8 -> normcase - 0 3064660325177 posixpath.py 7 <- normcase - 0 3064660325185 site.py 8 <- makepath - 0 3064660325194 site.py 9 -> makepath - 0 3064660325203 posixpath.py 8 -> join - 0 3064660325212 posixpath.py 8 <- join - 0 3064660325220 posixpath.py 8 -> abspath - 0 3064660325228 posixpath.py 8 -> isabs - 0 3064660325237 posixpath.py 8 <- isabs - 0 3064660325245 posixpath.py 8 -> normpath - 0 3064660325261 posixpath.py 15 <- normpath - 0 3064660325270 posixpath.py 8 <- abspath - 0 3064660325279 posixpath.py 8 -> normcase - 0 3064660325287 posixpath.py 8 <- normcase - 0 3064660325295 site.py 8 <- makepath - 0 3064660325307 site.py 11 <- removeduppaths - 0 3064660325317 posixpath.py 10 -> basename - 0 3064660325327 posixpath.py 9 -> split - 0 3064660325340 posixpath.py 13 <- split - 0 3064660325349 posixpath.py 8 <- basename - 0 3064660325358 site.py 8 -> addsitepackages - 0 3064660325370 posixpath.py 12 -> join - 0 3064660325385 posixpath.py 14 <- join - 0 3064660325394 posixpath.py 9 -> join - 0 3064660325406 posixpath.py 11 <- join - 0 3064660325416 posixpath.py 10 -> isdir - 0 3064660325447 stat.py 31 -> S_ISDIR - 0 3064660325456 stat.py 8 -> S_IFMT - 0 3064660325464 stat.py 8 <- S_IFMT - 0 3064660325473 stat.py 8 <- S_ISDIR - 0 3064660325481 posixpath.py 7 <- isdir - 0 3064660325491 site.py 10 -> addsitedir - 0 3064660325500 site.py 8 -> makepath - 0 3064660325508 posixpath.py 8 -> join - 0 3064660325517 posixpath.py 8 <- join - 0 3064660325525 posixpath.py 8 -> abspath - 0 3064660325534 posixpath.py 8 -> isabs - 0 3064660325543 posixpath.py 8 <- isabs - 0 3064660325552 posixpath.py 9 -> normpath - 0 3064660325569 posixpath.py 16 <- normpath - 0 3064660325578 posixpath.py 8 <- abspath - 0 3064660325587 posixpath.py 8 -> normcase - 0 3064660325595 posixpath.py 8 <- normcase - 0 3064660325604 site.py 8 <- makepath - 0 3064660325823 site.py 219 -> addpackage - 0 3064660325834 posixpath.py 10 -> join - 0 3064660325844 posixpath.py 10 <- join - 0 3064660325972 127 -> ? - 0 3064660325985 site.py 13 -> addsitedir - 0 3064660325994 site.py 8 -> _init_pathinfo - 0 3064660326004 posixpath.py 10 -> isdir - 0 3064660326086 posixpath.py 81 <- isdir - 0 3064660326097 posixpath.py 10 -> isdir - 0 3064660326118 stat.py 21 -> S_ISDIR - 0 3064660326127 stat.py 9 -> S_IFMT - 0 3064660326136 stat.py 8 <- S_IFMT - 0 3064660326144 stat.py 8 <- S_ISDIR - 0 3064660326152 posixpath.py 7 <- isdir - 0 3064660326161 site.py 9 -> makepath - 0 3064660326171 posixpath.py 9 -> join - 0 3064660326179 posixpath.py 8 <- join - 0 3064660326188 posixpath.py 8 -> abspath - 0 3064660326196 posixpath.py 8 -> isabs - 0 3064660326205 posixpath.py 9 <- isabs - 0 3064660326215 posixpath.py 9 -> normpath - 0 3064660326231 posixpath.py 16 <- normpath - 0 3064660326240 posixpath.py 8 <- abspath - 0 3064660326249 posixpath.py 9 -> normcase - 0 3064660326258 posixpath.py 8 <- normcase - 0 3064660326266 site.py 8 <- makepath - 0 3064660326276 posixpath.py 9 -> isdir - 0 3064660326298 stat.py 22 -> S_ISDIR - 0 3064660326306 stat.py 8 -> S_IFMT - 0 3064660326314 stat.py 7 <- S_IFMT - 0 3064660326322 stat.py 8 <- S_ISDIR - 0 3064660326330 posixpath.py 8 <- isdir - 0 3064660326340 site.py 9 -> makepath - 0 3064660326349 posixpath.py 8 -> join - 0 3064660326357 posixpath.py 8 <- join - 0 3064660326382 posixpath.py 24 -> abspath - 0 3064660326390 posixpath.py 8 -> isabs - 0 3064660326399 posixpath.py 8 <- isabs - 0 3064660326408 posixpath.py 8 -> normpath - 0 3064660326425 posixpath.py 16 <- normpath - 0 3064660326434 posixpath.py 9 <- abspath - 0 3064660326443 posixpath.py 9 -> normcase - 0 3064660326451 posixpath.py 8 <- normcase - 0 3064660326460 site.py 8 <- makepath - 0 3064660326469 posixpath.py 9 -> isdir - 0 3064660326493 stat.py 23 -> S_ISDIR - 0 3064660326501 stat.py 8 -> S_IFMT - 0 3064660326509 stat.py 7 <- S_IFMT - 0 3064660326517 stat.py 8 <- S_ISDIR - 0 3064660326525 posixpath.py 7 <- isdir - 0 3064660326534 site.py 9 -> makepath - 0 3064660326542 posixpath.py 8 -> join - 0 3064660326551 posixpath.py 8 <- join - 0 3064660326559 posixpath.py 8 -> abspath - 0 3064660326568 posixpath.py 8 -> isabs - 0 3064660326576 posixpath.py 8 <- isabs - 0 3064660326585 posixpath.py 8 -> normpath - 0 3064660326602 posixpath.py 16 <- normpath - 0 3064660326610 posixpath.py 8 <- abspath - 0 3064660326619 posixpath.py 8 -> normcase - 0 3064660326628 posixpath.py 8 <- normcase - 0 3064660326636 site.py 8 <- makepath - 0 3064660326646 posixpath.py 9 -> isdir - 0 3064660326668 stat.py 22 -> S_ISDIR - 0 3064660326676 stat.py 8 -> S_IFMT - 0 3064660326684 stat.py 7 <- S_IFMT - 0 3064660326692 stat.py 8 <- S_ISDIR - 0 3064660326700 posixpath.py 8 <- isdir - 0 3064660326709 site.py 9 -> makepath - 0 3064660326718 posixpath.py 8 -> join - 0 3064660326726 posixpath.py 8 <- join - 0 3064660326735 posixpath.py 8 -> abspath - 0 3064660326743 posixpath.py 8 -> isabs - 0 3064660326752 posixpath.py 8 <- isabs - 0 3064660326760 posixpath.py 8 -> normpath - 0 3064660326777 posixpath.py 16 <- normpath - 0 3064660326786 posixpath.py 9 <- abspath - 0 3064660326795 posixpath.py 9 -> normcase - 0 3064660326803 posixpath.py 8 <- normcase - 0 3064660326811 site.py 8 <- makepath - 0 3064660326821 posixpath.py 9 -> isdir - 0 3064660326842 stat.py 21 -> S_ISDIR - 0 3064660326850 stat.py 8 -> S_IFMT - 0 3064660326858 stat.py 7 <- S_IFMT - 0 3064660326866 stat.py 8 <- S_ISDIR - 0 3064660326874 posixpath.py 7 <- isdir - 0 3064660326883 site.py 9 -> makepath - 0 3064660326892 posixpath.py 8 -> join - 0 3064660326901 posixpath.py 8 <- join - 0 3064660326909 posixpath.py 8 -> abspath - 0 3064660326917 posixpath.py 8 -> isabs - 0 3064660326926 posixpath.py 8 <- isabs - 0 3064660326935 posixpath.py 8 -> normpath - 0 3064660326951 posixpath.py 16 <- normpath - 0 3064660326960 posixpath.py 8 <- abspath - 0 3064660326970 posixpath.py 9 -> normcase - 0 3064660326978 posixpath.py 8 <- normcase - 0 3064660326986 site.py 8 <- makepath - 0 3064660326995 site.py 8 <- _init_pathinfo - 0 3064660327004 site.py 8 -> makepath - 0 3064660327013 posixpath.py 9 -> join - 0 3064660327021 posixpath.py 8 <- join - 0 3064660327030 posixpath.py 8 -> abspath - 0 3064660327038 posixpath.py 8 -> isabs - 0 3064660327047 posixpath.py 8 <- isabs - 0 3064660327056 posixpath.py 8 -> normpath - 0 3064660327072 posixpath.py 15 <- normpath - 0 3064660327081 posixpath.py 9 <- abspath - 0 3064660327090 posixpath.py 8 -> normcase - 0 3064660327098 posixpath.py 8 <- normcase - 0 3064660327106 site.py 8 <- makepath - 0 3064660327278 site.py 171 -> addpackage - 0 3064660327289 posixpath.py 10 -> join - 0 3064660327300 posixpath.py 10 <- join - 0 3064660327372 site.py 72 -> makepath - 0 3064660327382 posixpath.py 10 -> join - 0 3064660327393 posixpath.py 10 <- join - 0 3064660327402 posixpath.py 9 -> abspath - 0 3064660327410 posixpath.py 8 -> isabs - 0 3064660327419 posixpath.py 8 <- isabs - 0 3064660327427 posixpath.py 8 -> normpath - 0 3064660327445 posixpath.py 17 <- normpath - 0 3064660327454 posixpath.py 9 <- abspath - 0 3064660327463 posixpath.py 9 -> normcase - 0 3064660327472 posixpath.py 8 <- normcase - 0 3064660327480 site.py 8 <- makepath - 0 3064660327489 posixpath.py 9 -> exists - 0 3064660327515 posixpath.py 26 <- exists - 0 3064660327567 site.py 51 <- addpackage - 0 3064660327588 site.py 20 -> addpackage - 0 3064660327597 posixpath.py 8 -> join - 0 3064660327607 posixpath.py 10 <- join - 0 3064660327654 site.py 46 -> makepath - 0 3064660327663 posixpath.py 9 -> join - 0 3064660327710 posixpath.py 46 <- join - 0 3064660327720 posixpath.py 9 -> abspath - 0 3064660327728 posixpath.py 8 -> isabs - 0 3064660327737 posixpath.py 9 <- isabs - 0 3064660327746 posixpath.py 8 -> normpath - 0 3064660327764 posixpath.py 17 <- normpath - 0 3064660327773 posixpath.py 9 <- abspath - 0 3064660327782 posixpath.py 9 -> normcase - 0 3064660327791 posixpath.py 8 <- normcase - 0 3064660327799 site.py 8 <- makepath - 0 3064660327808 posixpath.py 9 -> exists - 0 3064660327833 posixpath.py 24 <- exists - 0 3064660327864 site.py 31 <- addpackage - 0 3064660327878 site.py 13 <- addsitedir - 0 3064660327887 9 <- ? - 0 3064660327903 site.py 15 <- addpackage - 0 3064660327913 site.py 9 <- addsitedir - 0 3064660327923 posixpath.py 10 -> isdir - 0 3064660327955 posixpath.py 32 <- isdir - 0 3064660327965 site.py 9 <- addsitepackages - 0 3064660327976 site.py 10 -> setquit - 0 3064660327986 site.py 10 <- setquit - 0 3064660327995 site.py 8 -> setcopyright - 0 3064660328005 site.py 10 -> __init__ - 0 3064660328015 site.py 9 <- __init__ - 0 3064660328026 site.py 11 -> __init__ - 0 3064660328035 site.py 8 <- __init__ - 0 3064660328045 posixpath.py 9 -> dirname - 0 3064660328053 posixpath.py 8 -> split - 0 3064660328066 posixpath.py 13 <- split - 0 3064660328075 posixpath.py 8 <- dirname - 0 3064660328089 posixpath.py 13 -> join - 0 3064660328099 posixpath.py 10 <- join - 0 3064660328109 site.py 10 -> __init__ - 0 3064660328118 site.py 9 <- __init__ - 0 3064660328127 site.py 8 <- setcopyright - 0 3064660328136 site.py 8 -> sethelper - 0 3064660328145 site.py 8 <- sethelper - 0 3064660328153 site.py 8 -> aliasmbcs - 0 3064660328161 site.py 8 <- aliasmbcs - 0 3064660328170 site.py 8 -> setencoding - 0 3064660328178 site.py 7 <- setencoding - 0 3064660328186 site.py 8 -> execsitecustomize - 0 3064660328736 site.py 549 <- execsitecustomize - 0 3064660328748 site.py 12 <- main - 0 3064660328758 site.py 9 <- ? - 0 3064660329029 warnings.py 270 -> ? - 0 3064660329184 linecache.py 155 -> ? - 0 3064660329201 linecache.py 16 <- ? - 0 3064660329220 warnings.py 18 -> _OptionError - 0 3064660329228 warnings.py 8 <- _OptionError - 0 3064660329246 warnings.py 17 -> _processoptions - 0 3064660329255 warnings.py 8 <- _processoptions - 0 3064660329266 warnings.py 10 -> simplefilter - 0 3064660329278 warnings.py 12 <- simplefilter - 0 3064660329288 warnings.py 9 -> simplefilter - 0 3064660329298 warnings.py 10 <- simplefilter - 0 3064660329307 warnings.py 8 <- ? - 0 3064660329533 __init__.py 226 -> ? - 0 3064660330090 codecs.py 557 -> ? - 0 3064660330148 codecs.py 57 -> Codec - 0 3064660330158 codecs.py 10 <- Codec - 0 3064660330171 codecs.py 13 -> StreamWriter - 0 3064660330182 codecs.py 10 <- StreamWriter - 0 3064660330194 codecs.py 11 -> StreamReader - 0 3064660330206 codecs.py 12 <- StreamReader - 0 3064660330217 codecs.py 11 -> StreamReaderWriter - 0 3064660330229 codecs.py 11 <- StreamReaderWriter - 0 3064660330239 codecs.py 10 -> StreamRecoder - 0 3064660330251 codecs.py 11 <- StreamRecoder - 0 3064660330267 codecs.py 16 <- ? - 0 3064660331439 aliases.py 1171 -> ? - 0 3064660331500 aliases.py 61 <- ? - 0 3064660331526 __init__.py 25 -> CodecRegistryError - 0 3064660331535 __init__.py 9 <- CodecRegistryError - 0 3064660331557 __init__.py 21 <- ? - 0 3064660331577 __init__.py 20 -> search_function - 0 3064660331590 __init__.py 12 -> normalize_encoding - 0 3064660331605 __init__.py 15 <- normalize_encoding - 0 3064660331728 ascii.py 122 -> ? - 0 3064660331742 ascii.py 13 -> Codec - 0 3064660331752 ascii.py 9 <- Codec - 0 3064660331766 ascii.py 13 -> StreamWriter - 0 3064660331774 ascii.py 8 <- StreamWriter - 0 3064660331787 ascii.py 13 -> StreamReader - 0 3064660331796 ascii.py 8 <- StreamReader - 0 3064660331819 ascii.py 23 -> StreamConverter - 0 3064660331829 ascii.py 9 <- StreamConverter - 0 3064660331842 ascii.py 13 <- ? - 0 3064660331860 ascii.py 17 -> getregentry - 0 3064660331869 ascii.py 9 <- getregentry - 0 3064660331897 __init__.py 27 <- search_function - 0 3064660332263 func_abc.py 366 -> ? - 0 3064660333735 func_abc.py 1471 -> func_a - 0 3064661340597 func_abc.py 1006862 -> func_b - 0 3064662350504 func_abc.py 1009906 -> func_c - 0 3064663350678 func_abc.py 1000174 <- func_c - 0 3064663350700 func_abc.py 22 <- func_b - 0 3064663350709 func_abc.py 8 <- func_a - 0 3064663350717 func_abc.py 8 <- ? -^C - -The fifth column is indented by 2 spaces to show when a new function begins. -This shows which function is calling which - first a whole lot of -pre-processing, then working through the func_abc.py program. - -The TIME(us) column shows time since boot. - -The DELTA(us) column shows time from that line to the previous line, and -so can be a bit tricky to read. For example, the third last line of data output -shows the time elapsing between func_c returning and func_b returning as 22 -microseconds. - -The FILE column shows file that was being executed. - -If the output looks shuffled, check the CPU "C" and "TIME" columns, and -post sort based on TIME if necessary. - -See Notes/ALLflow_notes.txt for important notes about reading flow outputs. - diff --git a/cddl/contrib/dtracetoolkit/Examples/py_funccalls_example.txt b/cddl/contrib/dtracetoolkit/Examples/py_funccalls_example.txt deleted file mode 100644 index 0ac87803fd8d..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/py_funccalls_example.txt +++ /dev/null @@ -1,89 +0,0 @@ -The following are examples of py_funccalls.d. - -This is a simple script to count executed PHP functions. Here it traces -an example program, Code/Python/func_abc.py - -# py_funccalls.d -Tracing... Hit Ctrl-C to end. -^C - - FILE FUNC CALLS - UserDict.py ? 1 - UserDict.py DictMixin 1 - UserDict.py IterableUserDict 1 - UserDict.py UserDict 1 - UserDict.py __init__ 1 - __init__.py ? 1 - __init__.py CodecRegistryError 1 - __init__.py normalize_encoding 1 - __init__.py search_function 1 - aliases.py ? 1 - ascii.py ? 1 - ascii.py Codec 1 - ascii.py StreamConverter 1 - ascii.py StreamReader 1 - ascii.py StreamWriter 1 - ascii.py getregentry 1 - codecs.py ? 1 - codecs.py Codec 1 - codecs.py StreamReader 1 - codecs.py StreamReaderWriter 1 - codecs.py StreamRecoder 1 - codecs.py StreamWriter 1 - copy_reg.py ? 1 - func_abc.py ? 1 - func_abc.py func_a 1 - func_abc.py func_b 1 - func_abc.py func_c 1 - linecache.py ? 1 - os.py ? 1 - os.py _Environ 1 - os.py __init__ 1 - os.py _get_exports_list 1 - posixpath.py ? 1 - posixpath.py basename 1 - posixpath.py dirname 1 - site.py ? 1 - site.py _Helper 1 - site.py _Printer 1 - site.py _init_pathinfo 1 - site.py abs__file__ 1 - site.py addsitepackages 1 - site.py aliasmbcs 1 - site.py execsitecustomize 1 - site.py main 1 - site.py removeduppaths 1 - site.py setcopyright 1 - site.py setencoding 1 - site.py sethelper 1 - site.py setquit 1 - stat.py ? 1 - types.py ? 1 - types.py _C 1 - warnings.py ? 1 - warnings.py _OptionError 1 - warnings.py _processoptions 1 - posixpath.py exists 2 - posixpath.py split 2 - site.py addsitedir 2 - warnings.py simplefilter 2 - copy_reg.py constructor 3 - copy_reg.py pickle 3 - site.py __init__ 3 - site.py addpackage 3 - stat.py S_IFMT 6 - stat.py S_ISDIR 6 - posixpath.py isdir 8 - os.py _exists 10 - ? 11 - posixpath.py normcase 14 - site.py makepath 14 - posixpath.py join 20 - posixpath.py abspath 22 - posixpath.py isabs 22 - posixpath.py normpath 22 - -It tells you how many times each function was called, and which file this -function was associated with. In this case you can see most of the function -calls come from functions within the posixpath.py library. - diff --git a/cddl/contrib/dtracetoolkit/Examples/py_malloc_example.txt b/cddl/contrib/dtracetoolkit/Examples/py_malloc_example.txt deleted file mode 100644 index be8fc25a484f..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/py_malloc_example.txt +++ /dev/null @@ -1,508 +0,0 @@ -The following are examples of py_malloc.d - -This is an experimental script to identify who is calling malloc() for memory -allocation, and to print distribution plots of the requested bytes. Here you -can see it running on Code/Python/func_abc.py - -# py_malloc.d -c ./func_abc.py -Tracing... Hit Ctrl-C to end. -Function A -Function B -Function C - -Python malloc byte distributions by engine caller, - - libpython2.4.so.1.0`_PyUnicode_New, total bytes = 2 - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - libpython2.4.so.1.0`find_key, total bytes = 16 - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - libpython2.4.so.1.0`PyInterpreterState_New, total bytes = 36 - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - libpython2.4.so.1.0`_PyImport_Init, total bytes = 60 - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - libpython2.4.so.1.0`PyThreadState_New, total bytes = 84 - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - libpython2.4.so.1.0`pmerge, total bytes = 132 - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@ 1 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 16 - 16 | 0 - - libpython2.4.so.1.0`PyThread_allocate_lock, total bytes = 144 - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 64 | 0 - - libpython2.4.so.1.0`convertsimple, total bytes = 210 - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 5 - 64 | 0 - - libc.so.1`strdup, total bytes = 451 - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@ 1 - 4 |@@@ 1 - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@ 8 - 32 |@@@@@@@@@@@@@@@ 6 - 64 | 0 - - libpython2.4.so.1.0`PyList_New, total bytes = 528 - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@ 22 - 8 |@@@@@@@@@@@@@@@@@ 21 - 16 |@@@@@ 6 - 32 | 0 - 64 | 0 - 128 |@ 1 - 256 | 0 - - libpython2.4.so.1.0`PyTokenizer_FromFile, total bytes = 1024 - value ------------- Distribution ------------- count - 512 | 0 - 1024 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2048 | 0 - - libpython2.4.so.1.0`_PyExc_Init, total bytes = 1058 - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 40 - 32 |@@ 2 - 64 | 0 - - libpython2.4.so.1.0`tok_new, total bytes = 1832 - value ------------- Distribution ------------- count - 256 | 0 - 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 1024 | 0 - - libpython2.4.so.1.0`fill_free_list, total bytes = 1976 - value ------------- Distribution ------------- count - 256 | 0 - 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 1024 | 0 - - libpython2.4.so.1.0`PyParser_New, total bytes = 12024 - value ------------- Distribution ------------- count - 2048 | 0 - 4096 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 8192 | 0 - - libpython2.4.so.1.0`PyObject_Malloc, total bytes = 35152 - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@ 20 - 512 |@@@@@@@ 7 - 1024 |@@@@@@@@@@ 11 - 2048 |@@@@ 4 - 4096 | 0 - - libpython2.4.so.1.0`PyMem_Malloc, total bytes = 50683 - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@ 2 - 16 |@@@@@@@ 4 - 32 |@@ 1 - 64 |@@@@@@@@@@@@@ 8 - 128 |@@@@@ 3 - 256 | 0 - 512 | 0 - 1024 | 0 - 2048 | 0 - 4096 | 0 - 8192 |@@@@@@@@@@ 6 - 16384 | 0 - - libc.so.1`_findbuf, total bytes = 51800 - value ------------- Distribution ------------- count - 256 | 0 - 512 |@@@@@@@@@@@@@@@ 4 - 1024 |@@@@ 1 - 2048 | 0 - 4096 |@@@@@@@ 2 - 8192 |@@@@@@@@@@@@@@@ 4 - 16384 | 0 - - libpython2.4.so.1.0`dictresize, total bytes = 178752 - value ------------- Distribution ------------- count - 64 | 0 - 128 |@ 1 - 256 |@@@@@@@@@@@@@@@@@@@@@ 29 - 512 | 0 - 1024 |@@@@@@@@@@@@@@ 19 - 2048 |@ 1 - 4096 |@ 2 - 8192 | 0 - 16384 |@ 1 - 32768 | 0 - 65536 |@ 1 - 131072 | 0 - - libpython2.4.so.1.0`new_arena, total bytes = 262208 - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - 256 | 0 - 512 | 0 - 1024 | 0 - 2048 | 0 - 4096 | 0 - 8192 | 0 - 16384 | 0 - 32768 | 0 - 65536 | 0 - 131072 | 0 - 262144 |@@@@@@@@@@@@@@@@@@@@ 1 - 524288 | 0 - - -Python malloc byte distributions by Python file and function, - - site.py, addsitepackages, bytes total = 4 - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - site.py, abs__file__, bytes total = 60 - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - posixpath.py, exists, bytes total = 83 - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 64 | 0 - - stat.py, S_ISDIR, bytes total = 364 - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - - site.py, _init_pathinfo, bytes total = 380 - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - - UserDict.py, DictMixin, bytes total = 384 - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - - codecs.py, StreamReader, bytes total = 384 - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - - codecs.py, StreamReaderWriter, bytes total = 384 - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - - codecs.py, StreamRecoder, bytes total = 384 - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - - codecs.py, StreamWriter, bytes total = 384 - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - - os.py, _Environ, bytes total = 384 - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - - site.py, _Printer, bytes total = 384 - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - - site.py, addsitedir, bytes total = 388 - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - - linecache.py, ?, bytes total = 396 - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - 32 | 0 - 64 | 0 - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - - posixpath.py, isdir, bytes total = 608 - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@ 2 - 4 | 0 - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@ 7 - 32 |@@@@@@@ 2 - 64 | 0 - 128 | 0 - 256 |@@@ 1 - 512 | 0 - - os.py, _get_exports_list, bytes total = 612 - value ------------- Distribution ------------- count - 256 | 0 - 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1024 | 0 - - posixpath.py, abspath, bytes total = 728 - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 512 | 0 - - site.py, execsitecustomize, bytes total = 790 - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 9 - 64 | 0 - 128 | 0 - 256 |@@@@ 1 - 512 | 0 - - UserDict.py, UserDict, bytes total = 1920 - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - 1024 |@@@@@@@@@@@@@@@@@@@@ 1 - 2048 | 0 - - stat.py, ?, bytes total = 1920 - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - 1024 |@@@@@@@@@@@@@@@@@@@@ 1 - 2048 | 0 - - types.py, ?, bytes total = 2680 - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@ 1 - 8 |@@@@@@@@@@@ 2 - 16 | 0 - 32 | 0 - 64 | 0 - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@ 3 - 512 | 0 - 1024 |@@@@@@ 1 - 2048 | 0 - - posixpath.py, ?, bytes total = 3306 - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@ 2 - 32 | 0 - 64 | 0 - 128 | 0 - 256 |@@@@@@@@@@@@@@@@ 2 - 512 | 0 - 1024 | 0 - 2048 |@@@@@@@@ 1 - 4096 | 0 - - copy_reg.py, ?, bytes total = 3547 - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@ 2 - 32 | 0 - 64 | 0 - 128 | 0 - 256 |@@@@@@@@ 1 - 512 |@@@@@@@@ 1 - 1024 | 0 - 2048 |@@@@@@@@ 1 - 4096 | 0 - - warnings.py, ?, bytes total = 3924 - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@ 1 - 32 |@@@@@@@@ 1 - 64 | 0 - 128 | 0 - 256 |@@@@@@@@@@@@@@@@ 2 - 512 | 0 - 1024 | 0 - 2048 |@@@@@@@@ 1 - 4096 | 0 - - func_abc.py, func_a, bytes total = 5100 - value ------------- Distribution ------------- count - 256 | 0 - 512 |@@@@@@@@@@@@@@@@@@@@ 1 - 1024 | 0 - 2048 | 0 - 4096 |@@@@@@@@@@@@@@@@@@@@ 1 - 8192 | 0 - - codecs.py, ?, bytes total = 5612 - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@ 1 - 128 |@@@@@@ 1 - 256 |@@@@@@@@@@@ 2 - 512 | 0 - 1024 |@@@@@@@@@@@@@@@@@ 3 - 2048 | 0 - - aliases.py, ?, bytes total = 8064 - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@ 1 - 512 | 0 - 1024 |@@@@@@@@@@@@@ 1 - 2048 | 0 - 4096 |@@@@@@@@@@@@@ 1 - 8192 | 0 - - func_abc.py, ?, bytes total = 16105 - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@ 1 - 8 |@@@@@ 2 - 16 |@@@@@@@@@ 4 - 32 |@@@@@ 2 - 64 | 0 - 128 |@@ 1 - 256 |@@@@@@@ 3 - 512 |@@ 1 - 1024 |@@@@@ 2 - 2048 | 0 - 4096 | 0 - 8192 |@@ 1 - 16384 | 0 - - os.py, ?, bytes total = 58957 - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@ 3 - 8 |@@@@@ 6 - 16 |@ 1 - 32 |@@ 2 - 64 | 0 - 128 |@ 1 - 256 |@@@@@@@@@@@@@@@@@@ 23 - 512 |@@ 3 - 1024 |@@@@@ 7 - 2048 | 0 - 4096 |@@@ 4 - 8192 |@ 1 - 16384 | 0 - - site.py, ?, bytes total = 62589 - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@ 2 - 32 | 0 - 64 | 0 - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 20 - 512 |@ 1 - 1024 |@@@ 2 - 2048 |@ 1 - 4096 | 0 - 8192 | 0 - 16384 |@@@ 2 - 32768 | 0 - - __init__.py, ?, bytes total = 62593 - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@ 1 - 2 | 0 - 4 | 0 - 8 | 0 - 16 |@@@ 2 - 32 |@@ 1 - 64 | 0 - 128 | 0 - 256 |@@@@@@@@@@@ 7 - 512 |@@@@@@@@@@@@@@@@ 10 - 1024 |@@@ 2 - 2048 | 0 - 4096 | 0 - 8192 | 0 - 16384 |@@@ 2 - 32768 | 0 - - posixpath.py, join, bytes total = 262144 - value ------------- Distribution ------------- count - 131072 | 0 - 262144 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 524288 | 0 - - os.py, _exists, bytes total = 362768 - value ------------- Distribution ------------- count - 2 | 0 - 4 |@ 10 - 8 |@ 10 - 16 |@@ 20 - 32 | 0 - 64 | 0 - 128 | 0 - 256 |@ 7 - 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 447 - 1024 |@@ 20 - 2048 | 0 - 4096 |@ 10 - 8192 | 0 - - -The results are divided into two sections. If a malloc() occurred while in a -Python function, then that function is identified as responsible; and the -results will appear in the second section - Python malloc byte distributions -by Python file and function. - -Otherwise the caller of malloc() is identified as responsible - which will be -a function from the Python engine, and these are noted in the first section - -Python malloc byte distributions by engine caller. diff --git a/cddl/contrib/dtracetoolkit/Examples/py_mallocstk_example.txt b/cddl/contrib/dtracetoolkit/Examples/py_mallocstk_example.txt deleted file mode 100644 index a466737f34b2..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/py_mallocstk_example.txt +++ /dev/null @@ -1,314 +0,0 @@ -Following are examples of running py_mallocstk.d. This traces malloc() from -Python, printing byte distributions by user stack trace. - -Here we see the script runnin on the program Code/Python/func_abc.py - -# py_mallocstk.d -c ./func_abc.py - -Tracing... Hit Ctrl-C to end. -Function A -Function B -Function C - -Python malloc byte distributions by stack trace, - - - - libc.so.1`malloc - libpython2.4.so.1.0`r_object+0x52f - libpython2.4.so.1.0`r_object+0x491 - libpython2.4.so.1.0`r_object+0xd3 - libpython2.4.so.1.0`r_object+0x491 - libpython2.4.so.1.0`r_object+0xd3 - libpython2.4.so.1.0`r_object+0x491 - libpython2.4.so.1.0`r_object+0xd3 - libpython2.4.so.1.0`PyMarshal_ReadObjectFromString+0x36 - libpython2.4.so.1.0`PyMarshal_ReadLastObjectFromFile+0x6a - libpython2.4.so.1.0`read_compiled_module+0xf - libpython2.4.so.1.0`load_source_module+0x63 - libpython2.4.so.1.0`load_module+0xac - libpython2.4.so.1.0`import_submodule+0xfb - libpython2.4.so.1.0`load_next+0xee - libpython2.4.so.1.0`import_module_ex+0x48 - libpython2.4.so.1.0`PyImport_ImportModuleEx+0x1d - libpython2.4.so.1.0`builtin___import__+0x4e - libpython2.4.so.1.0`PyCFunction_Call+0x15f - libpython2.4.so.1.0`PyObject_Call+0x1d - libpython2.4.so.1.0`PyEval_CallObjectWithKeywords+0xb8 - libpython2.4.so.1.0`PyEval_EvalFrame+0xd3c - [ /usr/lib/python2.4/encodings/__init__.py:28 (?) ] - libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732 - libpython2.4.so.1.0`PyEval_EvalCode+0x22 - libpython2.4.so.1.0`PyImport_ExecCodeModuleEx+0xc0 - libpython2.4.so.1.0`load_source_module+0xe6 - libpython2.4.so.1.0`load_module+0xac - libpython2.4.so.1.0`load_package+0xef - libpython2.4.so.1.0`load_module+0x6a - libpython2.4.so.1.0`import_submodule+0xfb - libpython2.4.so.1.0`load_next+0xa2 - libpython2.4.so.1.0`import_module_ex+0x48 - libpython2.4.so.1.0`PyImport_ImportModuleEx+0x1d - libpython2.4.so.1.0`_PyCodecRegistry_Init+0xce - libpython2.4.so.1.0`_PyCodec_Lookup+0x2a - libpython2.4.so.1.0`PyCodec_Encoder+0xf - libpython2.4.so.1.0`Py_InitializeEx+0x257 - libpython2.4.so.1.0`Py_Initialize+0xd - libpython2.4.so.1.0`Py_Main+0x4db - python`main+0x11 - python`_start+0x7a - - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2 | 0 - - - libc.so.1`malloc - libpython2.4.so.1.0`_PyUnicode_New+0xb2 - libpython2.4.so.1.0`_PyUnicodeUCS2_Init+0x19 - libpython2.4.so.1.0`Py_InitializeEx+0x11c - libpython2.4.so.1.0`Py_Initialize+0xd - libpython2.4.so.1.0`Py_Main+0x4db - python`main+0x11 - python`_start+0x7a - - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - - libc.so.1`malloc - libc.so.1`_real_gettext_u+0x81 - libc.so.1`dgettext+0x5e - libc.so.1`strerror+0x40 - libpython2.4.so.1.0`PyErr_SetFromErrnoWithFilenameObject+0x2d - libpython2.4.so.1.0`PyErr_SetFromErrnoWithFilename+0x27 - libpython2.4.so.1.0`posix_error_with_allocated_filename+0x17 - libpython2.4.so.1.0`posix_do_stat+0x21f - libpython2.4.so.1.0`posix_stat+0x1f - libpython2.4.so.1.0`PyCFunction_Call+0x15f - libpython2.4.so.1.0`call_function+0x406 - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ /usr/lib/python2.4/posixpath.py:195 (isdir) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ /usr/lib/python2.4/site.py:202 (addsitepackages) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ /usr/lib/python2.4/site.py:382 (main) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ /usr/lib/python2.4/site.py:397 (?) ] - libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732 - libpython2.4.so.1.0`PyEval_EvalCode+0x22 - libpython2.4.so.1.0`PyImport_ExecCodeModuleEx+0xc0 - libpython2.4.so.1.0`load_source_module+0xe6 - libpython2.4.so.1.0`load_module+0xac - libpython2.4.so.1.0`import_submodule+0xfb - libpython2.4.so.1.0`load_next+0xa2 - libpython2.4.so.1.0`import_module_ex+0x48 - libpython2.4.so.1.0`PyImport_ImportModuleEx+0x1d - libpython2.4.so.1.0`builtin___import__+0x4e - libpython2.4.so.1.0`PyCFunction_Call+0x15f - libpython2.4.so.1.0`PyObject_Call+0x1d - libpython2.4.so.1.0`PyObject_CallFunction+0x90 - libpython2.4.so.1.0`PyImport_Import+0x163 - libpython2.4.so.1.0`PyImport_ImportModule+0x1f - libpython2.4.so.1.0`initsite+0x10 - libpython2.4.so.1.0`Py_InitializeEx+0x1ea - libpython2.4.so.1.0`Py_Initialize+0xd - libpython2.4.so.1.0`Py_Main+0x4db - python`main+0x11 - python`_start+0x7a - - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - -[... around 17000 lines truncated ...] - - - libc.so.1`malloc - libpython2.4.so.1.0`PyObject_Malloc+0x126 - libpython2.4.so.1.0`fixstate+0x26 - libpython2.4.so.1.0`fixdfa+0x2a - libpython2.4.so.1.0`PyGrammar_AddAccelerators+0x1b - libpython2.4.so.1.0`PyParser_New+0x18 - libpython2.4.so.1.0`parsetok+0x17 - libpython2.4.so.1.0`PyParser_ParseStringFlagsFilename+0x72 - libpython2.4.so.1.0`PyParser_ParseStringFlags+0x1c - libpython2.4.so.1.0`PyParser_SimpleParseStringFlags+0x23 - libpython2.4.so.1.0`PyRun_StringFlags+0x2c - libpython2.4.so.1.0`builtin_eval+0x273 - libpython2.4.so.1.0`PyCFunction_Call+0x15f - libpython2.4.so.1.0`call_function+0x406 - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ /usr/lib/python2.4/os.py:503 (_exists) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ /usr/lib/python2.4/os.py:509 (?) ] - libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732 - libpython2.4.so.1.0`PyEval_EvalCode+0x22 - libpython2.4.so.1.0`PyImport_ExecCodeModuleEx+0xc0 - libpython2.4.so.1.0`load_source_module+0xe6 - libpython2.4.so.1.0`load_module+0xac - libpython2.4.so.1.0`import_submodule+0xfb - libpython2.4.so.1.0`load_next+0xa2 - libpython2.4.so.1.0`import_module_ex+0x48 - libpython2.4.so.1.0`PyImport_ImportModuleEx+0x1d - libpython2.4.so.1.0`builtin___import__+0x4e - libpython2.4.so.1.0`PyCFunction_Call+0x15f - libpython2.4.so.1.0`PyObject_Call+0x1d - libpython2.4.so.1.0`PyEval_CallObjectWithKeywords+0xb8 - libpython2.4.so.1.0`PyEval_EvalFrame+0xd3c - [ /usr/lib/python2.4/site.py:58 (?) ] - libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732 - libpython2.4.so.1.0`PyEval_EvalCode+0x22 - libpython2.4.so.1.0`PyImport_ExecCodeModuleEx+0xc0 - libpython2.4.so.1.0`load_source_module+0xe6 - libpython2.4.so.1.0`load_module+0xac - libpython2.4.so.1.0`import_submodule+0xfb - libpython2.4.so.1.0`load_next+0xa2 - libpython2.4.so.1.0`import_module_ex+0x48 - libpython2.4.so.1.0`PyImport_ImportModuleEx+0x1d - libpython2.4.so.1.0`builtin___import__+0x4e - libpython2.4.so.1.0`PyCFunction_Call+0x15f - libpython2.4.so.1.0`PyObject_Call+0x1d - libpython2.4.so.1.0`PyObject_CallFunction+0x90 - libpython2.4.so.1.0`PyImport_Import+0x163 - libpython2.4.so.1.0`PyImport_ImportModule+0x1f - libpython2.4.so.1.0`initsite+0x10 - libpython2.4.so.1.0`Py_InitializeEx+0x1ea - libpython2.4.so.1.0`Py_Initialize+0xd - libpython2.4.so.1.0`Py_Main+0x4db - python`main+0x11 - python`_start+0x7a - - value ------------- Distribution ------------- count - 256 | 0 - 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 331 - 1024 | 0 - - - libc.so.1`malloc - libpython2.4.so.1.0`new_arena+0x13 - libpython2.4.so.1.0`PyObject_Malloc+0x91 - libpython2.4.so.1.0`string_concat+0x109 - libpython2.4.so.1.0`PyString_Concat+0x3b - libpython2.4.so.1.0`string_concatenate+0x150 - libpython2.4.so.1.0`PyEval_EvalFrame+0x27cc - [ /usr/lib/python2.4/posixpath.py:62 (join) ] - libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732 - libpython2.4.so.1.0`function_call+0x15e - libpython2.4.so.1.0`PyObject_Call+0x1d - libpython2.4.so.1.0`ext_do_call+0xfb - libpython2.4.so.1.0`PyEval_EvalFrame+0xb4f - [ /usr/lib/python2.4/site.py:66 (makepath) ] - libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732 - libpython2.4.so.1.0`fast_function+0x112 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ /usr/lib/python2.4/site.py:138 (addpackage) ] - libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732 - libpython2.4.so.1.0`fast_function+0x112 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ /usr/lib/python2.4/site.py:166 (addsitedir) ] - libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732 - libpython2.4.so.1.0`fast_function+0x112 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ :1 (?) ] - libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732 - libpython2.4.so.1.0`PyEval_EvalCode+0x22 - libpython2.4.so.1.0`run_node+0x35 - libpython2.4.so.1.0`run_err_node+0x1f - libpython2.4.so.1.0`PyRun_String+0x27 - libpython2.4.so.1.0`exec_statement+0x2b0 - libpython2.4.so.1.0`PyEval_EvalFrame+0x15d6 - [ /usr/lib/python2.4/site.py:134 (addpackage) ] - libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732 - libpython2.4.so.1.0`fast_function+0x112 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ /usr/lib/python2.4/site.py:166 (addsitedir) ] - libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732 - libpython2.4.so.1.0`fast_function+0x112 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ /usr/lib/python2.4/site.py:203 (addsitepackages) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ /usr/lib/python2.4/site.py:382 (main) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ /usr/lib/python2.4/site.py:397 (?) ] - libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732 - libpython2.4.so.1.0`PyEval_EvalCode+0x22 - libpython2.4.so.1.0`PyImport_ExecCodeModuleEx+0xc0 - libpython2.4.so.1.0`load_source_module+0xe6 - libpython2.4.so.1.0`load_module+0xac - libpython2.4.so.1.0`import_submodule+0xfb - libpython2.4.so.1.0`load_next+0xa2 - libpython2.4.so.1.0`import_module_ex+0x48 - libpython2.4.so.1.0`PyImport_ImportModuleEx+0x1d - libpython2.4.so.1.0`builtin___import__+0x4e - libpython2.4.so.1.0`PyCFunction_Call+0x15f - libpython2.4.so.1.0`PyObject_Call+0x1d - libpython2.4.so.1.0`PyObject_CallFunction+0x90 - libpython2.4.so.1.0`PyImport_Import+0x163 - libpython2.4.so.1.0`PyImport_ImportModule+0x1f - libpython2.4.so.1.0`initsite+0x10 - libpython2.4.so.1.0`Py_InitializeEx+0x1ea - libpython2.4.so.1.0`Py_Initialize+0xd - libpython2.4.so.1.0`Py_Main+0x4db - - value ------------- Distribution ------------- count - 131072 | 0 - 262144 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 524288 | 0 - - - libc.so.1`malloc - libpython2.4.so.1.0`new_arena+0x13 - libpython2.4.so.1.0`PyObject_Malloc+0x91 - libpython2.4.so.1.0`_PyObject_GC_Malloc+0x13 - libpython2.4.so.1.0`_PyObject_GC_NewVar+0x24 - libpython2.4.so.1.0`PyTuple_New+0x78 - libpython2.4.so.1.0`PyType_Ready+0x98 - libpython2.4.so.1.0`PyType_Ready+0x60 - libpython2.4.so.1.0`_Py_ReadyTypes+0x10 - libpython2.4.so.1.0`Py_InitializeEx+0xed - libpython2.4.so.1.0`Py_Initialize+0xd - libpython2.4.so.1.0`Py_Main+0x4db - python`main+0x11 - python`_start+0x7a - - value ------------- Distribution ------------- count - 131072 | 0 - 262144 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 524288 | 0 - - -This output looks a little unusual at first glance, and can be confusing for -people unfamiliar with stack tracing and Python engine internals. - -Start by looking at the distribution plots below each stack trace - each plot -shows how many bytes were requested as a histogram by byte size. This should -indicated to you if python is malloc()ing much memory or not, and whether it -is doing so in a few large malloc()s or many small ones. - -With this information in mind you can inspect the stack traces - these explain -why Python called malloc() in that instance, along with translations of Python -functions buried in the stack trace. The stack traces can be hard to read at -first (or even at second or at third) - since you are examining Python engine -internals. Try looking for lines in square brackets - those are Python language -frames, and will show where (or if) the malloc() was caused by Python code. diff --git a/cddl/contrib/dtracetoolkit/Examples/py_profile_example.txt b/cddl/contrib/dtracetoolkit/Examples/py_profile_example.txt deleted file mode 100644 index 04c06886e4c2..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/py_profile_example.txt +++ /dev/null @@ -1,399 +0,0 @@ -The following are examples of py_profile.d. - -This samples stack traces for the process specified. This stack trace will -cross the Python engine and system libraries, and insert translations for -Python stack frames where appropriate. Here you can see it running on -Code/Python/func_slow.py - -# py_profile.d -c ./func_slow.py -Sampling 10-level stacks at 1001 Hertz... Hit Ctrl-C to end. -Function A -Function B -Function C -Top 25 most frequently sampled stacks, - - - libpython2.4.so.1.0`PyEval_EvalFrame+0x266 - [ ./func_slow.py:3 (func_c) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:16 (func_b) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:24 (func_a) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:26 (?) ] - 11 - - libpython2.4.so.1.0`PyEval_EvalFrame+0x278 - [ ./func_slow.py:3 (func_c) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:16 (func_b) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:24 (func_a) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:26 (?) ] - 11 - - libpython2.4.so.1.0`PyEval_EvalFrame+0x278a - [ ./func_slow.py:10 (func_b) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:24 (func_a) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:26 (?) ] - libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732 - libpython2.4.so.1.0`PyEval_EvalCode+0x22 - libpython2.4.so.1.0`run_node+0x35 - 11 - - libpython2.4.so.1.0`PyEval_EvalFrame+0x205 - [ ./func_slow.py:18 (func_a) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:26 (?) ] - libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732 - libpython2.4.so.1.0`PyEval_EvalCode+0x22 - libpython2.4.so.1.0`run_node+0x35 - libpython2.4.so.1.0`run_err_node+0x1f - libpython2.4.so.1.0`PyRun_FileExFlags+0x5e - libpython2.4.so.1.0`PyRun_SimpleFileExFlags+0x12f - 12 - - libpython2.4.so.1.0`PyEval_EvalFrame+0x1fe - [ ./func_slow.py:10 (func_b) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:24 (func_a) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:26 (?) ] - libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732 - libpython2.4.so.1.0`PyEval_EvalCode+0x22 - libpython2.4.so.1.0`run_node+0x35 - 13 - - libpython2.4.so.1.0`PyEval_EvalFrame+0x35d - [ ./func_slow.py:10 (func_b) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:24 (func_a) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:26 (?) ] - libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732 - libpython2.4.so.1.0`PyEval_EvalCode+0x22 - libpython2.4.so.1.0`run_node+0x35 - 13 - - libpython2.4.so.1.0`PyEval_EvalFrame+0x1f5 - [ ./func_slow.py:10 (func_b) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:24 (func_a) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:26 (?) ] - libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732 - libpython2.4.so.1.0`PyEval_EvalCode+0x22 - libpython2.4.so.1.0`run_node+0x35 - 14 - - libpython2.4.so.1.0`PyEval_EvalFrame+0x149 - [ ./func_slow.py:3 (func_c) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:16 (func_b) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:24 (func_a) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:26 (?) ] - 14 - - libpython2.4.so.1.0`PyEval_EvalFrame+0x5aa - [ ./func_slow.py:3 (func_c) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:16 (func_b) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:24 (func_a) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:26 (?) ] - 14 - - libpython2.4.so.1.0`PyEval_EvalFrame+0x58f - [ ./func_slow.py:3 (func_c) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:16 (func_b) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:24 (func_a) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:26 (?) ] - 15 - - libpython2.4.so.1.0`PyEval_EvalFrame+0x58f - [ ./func_slow.py:10 (func_b) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:24 (func_a) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:26 (?) ] - libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732 - libpython2.4.so.1.0`PyEval_EvalCode+0x22 - libpython2.4.so.1.0`run_node+0x35 - 15 - - libpython2.4.so.1.0`PyEval_EvalFrame+0x254 - [ ./func_slow.py:3 (func_c) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:16 (func_b) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:24 (func_a) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:26 (?) ] - 17 - - libpython2.4.so.1.0`PyEval_EvalFrame+0x286 - [ ./func_slow.py:3 (func_c) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:16 (func_b) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:24 (func_a) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:26 (?) ] - 17 - - libpython2.4.so.1.0`PyEval_EvalFrame+0x2fbf - [ ./func_slow.py:3 (func_c) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:16 (func_b) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:24 (func_a) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:26 (?) ] - 17 - - libpython2.4.so.1.0`PyEval_EvalFrame+0x35d - [ ./func_slow.py:3 (func_c) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:16 (func_b) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:24 (func_a) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:26 (?) ] - 18 - - libc.so.1`ioctl+0x7 - libpython2.4.so.1.0`_init+0x25 - ld.so.1`call_init+0xff - ld.so.1`setup+0xf93 - ld.so.1`_setup+0x310 - ld.so.1`_rt_boot+0x56 - 0x8047e5c - 19 - - libpython2.4.so.1.0`PyEval_EvalFrame+0x5a4 - [ ./func_slow.py:18 (func_a) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:26 (?) ] - libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732 - libpython2.4.so.1.0`PyEval_EvalCode+0x22 - libpython2.4.so.1.0`run_node+0x35 - libpython2.4.so.1.0`run_err_node+0x1f - libpython2.4.so.1.0`PyRun_FileExFlags+0x5e - libpython2.4.so.1.0`PyRun_SimpleFileExFlags+0x12f - 20 - - libpython2.4.so.1.0`PyEval_EvalFrame+0x5ba - [ ./func_slow.py:3 (func_c) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:16 (func_b) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:24 (func_a) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:26 (?) ] - 20 - - libpython2.4.so.1.0`PyEval_EvalFrame+0x583 - [ ./func_slow.py:10 (func_b) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:24 (func_a) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:26 (?) ] - libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732 - libpython2.4.so.1.0`PyEval_EvalCode+0x22 - libpython2.4.so.1.0`run_node+0x35 - 22 - - libpython2.4.so.1.0`PyEval_EvalFrame+0x5a4 - [ ./func_slow.py:10 (func_b) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:24 (func_a) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:26 (?) ] - libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732 - libpython2.4.so.1.0`PyEval_EvalCode+0x22 - libpython2.4.so.1.0`run_node+0x35 - 22 - - libpython2.4.so.1.0`PyEval_EvalFrame+0x278a - [ ./func_slow.py:3 (func_c) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:16 (func_b) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:24 (func_a) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:26 (?) ] - 24 - - libpython2.4.so.1.0`PyEval_EvalFrame+0x205 - [ ./func_slow.py:10 (func_b) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:24 (func_a) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:26 (?) ] - libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732 - libpython2.4.so.1.0`PyEval_EvalCode+0x22 - libpython2.4.so.1.0`run_node+0x35 - 25 - - libpython2.4.so.1.0`PyEval_EvalFrame+0x583 - [ ./func_slow.py:3 (func_c) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:16 (func_b) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:24 (func_a) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:26 (?) ] - 35 - - libpython2.4.so.1.0`PyEval_EvalFrame+0x5a4 - [ ./func_slow.py:3 (func_c) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:16 (func_b) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:24 (func_a) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:26 (?) ] - 47 - - libpython2.4.so.1.0`PyEval_EvalFrame+0x205 - [ ./func_slow.py:3 (func_c) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:16 (func_b) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:24 (func_a) ] - libpython2.4.so.1.0`fast_function+0xa8 - libpython2.4.so.1.0`call_function+0xda - libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - [ ./func_slow.py:26 (?) ] - 50 - - The lines in square brackets are the native Python frames, the rest - are the Python engine. - diff --git a/cddl/contrib/dtracetoolkit/Examples/py_syscalls_example.txt b/cddl/contrib/dtracetoolkit/Examples/py_syscalls_example.txt deleted file mode 100644 index 3aac3d28e882..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/py_syscalls_example.txt +++ /dev/null @@ -1,129 +0,0 @@ -The following are examples of py_syscalls.d. - -This is a simple script to count executed Python functions and system calls. -Here it traces an example program, Code/Pythong/func_abc.py. - -# py_syscalls.d -c ./func_abc.py -Tracing... Hit Ctrl-C to end. -Function A -Function B -Function C - -Calls for PID 145538, - - FILE TYPE NAME COUNT - UserDict.py func ? 1 - UserDict.py func DictMixin 1 - UserDict.py func IterableUserDict 1 - UserDict.py func UserDict 1 - UserDict.py func __init__ 1 - __init__.py func ? 1 - __init__.py func CodecRegistryError 1 - __init__.py func normalize_encoding 1 - __init__.py func search_function 1 - aliases.py func ? 1 - ascii.py func ? 1 - ascii.py func Codec 1 - ascii.py func StreamConverter 1 - ascii.py func StreamReader 1 - ascii.py func StreamWriter 1 - ascii.py func getregentry 1 - codecs.py func ? 1 - codecs.py func Codec 1 - codecs.py func StreamReader 1 - codecs.py func StreamReaderWriter 1 - codecs.py func StreamRecoder 1 - codecs.py func StreamWriter 1 - copy_reg.py func ? 1 - func_abc.py func ? 1 - func_abc.py func func_a 1 - func_abc.py func func_b 1 - func_abc.py func func_c 1 - func_abc.py syscall getrlimit 1 - func_abc.py syscall gtime 1 - func_abc.py syscall memcntl 1 - func_abc.py syscall rexit 1 - func_abc.py syscall sigpending 1 - func_abc.py syscall sysi86 1 - func_abc.py syscall write 1 - func_abc.py syscall xstat 1 - linecache.py func ? 1 - os.py func ? 1 - os.py func _Environ 1 - os.py func __init__ 1 - os.py func _get_exports_list 1 - posixpath.py func ? 1 - posixpath.py func basename 1 - posixpath.py func dirname 1 - site.py func ? 1 - site.py func _Helper 1 - site.py func _Printer 1 - site.py func _init_pathinfo 1 - site.py func abs__file__ 1 - site.py func addsitepackages 1 - site.py func aliasmbcs 1 - site.py func execsitecustomize 1 - site.py func main 1 - site.py func removeduppaths 1 - site.py func setcopyright 1 - site.py func setencoding 1 - site.py func sethelper 1 - site.py func setquit 1 - stat.py func ? 1 - types.py func ? 1 - types.py func _C 1 - warnings.py func ? 1 - warnings.py func _OptionError 1 - warnings.py func _processoptions 1 - func_abc.py syscall fcntl 2 - func_abc.py syscall fsat 2 - func_abc.py syscall getcwd 2 - func_abc.py syscall getpid 2 - func_abc.py syscall mprotect 2 - func_abc.py syscall readlink 2 - func_abc.py syscall resolvepath 2 - func_abc.py syscall setcontext 2 - posixpath.py func exists 2 - posixpath.py func split 2 - site.py func addsitedir 2 - warnings.py func simplefilter 2 - copy_reg.py func constructor 3 - copy_reg.py func pickle 3 - func_abc.py syscall munmap 3 - func_abc.py syscall pollsys 3 - site.py func __init__ 3 - site.py func addpackage 3 - func_abc.py syscall getdents64 4 - func_abc.py syscall open 4 - func_abc.py syscall sysconfig 4 - func_abc.py syscall mmap 5 - func_abc.py syscall lwp_exit 6 - stat.py func S_IFMT 6 - stat.py func S_ISDIR 6 - posixpath.py func isdir 8 - os.py func _exists 10 - func ? 11 - posixpath.py func normcase 14 - site.py func makepath 14 - posixpath.py func join 20 - posixpath.py func abspath 22 - posixpath.py func isabs 22 - posixpath.py func normpath 22 - func_abc.py syscall ioctl 28 - func_abc.py syscall llseek 34 - func_abc.py syscall read 36 - func_abc.py syscall close 41 - func_abc.py syscall sigaction 52 - func_abc.py syscall brk 58 - func_abc.py syscall fstat64 74 - func_abc.py syscall stat64 77 - func_abc.py syscall open64 173 - -While tracing there were numerous system calls made, including 173 open64()'s, -and 77 stat64()'s. There were also many functions called, including 22 each -of abspath, isabs, and normpath by the posixpath.py library. - -This script can provide an insight to how an application is interacting -with the system, by providing both application function calls and -system calls in the same output. - diff --git a/cddl/contrib/dtracetoolkit/Examples/py_syscolors_example.txt b/cddl/contrib/dtracetoolkit/Examples/py_syscolors_example.txt deleted file mode 100644 index 0a6367f9fe6d..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/py_syscolors_example.txt +++ /dev/null @@ -1,584 +0,0 @@ -The following are examples of py_syscolors.d. - -This is a simple script to trace the flow of Python functons and system -calls made, and renders the output in color ("colour") using terminal -escape sequences (which you can tweak by modifying the script). - -Here it traces the example program, Code/Python/func_abc.py. - -WARNING: This output is full of terminal escape sequences, so if you are -trying to view this through an editor or web browser - it may look awful. -Try viewing this using "more" (although, depending on your terminal, it -still may look awful). - -# py_syscolors.d -c ./func_abc.py -C PID DELTA(us) FILE:LINE TYPE -- NAME -0 145544 2 ":- syscall -> munmap -0 145544 34 ":- syscall <- munmap -0 145544 56 ":- syscall -> mmap -0 145544 19 ":- syscall <- mmap -0 145544 42 ":- syscall -> setcontext -0 145544 10 ":- syscall <- setcontext -0 145544 9 ":- syscall -> getrlimit -0 145544 10 ":- syscall <- getrlimit -0 145544 9 ":- syscall -> getpid -0 145544 8 ":- syscall <- getpid -0 145544 68 ":- syscall -> setcontext -0 145544 8 ":- syscall <- setcontext -0 145544 121 ":- syscall -> sigpending -0 145544 9 ":- syscall <- sigpending -0 145544 172 ":- syscall -> open64 -0 145544 114 ":- syscall <- open64 -0 145544 14 ":- syscall -> ioctl -0 145544 28209 ":- syscall <- ioctl -0 145544 285 ":- syscall -> close -0 145544 31 ":- syscall <- close -0 145544 41 ":- syscall -> open64 -0 145544 88 ":- syscall <- open64 -0 145544 9 ":- syscall -> ioctl -0 145544 293 ":- syscall <- ioctl -0 145544 11 ":- syscall -> close -0 145544 13 ":- syscall <- close -0 145544 1182 ":- syscall -> sysi86 -0 145544 12 ":- syscall <- sysi86 -0 145544 143 ":- syscall -> sysconfig -0 145544 53 ":- syscall <- sysconfig -0 145544 95 ":- syscall -> open64 -0 145544 22 ":- syscall <- open64 -0 145544 11 ":- syscall -> fstat64 -0 145544 10 ":- syscall <- fstat64 -0 145544 31 ":- syscall -> ioctl -0 145544 42 ":- syscall <- ioctl -0 145544 24 ":- syscall -> brk -0 145544 10 ":- syscall <- brk -0 145544 8 ":- syscall -> brk -0 145544 17 ":- syscall <- brk -0 145544 30 ":- syscall -> sysconfig -0 145544 8 ":- syscall <- sysconfig -0 145544 32 ":- syscall -> brk -0 145544 7 ":- syscall <- brk -0 145544 8 ":- syscall -> brk - -[... 1400 lines truncated ...] - -0 145544 8 ":- syscall -> fstat64 -0 145544 7 ":- syscall <- fstat64 -0 145544 11 ":- syscall -> read -0 145544 8 ":- syscall <- read -0 145544 29 ":- syscall -> brk -0 145544 8 ":- syscall <- brk -0 145544 8 ":- syscall -> brk -0 145544 10 ":- syscall <- brk -0 145544 393 ":- syscall -> llseek -0 145544 8 ":- syscall <- llseek -0 145544 9 ":- syscall -> close -0 145544 9 ":- syscall <- close -0 145544 14 aliases.py:17 func -> ? -0 145544 57 aliases.py:18 func <- ? -0 145544 20 ":- syscall -> llseek -0 145544 8 ":- syscall <- llseek -0 145544 8 ":- syscall -> close -0 145544 8 ":- syscall <- close -0 145544 15 __init__.py:43 func -> CodecRegistryError -0 145544 12 __init__.py:45 func <- CodecRegistryError -0 145544 26 __init__.py:145 func <- ? -0 145544 18 ":- syscall -> llseek -0 145544 8 ":- syscall <- llseek -0 145544 8 ":- syscall -> close -0 145544 9 ":- syscall <- close -0 145544 13 __init__.py:69 func -> search_function -0 145544 14 __init__.py:47 func -> normalize_encoding -0 145544 18 __init__.py:67 func <- normalize_encoding -0 145544 29 ":- syscall -> stat64 -0 145544 20 ":- syscall <- stat64 -0 145544 10 ":- syscall -> open64 -0 145544 18 ":- syscall <- open64 -0 145544 8 ":- syscall -> open64 -0 145544 17 ":- syscall <- open64 -0 145544 8 ":- syscall -> open64 -0 145544 18 ":- syscall <- open64 -0 145544 9 ":- syscall -> fstat64 -0 145544 8 ":- syscall <- fstat64 -0 145544 8 ":- syscall -> open64 -0 145544 18 ":- syscall <- open64 -0 145544 8 ":- syscall -> fstat64 -0 145544 8 ":- syscall <- fstat64 -0 145544 9 ":- syscall -> fstat64 -0 145544 7 ":- syscall <- fstat64 -0 145544 8 ":- syscall -> ioctl -0 145544 7 ":- syscall <- ioctl -0 145544 8 ":- syscall -> read -0 145544 19 ":- syscall <- read -0 145544 8 ":- syscall -> fstat64 -0 145544 8 ":- syscall <- fstat64 -0 145544 8 ":- syscall -> read -0 145544 8 ":- syscall <- read -0 145544 22 ":- syscall -> llseek -0 145544 8 ":- syscall <- llseek -0 145544 8 ":- syscall -> close -0 145544 9 ":- syscall <- close -0 145544 12 ascii.py:8 func -> ? -0 145544 16 ascii.py:13 func -> Codec -0 145544 12 ascii.py:18 func <- Codec -0 145544 22 ascii.py:20 func -> StreamWriter -0 145544 11 ascii.py:21 func <- StreamWriter -0 145544 20 ascii.py:23 func -> StreamReader -0 145544 11 ascii.py:24 func <- StreamReader -0 145544 32 ascii.py:26 func -> StreamConverter -0 145544 12 ascii.py:29 func <- StreamConverter -0 145544 21 ascii.py:33 func <- ? -0 145544 17 ":- syscall -> llseek -0 145544 8 ":- syscall <- llseek -0 145544 8 ":- syscall -> close -0 145544 8 ":- syscall <- close -0 145544 13 ascii.py:33 func -> getregentry -0 145544 12 ascii.py:35 func <- getregentry -0 145544 34 __init__.py:142 func <- search_function -0 145544 23 ":- syscall -> ioctl -0 145544 42 ":- syscall <- ioctl -0 145544 11 ":- syscall -> ioctl -0 145544 9 ":- syscall <- ioctl -0 145544 12 ":- syscall -> readlink -0 145544 16 ":- syscall <- readlink -0 145544 20 ":- syscall -> resolvepath -0 145544 18 ":- syscall <- resolvepath -0 145544 12 ":- syscall -> getcwd -0 145544 20 ":- syscall <- getcwd -0 145544 27 ":- syscall -> ioctl -0 145544 8 ":- syscall <- ioctl -0 145544 14 ":- syscall -> llseek -0 145544 7 ":- syscall <- llseek -0 145544 8 ":- syscall -> fstat64 -0 145544 8 ":- syscall <- fstat64 -0 145544 8 ":- syscall -> fstat64 -0 145544 7 ":- syscall <- fstat64 -0 145544 8 ":- syscall -> ioctl -0 145544 7 ":- syscall <- ioctl -0 145544 8 ":- syscall -> read -0 145544 19 ":- syscall <- read -0 145544 9 ":- syscall -> llseek -0 145544 7 ":- syscall <- llseek -0 145544 8 ":- syscall -> llseek -0 145544 7 ":- syscall <- llseek -0 145544 12 ":- syscall -> read -0 145544 13 ":- syscall <- read -0 145544 105 ":- syscall -> read -0 145544 9 ":- syscall <- read -0 145544 10 ":- syscall -> llseek -0 145544 7 ":- syscall <- llseek -0 145544 8 ":- syscall -> close -0 145544 9 ":- syscall <- close -0 145544 117 func_abc.py:3 func -> ? -0 145544 20 ":- syscall -> stat64 -0 145544 15 ":- syscall <- stat64 -0 145544 10 ":- syscall -> stat64 -0 145544 13 ":- syscall <- stat64 -0 145544 10 ":- syscall -> open64 -0 145544 15 ":- syscall <- open64 -0 145544 8 ":- syscall -> open64 -0 145544 13 ":- syscall <- open64 -0 145544 8 ":- syscall -> open64 -0 145544 13 ":- syscall <- open64 -0 145544 8 ":- syscall -> open64 -0 145544 13 ":- syscall <- open64 -0 145544 9 ":- syscall -> stat64 -0 145544 13 ":- syscall <- stat64 -0 145544 9 ":- syscall -> open64 -0 145544 13 ":- syscall <- open64 -0 145544 8 ":- syscall -> open64 -0 145544 13 ":- syscall <- open64 -0 145544 8 ":- syscall -> open64 -0 145544 13 ":- syscall <- open64 -0 145544 8 ":- syscall -> open64 -0 145544 13 ":- syscall <- open64 -0 145544 9 ":- syscall -> stat64 -0 145544 15 ":- syscall <- stat64 -0 145544 8 ":- syscall -> open64 -0 145544 15 ":- syscall <- open64 -0 145544 8 ":- syscall -> open64 -0 145544 15 ":- syscall <- open64 -0 145544 8 ":- syscall -> open64 -0 145544 15 ":- syscall <- open64 -0 145544 8 ":- syscall -> open64 -0 145544 15 ":- syscall <- open64 -0 145544 9 ":- syscall -> stat64 -0 145544 17 ":- syscall <- stat64 -0 145544 9 ":- syscall -> open64 -0 145544 17 ":- syscall <- open64 -0 145544 8 ":- syscall -> open64 -0 145544 16 ":- syscall <- open64 -0 145544 8 ":- syscall -> open64 -0 145544 16 ":- syscall <- open64 -0 145544 8 ":- syscall -> open64 -0 145544 16 ":- syscall <- open64 -0 145544 8 ":- syscall -> stat64 -0 145544 17 ":- syscall <- stat64 -0 145544 8 ":- syscall -> open64 -0 145544 17 ":- syscall <- open64 -0 145544 8 ":- syscall -> open64 -0 145544 16 ":- syscall <- open64 -0 145544 8 ":- syscall -> open64 -0 145544 16 ":- syscall <- open64 -0 145544 8 ":- syscall -> open64 -0 145544 16 ":- syscall <- open64 -0 145544 9 ":- syscall -> stat64 -0 145544 17 ":- syscall <- stat64 -0 145544 8 ":- syscall -> open64 -0 145544 19 ":- syscall <- open64 -0 145544 14 ":- syscall -> fstat64 -0 145544 9 ":- syscall <- fstat64 -0 145544 20 ":- syscall -> xstat -0 145544 18 ":- syscall <- xstat -0 145544 8 ":- syscall -> resolvepath -0 145544 19 ":- syscall <- resolvepath -0 145544 10 ":- syscall -> open -0 145544 19 ":- syscall <- open -0 145544 10 ":- syscall -> mmap -0 145544 21 ":- syscall <- mmap -0 145544 33 ":- syscall -> mmap -0 145544 13 ":- syscall <- mmap -0 145544 9 ":- syscall -> mmap -0 145544 16 ":- syscall <- mmap -0 145544 8 ":- syscall -> mmap -0 145544 11 ":- syscall <- mmap -0 145544 34 ":- syscall -> munmap -0 145544 11 ":- syscall <- munmap -0 145544 43 ":- syscall -> memcntl -0 145544 13 ":- syscall <- memcntl -0 145544 8 ":- syscall -> close -0 145544 9 ":- syscall <- close -0 145544 30 ":- syscall -> mprotect -0 145544 13 ":- syscall <- mprotect -0 145544 169 ":- syscall -> mprotect -0 145544 13 ":- syscall <- mprotect -0 145544 2 ":- syscall <- nosys -0 145544 280 ":- syscall -> open -0 145544 90 ":- syscall <- open -0 145544 154 ":- syscall -> lwp_exit -0 145544 0 ":- syscall <- nosys -0 145544 214 ":- syscall -> ioctl -0 145544 301 ":- syscall <- ioctl -0 145544 186 ":- syscall -> lwp_exit -0 145544 0 ":- syscall <- nosys -0 145544 210 ":- syscall -> close -0 145544 18 ":- syscall <- close -0 145544 146 ":- syscall -> lwp_exit -0 145544 1 ":- syscall <- nosys -0 145544 208 ":- syscall -> open -0 145544 73 ":- syscall <- open -0 145544 151 ":- syscall -> lwp_exit -0 145544 0 ":- syscall <- nosys -0 145544 209 ":- syscall -> ioctl -0 145544 45 ":- syscall <- ioctl -0 145544 171 ":- syscall -> lwp_exit -0 145544 1 ":- syscall <- nosys -0 145544 194 ":- syscall -> close -0 145544 17 ":- syscall <- close -0 145544 145 ":- syscall -> lwp_exit -0 145544 0 ":- syscall <- nosys -0 145544 203 ":- syscall -> open -0 145544 63 ":- syscall <- open -0 145544 150 ":- syscall -> lwp_exit -0 145544 0 ":- syscall <- nosys -0 145544 209 ":- syscall -> ioctl -0 145544 280 ":- syscall <- ioctl -0 145544 185 ":- syscall -> lwp_exit -0 145544 0 ":- syscall <- nosys -0 145544 193 ":- syscall -> close -0 145544 17 ":- syscall <- close -0 145544 145 ":- syscall -> lwp_exit -0 145544 1 ":- syscall <- nosys -0 145544 230 ":- syscall -> open -0 145544 82 ":- syscall <- open -0 145544 151 ":- syscall -> lwp_exit -0 145544 0 ":- syscall <- nosys -0 145544 210 ":- syscall -> ioctl -0 145544 45 ":- syscall <- ioctl -0 145544 171 ":- syscall -> lwp_exit -0 145544 1 ":- syscall <- nosys -0 145544 195 ":- syscall -> close -0 145544 18 ":- syscall <- close -0 145544 145 ":- syscall -> lwp_exit -0 145544 1 ":- syscall <- nosys -0 145544 204 ":- syscall -> open -0 145544 64 ":- syscall <- open -0 145544 149 ":- syscall -> lwp_exit -0 145544 0 ":- syscall <- nosys -0 145544 208 ":- syscall -> ioctl -0 145544 283 ":- syscall <- ioctl -0 145544 184 ":- syscall -> lwp_exit -0 145544 1 ":- syscall <- nosys -0 145544 192 ":- syscall -> close -0 145544 17 ":- syscall <- close -0 145544 146 ":- syscall -> lwp_exit -0 145544 0 ":- syscall <- nosys -0 145544 209 ":- syscall -> open -0 145544 72 ":- syscall <- open -0 145544 150 ":- syscall -> lwp_exit -0 145544 0 ":- syscall <- nosys -0 145544 209 ":- syscall -> ioctl -0 145544 45 ":- syscall <- ioctl -0 145544 171 ":- syscall -> lwp_exit -0 145544 1 ":- syscall <- nosys -0 145544 198 ":- syscall -> close -0 145544 17 ":- syscall <- close -0 145544 860 ":- syscall -> lwp_exit -0 145544 1 ":- syscall <- nosys -0 145544 223 ":- syscall -> open -0 145544 83 ":- syscall <- open -0 145544 151 ":- syscall -> lwp_exit -0 145544 0 ":- syscall <- nosys -0 145544 213 ":- syscall -> ioctl -0 145544 281 ":- syscall <- ioctl -0 145544 187 ":- syscall -> lwp_exit -0 145544 0 ":- syscall <- nosys -0 145544 196 ":- syscall -> close -0 145544 19 ":- syscall <- close -0 145544 145 ":- syscall -> lwp_exit -0 145544 1 ":- syscall <- nosys -0 145544 209 ":- syscall -> open -0 145544 69 ":- syscall <- open -0 145544 151 ":- syscall -> lwp_exit -0 145544 1 ":- syscall <- nosys -0 145544 213 ":- syscall -> ioctl -0 145544 47 ":- syscall <- ioctl -0 145544 173 ":- syscall -> lwp_exit -0 145544 1 ":- syscall <- nosys -0 145544 199 ":- syscall -> close -0 145544 18 ":- syscall <- close -0 145544 144 ":- syscall -> lwp_exit -0 145544 1 ":- syscall <- nosys -0 145544 212 ":- syscall -> open -0 145544 67 ":- syscall <- open -0 145544 149 ":- syscall -> lwp_exit -0 145544 0 ":- syscall <- nosys -0 145544 213 ":- syscall -> ioctl -0 145544 282 ":- syscall <- ioctl -0 145544 187 ":- syscall -> lwp_exit -0 145544 0 ":- syscall <- nosys -0 145544 197 ":- syscall -> close -0 145544 59 ":- syscall <- close -0 145544 637 ":- syscall -> lwp_exit -0 145544 1 ":- syscall <- nosys -0 145544 222 ":- syscall -> open -0 145544 80 ":- syscall <- open -0 145544 151 ":- syscall -> lwp_exit -0 145544 0 ":- syscall <- nosys -0 145544 214 ":- syscall -> ioctl -0 145544 47 ":- syscall <- ioctl -0 145544 172 ":- syscall -> lwp_exit -0 145544 1 ":- syscall <- nosys -0 145544 199 ":- syscall -> close -0 145544 19 ":- syscall <- close -0 145544 144 ":- syscall -> lwp_exit -0 145544 0 ":- syscall <- nosys -0 145544 205 ":- syscall -> open -0 145544 62 ":- syscall <- open -0 145544 150 ":- syscall -> lwp_exit -0 145544 0 ":- syscall <- nosys -0 145544 211 ":- syscall -> ioctl -0 145544 304 ":- syscall <- ioctl -0 145544 190 ":- syscall -> lwp_exit -0 145544 1 ":- syscall <- nosys -0 145544 197 ":- syscall -> close -0 145544 17 ":- syscall <- close -0 145544 145 ":- syscall -> lwp_exit -0 145544 1 ":- syscall <- nosys -0 145544 211 ":- syscall -> open -0 145544 70 ":- syscall <- open -0 145544 149 ":- syscall -> lwp_exit -0 145544 0 ":- syscall <- nosys -0 145544 211 ":- syscall -> ioctl -0 145544 46 ":- syscall <- ioctl -0 145544 172 ":- syscall -> lwp_exit -0 145544 2 ":- syscall <- nosys -0 145544 260 ":- syscall -> close -0 145544 26 ":- syscall <- close -0 145544 160 ":- syscall -> lwp_exit -0 145544 1 ":- syscall <- nosys -0 145544 207 ":- syscall -> open -0 145544 79 ":- syscall <- open -0 145544 151 ":- syscall -> lwp_exit -0 145544 0 ":- syscall <- nosys -0 145544 216 ":- syscall -> ioctl -0 145544 274 ":- syscall <- ioctl -0 145544 187 ":- syscall -> lwp_exit -0 145544 0 ":- syscall <- nosys -0 145544 195 ":- syscall -> close -0 145544 17 ":- syscall <- close -0 145544 145 ":- syscall -> lwp_exit -0 145544 1 ":- syscall <- nosys -0 145544 211 ":- syscall -> open -0 145544 70 ":- syscall <- open -0 145544 149 ":- syscall -> lwp_exit -0 145544 0 ":- syscall <- nosys -0 145544 214 ":- syscall -> ioctl -0 145544 48 ":- syscall <- ioctl -0 145544 173 ":- syscall -> lwp_exit -0 145544 1 ":- syscall <- nosys -0 145544 201 ":- syscall -> close -0 145544 17 ":- syscall <- close -0 145544 145 ":- syscall -> lwp_exit -0 145544 1 ":- syscall <- nosys -0 145544 211 ":- syscall -> open -0 145544 65 ":- syscall <- open -0 145544 150 ":- syscall -> lwp_exit -0 145544 0 ":- syscall <- nosys -0 145544 213 ":- syscall -> ioctl -0 145544 324 ":- syscall <- ioctl -0 145544 342 ":- syscall -> lwp_exit -0 145544 1 ":- syscall <- nosys -0 145544 203 ":- syscall -> close -0 145544 19 ":- syscall <- close -0 145544 145 ":- syscall -> lwp_exit -0 145544 1 ":- syscall <- nosys -0 145544 213 ":- syscall -> open -0 145544 76 ":- syscall <- open -0 145544 150 ":- syscall -> lwp_exit -0 145544 0 ":- syscall <- nosys -0 145544 214 ":- syscall -> ioctl -0 145544 48 ":- syscall <- ioctl -0 145544 174 ":- syscall -> lwp_exit -0 145544 0 ":- syscall <- nosys -0 145544 198 ":- syscall -> close -0 145544 18 ":- syscall <- close -0 145544 146 ":- syscall -> lwp_exit -0 145544 1 ":- syscall <- nosys -0 145544 206 ":- syscall -> open -0 145544 63 ":- syscall <- open -0 145544 150 ":- syscall -> lwp_exit -0 145544 0 ":- syscall <- nosys -0 145544 213 ":- syscall -> ioctl -0 145544 272 ":- syscall <- ioctl -0 145544 185 ":- syscall -> lwp_exit -0 145544 0 ":- syscall <- nosys -0 145544 194 ":- syscall -> close -0 145544 17 ":- syscall <- close -0 145544 146 ":- syscall -> lwp_exit -0 145544 1 ":- syscall <- nosys -0 145544 213 ":- syscall -> open -0 145544 70 ":- syscall <- open -0 145544 151 ":- syscall -> lwp_exit -0 145544 0 ":- syscall <- nosys -0 145544 214 ":- syscall -> ioctl -0 145544 47 ":- syscall <- ioctl -0 145544 173 ":- syscall -> lwp_exit -0 145544 1 ":- syscall <- nosys -0 145544 236 ":- syscall -> close -0 145544 23 ":- syscall <- close -0 145544 156 ":- syscall -> lwp_exit -0 145544 0 ":- syscall <- nosys -0 145544 210 ":- syscall -> open -0 145544 76 ":- syscall <- open -0 145544 150 ":- syscall -> lwp_exit -0 145544 0 ":- syscall <- nosys -0 145544 214 ":- syscall -> ioctl -0 145544 276 ":- syscall <- ioctl -0 145544 187 ":- syscall -> lwp_exit -0 145544 1 ":- syscall <- nosys -0 145544 197 ":- syscall -> close -0 145544 17 ":- syscall <- close -0 145544 145 ":- syscall -> lwp_exit -0 145544 1 ":- syscall <- nosys -0 145544 211 ":- syscall -> open -0 145544 71 ":- syscall <- open -0 145544 149 ":- syscall -> lwp_exit -0 145544 0 ":- syscall <- nosys -0 145544 214 ":- syscall -> ioctl -0 145544 47 ":- syscall <- ioctl -0 145544 172 ":- syscall -> lwp_exit -0 145544 1 ":- syscall <- nosys -0 145544 199 ":- syscall -> close -0 145544 19 ":- syscall <- close -0 145544 144 ":- syscall -> lwp_exit -0 145544 0 ":- syscall <- nosys -0 145544 210 ":- syscall -> open -0 145544 64 ":- syscall <- open -0 145544 150 ":- syscall -> lwp_exit -0 145544 0 ":- syscall <- nosys -0 145544 212 ":- syscall -> ioctl -0 145544 297 ":- syscall <- ioctl -0 145544 522 ":- syscall -> lwp_exit -0 145544 1 ":- syscall <- nosys -0 145544 210 ":- syscall -> close -0 145544 21 ":- syscall <- close -0 145544 146 ":- syscall -> lwp_exit -0 145544 1 ":- syscall <- nosys -0 145544 213 ":- syscall -> open -0 145544 79 ":- syscall <- open -0 145544 151 ":- syscall -> lwp_exit -0 145544 0 ":- syscall <- nosys -0 145544 213 ":- syscall -> ioctl -0 145544 47 ":- syscall <- ioctl -0 145544 173 ":- syscall -> lwp_exit -0 145544 1 ":- syscall <- nosys -0 145544 201 ":- syscall -> close -0 145544 19 ":- syscall <- close -0 145544 144 ":- syscall -> lwp_exit -0 145544 91667 ":- syscall -> munmap -0 145544 34 ":- syscall <- munmap -0 145544 65 ":- syscall -> gtime -0 145544 9 ":- syscall <- gtime -0 145544 13 ":- syscall -> open -0 145544 42 ":- syscall <- open -0 145544 10 ":- syscall -> fstat64 -0 145544 9 ":- syscall <- fstat64 -0 145544 8 ":- syscall -> read -0 145544 31 ":- syscall <- read -0 145544 9 ":- syscall -> close -0 145544 11 ":- syscall <- close -0 145544 65 ":- syscall -> llseek -0 145544 9 ":- syscall <- llseek -0 145544 8 ":- syscall -> close -0 145544 9 ":- syscall <- close -0 145544 25 func_abc.py:14 func -> func_a -0 145544 24 ":- syscall -> ioctl -0 145544 9 ":- syscall <- ioctl -0 145544 8 ":- syscall -> fstat64 -0 145544 8 ":- syscall <- fstat64 -0 145544 9 ":- syscall -> fstat64 -0 145544 7 ":- syscall <- fstat64 -0 145544 40 ":- syscall -> pollsys -0 145544 1009424 ":- syscall <- pollsys -0 145544 35 func_abc.py:9 func -> func_b -0 145544 40 ":- syscall -> pollsys -0 145544 1009681 ":- syscall <- pollsys -0 145544 36 func_abc.py:5 func -> func_c -0 145544 41 ":- syscall -> pollsys -Function A -Function B -Function C -0 145544 1000116 ":- syscall <- pollsys -0 145544 34 func_abc.py:7 func <- func_c -0 145544 28 func_abc.py:12 func <- func_b -0 145544 14 func_abc.py:17 func <- func_a -0 145544 14 func_abc.py:19 func <- ? -0 145544 26 ":- syscall -> sigaction -0 145544 15 ":- syscall <- sigaction -0 145544 1150 ":- syscall -> write -0 145544 21 ":- syscall <- write -0 145544 212 ":- syscall -> open64 -0 145544 116 ":- syscall <- open64 -0 145544 11 ":- syscall -> ioctl -0 145544 24 ":- syscall <- ioctl -0 145544 10 ":- syscall -> close -0 145544 16 ":- syscall <- close -0 145544 8 ":- syscall -> open64 -0 145544 32 ":- syscall <- open64 -0 145544 9 ":- syscall -> ioctl -0 145544 169 ":- syscall <- ioctl -0 145544 10 ":- syscall -> close -0 145544 12 ":- syscall <- close -0 145544 62 ":- syscall -> rexit - -Here you can see the output showing the path the script follows as it is -executed. - -0 145544 35 func_abc.py:9 func -> func_b -0 145544 40 ":- syscall -> pollsys -0 145544 1009681 ":- syscall <- pollsys -0 145544 36 func_abc.py:5 func -> func_c - -This excerpt shows line 9 of the script executing. It makes a pollsys syscall -in order to fulfill the request to sleep for one second, returns and then goes -to line 5. Checking the logic flow of the example program, this makes sense. diff --git a/cddl/contrib/dtracetoolkit/Examples/py_who_example.txt b/cddl/contrib/dtracetoolkit/Examples/py_who_example.txt deleted file mode 100644 index 7d1c3f1c27b0..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/py_who_example.txt +++ /dev/null @@ -1,34 +0,0 @@ -These are examples of the results after running the py_who.d script. - -This script shows which UIDs and PIDs are running Python programs with Python -provider support, and how active they are. It lists the name of the program, -along with the number of lines executed per program as recorded by the line -provider. - -Here it runs as the Code/Python/func_abc.py program is executed. - -# py_who.d -Tracing... Hit Ctrl-C to end. -^C - - PID UID FUNCS FILE - 145442 0 1 /usr/lib/python2.4/encodings/aliases.py - 145442 0 1 /usr/lib/python2.4/linecache.py - 145442 0 2 /usr/lib/python2.4/types.py - 145442 0 4 /usr/lib/python2.4/encodings/__init__.py - 145442 0 4 func_abc.py - 145442 0 5 /usr/lib/python2.4/UserDict.py - 145442 0 5 /usr/lib/python2.4/warnings.py - 145442 0 6 /usr/lib/python2.4/codecs.py - 145442 0 6 /usr/lib/python2.4/encodings/ascii.py - 145442 0 7 /usr/lib/python2.4/copy_reg.py - 145442 0 11 - 145442 0 13 /usr/lib/python2.4/stat.py - 145442 0 14 /usr/lib/python2.4/os.py - 145442 0 36 /usr/lib/python2.4/site.py - 145442 0 115 /usr/lib/python2.4/posixpath.py - -You can see that the program itself had four lines executed attributed to it, -and the other lines in the program were associated with their particular -Python library calls. - diff --git a/cddl/contrib/dtracetoolkit/Examples/rb_calldist_example.txt b/cddl/contrib/dtracetoolkit/Examples/rb_calldist_example.txt deleted file mode 100644 index 088497c56286..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/rb_calldist_example.txt +++ /dev/null @@ -1,153 +0,0 @@ -The following is an example of running rb_calldist.d and tracing the elapsed -times for functions. - -We run rb_calldist.d while running the program Code/Ruby/func_abc.rb. We can -see that there are three sections in the DTrace output - -# rb_calldist.d -Tracing... Hit Ctrl-C to end. -^C - -Elapsed times (us), - ., obj-new, NoMemoryError - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - ., obj-new, SystemStackError - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - ., obj-new, ThreadGroup - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - ., obj-new, fatal - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - ., obj-new, Object - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 4 | 0 - 8 | 0 - 16 |@@@@@@@@@@@@@ 1 - 32 | 0 - - -Exclusive function elapsed times (us), - func_abc.rb, func, Module::method_added - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 4 |@@@@@@@@@@@@@ 1 - 8 | 0 - - func_abc.rb, func, Object::print - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 32 |@@@@@@@@@@@@@ 1 - 64 | 0 - - func_abc.rb, func, IO::write - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 64 |@@@@@@@@@@@@@ 1 - 128 | 0 - - func_abc.rb, func, Object::func_a - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - - func_abc.rb, func, Object::func_b - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - - func_abc.rb, func, Object::func_c - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - - func_abc.rb, func, Object::sleep - value ------------- Distribution ------------- count - 262144 | 0 - 524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 1048576 | 0 - - -Inclusive function elapsed times (us), - func_abc.rb, func, Module::method_added - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 4 |@@@@@@@@@@@@@ 1 - 8 | 0 - - func_abc.rb, func, IO::write - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 64 |@@@@@@@@@@@@@ 1 - 128 | 0 - - func_abc.rb, func, Object::print - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 128 |@@@@@@@@@@@@@ 1 - 256 | 0 - - func_abc.rb, func, Object::func_c - value ------------- Distribution ------------- count - 262144 | 0 - 524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1048576 | 0 - - func_abc.rb, func, Object::func_b - value ------------- Distribution ------------- count - 524288 | 0 - 1048576 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2097152 | 0 - - func_abc.rb, func, Object::sleep - value ------------- Distribution ------------- count - 262144 | 0 - 524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 1048576 | 0 - - func_abc.rb, func, Object::func_a - value ------------- Distribution ------------- count - 1048576 | 0 - 2097152 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4194304 | 0 - -The elapsed times show us that the script spent some small amount of time -processing various events that were not functions. In this case they were all -obj-new events, and you can see that the slowest of these was a new Object at -between 16 microseconds and 31 microseconds. - -The exclusive subroutine elapsed times show that each of our user defined -functions took between 256 and 511 microseconds. This time excludes the time -spent in other subroutines. - -The inclusive subroutine elapsed times show that func_c() took between 0.5 -seconds and 1 second, func_b() took between 1 second and 2.1 seconds, and -func_a() took between 2.1 seconds and 4.2 seconds to execute. This time -includes the time spent in other subroutines called, and since func_a() called -func_b() which called func_c(), these times make sense. - diff --git a/cddl/contrib/dtracetoolkit/Examples/rb_calls_example.txt b/cddl/contrib/dtracetoolkit/Examples/rb_calls_example.txt deleted file mode 100644 index acc0d4d4ef7b..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/rb_calls_example.txt +++ /dev/null @@ -1,29 +0,0 @@ -The following are examples of the results of running the rb_calls.d script. - -This script traces activity from all Ruby programs on the system that are -running with Ruby provider support. In this example we see it running while -the Code/Ruby/func_abc.rb script is run. - -# rb_calls.d -Tracing... Hit Ctrl-C to end. -^C - FILE TYPE NAME CALLS - . obj-new NoMemoryError 1 - . obj-new SystemStackError 1 - . obj-new ThreadGroup 1 - . obj-new fatal 1 - func_abc.rb method Object::func_a 1 - func_abc.rb method Object::func_b 1 - func_abc.rb method Object::func_c 1 - . obj-new Object 3 - func_abc.rb method IO::write 3 - func_abc.rb method Module::method_added 3 - func_abc.rb method Object::print 3 - func_abc.rb method Object::sleep 3 - -We can see that the file func_abc.rb called each of the user-defined functions -included in the script; func_a, func_b, and func_c. It also called the print -object and sleep amongst other things. Interspersed in the output are calls -to new objects that are not tied to the program func_abc.rb. They are called -from the Ruby engine for some other reason. - diff --git a/cddl/contrib/dtracetoolkit/Examples/rb_calltime_example.txt b/cddl/contrib/dtracetoolkit/Examples/rb_calltime_example.txt deleted file mode 100644 index 7245fec0e7f8..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/rb_calltime_example.txt +++ /dev/null @@ -1,77 +0,0 @@ -The following is an example of running rb_calltime.d and tracing the elapsed -times for functions. - -We run rb_calltime.d while running the program Code/Ruby/func_abc.rb. We can -see that there are four sections in the DTrace output - -# rb_calltime.d -Tracing... Hit Ctrl-C to end. -^C - -Count, - FILE TYPE NAME COUNT - . obj-new NoMemoryError 1 - . obj-new SystemStackError 1 - . obj-new ThreadGroup 1 - . obj-new fatal 1 - func_abc.rb func Object::func_a 1 - func_abc.rb func Object::func_b 1 - func_abc.rb func Object::func_c 1 - . obj-new Object 3 - func_abc.rb func IO::write 3 - func_abc.rb func Module::method_added 3 - func_abc.rb func Object::print 3 - func_abc.rb func Object::sleep 3 - - total - 15 - -Elapsed times (us), - FILE TYPE NAME TOTAL - . obj-new SystemStackError 3 - . obj-new NoMemoryError 3 - . obj-new fatal 11 - . obj-new ThreadGroup 13 - . obj-new Object 26 - -Exclusive function elapsed times (us), - FILE TYPE NAME TOTAL - func_abc.rb func Module::method_added 9 - func_abc.rb func Object::print 92 - func_abc.rb func IO::write 185 - func_abc.rb func Object::func_c 344 - func_abc.rb func Object::func_a 379 - func_abc.rb func Object::func_b 383 - func_abc.rb func Object::sleep 3020597 - - total - 3021992 - -Inclusive function elapsed times (us), - FILE TYPE NAME TOTAL - func_abc.rb func Module::method_added 9 - func_abc.rb func IO::write 185 - func_abc.rb func Object::print 277 - func_abc.rb func Object::func_c 1009829 - func_abc.rb func Object::func_b 2019781 - func_abc.rb func Object::sleep 3020597 - func_abc.rb func Object::func_a 3021983 - -The first section, Count, shows us how many times each function associated -with func_abc.rb was called. It also shows other functions called by the Ruby -engine. - -The second section, elapsed times, shows how long each action that was not -calling a function took. - -The third section, exclusive function elapsed times, shows us how many -microseconds the program spends in each function. This does not include the -time spent in any sub-functions called by that particular function. The last -line gives us the total time in microseconds. - -The fourth section, inclusive function elapsed times, are the absolute time -from when the function began to when it completed - which includes off-CPU time -due to other system events such as I/O, scheduling, interrupts, etc. In -particular, for this case it has included the time waiting for the sleep -commands. - -Elapsed times are useful for identifying where latencies are. -See Notes/ALLelapsed_notes.txt for more details. Also see -Notes/ALLexclusive_notes.txt and Notes/ALLinclusive_notes.txt for a -detailed explanation of exclusive vs inclusive function time. diff --git a/cddl/contrib/dtracetoolkit/Examples/rb_cpudist_example.txt b/cddl/contrib/dtracetoolkit/Examples/rb_cpudist_example.txt deleted file mode 100644 index 718495e394f0..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/rb_cpudist_example.txt +++ /dev/null @@ -1,199 +0,0 @@ -The following are examples of rb_cpudist.d. - -This script traces the on-CPU time of Ruby functions and prints a report in -the form of a histogram. Here it traces the example program, -Code/Ruby/func_slow.rb - -# rb_cpudist.d -Tracing... Hit Ctrl-C to end. -^C - -On-CPU times (us), - ., obj-new, NoMemoryError - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - ., obj-new, SystemStackError - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - ., obj-new, ThreadGroup - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - ., obj-new, fatal - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - ., obj-new, Object - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 4 | 0 - 8 |@@@@@@@@@@@@@ 1 - 16 | 0 - - -Exclusive function on-CPU times (us), - func_slow.rb, func, Module::method_added - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 2 | 0 - - func_slow.rb, func, Object::print - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 8 |@@@@@@@@@@@@@ 1 - 16 | 0 - - func_slow.rb, func, IO::write - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 64 |@@@@@@@@@@@@@ 1 - 128 | 0 - - func_slow.rb, func, Object::func_a - value ------------- Distribution ------------- count - 131072 | 0 - 262144 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 524288 | 0 - - func_slow.rb, func, Object::func_b - value ------------- Distribution ------------- count - 262144 | 0 - 524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1048576 | 0 - - func_slow.rb, func, Fixnum::< - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 599556 - 2 | 72 - 4 | 35 - 8 | 128 - 16 | 158 - 32 | 49 - 64 | 3 - 128 | 2 - 256 | 0 - - func_slow.rb, func, Object::func_c - value ------------- Distribution ------------- count - 524288 | 0 - 1048576 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2097152 | 0 - - func_slow.rb, func, Fixnum::+ - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1199062 - 2 | 138 - 4 | 74 - 8 | 279 - 16 | 344 - 32 | 91 - 64 | 9 - 128 | 0 - 256 | 3 - 512 | 0 - - -Inclusive function on-CPU times (us), - func_slow.rb, func, Module::method_added - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 2 | 0 - - func_slow.rb, func, IO::write - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 64 |@@@@@@@@@@@@@ 1 - 128 | 0 - - func_slow.rb, func, Object::print - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 64 |@@@@@@@@@@@@@ 1 - 128 | 0 - - func_slow.rb, func, Fixnum::< - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 599556 - 2 | 72 - 4 | 35 - 8 | 128 - 16 | 158 - 32 | 49 - 64 | 3 - 128 | 2 - 256 | 0 - - func_slow.rb, func, Fixnum::+ - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1199062 - 2 | 138 - 4 | 74 - 8 | 279 - 16 | 344 - 32 | 91 - 64 | 9 - 128 | 0 - 256 | 3 - 512 | 0 - - func_slow.rb, func, Object::func_b - value ------------- Distribution ------------- count - 1048576 | 0 - 2097152 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4194304 | 0 - - func_slow.rb, func, Object::func_c - value ------------- Distribution ------------- count - 1048576 | 0 - 2097152 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4194304 | 0 - - func_slow.rb, func, Object::func_a - value ------------- Distribution ------------- count - 2097152 | 0 - 4194304 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8388608 | 0 - -You can see that the results are in three sections. - -The first section shows us the on-CPU time for actions that were not of the -type 'func'. - -The second section, Exclusive function on-CPU times, shows us the time spent -on-CPU by various functions, not including time spent in subroutines. You can -see here that Object::print had two instances of being on-CPU between 4 -microseconds and 7 microseconds, and once instance of being on-CPU between 8 -microseconds and 15 microseconds. - -The third section, Inclusive function on-CPU times, shows us the time spent -on-CPU by various functions, including that time spent in subroutines called -by those functions. You can see that here Object::print had two instances -of being on-CPU between 32 microseconds and 63 microseconds, and one instance -of being on-CPU between 64 microseconds and 127 microseconds. - -It is important to pay close attention to the third column, "count" as this -will indicate if there were any instances in a particular timeframe, even if -the number is too small to show up on the histogram clearly. See Inclusive -function on-CPU time for Fixnum::+ for an example. - diff --git a/cddl/contrib/dtracetoolkit/Examples/rb_cputime_example.txt b/cddl/contrib/dtracetoolkit/Examples/rb_cputime_example.txt deleted file mode 100644 index edfa5aa75da2..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/rb_cputime_example.txt +++ /dev/null @@ -1,81 +0,0 @@ -The following are examples of rb_cputime.d. - -This script traces the on-CPU time of Ruby functions and prints a report. -Here it traces the example program, Code/Ruby/func_slow.rb - -# rb_cputime.d -Tracing... Hit Ctrl-C to end. -^C - -Count, - FILE TYPE NAME COUNT - . obj-new NoMemoryError 1 - . obj-new SystemStackError 1 - . obj-new ThreadGroup 1 - . obj-new fatal 1 - func_slow.rb func Object::func_a 1 - func_slow.rb func Object::func_b 1 - func_slow.rb func Object::func_c 1 - . obj-new Object 3 - func_slow.rb func IO::write 3 - func_slow.rb func Module::method_added 3 - func_slow.rb func Object::print 3 - func_slow.rb func Fixnum::< 600003 - func_slow.rb func Fixnum::+ 1200000 - - total - 1800015 - -Elapsed times (us), - FILE TYPE NAME TOTAL - . obj-new SystemStackError 2 - . obj-new NoMemoryError 2 - . obj-new fatal 11 - . obj-new ThreadGroup 12 - . obj-new Object 19 - -Exclusive function on-CPU times (us), - FILE TYPE NAME TOTAL - func_slow.rb func Module::method_added 4 - func_slow.rb func Object::print 57 - func_slow.rb func IO::write 180 - func_slow.rb func Object::func_a 405946 - func_slow.rb func Fixnum::< 691125 - func_slow.rb func Object::func_b 809970 - func_slow.rb func Object::func_c 1225235 - func_slow.rb func Fixnum::+ 1285200 - - total - 4417721 - -Inclusive function on-CPU times (us), - FILE TYPE NAME TOTAL - func_slow.rb func Module::method_added 4 - func_slow.rb func IO::write 180 - func_slow.rb func Object::print 238 - func_slow.rb func Fixnum::< 691125 - func_slow.rb func Fixnum::+ 1285200 - func_slow.rb func Object::func_c 2212572 - func_slow.rb func Object::func_b 3683688 - func_slow.rb func Object::func_a 4417717 - -You can see the results are printed in four sections. - -The first section reports how many times each subroutine was called, and it's -type. - -The second section reports on the on-CPU time of anything that was not of type -"func", in this case the only elements reported here are of type obj-new. - -The exclusive function on-CPU times shows, amongst other results, that func_a -spent around 0.4 seconds on-CPU. This time excludes time spent in other -subroutines. - -The inclusive function on-CPU times show that func_a spent around 4.4 -seconds on-CPU. This includes the time spent in other subroutines called. - -These on-CPU times are the time the thread spent running on a CPU, from when -the subroutine began to when it completed. This does not include time -spent off-CPU time such as sleeping for I/O or waiting for scheduling. - -On-CPU times are useful for showing who is causing the CPUs to be busy. -See Notes/ALLoncpu_notes.txt for more details. Also see -Notes/ALLexclusive_notes.txt and Notes/ALLinclusive_notes.txt for a -detailed explanation of exclusive vs inclusive subroutine time. - diff --git a/cddl/contrib/dtracetoolkit/Examples/rb_flow_example.txt b/cddl/contrib/dtracetoolkit/Examples/rb_flow_example.txt deleted file mode 100644 index 6cfa54ff0084..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/rb_flow_example.txt +++ /dev/null @@ -1,54 +0,0 @@ -The following are examples of rb_flow.d. - -This is a simple script to trace the flow of Ruby functions. -Here it traces the example program, Code/Ruby/func_abc.rb - -# rb_flow.d - C TIME(us) FILE -- CLASS::METHOD - 0 3066417516583 func_abc.rb -> Module::method_added - 0 3066417516640 func_abc.rb <- Module::method_added - 0 3066417516658 func_abc.rb -> Module::method_added - 0 3066417516668 func_abc.rb <- Module::method_added - 0 3066417516680 func_abc.rb -> Module::method_added - 0 3066417516689 func_abc.rb <- Module::method_added - 0 3066417516701 func_abc.rb -> Object::func_a - 0 3066417516711 func_abc.rb -> Object::print - 0 3066417516730 func_abc.rb -> IO::write - 0 3066417516832 func_abc.rb <- IO::write - 0 3066417516841 func_abc.rb <- Object::print - 0 3066417516849 func_abc.rb -> Object::sleep - 0 3066418520705 func_abc.rb <- Object::sleep - 0 3066418520727 func_abc.rb -> Object::func_b - 0 3066418520744 func_abc.rb -> Object::print - 0 3066418520753 func_abc.rb -> IO::write - 0 3066418520796 func_abc.rb <- IO::write - 0 3066418520805 func_abc.rb <- Object::print - 0 3066418520813 func_abc.rb -> Object::sleep - 0 3066419530803 func_abc.rb <- Object::sleep - 0 3066419530825 func_abc.rb -> Object::func_c - 0 3066419530842 func_abc.rb -> Object::print - 0 3066419530852 func_abc.rb -> IO::write - 0 3066419530893 func_abc.rb <- IO::write - 0 3066419530902 func_abc.rb <- Object::print - 0 3066419530910 func_abc.rb -> Object::sleep - 0 3066420540804 func_abc.rb <- Object::sleep - 0 3066420540822 func_abc.rb <- Object::func_c - 0 3066420540831 func_abc.rb <- Object::func_b - 0 3066420540840 func_abc.rb <- Object::func_a -^C - -The fourth column is indented by 2 spaces to show when a new function begins. -This shows which function is calling which - the output above begins by adding -new methods, then showing that func_a began; did some print IO; slept, and -returned from sleep; and then called func_b. - -The TIME(us) column shows time from boot in microseconds. - -The FILE column shows the file that was being executed. - -If the output looks illogical, check the CPU "C" column - if it changes, -then the output is probably shuffled. See Notes/ALLsnoop_notes.txt for -details and suggested workarounds. - -See Notes/ALLflow_notes.txt for important notes about reading flow outputs. - diff --git a/cddl/contrib/dtracetoolkit/Examples/rb_flowinfo_example.txt b/cddl/contrib/dtracetoolkit/Examples/rb_flowinfo_example.txt deleted file mode 100644 index 14fd851fab4a..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/rb_flowinfo_example.txt +++ /dev/null @@ -1,54 +0,0 @@ -Following are examples of rb_flowinfo.d. - -This is a simple script to trace the flow of Ruby methods. Here it traces the -example program, Code/Ruby/func_abc.rb. - -# rb_flowinfo.d -C PID DELTA(us) FILE:LINE TYPE -- NAME -0 146395 2 func_abc.rb:3 method -> Module::method_added -0 146395 26 func_abc.rb:3 method <- Module::method_added -0 146395 25 func_abc.rb:8 method -> Module::method_added -0 146395 11 func_abc.rb:8 method <- Module::method_added -0 146395 16 func_abc.rb:14 method -> Module::method_added -0 146395 10 func_abc.rb:14 method <- Module::method_added -0 146395 15 func_abc.rb:20 method -> Object::func_a -0 146395 12 func_abc.rb:15 method -> Object::print -0 146395 20 func_abc.rb:15 method -> IO::write -0 146395 110 func_abc.rb:15 method <- IO::write -0 146395 11 func_abc.rb:15 method <- Object::print -0 146395 11 func_abc.rb:16 method -> Object::sleep -0 146395 1003728 func_abc.rb:16 method <- Object::sleep -0 146395 35 func_abc.rb:17 method -> Object::func_b -0 146395 20 func_abc.rb:9 method -> Object::print -0 146395 12 func_abc.rb:9 method -> IO::write -0 146395 42 func_abc.rb:9 method <- IO::write -0 146395 11 func_abc.rb:9 method <- Object::print -0 146395 11 func_abc.rb:10 method -> Object::sleep -0 146395 1009976 func_abc.rb:10 method <- Object::sleep -0 146395 35 func_abc.rb:11 method -> Object::func_c -0 146395 20 func_abc.rb:4 method -> Object::print -0 146395 12 func_abc.rb:4 method -> IO::write -0 146395 38 func_abc.rb:4 method <- IO::write -0 146395 11 func_abc.rb:4 method <- Object::print -0 146395 11 func_abc.rb:5 method -> Object::sleep -0 146395 1009883 func_abc.rb:5 method <- Object::sleep -0 146395 29 func_abc.rb:5 method <- Object::func_c -0 146395 12 func_abc.rb:11 method <- Object::func_b -0 146395 11 func_abc.rb:17 method <- Object::func_a -^C - -As each method is entered, the last column is indented by 2 spaces. This -shows which method is calling which. - -The DELTA(us) column shows the change in time from the previous line to the -current line. - -The LINE column shows the line in the file what was being executed. Refer -to the source program to see what this line refers to. - -If the output looks shuffled, check the CPU "C" column - if it changes, -then the output is probably shuffled. See Notes/ALLsnoop_notes.txt for -details and suggested workarounds. - -See Notes/ALLflow_notes.txt for important notes about reading flow outputs. - diff --git a/cddl/contrib/dtracetoolkit/Examples/rb_flowtime_example.txt b/cddl/contrib/dtracetoolkit/Examples/rb_flowtime_example.txt deleted file mode 100644 index 27102da8ec35..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/rb_flowtime_example.txt +++ /dev/null @@ -1,56 +0,0 @@ -The following are examples of rb_flowtime.d. - -This is a simple script to trace the flow of Ruby methods. -Here it traces the example program, Code/Ruby/func_abc.rb - -# rb_flowtime.d - C TIME(us) FILE DELTA(us) -- CLASS::METHOD - 0 3066547402640 func_abc.rb 2 -> Module::method_added - 0 3066547402662 func_abc.rb 22 <- Module::method_added - 0 3066547402683 func_abc.rb 20 -> Module::method_added - 0 3066547402693 func_abc.rb 9 <- Module::method_added - 0 3066547402707 func_abc.rb 14 -> Module::method_added - 0 3066547402716 func_abc.rb 9 <- Module::method_added - 0 3066547402729 func_abc.rb 12 -> Object::func_a - 0 3066547402740 func_abc.rb 10 -> Object::print - 0 3066547402759 func_abc.rb 18 -> IO::write - 0 3066547402860 func_abc.rb 101 <- IO::write - 0 3066547402871 func_abc.rb 10 <- Object::print - 0 3066547402881 func_abc.rb 10 -> Object::sleep - 0 3066548410630 func_abc.rb 1007749 <- Object::sleep - 0 3066548410660 func_abc.rb 30 -> Object::func_b - 0 3066548410679 func_abc.rb 18 -> Object::print - 0 3066548410689 func_abc.rb 10 -> IO::write - 0 3066548410730 func_abc.rb 40 <- IO::write - 0 3066548410740 func_abc.rb 9 <- Object::print - 0 3066548410749 func_abc.rb 9 -> Object::sleep - 0 3066549420724 func_abc.rb 1009974 <- Object::sleep - 0 3066549420755 func_abc.rb 30 -> Object::func_c - 0 3066549420773 func_abc.rb 18 -> Object::print - 0 3066549420783 func_abc.rb 10 -> IO::write - 0 3066549420825 func_abc.rb 41 <- IO::write - 0 3066549420835 func_abc.rb 9 <- Object::print - 0 3066549420844 func_abc.rb 9 -> Object::sleep - 0 3066550430611 func_abc.rb 1009766 <- Object::sleep - 0 3066550430635 func_abc.rb 24 <- Object::func_c - 0 3066550430645 func_abc.rb 10 <- Object::func_b - 0 3066550430655 func_abc.rb 9 <- Object::func_a -^C - -The fifth column is indented by 2 spaces to show when a new method begins. -This shows which method is calling which. - -The TIME(us) column shows time since boot. - -The DELTA(us) column shows time from that line to the previous line, and -so can be a bit tricky to read. For example, the seventh line of data output -(skipping the header) reads as "the time from func_a beginning to -calling the print method was 10 microseconds". - -The FILE column shows file that was being executed. - -If the output looks shuffled, check the CPU "C" and "TIME" columns, and -post sort based on TIME if necessary. - -See Notes/ALLflow_notes.txt for important notes about reading flow outputs. - diff --git a/cddl/contrib/dtracetoolkit/Examples/rb_funccalls_example.txt b/cddl/contrib/dtracetoolkit/Examples/rb_funccalls_example.txt deleted file mode 100644 index 27c9c0c071e4..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/rb_funccalls_example.txt +++ /dev/null @@ -1,25 +0,0 @@ -This is a list of examples of the usage of rb_funccalls.d. - -It reports method calls from all Ruby programs on the system that are -running with Ruby provider support. - -Here we run it while the program Code/Ruby/func_abc.rb is executing. - -# rb_funccalls.d -Tracing... Hit Ctrl-C to end. -^C - FILE CLASS METHOD CALLS - func_abc.rb Object func_a 1 - func_abc.rb Object func_b 1 - func_abc.rb Object func_c 1 - func_abc.rb IO write 3 - func_abc.rb Module method_added 3 - func_abc.rb Object print 3 - func_abc.rb Object sleep 3 - -We can see that during that one Ruby program, Our 3 user-defined methods, -func_a, func_b and func_c are called once each. Amongst other calls we can -see that a method from class IO - write, was called three times; probably by -the print method. If you look at the example program Code/Ruby/func_abc.rb, -you can see that 'print' is used three times, but IO::write is never directly -called. diff --git a/cddl/contrib/dtracetoolkit/Examples/rb_lines_example.txt b/cddl/contrib/dtracetoolkit/Examples/rb_lines_example.txt deleted file mode 100644 index 544b508f6282..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/rb_lines_example.txt +++ /dev/null @@ -1,30 +0,0 @@ -This simple script uses the line probe to count how many times a line was -executed in a Ruby program. In this example you can see it running on the -Code/Ruby/func_slow.rb program. - -# rb_lines.d -Tracing... Hit Ctrl-C to end. -^C - FILE:LINE COUNT - func_slow.rb:3 1 - func_slow.rb:4 1 - func_slow.rb:5 1 - func_slow.rb:6 1 - func_slow.rb:12 1 - func_slow.rb:13 1 - func_slow.rb:14 1 - func_slow.rb:15 1 - func_slow.rb:19 1 - func_slow.rb:22 1 - func_slow.rb:23 1 - func_slow.rb:24 1 - func_slow.rb:25 1 - func_slow.rb:29 1 - func_slow.rb:32 1 - func_slow.rb:26 100000 - func_slow.rb:27 100000 - func_slow.rb:16 200000 - func_slow.rb:17 200000 - func_slow.rb:7 300000 - func_slow.rb:8 300000 - diff --git a/cddl/contrib/dtracetoolkit/Examples/rb_malloc_example.txt b/cddl/contrib/dtracetoolkit/Examples/rb_malloc_example.txt deleted file mode 100644 index e0917c9af7cc..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/rb_malloc_example.txt +++ /dev/null @@ -1,120 +0,0 @@ -The following is an example of rb_malloc.d. - -WARNING: This script is not 100% accurate; This prints graphical -representations of libc malloc() byte distributions by "recent" Ruby operation, -which we hope will be usually correct. This is an experimental script that may -be improved over time. - -Here we can see it running on Code/Ruby/func_abc.rb - -# rb_malloc.d -c ./func_abc.rb -Tracing... Hit Ctrl-C to end. -Function A -Function B -Function C -Ruby malloc byte distributions by recent Ruby operation, - func_abc.rb, method, Object::print - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@ 1 - 32 | 0 - - func_abc.rb, method, Module::method_added - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 32 | 0 - - ., objnew, fatal - value ------------- Distribution ------------- count - 1 | 0 - 2 |@ 1 - 4 |@ 1 - 8 |@@@ 2 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 22 - 32 |@@@@@@ 5 - 64 | 0 - - func_abc.rb, method, IO::write - value ------------- Distribution ------------- count - 2048 | 0 - 4096 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8192 | 0 - - ., objnew, SystemStackError - value ------------- Distribution ------------- count - 1 | 0 - 2 | 3 - 4 |@@@@ 32 - 8 |@@ 15 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 279 - 32 |@@@ 30 - 64 | 2 - 128 | 0 - - ., objnew, NoMemoryError - value ------------- Distribution ------------- count - 1 | 0 - 2 |@ 3 - 4 |@@@ 17 - 8 |@@@@@@ 37 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@ 146 - 32 |@@ 13 - 64 | 2 - 128 |@@@ 20 - 256 | 0 - 512 | 0 - 1024 | 1 - 2048 | 0 - - ., objnew, ThreadGroup - value ------------- Distribution ------------- count - 1 | 0 - 2 | 8 - 4 |@@@ 224 - 8 |@ 93 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1806 - 32 |@@@@@@@@ 496 - 64 | 3 - 128 | 2 - 256 | 0 - 512 | 1 - 1024 | 0 - - ., objnew, Object - value ------------- Distribution ------------- count - 1 | 0 - 2 | 35 - 4 |@@@ 291 - 8 |@@@ 300 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2679 - 32 |@@ 215 - 64 | 7 - 128 | 0 - - ruby, startup, - - value ------------- Distribution ------------- count - 1 | 0 - 2 |@ 10 - 4 |@@@ 34 - 8 |@@@ 38 - 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 409 - 32 |@@ 30 - 64 | 1 - 128 | 0 - 256 | 0 - 512 | 0 - 1024 | 2 - 2048 | 0 - 4096 | 0 - 8192 | 0 - 16384 | 0 - 32768 | 0 - 65536 | 0 - 131072 | 1 - 262144 | 0 - - diff --git a/cddl/contrib/dtracetoolkit/Examples/rb_objcpu_example.txt b/cddl/contrib/dtracetoolkit/Examples/rb_objcpu_example.txt deleted file mode 100644 index 48e8a78abbcb..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/rb_objcpu_example.txt +++ /dev/null @@ -1,51 +0,0 @@ -The following are examples of running rb_objcpu.d. - -The rb_objnew.d script reports the on-CPU time for new Object creation in Ruby -while the script is tracing. Here we see it running while -Code/Ruby/func_abc.rb is executed. - -# rb_objcpu.d -Tracing... Hit Ctrl-C to end. -^C -Total object creation on-CPU time (ms): 0 - -Object creation on-CPU time distributions (us), - - NoMemoryError - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2 | 0 - - SystemStackError - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2 | 0 - - fatal - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2 | 0 - - ThreadGroup - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 16 | 0 - - Object - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@ 1 - 2 |@@@@@@@@@@@@@ 1 - 4 | 0 - 8 |@@@@@@@@@@@@@ 1 - 16 | 0 - -We can see that there were several different types of Objects created -including three of type 'Object', one of which took 1 microsecond, one of -which took 2 to 3 microseconds, and the last of which took between 8 and 15 -microseconds. - diff --git a/cddl/contrib/dtracetoolkit/Examples/rb_objnew_example.txt b/cddl/contrib/dtracetoolkit/Examples/rb_objnew_example.txt deleted file mode 100644 index 340ac9a8cf11..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/rb_objnew_example.txt +++ /dev/null @@ -1,21 +0,0 @@ -The following are examples of running rb_objnew.d. - -The rb_objnew.d script reports the new Ruby objects created (by filename and -class) while the script is tracing. Here we see it running while -Code/Ruby/func_abc.rb is executed. - -# rb_objnew.d -Tracing... Hit Ctrl-C to end. -^C - FILE CLASS COUNT - . NoMemoryError 1 - . SystemStackError 1 - . ThreadGroup 1 - . fatal 1 - . Object 3 - -Since this is a simple example, not many objects were allocated - a few -for the ruby engine, and three of class Object. No file was associated -with these allocations, as they may have been caused by Ruby engine startup, -and not necessarily lines of code in the example program. - diff --git a/cddl/contrib/dtracetoolkit/Examples/rb_stat_example.txt b/cddl/contrib/dtracetoolkit/Examples/rb_stat_example.txt deleted file mode 100644 index 706bf95b15cc..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/rb_stat_example.txt +++ /dev/null @@ -1,22 +0,0 @@ -The following are examples of running rb_stat.d on Ruby programs. - -rb_stat.d shows you the number of events per second that have happened since -the last line output. The default interval is 1 second, but you can specify -other intervals as arguments to the script. - -This shows the rb_stat.d script reflecting the Code/Ruby/func_slow.rb script. - -# ./rb_stat.d -TIME EXEC/s METHOD/s OBJNEW/s OBJFRE/s RAIS/s RESC/s GC/s -2007 Sep 17 03:59:07 0 0 0 0 0 0 0 -2007 Sep 17 03:59:08 0 210426 7 0 0 0 0 -2007 Sep 17 03:59:09 0 724067 0 0 0 0 0 -2007 Sep 17 03:59:10 0 730877 0 0 0 0 0 -2007 Sep 17 03:59:11 0 134645 0 0 0 0 0 -2007 Sep 17 03:59:12 0 0 0 0 0 0 0 -2007 Sep 17 03:59:13 0 0 0 0 0 0 0 -^C - -We can see that at 2007 Sep 17 03:59:08 there were 0 new Ruby programs -executed, 210426 methods called, 7 objects created, 0 objects freed, 0 raises, -0 rescues and 0 garbage collects. diff --git a/cddl/contrib/dtracetoolkit/Examples/rb_syscalls_example.txt b/cddl/contrib/dtracetoolkit/Examples/rb_syscalls_example.txt deleted file mode 100644 index 869884b313c3..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/rb_syscalls_example.txt +++ /dev/null @@ -1,54 +0,0 @@ -The following are examples of sh_syscalls.d. - -This is a simple script to count Ruby methods and system calls. Here we trace -an example program - Code/Ruby/func_abc.rb - -# rb_syscalls.d -c ./func_abc.rb -Tracing... Hit Ctrl-C to end. -Function A -Function B -Function C - -Calls for PID 146493, - - FILE TYPE NAME COUNT - func_abc.rb method Object::func_a 1 - func_abc.rb method Object::func_b 1 - func_abc.rb method Object::func_c 1 - func_abc.rb syscall getpid 1 - func_abc.rb syscall getrlimit 1 - func_abc.rb syscall getrlimit64 1 - func_abc.rb syscall mmap 1 - func_abc.rb syscall munmap 1 - func_abc.rb syscall rexit 1 - func_abc.rb syscall schedctl 1 - func_abc.rb syscall sigpending 1 - func_abc.rb syscall sysconfig 1 - func_abc.rb syscall sysi86 1 - func_abc.rb syscall write 1 - func_abc.rb syscall llseek 2 - func_abc.rb syscall read 2 - func_abc.rb syscall setcontext 2 - func_abc.rb method IO::write 3 - func_abc.rb method Module::method_added 3 - func_abc.rb method Object::print 3 - func_abc.rb method Object::sleep 3 - func_abc.rb syscall fstat64 3 - func_abc.rb syscall getgid 3 - func_abc.rb syscall getuid 3 - func_abc.rb syscall ioctl 3 - func_abc.rb syscall pollsys 3 - func_abc.rb syscall close 4 - func_abc.rb syscall lwp_sigmask 4 - func_abc.rb syscall open64 4 - func_abc.rb syscall gtime 6 - func_abc.rb syscall sigaction 12 - func_abc.rb syscall brk 56 - -While tracing, three user-defined functions were called - func_a, func_b and -func_c. There were 3 instances of the IO::write method being called. There -were also many system calls made, including 56 brk()'s, and 12 sigaction()'s. - -This script can provide an insight to how a Ruby program is interacting -with the system, by providing methods and system calls in the same output. - diff --git a/cddl/contrib/dtracetoolkit/Examples/rb_syscolors_example.txt b/cddl/contrib/dtracetoolkit/Examples/rb_syscolors_example.txt deleted file mode 100644 index 854016e07e9a..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/rb_syscolors_example.txt +++ /dev/null @@ -1,331 +0,0 @@ -The following are examples of rb_syscolors.d. - -This is a simple script to trace the method flow of Ruby functions within a -program, and the system calls made. It renders the output in color ("colour") -using terminal escape sequences (which you can tweak by modifying the script). - -Here it traces the example program, Code/Ruby/func_abc.rb. - -WARNING: This output is full of terminal escape sequences, so if you are -trying to view this through an editor or web browser - it may look awful. -Try viewing this using "more" (although, depending on your terminal, it -still may look awful). - -# rb_syscolors.d -c ./func_abc.rb -C PID DELTA(us) FILE:LINE TYPE -- NAME -0 146499 2 ":- syscall -> munmap -0 146499 35 ":- syscall <- munmap -0 146499 56 ":- syscall -> mmap -0 146499 18 ":- syscall <- mmap -0 146499 41 ":- syscall -> setcontext -0 146499 10 ":- syscall <- setcontext -0 146499 10 ":- syscall -> getrlimit -0 146499 11 ":- syscall <- getrlimit -0 146499 9 ":- syscall -> getpid -0 146499 8 ":- syscall <- getpid -0 146499 66 ":- syscall -> setcontext -0 146499 8 ":- syscall <- setcontext -0 146499 1125 ":- syscall -> sysi86 -0 146499 12 ":- syscall <- sysi86 -0 146499 86 ":- syscall -> open64 -0 146499 89 ":- syscall <- open64 -0 146499 13 ":- syscall -> ioctl -0 146499 35 ":- syscall <- ioctl -0 146499 15 ":- syscall -> close -0 146499 16 ":- syscall <- close -0 146499 141 ":- syscall -> getrlimit64 -0 146499 10 ":- syscall <- getrlimit64 -0 146499 37 ":- syscall -> brk -0 146499 10 ":- syscall <- brk -0 146499 9 ":- syscall -> brk -0 146499 17 ":- syscall <- brk -0 146499 19 ":- syscall -> brk -0 146499 8 ":- syscall <- brk -0 146499 8 ":- syscall -> brk -0 146499 11 ":- syscall <- brk -0 146499 495 ":- syscall -> brk -0 146499 11 ":- syscall <- brk -0 146499 9 ":- syscall -> brk -0 146499 10 ":- syscall <- brk -0 146499 55 ":- syscall -> sysconfig -0 146499 9 ":- syscall <- sysconfig -0 146499 109 ":- syscall -> brk -0 146499 8 ":- syscall <- brk -0 146499 8 ":- syscall -> brk -0 146499 10 ":- syscall <- brk -0 146499 189 ":- syscall -> brk -0 146499 9 ":- syscall <- brk -0 146499 9 ":- syscall -> brk -0 146499 9 ":- syscall <- brk -0 146499 161 ":- syscall -> brk -0 146499 8 ":- syscall <- brk -0 146499 9 ":- syscall -> brk -0 146499 10 ":- syscall <- brk -0 146499 144 ":- syscall -> brk -0 146499 8 ":- syscall <- brk -0 146499 8 ":- syscall -> brk -0 146499 9 ":- syscall <- brk -0 146499 184 ":- syscall -> brk -0 146499 8 ":- syscall <- brk -0 146499 9 ":- syscall -> brk -0 146499 9 ":- syscall <- brk -0 146499 129 ":- syscall -> brk -0 146499 8 ":- syscall <- brk -0 146499 8 ":- syscall -> brk -0 146499 10 ":- syscall <- brk -0 146499 174 ":- syscall -> brk -0 146499 8 ":- syscall <- brk -0 146499 9 ":- syscall -> brk -0 146499 10 ":- syscall <- brk -0 146499 145 ":- syscall -> brk -0 146499 8 ":- syscall <- brk -0 146499 8 ":- syscall -> brk -0 146499 10 ":- syscall <- brk -0 146499 129 ":- syscall -> brk -0 146499 8 ":- syscall <- brk -0 146499 8 ":- syscall -> brk -0 146499 9 ":- syscall <- brk -0 146499 134 ":- syscall -> brk -0 146499 8 ":- syscall <- brk -0 146499 8 ":- syscall -> brk -0 146499 10 ":- syscall <- brk -0 146499 135 ":- syscall -> brk -0 146499 8 ":- syscall <- brk -0 146499 8 ":- syscall -> brk -0 146499 9 ":- syscall <- brk -0 146499 136 ":- syscall -> brk -0 146499 8 ":- syscall <- brk -0 146499 8 ":- syscall -> brk -0 146499 10 ":- syscall <- brk -0 146499 98 ":- syscall -> brk -0 146499 8 ":- syscall <- brk -0 146499 9 ":- syscall -> brk -0 146499 9 ":- syscall <- brk -0 146499 132 ":- syscall -> brk -0 146499 8 ":- syscall <- brk -0 146499 8 ":- syscall -> brk -0 146499 10 ":- syscall <- brk -0 146499 125 ":- syscall -> brk -0 146499 8 ":- syscall <- brk -0 146499 8 ":- syscall -> brk -0 146499 9 ":- syscall <- brk -0 146499 189 ":- syscall -> brk -0 146499 8 ":- syscall <- brk -0 146499 8 ":- syscall -> brk -0 146499 10 ":- syscall <- brk -0 146499 413 ":- syscall -> brk -0 146499 11 ":- syscall <- brk -0 146499 9 ":- syscall -> brk -0 146499 10 ":- syscall <- brk -0 146499 171 ":- syscall -> brk -0 146499 8 ":- syscall <- brk -0 146499 9 ":- syscall -> brk -0 146499 10 ":- syscall <- brk -0 146499 137 ":- syscall -> brk -0 146499 8 ":- syscall <- brk -0 146499 8 ":- syscall -> brk -0 146499 10 ":- syscall <- brk -0 146499 188 ":- syscall -> brk -0 146499 8 ":- syscall <- brk -0 146499 9 ":- syscall -> brk -0 146499 9 ":- syscall <- brk -0 146499 135 ":- syscall -> sigaction -0 146499 10 ":- syscall <- sigaction -0 146499 10 ":- syscall -> sigaction -0 146499 7 ":- syscall <- sigaction -0 146499 8 ":- syscall -> sigaction -0 146499 7 ":- syscall <- sigaction -0 146499 8 ":- syscall -> sigaction -0 146499 7 ":- syscall <- sigaction -0 146499 8 ":- syscall -> sigaction -0 146499 7 ":- syscall <- sigaction -0 146499 8 ":- syscall -> sigaction -0 146499 8 ":- syscall <- sigaction -0 146499 8 ":- syscall -> sigaction -0 146499 7 ":- syscall <- sigaction -0 146499 9 ":- syscall -> sigaction -0 146499 7 ":- syscall <- sigaction -0 146499 8 ":- syscall -> sigaction -0 146499 7 ":- syscall <- sigaction -0 146499 12 ":- syscall -> sigpending -0 146499 8 ":- syscall <- sigpending -0 146499 15 ":- syscall -> schedctl -0 146499 44 ":- syscall <- schedctl -0 146499 17 ":- syscall -> lwp_sigmask -0 146499 8 ":- syscall <- lwp_sigmask -0 146499 9 ":- syscall -> sigaction -0 146499 8 ":- syscall <- sigaction -0 146499 11 ":- syscall -> lwp_sigmask -0 146499 8 ":- syscall <- lwp_sigmask -0 146499 9 ":- syscall -> lwp_sigmask -0 146499 7 ":- syscall <- lwp_sigmask -0 146499 8 ":- syscall -> sigaction -0 146499 7 ":- syscall <- sigaction -0 146499 8 ":- syscall -> lwp_sigmask -0 146499 7 ":- syscall <- lwp_sigmask -0 146499 65 ":- syscall -> brk -0 146499 8 ":- syscall <- brk -0 146499 8 ":- syscall -> brk -0 146499 11 ":- syscall <- brk -0 146499 149 ":- syscall -> getuid -0 146499 9 ":- syscall <- getuid -0 146499 12 ":- syscall -> getgid -0 146499 8 ":- syscall <- getgid -0 146499 29 ":- syscall -> brk -0 146499 8 ":- syscall <- brk -0 146499 8 ":- syscall -> brk -0 146499 10 ":- syscall <- brk -0 146499 184 ":- syscall -> brk -0 146499 8 ":- syscall <- brk -0 146499 9 ":- syscall -> brk -0 146499 10 ":- syscall <- brk -0 146499 171 ":- syscall -> brk -0 146499 9 ":- syscall <- brk -0 146499 8 ":- syscall -> brk -0 146499 10 ":- syscall <- brk -0 146499 48 ":- syscall -> getuid -0 146499 8 ":- syscall <- getuid -0 146499 9 ":- syscall -> getuid -0 146499 7 ":- syscall <- getuid -0 146499 10 ":- syscall -> getgid -0 146499 7 ":- syscall <- getgid -0 146499 8 ":- syscall -> getgid -0 146499 7 ":- syscall <- getgid -0 146499 79 ":- syscall -> open64 -0 146499 31 ":- syscall <- open64 -0 146499 14 ":- syscall -> llseek -0 146499 9 ":- syscall <- llseek -0 146499 9 ":- syscall -> close -0 146499 12 ":- syscall <- close -0 146499 15 ":- syscall -> open64 -0 146499 13 ":- syscall <- open64 -0 146499 21 ":- syscall -> fstat64 -0 146499 11 ":- syscall <- fstat64 -0 146499 22 ":- syscall -> read -0 146499 36 ":- syscall <- read -0 146499 153 ":- syscall -> read -0 146499 10 ":- syscall <- read -0 146499 11 ":- syscall -> llseek -0 146499 8 ":- syscall <- llseek -0 146499 8 ":- syscall -> close -0 146499 9 ":- syscall <- close -0 146499 23 func_abc.rb:3 line --  -0 146499 64 func_abc.rb:3 method -> Module::method_added -0 146499 24 func_abc.rb:3 method <- Module::method_added -0 146499 20 func_abc.rb:8 line --  -0 146499 15 func_abc.rb:8 method -> Module::method_added -0 146499 13 func_abc.rb:8 method <- Module::method_added -0 146499 13 func_abc.rb:14 line --  -0 146499 14 func_abc.rb:14 method -> Module::method_added -0 146499 13 func_abc.rb:14 method <- Module::method_added -0 146499 12 func_abc.rb:20 line --  -0 146499 13 func_abc.rb:20 method -> Object::func_a -0 146499 12 func_abc.rb:15 line --  -0 146499 10 func_abc.rb:15 method -> Object::print -0 146499 22 func_abc.rb:15 method -> IO::write -0 146499 38 ":- syscall -> ioctl -0 146499 11 ":- syscall <- ioctl -0 146499 20 ":- syscall -> fstat64 -0 146499 9 ":- syscall <- fstat64 -0 146499 9 ":- syscall -> brk -0 146499 8 ":- syscall <- brk -0 146499 8 ":- syscall -> brk -0 146499 11 ":- syscall <- brk -0 146499 25 ":- syscall -> fstat64 -0 146499 8 ":- syscall <- fstat64 -0 146499 10 func_abc.rb:15 method <- IO::write -0 146499 13 func_abc.rb:15 method <- Object::print -0 146499 12 func_abc.rb:16 line --  -0 146499 10 func_abc.rb:16 method -> Object::sleep -0 146499 20 ":- syscall -> gtime -0 146499 9 ":- syscall <- gtime -0 146499 24 ":- syscall -> pollsys -0 146499 1006964 ":- syscall <- pollsys -0 146499 26 ":- syscall -> gtime -0 146499 14 ":- syscall <- gtime -0 146499 18 func_abc.rb:16 method <- Object::sleep -0 146499 27 func_abc.rb:17 line --  -0 146499 21 func_abc.rb:17 method -> Object::func_b -0 146499 19 func_abc.rb:9 line --  -0 146499 12 func_abc.rb:9 method -> Object::print -0 146499 14 func_abc.rb:9 method -> IO::write -0 146499 15 func_abc.rb:9 method <- IO::write -0 146499 12 func_abc.rb:9 method <- Object::print -0 146499 12 func_abc.rb:10 line --  -0 146499 9 func_abc.rb:10 method -> Object::sleep -0 146499 12 ":- syscall -> gtime -0 146499 8 ":- syscall <- gtime -0 146499 11 ":- syscall -> pollsys -0 146499 1009739 ":- syscall <- pollsys -0 146499 26 ":- syscall -> gtime -0 146499 14 ":- syscall <- gtime -0 146499 18 func_abc.rb:10 method <- Object::sleep -0 146499 27 func_abc.rb:11 line --  -0 146499 21 func_abc.rb:11 method -> Object::func_c -0 146499 20 func_abc.rb:4 line --  -0 146499 12 func_abc.rb:4 method -> Object::print -0 146499 14 func_abc.rb:4 method -> IO::write -0 146499 15 func_abc.rb:4 method <- IO::write -0 146499 12 func_abc.rb:4 method <- Object::print -0 146499 12 func_abc.rb:5 line --  -0 146499 9 func_abc.rb:5 method -> Object::sleep -0 146499 12 ":- syscall -> gtime -0 146499 8 ":- syscall <- gtime -0 146499 11 ":- syscall -> pollsys -Function A -Function B -Function C -0 146499 1009762 ":- syscall <- pollsys -0 146499 25 ":- syscall -> gtime -0 146499 14 ":- syscall <- gtime -0 146499 19 func_abc.rb:5 method <- Object::sleep -0 146499 26 func_abc.rb:5 method <- Object::func_c -0 146499 13 func_abc.rb:11 method <- Object::func_b -0 146499 13 func_abc.rb:17 method <- Object::func_a -0 146499 33 ":- syscall -> sigaction -0 146499 10 ":- syscall <- sigaction -0 146499 100 ":- syscall -> open64 -0 146499 107 ":- syscall <- open64 -0 146499 10 ":- syscall -> ioctl -0 146499 10 ":- syscall <- ioctl -0 146499 11 ":- syscall -> close -0 146499 17 ":- syscall <- close -0 146499 28 ":- syscall -> write -0 146499 20 ":- syscall <- write -0 146499 11 ":- syscall -> rexit - -Here you can see the output showing the path the program follows in its -execution. - -ie: -0 146499 10 func_abc.rb:16 method -> Object::sleep -0 146499 20 ":- syscall -> gtime -0 146499 9 ":- syscall <- gtime -0 146499 24 ":- syscall -> pollsys -0 146499 1006964 ":- syscall <- pollsys -0 146499 26 ":- syscall -> gtime -0 146499 14 ":- syscall <- gtime -0 146499 18 func_abc.rb:16 method <- Object::sleep -0 146499 27 func_abc.rb:17 line --  -0 146499 21 func_abc.rb:17 method -> Object::func_b -0 146499 19 func_abc.rb:9 line --  -0 146499 12 func_abc.rb:9 method -> Object::print -0 146499 14 func_abc.rb:9 method -> IO::write -0 146499 15 func_abc.rb:9 method <- IO::write -0 146499 12 func_abc.rb:9 method <- Object::print -0 146499 12 func_abc.rb:10 line --  - -shows that on cpu 0 the program is running a sleep command at line 16 of the -func_abc.rb program (the pollsys and gtime syscalls are used in the Ruby -engine to implement sleep). Then func_b runs, and prints a line -(using Object::print which uses IO::write). Notice that the 'write' syscall -does not happen until later. It is probably being buffered by Ruby - you can -confirm this through further DTracing. Notice also tht you can see the output -of the program: - -Function A -Function B -Function C - -in the file happening before the write syscall is run. DTrace does not do its -output in 'real time'. There is a slight delay due to buffering. diff --git a/cddl/contrib/dtracetoolkit/Examples/rb_who_example.txt b/cddl/contrib/dtracetoolkit/Examples/rb_who_example.txt deleted file mode 100644 index 35c0bb70edef..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/rb_who_example.txt +++ /dev/null @@ -1,20 +0,0 @@ -These are examples of the results after running the rb_who.d script. - -This script shows which UIDs and PIDs are running Ruby programs with Ruby -provider support, and how active they are. It lists the name of the program, -along with the number of lines executed per program as recorded by the line -provider. - -Here it runs as three Ruby programs are executed. Code/Ruby/func_abc.rb runs -twice and Code/Ruby/func_slow.rb once. - -# rb_who.d -Tracing... Hit Ctrl-C to end. -^C - PID UID LINES FILE - 146485 0 12 ./func_abc.rb - 146486 0 12 ./func_abc.rb - 146487 0 1200015 ./func_slow.rb - -You can see that func_abc.rb has twelve lines of executable Ruby code, and -that func_slow.rb has 100,000x that. diff --git a/cddl/contrib/dtracetoolkit/Examples/readbytes_example.txt b/cddl/contrib/dtracetoolkit/Examples/readbytes_example.txt deleted file mode 100644 index fa2923b1b649..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/readbytes_example.txt +++ /dev/null @@ -1,22 +0,0 @@ -The following is a demonstration of the readbytes.d script, - - -Here the readbytes.d script is run for a few seconds, then Ctrl-C is hit, - - # readbytes.d - dtrace: description 'sysinfo:::readch ' matched 4 probes - ^C - - mozilla-bin 16 - gnome-smproxy 64 - metacity 64 - dsdm 64 - wnck-applet 64 - xscreensaver 96 - gnome-terminal 900 - ttymon 5952 - Xorg 17544 - -In this interval the Xorg command has successfully read 17.5 Kb, while -ttymon has read 5952 bytes. - diff --git a/cddl/contrib/dtracetoolkit/Examples/readdist_example.txt b/cddl/contrib/dtracetoolkit/Examples/readdist_example.txt deleted file mode 100644 index 42811d8d36ae..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/readdist_example.txt +++ /dev/null @@ -1,35 +0,0 @@ -The following is an example of the readdist.d script, - - -Here the readdist.d script is run for a few seconds, then Ctrl-C is hit, - - # readdist.d - dtrace: description 'sysinfo:::readch ' matched 4 probes - ^C - [...] - gnome-terminal - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 15 - 64 |@@@ 1 - 128 | 0 - - Xorg - value ------------- Distribution ------------- count - -1 | 0 - 0 |@@@@@@@@@@@@@@@@@@@ 26 - 1 | 0 - 2 | 0 - 4 | 0 - 8 |@@@@ 6 - 16 |@ 2 - 32 |@ 2 - 64 | 0 - 128 |@@@@@@@@ 11 - 256 |@@@ 4 - 512 | 0 - -This allows us to understand the read behaviour of each process. The -Xorg command has executed 26 reads that returned 0 bytes, through -to 4 reads that were at least 256 bytes (up to 511). - diff --git a/cddl/contrib/dtracetoolkit/Examples/rfileio_example.txt b/cddl/contrib/dtracetoolkit/Examples/rfileio_example.txt deleted file mode 100644 index dcce81ee4da7..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/rfileio_example.txt +++ /dev/null @@ -1,94 +0,0 @@ -The following are demonstrations of the rfileio.d script. - - -rfileio.d prints file system statistics by file, - - # ./rfileio.d - - Read IOPS, top 20 (count) - /lib/ld.so.1 logical 2 - /devices/pseudo/clone@0:ptm logical 4 - /usr/bin/grep logical 4 - /devices/pseudo/pts@0:3 logical 4 - /extra1/contents physical 1700 - /extra1/contents logical 11582 - - Read Bandwidth, top 20 (bytes) - /devices/pseudo/pts@0:3 logical 3 - /devices/pseudo/clone@0:ptm logical 92 - /lib/ld.so.1 logical 212 - /usr/bin/grep logical 269 - /extra1/contents physical 48115712 - /extra1/contents logical 94865162 - - Total File System miss-rate: 50% - ^C - - $ ls -l /extra1/contents - -rw-r--r-- 1 root root 94865162 Nov 2 21:08 /extra1/contents - -The /extra1/contents file was read using the grep command. The output shows -that half of the contents was returned from the cache, the other half from disk -(50% miss-rate). It is 94,865,162 bytes in size, which can be seen both in -the ls -l output and the logical read() bytes reported by rfileio.d. There -were 11,582 logical read() calls, which the disk driver satisfied by using -1,700 disk events (aggregation). - - - -The following demonstrates many files being read. - - # ./rfileio.d - - Read IOPS, top 20 (count) - /usr/bin/amd64/glib-mkenums logical 4 - /usr/bin/amd64/glib-genmarshal physical 4 - /usr/bin/amd64/gdk-pixbuf-query-loaders logical 4 - /usr/bin/amd64/ls logical 5 - /usr/bin/amd64/pargs logical 5 - /usr/bin/amd64/ps logical 5 - /usr/bin/amd64/gconf-merge-tree physical 6 - /usr/bin/amd64/cputrack logical 6 - /usr/bin/amd64/gconftool-2 physical 6 - /usr/bin/amd64/prctl logical 6 - /usr/bin/amd64/prstat logical 6 - /usr/bin/amd64/glib-genmarshal logical 7 - /usr/bin/amd64/truss physical 8 - /usr/bin/amd64/sort logical 9 - /usr/bin/amd64/prex logical 10 - /usr/bin/amd64/gconf-merge-tree logical 13 - /usr/bin/amd64/mdb physical 15 - /usr/bin/amd64/gconftool-2 logical 15 - /usr/bin/amd64/truss logical 26 - /usr/bin/amd64/mdb logical 63 - - Read Bandwidth, top 20 (bytes) - /usr/bin/amd64/prctl logical 36784 - /usr/bin/amd64/prctl physical 36864 - /usr/bin/amd64/prstat logical 44760 - /usr/bin/amd64/prstat physical 45056 - /usr/bin/amd64/glib-genmarshal logical 46064 - /usr/bin/amd64/glib-genmarshal physical 46080 - /usr/bin/amd64/cputrack logical 46912 - /usr/bin/amd64/cputrack physical 47104 - /usr/bin/amd64/sort logical 65120 - /usr/bin/amd64/sort physical 65536 - /usr/bin/amd64/prex logical 80968 - /usr/bin/amd64/prex physical 81920 - /usr/bin/amd64/gconf-merge-tree logical 113592 - /usr/bin/amd64/gconf-merge-tree physical 122880 - /usr/bin/amd64/gconftool-2 logical 129208 - /usr/bin/amd64/gconftool-2 physical 139264 - /usr/bin/amd64/truss logical 246360 - /usr/bin/amd64/truss physical 262144 - /usr/bin/amd64/mdb logical 627456 - /usr/bin/amd64/mdb physical 638976 - - Total File System miss-rate: 81% - ^C - -The miss-rate was 81%, meaning we are returning around 20% of the data from -the cache. Details for the top 20 files read by-bytes and by-count are listed; -this shows the /usr/bin/amd64/mdb file was read() 63 times, causing 15 disk -reads, and while 627,456 bytes were requested, 638,976 bytes were read from -disk (the extra bytes are due to read-ahead and file system metadata). diff --git a/cddl/contrib/dtracetoolkit/Examples/rfsio_example.txt b/cddl/contrib/dtracetoolkit/Examples/rfsio_example.txt deleted file mode 100644 index 858ddf840088..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/rfsio_example.txt +++ /dev/null @@ -1,82 +0,0 @@ -The following are demonstrations of the rfsio.d script. - - - -Here we trace file read() activity that has fully missed the cache and -must be read from disk, - - # ./rfsio.d - - Read IOPS (count) - / logical 7 - /extra1 physical 162 - /boot logical 235 - /boot physical 410 - /extra1 logical 9514 - - Read Bandwidth (bytes) - / logical 533 - /boot logical 1502386 - /boot physical 1512960 - /extra1 physical 97153024 - /extra1 logical 97228668 - - Total File System miss-rate: 100% - ^C - -The miss rate of 100% means that all of the file system activity missed -the cache, and had to read from disk. - - - -The following demonstrates file read() activity to the root filesystem -that mostly returned from the file system cache. - - # ./rfsio.d - - Read IOPS (count) - / physical 1 - /extra1 physical 9 - /devices logical 9 - / logical 15 - /extra1 logical 4096 - - Read Bandwidth (bytes) - /devices logical 9 - / logical 949 - / physical 8192 - /extra1 physical 917504 - /extra1 logical 4194304 - - Total File System miss-rate: 22% - ^C - -The total miss-rate was 22%, which is based on the bytes transferred that -missed the cache. - - - - -Now for an unusual demonstration, - - # ./rfsio.d - - Read IOPS (count) - /devices logical 1 - / logical 10 - /extra1 physical 106 - /extra1 logical 6337 - - Read Bandwidth (bytes) - /devices logical 2 - / logical 961 - /extra1 logical 64846450 - /extra1 physical 66151424 - - Total File System miss-rate: 102% - ^C - -Here the miss-rate is 102%, which indicates that more data was read from -disk than was requested; this can occur due to UFS read-ahead, which -assists the performance of sequential disk activity at the small risk of -reading too much data. diff --git a/cddl/contrib/dtracetoolkit/Examples/runocc_example.txt b/cddl/contrib/dtracetoolkit/Examples/runocc_example.txt deleted file mode 100644 index 53dcb5f96671..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/runocc_example.txt +++ /dev/null @@ -1,53 +0,0 @@ -The following are demonstrations of the runocc.d script. - - - -Here we run it on a single CPU server that is fairly busy, - - # ./runocc.d - - CPU %runocc - 0 86 - - CPU %runocc - 0 85 - - CPU %runocc - 0 82 - ^C - -The run queue occupancy is around 85%, meaning most of the time there -are runnable threads queued waiting for CPU. - - - -This script is more interesting on a multi-CPU server, - - # ./runocc.d - - CPU %runocc - 1 16 - 3 27 - 0 38 - 2 75 - - CPU %runocc - 0 25 - 2 41 - 3 42 - 1 50 - - CPU %runocc - 3 1 - 0 17 - 2 26 - 1 27 - - CPU %runocc - 3 2 - 2 5 - 0 24 - 1 25 - ^C - -Here there was some degree of saturation, especially on CPU 2 to start with. diff --git a/cddl/contrib/dtracetoolkit/Examples/rwbbypid_example.txt b/cddl/contrib/dtracetoolkit/Examples/rwbbypid_example.txt deleted file mode 100644 index 9091adfef859..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/rwbbypid_example.txt +++ /dev/null @@ -1,26 +0,0 @@ -The following is a demonstration of the rwbbypid.d script, - - -Here we run it for a few seconds then hit Ctrl-C, - - # rwbbypid.d - Tracing... Hit Ctrl-C to end. - ^C - PID CMD DIR BYTES - 20347 bash R 22 - 11053 dtrace W 32 - 1532 Xorg W 64 - 20317 sshd R 86 - 20347 bash W 87 - 20317 sshd W 137 - 1659 mozilla-bin R 213 - 20334 sshd R 1232 - 20334 sshd W 1282 - 11054 cp W 18652 - 11054 cp R 18652 - 1532 Xorg R 51112 - 1659 mozilla-bin W 51261 - -In the above output, we can see that mozilla-bin with PID 1659 has written -51261 bytes, while Xorg has read 51112 bytes. - diff --git a/cddl/contrib/dtracetoolkit/Examples/rwbypid_example.txt b/cddl/contrib/dtracetoolkit/Examples/rwbypid_example.txt deleted file mode 100644 index 0c8559b45da9..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/rwbypid_example.txt +++ /dev/null @@ -1,19 +0,0 @@ -The following is a demonstration of the rwbypid.d script, - - -Here we run it for a few seconds then hit Ctrl-C, - - # rwbypid.d - Tracing... Hit Ctrl-C to end. - ^C - PID CMD DIR COUNT - 11131 dtrace W 2 - 20334 sshd W 17 - 20334 sshd R 24 - 1532 Xorg W 69 - 1659 mozilla-bin R 852 - 1659 mozilla-bin W 1128 - 1532 Xorg R 1702 - -In the above output, we can see that Xorg with PID 1532 has made 1702 reads. - diff --git a/cddl/contrib/dtracetoolkit/Examples/rwbytype_example.txt b/cddl/contrib/dtracetoolkit/Examples/rwbytype_example.txt deleted file mode 100644 index 118cf1657c64..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/rwbytype_example.txt +++ /dev/null @@ -1,37 +0,0 @@ -The following is an example fo the rwbytype.d script. - - -We run rwbytype.d for a few seconds then hit Ctrl-C, - - # rwbytype.d - Tracing... Hit Ctrl-C to end. - ^C - PID CMD VTYPE DIR BYTES - 1545 sshd chr W 1 - 10357 more chr R 30 - 2357 sshd chr W 31 - 10354 dtrace chr W 32 - 1545 sshd chr R 34 - 6778 bash chr W 44 - 1545 sshd sock R 52 - 405 poold reg W 68 - 1545 sshd sock W 136 - 10357 bash reg R 481 - 10356 find reg R 481 - 10355 bash reg R 481 - 10357 more reg R 1652 - 2357 sshd sock R 1664 - 10357 more chr W 96925 - 10357 more fifo R 97280 - 2357 sshd chr R 98686 - 10356 grep fifo W 117760 - 2357 sshd sock W 118972 - 10356 grep reg R 147645 - -Here we can see that the grep process with PID 10356 read 147645 bytes -from "regular" files. These are I/O bytes at the application level, so -much of these read bytes would have been cached by the filesystem page cache. - -vnode file types are listed in /usr/include/sys/vnode.h, and give an idea of -what the file descriptor refers to. - diff --git a/cddl/contrib/dtracetoolkit/Examples/rwsnoop_example.txt b/cddl/contrib/dtracetoolkit/Examples/rwsnoop_example.txt deleted file mode 100644 index 2ef26ababd94..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/rwsnoop_example.txt +++ /dev/null @@ -1,98 +0,0 @@ -The following is a demonstration of the rwsnoop program, - - -Here we run it for about a second, - - # rwsnoop - UID PID CMD D BYTES FILE - 100 20334 sshd R 52 - 100 20334 sshd W 1 /devices/pseudo/clone@0:ptm - 0 20320 bash W 1 /devices/pseudo/pts@0:12 - 100 20334 sshd R 2 /devices/pseudo/clone@0:ptm - 100 20334 sshd W 52 - 0 2848 ls W 58 /devices/pseudo/pts@0:12 - 0 2848 ls W 68 /devices/pseudo/pts@0:12 - 0 2848 ls W 57 /devices/pseudo/pts@0:12 - 0 2848 ls W 67 /devices/pseudo/pts@0:12 - 0 2848 ls W 48 /devices/pseudo/pts@0:12 - 0 2848 ls W 49 /devices/pseudo/pts@0:12 - 0 2848 ls W 33 /devices/pseudo/pts@0:12 - 0 2848 ls W 41 /devices/pseudo/pts@0:12 - 100 20334 sshd R 429 /devices/pseudo/clone@0:ptm - 100 20334 sshd W 468 - ^C - -The output scrolls rather fast. Above, we can see an ls command was run, -and we can see as ls writes each line. The "" read/writes are -socket activity, which have no corresponding filename. - - -For a summary style output, use the rwtop program. - - - -If a particular program is of interest, the "-n" option can be used -to match on process name. Here we match on "bash" during a login where -the user uses the bash shell as their default, - - # rwsnoop -n bash - UID PID CMD D BYTES FILE - 100 2854 bash R 757 /etc/nsswitch.conf - 100 2854 bash R 0 /etc/nsswitch.conf - 100 2854 bash R 668 /etc/passwd - 100 2854 bash R 980 /etc/profile - 100 2854 bash W 15 /devices/pseudo/pts@0:14 - 100 2854 bash R 10 /export/home/brendan/.bash_profile - 100 2854 bash R 867 /export/home/brendan/.bashrc - 100 2854 bash R 980 /etc/profile - 100 2854 bash W 15 /devices/pseudo/pts@0:14 - 100 2854 bash R 8951 /export/home/brendan/.bash_history - 100 2854 bash R 8951 /export/home/brendan/.bash_history - 100 2854 bash R 1652 /usr/share/lib/terminfo/d/dtterm - 100 2854 bash W 41 /devices/pseudo/pts@0:14 - 100 2854 bash R 1 /devices/pseudo/pts@0:14 - 100 2854 bash W 1 /devices/pseudo/pts@0:14 - 100 2854 bash W 41 /devices/pseudo/pts@0:14 - 100 2854 bash R 1 /devices/pseudo/pts@0:14 - 100 2854 bash W 7 /devices/pseudo/pts@0:14 - -In the above, various bash related files such as ".bash_profile" and -".bash_history" can be seen. The ".bashrc" is also read, as it was sourced -from the .bash_profile. - - - -Extra options with rwsnoop allow us to print zone ID, project ID, timestamps, -etc. Here we use "-v" to see the time printed, and match on "ps" processes, - - # rwsnoop -vn ps - TIMESTR UID PID CMD D BYTES FILE - 2005 Jul 24 04:23:45 0 2804 ps R 168 /proc/2804/auxv - 2005 Jul 24 04:23:45 0 2804 ps R 336 /proc/2804/psinfo - 2005 Jul 24 04:23:45 0 2804 ps R 1495 /etc/ttysrch - 2005 Jul 24 04:23:45 0 2804 ps W 28 /devices/pseudo/pts. - 2005 Jul 24 04:23:45 0 2804 ps R 336 /proc/0/psinfo - 2005 Jul 24 04:23:45 0 2804 ps R 336 /proc/1/psinfo - 2005 Jul 24 04:23:45 0 2804 ps R 336 /proc/2/psinfo - 2005 Jul 24 04:23:45 0 2804 ps R 336 /proc/3/psinfo - 2005 Jul 24 04:23:45 0 2804 ps R 336 /proc/218/psinfo - 2005 Jul 24 04:23:45 0 2804 ps R 336 /proc/7/psinfo - 2005 Jul 24 04:23:45 0 2804 ps R 336 /proc/9/psinfo - 2005 Jul 24 04:23:45 0 2804 ps R 336 /proc/360/psinfo - 2005 Jul 24 04:23:45 0 2804 ps R 336 /proc/91/psinfo - 2005 Jul 24 04:23:45 0 2804 ps R 336 /proc/112/psinfo - 2005 Jul 24 04:23:45 0 2804 ps R 336 /proc/307/psinfo - 2005 Jul 24 04:23:45 0 2804 ps R 336 /proc/226/psinfo - 2005 Jul 24 04:23:45 0 2804 ps R 336 /proc/242/psinfo - 2005 Jul 24 04:23:45 0 2804 ps R 336 /proc/228/psinfo - 2005 Jul 24 04:23:45 0 2804 ps R 336 /proc/243/psinfo - 2005 Jul 24 04:23:45 0 2804 ps R 336 /proc/234/psinfo - 2005 Jul 24 04:23:45 0 2804 ps R 336 /proc/119/psinfo - 2005 Jul 24 04:23:45 0 2804 ps R 336 /proc/143/psinfo - 2005 Jul 24 04:23:45 0 2804 ps R 336 /proc/361/psinfo - 2005 Jul 24 04:23:45 0 2804 ps R 336 /proc/20314/psinfo - 2005 Jul 24 04:23:45 0 2804 ps R 336 /proc/116/psinfo - [...] - - - diff --git a/cddl/contrib/dtracetoolkit/Examples/rwtop_example.txt b/cddl/contrib/dtracetoolkit/Examples/rwtop_example.txt deleted file mode 100644 index 728431243f87..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/rwtop_example.txt +++ /dev/null @@ -1,59 +0,0 @@ -The following is a demonstration of the rwtop program, - - -By default it will refresh the screen every 5 seconds, - - # rwtop - 2005 Jul 24 01:00:43, load: 1.02, app_r: 8 KB, app_w: 19 KB - - UID PID PPID CMD D BYTES - 0 20320 20347 bash R 10 - 0 20320 20347 bash W 95 - 100 20317 20314 sshd R 650 - 100 20317 20314 sshd W 733 - 0 2365 20320 ls W 1300 - 0 2364 20320 vi R 2323 - 0 2365 20320 ls R 2485 - 100 20334 20331 sshd R 3010 - 100 20334 20331 sshd W 3729 - 0 2364 20320 vi W 14128 - -In the above output, we can see that a "vi" process wrote 14 Kbytes and -read 2 Kbytes. - - - -In the following example, we print the top 5 processes in a scrolling -output by using "-C" to not clear the screen, - - # rwtop -C -t5 - Tracing... Please wait. - 2005 Jul 24 01:03:27, load: 1.05, app_r: 261 KB, app_w: 348 KB - - UID PID PPID CMD D BYTES - 0 2381 20320 svcs W 5801 - 0 9 1 svc.configd R 115712 - 0 2380 20320 find W 140003 - 100 20334 20331 sshd R 150740 - 100 20334 20331 sshd W 210773 - - 2005 Jul 24 01:03:32, load: 1.07, app_r: 110 KB, app_w: 233 KB - - UID PID PPID CMD D BYTES - 100 20317 20314 sshd R 419 - 100 20317 20314 sshd W 468 - 0 2382 20320 find W 110720 - 100 20334 20331 sshd R 112835 - 100 20334 20331 sshd W 128175 - - 2005 Jul 24 01:03:37, load: 1.07, app_r: 6 KB, app_w: 7 KB - - UID PID PPID CMD D BYTES - 0 2383 20320 df W 1154 - 0 2385 20320 ls W 1300 - 0 2385 20320 ls R 2485 - 100 20334 20331 sshd R 3929 - 100 20334 20331 sshd W 4339 - - ^C - diff --git a/cddl/contrib/dtracetoolkit/Examples/sampleproc_example.txt b/cddl/contrib/dtracetoolkit/Examples/sampleproc_example.txt deleted file mode 100644 index d60d44644b7e..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/sampleproc_example.txt +++ /dev/null @@ -1,62 +0,0 @@ -The following is an example of the sampleproc program. - - -Here we run sampleproc for a few seconds on a workstation, - - # ./sampleproc - Sampling at 100 hertz... Hit Ctrl-C to end. - ^C - PID CMD COUNT - 1659 mozilla-bin 3 - 109 nscd 4 - 2197 prstat 23 - 2190 setiathome 421 - - PID CMD PERCENT - 1659 mozilla-bin 0 - 109 nscd 0 - 2197 prstat 5 - 2190 setiathome 93 - -The first table shows a count of how many times each process was sampled -on the CPU. The second table gives this as a percentage. - -setiathome was on the CPU 421 times, which is 93% of the samples. - - - - -The following is sampleproc running on a server with 4 CPUs. A bash shell -is running in an infinate loop, - - # ./sampleproc - Sampling at 100 hertz... Hit Ctrl-C to end. - ^C - PID CMD COUNT - 10140 dtrace 1 - 28286 java 1 - 29345 esd 2 - 29731 esd 3 - 2 pageout 4 - 29733 esd 6 - 10098 bash 1015 - 0 sched 3028 - - PID CMD PERCENT - 10140 dtrace 0 - 28286 java 0 - 29345 esd 0 - 29731 esd 0 - 2 pageout 0 - 29733 esd 0 - 10098 bash 24 - 0 sched 74 - -The bash shell was on the CPUs for 24% of the time, which is consistant -with a CPU bound single threaded application on a 4 CPU server. - -The above sample was around 10 seconds long. During this time, there were -around 4000 samples (checking the COUNT column), this is due to -4000 = CPUs (4) * Hertz (100) * Seconds (10). - - diff --git a/cddl/contrib/dtracetoolkit/Examples/sar-c_example.txt b/cddl/contrib/dtracetoolkit/Examples/sar-c_example.txt deleted file mode 100644 index 7669eba5b61f..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/sar-c_example.txt +++ /dev/null @@ -1,55 +0,0 @@ -The following is a demonstration of the sar-c.d script. - - -Here we run both sar-c.d and "sar -c 1 100" at the same time, to compare -outputs. - -The DTrace script, - - # ./sar-c.d - Time scall/s sread/s swrit/s fork/s exec/s rchar/s wchar/s - 2005 Jun 14 02:40:24 1556 82 71 0.00 0.00 10262 10508 - 2005 Jun 14 02:40:25 1553 88 75 0.00 0.00 15095 15341 - 2005 Jun 14 02:40:26 1596 89 76 0.00 0.00 14885 15131 - 2005 Jun 14 02:40:27 5395 290 154 9.00 10.00 185991 77219 - 2005 Jun 14 02:40:28 1755 91 98 1.00 1.00 15421 16788 - 2005 Jun 14 02:40:29 1757 100 91 1.00 1.00 17127 17462 - 2005 Jun 14 02:40:30 1603 95 80 0.00 0.00 16767 16634 - 2005 Jun 14 02:40:31 14380 83 2420 1.00 1.00 14556 126461 - 2005 Jun 14 02:40:32 10573 88 1586 0.00 0.00 14222 87888 - 2005 Jun 14 02:40:33 1645 87 76 0.00 0.00 15320 15608 - 2005 Jun 14 02:40:34 2099 167 130 0.00 0.00 126295 74281 - 2005 Jun 14 02:40:35 1559 79 67 0.00 0.00 11663 11977 - [...] - -The original command, - - $ sar -c 1 100 - - SunOS jupiter 5.10 Generic i86pc 06/14/2005 - - 02:40:23 scall/s sread/s swrit/s fork/s exec/s rchar/s wchar/s - 02:40:24 1549 86 74 0.00 0.00 14799 15040 - 02:40:25 1552 85 73 0.00 0.00 14475 14719 - 02:40:26 5479 300 161 9.00 10.00 186755 77983 - 02:40:27 1725 86 94 0.99 0.99 14819 16172 - 02:40:28 1596 96 82 0.00 0.00 16521 16762 - 02:40:29 1716 93 85 1.00 1.00 16395 16730 - 02:40:30 1579 88 75 0.00 0.00 15324 15192 - 02:40:32 23036 79 3887 0.99 0.99 10113 193520 - 02:40:33 1756 94 83 0.00 0.00 14935 15300 - 02:40:34 2099 165 130 0.00 0.00 125051 73552 - 02:40:35 1560 82 69 0.00 0.00 15976 16287 - [...] - -We can see that both tools are producing similar data. - -The DTrace output lacks the "summary since boot" line, as it is not using -Kstat to fetch this data. - - -The sar-c.d script is not intended itself as a useful program, rather it -is intended as a starting point for other DTrace scripts; a starting point -of familiar statistics to provide the programmer with a "common ground" -of knowledge. - diff --git a/cddl/contrib/dtracetoolkit/Examples/seeksize_example.txt b/cddl/contrib/dtracetoolkit/Examples/seeksize_example.txt deleted file mode 100644 index ba41a87e847e..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/seeksize_example.txt +++ /dev/null @@ -1,197 +0,0 @@ -The following are examples of seeksize.d. - -seeksize.d records disk head seek size for each operation by process. -This allows up to identify processes that are causing "random" disk -access and those causing "sequential" disk access. - -It is desirable for processes to be accesing the disks in large -sequential operations. By using seeksize.d and bitesize.d we can -identify this behaviour. - - - -In this example we read through a large file by copying it to a -remote server. Most of the seek sizes are zero, indicating sequential -access - and we would expect good performance from the disks -under these conditions, - -# ./seeksize.d -Tracing... Hit Ctrl-C to end. -^C - - 22349 scp /dl/sol-10-b63-x86-v1.iso mars:\0 - - value ------------- Distribution ------------- count - -1 | 0 - 0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 726 - 1 | 0 - 2 | 0 - 4 | 0 - 8 |@ 13 - 16 | 4 - 32 | 0 - 64 | 0 - 128 | 2 - 256 | 3 - 512 | 4 - 1024 | 4 - 2048 | 3 - 4096 | 0 - 8192 | 3 - 16384 | 0 - 32768 | 1 - 65536 | 0 - - - -In this example we run find. The disk operations are fairly scattered, -as illustrated below by the volume of non sequential reads, - -# ./seeksize.d -Tracing... Hit Ctrl-C to end. -^C - - 22399 find /var/sadm/pkg/\0 - - value ------------- Distribution ------------- count - -1 | 0 - 0 |@@@@@@@@@@@@@ 1475 - 1 | 0 - 2 | 44 - 4 |@ 77 - 8 |@@@ 286 - 16 |@@ 191 - 32 |@ 154 - 64 |@@ 173 - 128 |@@ 179 - 256 |@@ 201 - 512 |@@ 186 - 1024 |@@ 236 - 2048 |@@ 201 - 4096 |@@ 274 - 8192 |@@ 243 - 16384 |@ 154 - 32768 |@ 113 - 65536 |@@ 182 - 131072 |@ 81 - 262144 | 0 - - - - -I found the following interesting. This time I gzipp'd the large file. -While zipping, the process is reading from one location and writing -to another. One might expect that as the program toggles between -reading from one location and writing to another, that often the -distance would be the same (depending on where UFS puts the new file), - -# ./seeksize.d -Tracing... Hit Ctrl-C to end. -^C - - 22368 gzip sol-10-b63-x86-v1.iso\0 - - value ------------- Distribution ------------- count - -1 | 0 - 0 |@@@@@@@@@@@@ 353 - 1 | 0 - 2 | 0 - 4 | 0 - 8 | 7 - 16 | 4 - 32 | 2 - 64 | 4 - 128 | 14 - 256 | 3 - 512 | 3 - 1024 | 5 - 2048 | 1 - 4096 | 0 - 8192 | 3 - 16384 | 1 - 32768 | 1 - 65536 | 1 - 131072 | 1 - 262144 |@@@@@@@@ 249 - 524288 | 1 - 1048576 | 2 - 2097152 | 1 - 4194304 | 2 - 8388608 |@@@@@@@@@@@@@@@@@@ 536 - 16777216 | 0 - - - - -The following example compares the operation of "find" with "tar". -Both are reading from the same location, and we would expect that -both programs would generally need to do the same number of seeks -to navigate the direttory tree (depending on caching); and tar -causing extra operations as it reads the file contents as well, - -# ./seeksize.d -Tracing... Hit Ctrl-C to end. -^C - - PID CMD - 22278 find /etc\0 - - value ------------- Distribution ------------- count - -1 | 0 - 0 |@@@@@@@@@@@@@@@@@@@@ 251 - 1 | 0 - 2 |@ 8 - 4 | 5 - 8 |@ 10 - 16 |@ 10 - 32 |@ 10 - 64 |@ 9 - 128 |@ 11 - 256 |@ 14 - 512 |@@ 20 - 1024 |@ 10 - 2048 | 6 - 4096 |@ 7 - 8192 |@ 10 - 16384 |@ 16 - 32768 |@@ 21 - 65536 |@@ 28 - 131072 |@ 7 - 262144 |@ 14 - 524288 | 6 - 1048576 |@ 15 - 2097152 |@ 7 - 4194304 | 0 - - - 22282 tar cf /dev/null /etc\0 - - value ------------- Distribution ------------- count - -1 | 0 - 0 |@@@@@@@@@@ 397 - 1 | 0 - 2 | 8 - 4 | 14 - 8 | 16 - 16 |@ 24 - 32 |@ 29 - 64 |@@ 99 - 128 |@@ 73 - 256 |@@ 78 - 512 |@@@ 109 - 1024 |@@ 62 - 2048 |@@ 69 - 4096 |@@ 73 - 8192 |@@@ 113 - 16384 |@@ 81 - 32768 |@@@ 111 - 65536 |@@@ 108 - 131072 |@ 49 - 262144 |@ 33 - 524288 | 20 - 1048576 | 13 - 2097152 | 7 - 4194304 | 5 - 8388608 |@ 30 - 16777216 | 0 - diff --git a/cddl/contrib/dtracetoolkit/Examples/setuids_example.txt b/cddl/contrib/dtracetoolkit/Examples/setuids_example.txt deleted file mode 100644 index be197bf4b566..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/setuids_example.txt +++ /dev/null @@ -1,28 +0,0 @@ -The following is an example of setuids.d. Login events in particular can -be seen, along with use of the "su" command. - - # ./setuids.d - UID SUID PPID PID PCMD CMD - 0 100 3037 3040 in.telnetd login -p -h mars -d /dev/pts/12 - 100 0 3040 3045 bash su - - 0 102 3045 3051 sh su - fred - 0 100 3055 3059 sshd /usr/lib/ssh/sshd - 0 100 3065 3067 in.rlogind login -d /dev/pts/12 -r mars - 0 100 3071 3073 in.rlogind login -d /dev/pts/12 -r mars - 0 102 3078 3081 in.telnetd login -p -h mars -d /dev/pts/12 - ^C - -The first line is a telnet login to the user brendan, UID 100. The parent -command is "in.telnetd", the telnet daemon spawned by inetd, and the -command that in.telnetd runs is "login". - -The second line shows UID 100 using the "su" command to become root. - -The third line has the root user using "su" to become fred, UID 102. - -The fourth line is an example of an ssh login. - -The fifth and sixth lines are examples of rsh and rlogin. - -The last line is another example of a telnet login for fred, UID 102. - diff --git a/cddl/contrib/dtracetoolkit/Examples/sh_calldist_example.txt b/cddl/contrib/dtracetoolkit/Examples/sh_calldist_example.txt deleted file mode 100644 index 6c6a01faedb5..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/sh_calldist_example.txt +++ /dev/null @@ -1,309 +0,0 @@ -The following are examples of sh_calldist.d. - -This script traces the elapsed time of Bourne shell functions and -prints a report containing distribution plots per function. Here it -traces the example program, Code/Shell/func_abc.sh. - - # sh_calldist.d - Tracing... Hit Ctrl-C to end. - ^C - - Elapsed times (us), - - func_abc.sh, builtin, echo - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@ 1 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 64 | 0 - - func_abc.sh, cmd, sleep - value ------------- Distribution ------------- count - 262144 | 0 - 524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 1048576 | 0 - - Exclusive function elapsed times (us), - - func_abc.sh, func, func_a - value ------------- Distribution ------------- count - 1024 | 0 - 2048 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4096 | 0 - - func_abc.sh, func, func_b - value ------------- Distribution ------------- count - 1024 | 0 - 2048 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4096 | 0 - - func_abc.sh, func, func_c - value ------------- Distribution ------------- count - 1024 | 0 - 2048 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4096 | 0 - - Inclusive function elapsed times (us), - - func_abc.sh, func, func_c - value ------------- Distribution ------------- count - 262144 | 0 - 524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1048576 | 0 - - func_abc.sh, func, func_b - value ------------- Distribution ------------- count - 524288 | 0 - 1048576 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2097152 | 0 - - func_abc.sh, func, func_a - value ------------- Distribution ------------- count - 1048576 | 0 - 2097152 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4194304 | 0 - -The elapsed times show that the echo builtin takes between 16 and 64 us -to execute. - -The exclusive function elapsed times show that each function spent -between 2 and 4 ms. This exclusive time excludes the time spent in -other functions. - -The inclusive function elapsed times show that func_c() took between 0.5 and -1.0 seconds, func_b() took between 1.0 and 2.1 seconds, and func_a() took -between 2.1 and 4.2 seconds to execute. This inclusive time includes the -time spent in other functions and commands called, and since func_a() -calls func_b() which calls func_c(), and, each function is calling "sleep 1", -these times make sense. - -These elapsed times are the absolute time from when the function began to -when it completed - which includes off-CPU time due to other system events -such as I/O, scheduling, interrupts, etc. - -Elapsed times are useful for identifying where latencies are. -See Notes/ALLelapsed_notes.txt for more details. Also see -Notes/ALLexclusive_notes.txt and Notes/ALLinclusive_notes.txt for a -detailed explanation of exclusive vs inclusive function time. - - - -The following traces the firefox startup script. - -# sh_calldist.d -Tracing... Hit Ctrl-C to end. -^C - -Elapsed times (us), - - run-mozilla.sh, builtin, return - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2 | 0 - - run-mozilla.sh, builtin, shift - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2 | 0 - - run-mozilla.sh, builtin, break - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - firefox, builtin, break - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8 | 0 - - run-mozilla.sh, builtin, export - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@ 1 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 4 | 0 - - firefox, builtin, export - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 4 |@@@@@@@@@@@@@ 1 - 8 | 0 - - firefox, builtin, : - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 5 - 2 | 0 - 4 |@@@@@@@ 1 - 8 | 0 - - firefox, builtin, pwd - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - firefox, builtin, test - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - firefox, builtin, cd - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@ 1 - 16 |@@@@@@@@@@@@@ 1 - 32 |@@@@@@@@@@@@@ 1 - 64 | 0 - - firefox, builtin, [ - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@ 3 - 2 |@@ 1 - 4 |@@ 1 - 8 |@@@@@@@ 3 - 16 |@@@@@@@@@@@ 5 - 32 |@@@@@@@ 3 - 64 |@@@@ 2 - 128 | 0 - - run-mozilla.sh, builtin, type - value ------------- Distribution ------------- count - 256 | 0 - 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1024 | 0 - - run-mozilla.sh, builtin, [ - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@ 4 - 2 |@@@@@@@@@@ 5 - 4 |@@@@ 2 - 8 |@@@@@@ 3 - 16 |@@@@@@@@@@ 5 - 32 | 0 - 64 | 0 - 128 | 0 - 256 | 0 - 512 | 0 - 1024 | 0 - 2048 |@@ 1 - 4096 | 0 - - firefox, builtin, echo - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@ 1 - 256 | 0 - 512 | 0 - 1024 | 0 - 2048 |@@@@@@@@@@@@@@@@@@@@ 1 - 4096 | 0 - - firefox, cmd, /usr/lib/firefox/run-mozilla.sh - value ------------- Distribution ------------- count - 2097152 | 0 - 4194304 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8388608 | 0 - - run-mozilla.sh, cmd, /usr/lib/firefox/firefox-bin - value ------------- Distribution ------------- count - 2097152 | 0 - 4194304 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8388608 | 0 - -Exclusive function elapsed times (us), - - run-mozilla.sh, func, moz_test_binary - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 64 | 0 - - firefox, func, moz_spc_verbose_echo - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@ 2 - 8 |@@@@@@@@@@@@@ 2 - 16 |@@@@@@@@@@@@@ 2 - 32 | 0 - - firefox, func, moz_pis_startstop_scripts - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - 1024 | 0 - 2048 | 0 - 4096 | 0 - 8192 | 0 - 16384 | 0 - 32768 |@@@@@@@@@@@@@@@@@@@@ 1 - 65536 | 0 - - run-mozilla.sh, func, moz_run_program - value ------------- Distribution ------------- count - 65536 | 0 - 131072 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 262144 | 0 - -Inclusive function elapsed times (us), - - firefox, func, moz_spc_verbose_echo - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 4 - 16 |@@@@@@@@@@@@@ 2 - 32 | 0 - - run-mozilla.sh, func, moz_test_binary - value ------------- Distribution ------------- count - 32 | 0 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - firefox, func, moz_pis_startstop_scripts - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - 1024 | 0 - 2048 | 0 - 4096 | 0 - 8192 | 0 - 16384 | 0 - 32768 |@@@@@@@@@@@@@@@@@@@@ 1 - 65536 | 0 - - run-mozilla.sh, func, moz_run_program - value ------------- Distribution ------------- count - 2097152 | 0 - 4194304 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 8388608 | 0 - - -As an example of interpreting the output: the inclusive elapsed time for -the "[" (test) builtin, - - firefox, builtin, [ - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@ 3 - 2 |@@ 1 - 4 |@@ 1 - 8 |@@@@@@@ 3 - 16 |@@@@@@@@@@@ 5 - 32 |@@@@@@@ 3 - 64 |@@@@ 2 - 128 | 0 - -shows that it was called 17 times (after adding up the counts), 5 of which -took between 16 and 31 microseconds. - diff --git a/cddl/contrib/dtracetoolkit/Examples/sh_calls_example.txt b/cddl/contrib/dtracetoolkit/Examples/sh_calls_example.txt deleted file mode 100644 index 064cf977936f..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/sh_calls_example.txt +++ /dev/null @@ -1,60 +0,0 @@ -The following are examples of sh_calls.d. - -This is a simple script to count Bourne shell calls. Here it traces an -example program, Code/Perl/func_abc.sh. - - # sh_calls.d - Tracing... Hit Ctrl-C to end. - ^C - FILE TYPE NAME COUNT - func_abc.sh func func_a 1 - func_abc.sh func func_b 1 - func_abc.sh func func_c 1 - func_abc.sh builtin echo 3 - func_abc.sh cmd sleep 3 - -While tracing, function func_a() from the program "func_abc.sh" was executed -once, along with func_b() and func_c(). The "echo" builtin was called 3 -times, as was the "sleep" command. - - -The following traced the firefox start script, - - # sh_calls.d - Tracing... Hit Ctrl-C to end. - ^C - FILE TYPE NAME COUNT - firefox builtin . 1 - firefox builtin break 1 - firefox builtin exit 1 - firefox builtin pwd 1 - firefox builtin test 1 - firefox cmd /usr/lib/firefox/run-mozilla.sh 1 - run-mozilla.sh builtin break 1 - run-mozilla.sh builtin exit 1 - run-mozilla.sh builtin return 1 - run-mozilla.sh builtin shift 1 - run-mozilla.sh builtin type 1 - run-mozilla.sh cmd /usr/lib/firefox/firefox-bin 1 - run-mozilla.sh func moz_run_program 1 - run-mozilla.sh func moz_test_binary 1 - firefox builtin echo 2 - firefox func moz_pis_startstop_scripts 2 - firefox builtin cd 3 - firefox builtin export 3 - run-mozilla.sh builtin export 3 - firefox builtin : 6 - firefox func moz_spc_verbose_echo 6 - run-mozilla.sh subsh - 9 - firefox builtin [ 18 - firefox subsh - 20 - run-mozilla.sh builtin [ 20 - -The firefox start script called run-mozilla.sh, which can be seen both -as a "cmd" call in the above output from the "firefox" script, and as -additionall calls from the "run-mozilla.sh" script. - -The builtin called "[" is the test builtin, and was called 20 times by -"run-mozilla.sh" and 18 times by "firefox". The "firefox" script also called -20 subshells. - diff --git a/cddl/contrib/dtracetoolkit/Examples/sh_calltime_example.txt b/cddl/contrib/dtracetoolkit/Examples/sh_calltime_example.txt deleted file mode 100644 index 5c39ae404f0d..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/sh_calltime_example.txt +++ /dev/null @@ -1,144 +0,0 @@ -The following are examples of sh_calltime.d. - -This script traces the elapsed time of Bourne shell functions and -prints a report. Here it traces the example program, Code/Shell/func_abc.sh. - - # sh_calltime.d - Tracing... Hit Ctrl-C to end. - ^C - - Counts, - FILE TYPE NAME COUNT - func_abc.sh func func_a 1 - func_abc.sh func func_b 1 - func_abc.sh func func_c 1 - func_abc.sh builtin echo 3 - func_abc.sh cmd sleep 3 - - total - 9 - - Elapsed times (us), - FILE TYPE NAME TOTAL - func_abc.sh builtin echo 108 - func_abc.sh cmd sleep 3023760 - - total - 3023868 - - Exclusive function elapsed times (us), - FILE TYPE NAME TOTAL - func_abc.sh func func_b 2629 - func_abc.sh func func_c 2822 - func_abc.sh func func_a 3249 - - total - 8702 - - Inclusive function elapsed times (us), - FILE TYPE NAME TOTAL - func_abc.sh func func_c 1009659 - func_abc.sh func func_b 2020077 - func_abc.sh func func_a 3032571 - -In total, three functions were called, one builtin and one command. - -The elapsed times show that 3.0 seconds was spent in the sleep command, -which is what would be expected based on the script. - -The exclusive function elapsed times show that each function spent around -2.7 milliseconds of time processing code - while not in other functions. - -The inclusive function elapsed times show that func_a() took around 3.0 -seconds to execute, followed by func_b() at 2.0 seconds, and func_c() at 1.0. -The inclusive time includes the time spent in other calls, and since -func_a() called func_b() which called func_c(), and they all call "sleep 1", -these times make sense. - -These elapsed times are the absolute time from when the function began to -when it completed - which includes off-CPU time due to other system events -such as I/O, scheduling, interrupts, etc. In particular, for this case it has -included the time waiting for the sleep commands. - -Elapsed times are useful for identifying where latencies are. -See Notes/ALLelapsed_notes.txt for more details. Also see -Notes/ALLexclusive_notes.txt and Notes/ALLinclusive_notes.txt for a -detailed explanation of exclusive vs inclusive function time. - -If you study the func_abc.sh program alongside the above output, the numbers -should make sense. - - - -The following traces the firefox start script. - -# sh_calltime.d -Tracing... Hit Ctrl-C to end. -^C - -Counts, - FILE TYPE NAME COUNT - firefox builtin break 1 - firefox builtin pwd 1 - firefox builtin test 1 - firefox cmd /usr/lib/firefox/run-mozilla.sh 1 - run-mozilla.sh builtin break 1 - run-mozilla.sh builtin return 1 - run-mozilla.sh builtin shift 1 - run-mozilla.sh builtin type 1 - run-mozilla.sh cmd /usr/lib/firefox/firefox-bin 1 - run-mozilla.sh func moz_run_program 1 - run-mozilla.sh func moz_test_binary 1 - firefox builtin echo 2 - firefox func moz_pis_startstop_scripts 2 - firefox builtin cd 3 - firefox builtin export 3 - run-mozilla.sh builtin export 3 - firefox builtin : 6 - firefox func moz_spc_verbose_echo 6 - firefox builtin [ 18 - run-mozilla.sh builtin [ 20 - - total - 103 - -Elapsed times (us), - FILE TYPE NAME TOTAL - run-mozilla.sh builtin return 1 - run-mozilla.sh builtin shift 1 - run-mozilla.sh builtin break 2 - firefox builtin break 4 - run-mozilla.sh builtin export 6 - firefox builtin export 10 - firefox builtin : 15 - firefox builtin pwd 50 - firefox builtin cd 72 - run-mozilla.sh builtin [ 210 - firefox builtin echo 323 - firefox builtin [ 480 - run-mozilla.sh builtin type 486 - firefox builtin test 15330 - run-mozilla.sh cmd /usr/lib/firefox/firefox-bin 8941269 - firefox cmd /usr/lib/firefox/run-mozilla.sh 9384335 - - total - 18342766 - -Exclusive function elapsed times (us), - FILE TYPE NAME TOTAL - run-mozilla.sh func moz_test_binary 54 - firefox func moz_spc_verbose_echo 136 - firefox func moz_pis_startstop_scripts 230221 - run-mozilla.sh func moz_run_program 402343 - - total - 632756 - -Inclusive function elapsed times (us), - FILE TYPE NAME TOTAL - run-mozilla.sh func moz_test_binary 91 - firefox func moz_spc_verbose_echo 151 - firefox func moz_pis_startstop_scripts 230587 - run-mozilla.sh func moz_run_program 9343826 - - - -The output showed that the most inclusive function elapsed time was in -moz_run_program() at 9.3 seconds, which comes as little suprise since -I let firefox run for several seconds before closing it. That same duration -explains the large command times in the elapsed times report. - -Of more interest are the exclusive function elapsed times, where -moz_pis_startstop_scripts() was the slowest at 230 ms. Other areas of the -report are also useful to sanity check your software - should it be calling -these things? Especially if there are any commands called that can be -builtins instead. - diff --git a/cddl/contrib/dtracetoolkit/Examples/sh_cpudist_example.txt b/cddl/contrib/dtracetoolkit/Examples/sh_cpudist_example.txt deleted file mode 100644 index 272e9093d55f..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/sh_cpudist_example.txt +++ /dev/null @@ -1,92 +0,0 @@ -The following are examples of sh_cpudist.d. - -This script traces the on-CPU time of Bourne shell functions and -prints a report containing distribution plots per function. Here it -traces the example program, Code/Shell/func_slow.sh. - - # sh_cpudist.d - Tracing... Hit Ctrl-C to end. - ^C - - On-CPU times (us), - - func_slow.sh, builtin, echo - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@ 1 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 64 | 0 - - func_slow.sh, builtin, [ - value ------------- Distribution ------------- count - 0 | 0 - 1 | 1 - 2 | 1 - 4 |@ 22 - 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 575 - 16 | 2 - 32 | 0 - 64 | 2 - 128 | 0 - - Exclusive function on-CPU times (us), - - func_slow.sh, func, func_a - value ------------- Distribution ------------- count - 65536 | 0 - 131072 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 262144 | 0 - - func_slow.sh, func, func_b - value ------------- Distribution ------------- count - 262144 | 0 - 524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1048576 | 0 - - func_slow.sh, func, func_c - value ------------- Distribution ------------- count - 524288 | 0 - 1048576 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2097152 | 0 - - Inclusive function on-CPU times (us), - - func_slow.sh, func, func_b - value ------------- Distribution ------------- count - 524288 | 0 - 1048576 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2097152 | 0 - - func_slow.sh, func, func_c - value ------------- Distribution ------------- count - 524288 | 0 - 1048576 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2097152 | 0 - - func_slow.sh, func, func_a - value ------------- Distribution ------------- count - 1048576 | 0 - 2097152 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4194304 | 0 - -The on-CPU times should that the "[" builtin (test) usually took between -8 and 15 microseconds to execute, and was called over 500 times. - -The exclusive function on-CPU times show that func_a() spent between -131 ms and 262 ms on-CPU. - -The inclusive function on-CPU times show that both func_b() and func_c() -spent between 1.0 and 2.1 seconds on-CPU, and func_a() spent between 2.1 -and 4.2 seconds on-CPU. This inclusive time includes the time spent in other -functions called, and since func_a() called func_b() which called func_c(), -these times make sense. - -These on-CPU times are the time the thread spent running on a CPU, from when -the function began to when it completed. This does not include time -spent off-CPU time such as sleeping for I/O or waiting for scheduling. - -On-CPU times are useful for showing who is causing the CPUs to be busy. -See Notes/ALLoncpu_notes.txt for more details. Also see -Notes/ALLexclusive_notes.txt and Notes/ALLinclusive_notes.txt for a -detailed explanation of exclusive vs inclusive function time. - diff --git a/cddl/contrib/dtracetoolkit/Examples/sh_cputime_example.txt b/cddl/contrib/dtracetoolkit/Examples/sh_cputime_example.txt deleted file mode 100644 index d3ae5bc50b11..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/sh_cputime_example.txt +++ /dev/null @@ -1,131 +0,0 @@ -The following are examples of sh_cputime.d. - -This script traces the on-CPU time of Bourne shell functions and -prints a report. Here it traces the example program, Code/Shell/func_slow.sh. - - # sh_cputime.d - Tracing... Hit Ctrl-C to end. - ^C - - Counts, - FILE TYPE NAME COUNT - func_slow.sh func func_a 1 - func_slow.sh func func_b 1 - func_slow.sh func func_c 1 - func_slow.sh builtin echo 3 - func_slow.sh builtin [ 603 - - total - 609 - - On-CPU times (us), - FILE TYPE NAME TOTAL - func_slow.sh builtin echo 162 - func_slow.sh builtin [ 6279 - - total - 6441 - - Exclusive function on-CPU times (us), - FILE TYPE NAME TOTAL - func_slow.sh func func_a 269465 - func_slow.sh func func_b 670372 - func_slow.sh func func_c 1259073 - - total - 2198911 - - Inclusive function on-CPU times (us), - FILE TYPE NAME TOTAL - func_slow.sh func func_c 1262209 - func_slow.sh func func_b 1934839 - func_slow.sh func func_a 2205352 - -In total, three functions were called, one builtin and one command. - -The exclusive function on-CPU times show that func_a() spent around 268.4 ms -on-CPU, func_b() spent 670.3 ms, and func_c() spent 1259 ms. This exclusive -times excludes time spent in other functions. - -The inclusive function on-CPU times show that func_c() spent around 1.3 -seconds on-CPU, func_b() spent around 1.9 seconds, and func_a() spent around -2.2 seconds. This inclusive time includes the time spent in other functions -called, and since func_a() called func_b() which called func_c(), these -times make sense. - -These on-CPU times are the time the thread spent running on a CPU, from when -the function began to when it completed. This does not include time -spent off-CPU time such as sleeping for I/O or waiting for scheduling. - -On-CPU times are useful for showing who is causing the CPUs to be busy. -See Notes/ALLoncpu_notes.txt for more details. Also see -Notes/ALLexclusive_notes.txt and Notes/ALLinclusive_notes.txt for a -detailed explanation of exclusive vs inclusive function time. - -If you study the func_slow.sh program alongside the above output, the numbers -should make sense. - - - -The following traced the firefox start script. - -# sh_cputime.d -Tracing... Hit Ctrl-C to end. -^C - -Counts, - FILE TYPE NAME COUNT - firefox builtin break 1 - firefox builtin pwd 1 - firefox builtin test 1 - firefox cmd run-mozilla.sh 1 - run-mozilla.sh builtin break 1 - run-mozilla.sh builtin return 1 - run-mozilla.sh builtin shift 1 - run-mozilla.sh builtin type 1 - run-mozilla.sh cmd firefox-bin 1 - run-mozilla.sh func moz_run_program 1 - run-mozilla.sh func moz_test_binary 1 - firefox builtin echo 2 - firefox func moz_pis_startstop_scripts 2 - firefox builtin cd 3 - firefox builtin export 3 - run-mozilla.sh builtin export 3 - firefox builtin : 6 - firefox func moz_spc_verbose_echo 6 - firefox builtin [ 18 - run-mozilla.sh builtin [ 20 - - total - 103 - -On-CPU times (us), - FILE TYPE NAME TOTAL - run-mozilla.sh builtin return 0 - run-mozilla.sh builtin shift 0 - run-mozilla.sh builtin break 1 - firefox builtin break 2 - run-mozilla.sh builtin export 4 - firefox builtin export 7 - firefox builtin : 9 - firefox builtin test 35 - firefox builtin pwd 49 - firefox builtin cd 64 - run-mozilla.sh builtin [ 176 - firefox builtin echo 309 - firefox builtin [ 357 - run-mozilla.sh builtin type 475 - firefox cmd run-mozilla.sh 17090 - run-mozilla.sh cmd firefox-bin 1932333 - - total - 1950979 - -Exclusive function on-CPU times (us), - FILE TYPE NAME TOTAL - run-mozilla.sh func moz_test_binary 21 - firefox func moz_spc_verbose_echo 22 - run-mozilla.sh func moz_run_program 9098 - firefox func moz_pis_startstop_scripts 12960 - - total - 22103 - -Inclusive function on-CPU times (us), - FILE TYPE NAME TOTAL - firefox func moz_spc_verbose_echo 31 - run-mozilla.sh func moz_test_binary 56 - run-mozilla.sh func moz_run_program 9243 - firefox func moz_pis_startstop_scripts 13133 - -The output showed that the most CPU time was spent in the firefox-bin command, -taking 1.9 seconds of on-CPU time. - diff --git a/cddl/contrib/dtracetoolkit/Examples/sh_flow_example.txt b/cddl/contrib/dtracetoolkit/Examples/sh_flow_example.txt deleted file mode 100644 index de7f22b88196..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/sh_flow_example.txt +++ /dev/null @@ -1,129 +0,0 @@ -The following are examples of sh_flow.d. - -This is a simple script to trace the flow of Bourne shell functions, -builtins and external commands. Here it traces the example program, -Code/Shell/func_abc.sh. - - # sh_flow.d - C TIME(us) FILE -- NAME - 0 3060274370505 func_abc.sh -> func_a - 0 3060274370529 func_abc.sh > echo - 0 3060274372742 func_abc.sh | sleep - 0 3060275381634 func_abc.sh -> func_b - 0 3060275381660 func_abc.sh > echo - 0 3060275383852 func_abc.sh | sleep - 0 3060276391653 func_abc.sh -> func_c - 0 3060276391679 func_abc.sh > echo - 0 3060276393671 func_abc.sh | sleep - 0 3060277401753 func_abc.sh <- func_c - 0 3060277401767 func_abc.sh <- func_b - 0 3060277401775 func_abc.sh <- func_a - ^C - -As each function is entered, the third column is indented by 2 spaces. This -shows which function is calling who - the output abovebegins by showing that -func_a() began, and then called func_b(). - -If the output looks shuffled, check the CPU "C" and "TIME" columns, and -post sort based on TIME if necessary. - -See Notes/ALLflow_notes.txt for important notes about reading flow outputs. - - - -The following traces the firefox startup script. - -# sh_flow.d - C TIME(us) FILE -- NAME - 0 3060321598138 firefox > test - 0 3060321603730 firefox > [ - 0 3060321603796 firefox > cd - 0 3060321603878 firefox > [ - 0 3060321603900 firefox > [ - 0 3060321604099 firefox > [ - 0 3060321609050 firefox > echo - 0 3060321620601 firefox > echo - 0 3060321626369 firefox > [ - 0 3060321626432 firefox > export - 0 3060321626459 firefox -> moz_pis_startstop_scripts - 0 3060321626519 firefox > export - 0 3060321626966 firefox > [ - 0 3060321627031 firefox > . - 0 3060321628446 firefox -> moz_spc_verbose_echo - 0 3060321628458 firefox > : - 0 3060321628467 firefox <- moz_spc_verbose_echo - 0 3060321636461 firefox > [ - 0 3060321636738 firefox -> moz_spc_verbose_echo - 0 3060321636751 firefox > : - 0 3060321636760 firefox <- moz_spc_verbose_echo - 0 3060321636778 firefox > [ - 0 3060321636793 firefox > [ - 0 3060321636817 firefox > [ - 0 3060321637126 firefox -> moz_spc_verbose_echo - 0 3060321637136 firefox > : - 0 3060321637143 firefox <- moz_spc_verbose_echo - 0 3060321666922 firefox -> moz_spc_verbose_echo - 0 3060321666952 firefox > : - 0 3060321666964 firefox <- moz_spc_verbose_echo - 0 3060321674929 firefox > [ - 0 3060321680246 firefox > [ - 0 3060321680312 firefox -> moz_spc_verbose_echo - 0 3060321680323 firefox > : - 0 3060321680331 firefox <- moz_spc_verbose_echo - 0 3060321680356 firefox -> moz_spc_verbose_echo - 0 3060321680363 firefox > : - 0 3060321680370 firefox <- moz_spc_verbose_echo - 0 3060321680396 firefox > [ - 0 3060321680428 firefox <- moz_pis_startstop_scripts - 0 3060321680525 firefox > [ - 0 3060321680580 firefox > [ - 0 3060321685358 firefox | /usr/lib/firefox/run-mozilla.sh - 0 3060321700731 run-mozilla.sh > [ - 0 3060321700950 run-mozilla.sh > break - 0 3060321703259 run-mozilla.sh > [ - 0 3060321703292 run-mozilla.sh > shift - 0 3060321703382 run-mozilla.sh > [ - 0 3060321703421 run-mozilla.sh > [ - 0 3060321703493 run-mozilla.sh > [ - 0 3060321703642 run-mozilla.sh > [ - 0 3060321703669 run-mozilla.sh > export - 0 3060321703706 run-mozilla.sh > [ - 0 3060321703725 run-mozilla.sh > [ - 0 3060321703857 run-mozilla.sh > [ - 0 3060321703880 run-mozilla.sh > export - 0 3060321703925 run-mozilla.sh > export - 0 3060321703954 run-mozilla.sh > [ - 0 3060321703982 run-mozilla.sh -> moz_run_program - 0 3060321704013 run-mozilla.sh > [ - 0 3060321704049 run-mozilla.sh -> moz_test_binary - 0 3060321704065 run-mozilla.sh > [ - 0 3060321704097 run-mozilla.sh > [ - 0 3060321704127 run-mozilla.sh > return - 0 3060321704137 run-mozilla.sh <- moz_test_binary - 0 3060321704151 run-mozilla.sh > [ - 0 3060321709953 run-mozilla.sh > type - 0 3060321724260 run-mozilla.sh > [ - 0 3060321724559 run-mozilla.sh > [ - 0 3060321724574 run-mozilla.sh > [ - 0 3060321727396 run-mozilla.sh | /usr/lib/firefox/firefox-bin - 0 3060325513871 run-mozilla.sh > [ - 0 3060325513898 run-mozilla.sh > [ - 0 3060325513929 run-mozilla.sh > [ - 0 3060325513940 run-mozilla.sh <- moz_run_program - 0 3060325513967 run-mozilla.sh > exit - 0 3060325515113 firefox -> moz_pis_startstop_scripts - 0 3060325515189 firefox > export - 0 3060325515431 firefox > [ - 0 3060325515466 firefox > [ - 0 3060325515487 firefox <- moz_pis_startstop_scripts - 0 3060325515503 firefox > exit - -This shows the flow, incluing the handover between the "firefox" script -and the "run-mozilla.sh" script. - -There is a point in the output where flow appears to reverse (at time -3060321709953, with the entry "> type"). This is due to another instance -of the run-mozilla.sh script running, which is indistinguishable from -the other lines in the output. To confirm this for yourself, add a PID -column to the flow script (or use sh_flowinfo.d). - diff --git a/cddl/contrib/dtracetoolkit/Examples/sh_flowinfo_example.txt b/cddl/contrib/dtracetoolkit/Examples/sh_flowinfo_example.txt deleted file mode 100644 index 1fb27cf4ea2d..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/sh_flowinfo_example.txt +++ /dev/null @@ -1,242 +0,0 @@ -The following are examples of sh_flowinfo.d. - -This is a simple script to trace the flow of Bourne shell functions, -builtins and external commands. Here it traces the example program, -Code/Shell/func_abc.sh. - - # sh_flowinfo.d - C PID DELTA(us) FILE:LINE TYPE -- NAME - 0 19634 2 func_abc.sh:23 func -> func_a - 0 19634 24 func_abc.sh:18 builtin -> echo - 0 19634 41 func_abc.sh:- builtin <- echo - 0 19634 5873 func_abc.sh:19 cmd -> sleep - 0 19634 999373 func_abc.sh:- cmd <- sleep - 0 19634 39 func_abc.sh:20 func -> func_b - 0 19634 22 func_abc.sh:11 builtin -> echo - 0 19634 40 func_abc.sh:- builtin <- echo - 0 19634 4661 func_abc.sh:12 cmd -> sleep - 0 19634 1005349 func_abc.sh:- cmd <- sleep - 0 19634 49 func_abc.sh:13 func -> func_c - 0 19634 22 func_abc.sh:5 builtin -> echo - 0 19634 38 func_abc.sh:- builtin <- echo - 0 19634 4949 func_abc.sh:6 cmd -> sleep - 0 19634 1004817 func_abc.sh:- cmd <- sleep - 0 19634 36 func_abc.sh:- func <- func_c - 0 19634 14 func_abc.sh:- func <- func_b - 0 19634 8 func_abc.sh:- func <- func_a - -As each function is entered, the third column is indented by 2 spaces. This -shows which function is calling who - the output abovebegins by showing that -func_a() began, and then called func_b(). - -The DELTA(us) column shows time from that line to the previous line, and -so can be a bit tricky to read. For example, the fifth line of data output -(skipping the header) reads as "the time from the command sleep beginning -to ending was 999373 us, or 1.0 seconds". - -The LINE column shows the line in the file what was being executed. Refer -to the source program to see what this line refers to. - -If the output looks shuffled, check the CPU "C" column - if it changes, -then the output is probably shuffled. See Notes/ALLsnoop_notes.txt for -details and suggested workarounds. - -See Notes/ALLflow_notes.txt for important notes about reading flow outputs. - - -The following traces the firefox startup script. - -# sh_flowinfo.d - C PID DELTA(us) FILE:LINE TYPE -- NAME - 0 156789 1 firefox:- subsh -> pid 156790 - 0 156789 20 firefox:- subsh <- = 0 - 0 156789 31651 firefox:- subsh -> pid 156791 - 0 156789 20 firefox:- subsh <- = 0 - 0 156789 10502 firefox:109 builtin -> test - 0 156789 59 firefox:- builtin <- test - 0 156789 3804 firefox:- subsh -> pid 156792 - 0 156789 21 firefox:- subsh <- = 0 - 0 156789 22029 firefox:114 builtin -> [ - 0 156789 57 firefox:- builtin <- [ - 0 156789 90910 firefox:- subsh -> pid 156793 - 0 156789 22 firefox:- subsh <- = 0 - 0 156789 159492 firefox:- subsh -> pid 156794 - 0 156789 22 firefox:- subsh <- = 0 - 0 156789 127 firefox:116 builtin -> cd - 0 156789 54 firefox:- builtin <- cd - 0 156789 209757 firefox:- subsh -> pid 156795 - 0 156789 23 firefox:- subsh <- = 0 - 0 156795 206160 firefox:- subsh -> pid 156796 - 0 156795 9 firefox:- subsh <- = 0 - 0 156789 12115 firefox:118 builtin -> [ - 0 156789 61 firefox:- builtin <- [ - 0 156789 200529 firefox:- subsh -> pid 156797 - 0 156789 24 firefox:- subsh <- = 0 - 0 156789 136 firefox:123 builtin -> [ - 0 156789 58 firefox:- builtin <- [ - 0 156789 21 firefox:124 builtin -> cd - 0 156789 19 firefox:- builtin <- cd - 0 156798 175 firefox:1 builtin -> pwd - 0 156798 65 firefox:- builtin <- pwd - 0 156789 108835 firefox:- subsh -> pid 156798 - 0 156789 18 firefox:- subsh <- = 0 - 0 156789 119 firefox:128 builtin -> break - 0 156789 15 firefox:- builtin <- break - 0 156789 21 firefox:131 builtin -> cd - 0 156789 26 firefox:- builtin <- cd - 0 156789 61 firefox:133 builtin -> [ - 0 156789 9 firefox:- builtin <- [ - 0 156789 73508 firefox:147 builtin -> [ - 0 156789 25 firefox:- builtin <- [ - 0 156800 184 firefox:1 builtin -> echo - 0 156800 175 firefox:- builtin <- echo - 0 156789 15966 firefox:- subsh -> pid 156799 - 0 156789 22 firefox:- subsh <- = 0 - 0 156799 12091 firefox:- subsh -> pid 156800 - 0 156799 10 firefox:- subsh <- = 0 - 0 156802 178 firefox:1 builtin -> echo - 0 156802 167 firefox:- builtin <- echo - 0 156789 13822 firefox:- subsh -> pid 156801 - 0 156789 18 firefox:- subsh <- = 0 - 0 156801 81683 firefox:- subsh -> pid 156802 - 0 156801 21 firefox:- subsh <- = 0 - 0 156789 78324 firefox:158 builtin -> [ - 0 156789 37 firefox:- builtin <- [ - 0 156789 54 firefox:194 builtin -> export - 0 156789 9 firefox:- builtin <- export - 0 156789 26 firefox:197 func -> moz_pis_startstop_scripts - 0 156789 61 firefox:62 builtin -> export - 0 156789 9 firefox:- builtin <- export - 0 156789 413 firefox:67 builtin -> [ - 0 156789 34 firefox:- builtin <- [ - 0 156789 40 firefox:69 builtin -> . - 0 156789 20833 firefox:18 func -> moz_spc_verbose_echo - 0 156789 26 firefox:15 builtin -> : - 0 156789 16 firefox:- builtin <- : - 0 156789 15 firefox:- func <- moz_spc_verbose_echo - 0 156789 105106 firefox:- subsh -> pid 156803 - 0 156789 22 firefox:- subsh <- = 0 - 0 156789 129 firefox:19 builtin -> [ - 0 156789 17 firefox:- builtin <- [ - 0 156789 33 firefox:20 func -> moz_spc_verbose_echo - 0 156789 14 firefox:15 builtin -> : - 0 156789 7 firefox:- builtin <- : - 0 156789 9 firefox:- func <- moz_spc_verbose_echo - 0 156789 21 firefox:23 builtin -> [ - 0 156789 8 firefox:- builtin <- [ - 0 156789 16 firefox:26 builtin -> [ - 0 156789 8 firefox:- builtin <- [ - 0 156789 24 firefox:29 builtin -> [ - 0 156789 43 firefox:- builtin <- [ - 0 156789 77 firefox:36 func -> moz_spc_verbose_echo - 0 156789 9 firefox:15 builtin -> : - 0 156789 8 firefox:- builtin <- : - 0 156789 8 firefox:- func <- moz_spc_verbose_echo - 0 156789 158947 firefox:- subsh -> pid 156804 - 0 156789 22 firefox:- subsh <- = 0 - 0 156789 210112 firefox:- subsh -> pid 156805 - 0 156789 22 firefox:- subsh <- = 0 - 0 156805 205500 firefox:- subsh -> pid 156806 - 0 156805 10 firefox:- subsh <- = 0 - 0 156805 200987 firefox:- subsh -> pid 156807 - 0 156805 20 firefox:- subsh <- = 0 - 0 156789 363564 firefox:40 func -> moz_spc_verbose_echo - 0 156789 26 firefox:15 builtin -> : - 0 156789 17 firefox:- builtin <- : - 0 156789 15 firefox:- func <- moz_spc_verbose_echo - 0 156809 234 firefox:1 builtin -> [ - 0 156809 70 firefox:- builtin <- [ - 0 156789 46950 firefox:- subsh -> pid 156808 - 0 156789 22 firefox:- subsh <- = 0 - 0 156808 42371 firefox:- subsh -> pid 156809 - 0 156808 10 firefox:- subsh <- = 0 - 0 156789 27278 firefox:43 builtin -> [ - 0 156789 26 firefox:- builtin <- [ - 0 156789 62 firefox:44 func -> moz_spc_verbose_echo - 0 156789 15 firefox:15 builtin -> : - 0 156789 8 firefox:- builtin <- : - 0 156789 10 firefox:- func <- moz_spc_verbose_echo - 0 156789 30 firefox:67 func -> moz_spc_verbose_echo - 0 156789 9 firefox:15 builtin -> : - 0 156789 8 firefox:- builtin <- : - 0 156789 7 firefox:- func <- moz_spc_verbose_echo - 0 156789 8 firefox:- builtin <- . - 0 156789 28 firefox:67 builtin -> [ - 0 156789 31 firefox:- builtin <- [ - 0 156789 8 firefox:- func <- moz_pis_startstop_scripts - 0 156789 97 firefox:199 builtin -> [ - 0 156789 35 firefox:- builtin <- [ - 0 156789 29 firefox:205 builtin -> [ - 0 156789 9 firefox:- builtin <- [ - 0 156789 72519 firefox:209 cmd -> /usr/lib/firefox/run-mozilla.sh - 0 156810 1 run-mozilla.sh:- subsh -> pid 156811 - 0 156810 15 run-mozilla.sh:- subsh <- = 0 - 0 156810 129474 run-mozilla.sh:- subsh -> pid 156812 - 0 156810 24 run-mozilla.sh:- subsh <- = 0 - 0 156810 743 run-mozilla.sh:258 builtin -> [ - 0 156810 28 run-mozilla.sh:- builtin <- [ - 0 156810 212 run-mozilla.sh:275 builtin -> break - 0 156810 10 run-mozilla.sh:- builtin <- break - 0 156810 31 run-mozilla.sh:283 builtin -> [ - 0 156810 10 run-mozilla.sh:- builtin <- [ - 0 156810 16 run-mozilla.sh:286 builtin -> shift - 0 156810 9 run-mozilla.sh:- builtin <- shift - 0 156810 55 run-mozilla.sh:291 builtin -> [ - 0 156810 9 run-mozilla.sh:- builtin <- [ - 0 156810 36 run-mozilla.sh:317 builtin -> [ - 0 156810 34 run-mozilla.sh:- builtin <- [ - 0 156810 37 run-mozilla.sh:327 builtin -> [ - 0 156810 9 run-mozilla.sh:- builtin <- [ - 0 156810 142 run-mozilla.sh:362 builtin -> [ - 0 156810 9 run-mozilla.sh:- builtin <- [ - 0 156810 26 run-mozilla.sh:366 builtin -> export - 0 156810 9 run-mozilla.sh:- builtin <- export - 0 156810 37 run-mozilla.sh:369 builtin -> [ - 0 156810 9 run-mozilla.sh:- builtin <- [ - 0 156810 18 run-mozilla.sh:371 builtin -> [ - 0 156810 19 run-mozilla.sh:- builtin <- [ - 0 156810 112 run-mozilla.sh:379 builtin -> [ - 0 156810 10 run-mozilla.sh:- builtin <- [ - 0 156810 23 run-mozilla.sh:418 builtin -> export - 0 156810 9 run-mozilla.sh:- builtin <- export - 0 156810 45 run-mozilla.sh:419 builtin -> export - 0 156810 10 run-mozilla.sh:- builtin <- export - 0 156810 27 run-mozilla.sh:421 builtin -> [ - 0 156810 9 run-mozilla.sh:- builtin <- [ - 0 156810 29 run-mozilla.sh:425 func -> moz_run_program - 0 156810 32 run-mozilla.sh:137 builtin -> [ - 0 156810 25 run-mozilla.sh:- builtin <- [ - 0 156810 20 run-mozilla.sh:145 func -> moz_test_binary - 0 156810 17 run-mozilla.sh:97 builtin -> [ - 0 156810 23 run-mozilla.sh:- builtin <- [ - 0 156810 15 run-mozilla.sh:99 builtin -> [ - 0 156810 26 run-mozilla.sh:- builtin <- [ - 0 156810 13 run-mozilla.sh:101 builtin -> return - 0 156810 9 run-mozilla.sh:- builtin <- return - 0 156810 11 run-mozilla.sh:- func <- moz_test_binary - 0 156810 18 run-mozilla.sh:146 builtin -> [ - 0 156810 9 run-mozilla.sh:- builtin <- [ - 0 156814 185 run-mozilla.sh:1 builtin -> type - 0 156814 118188 run-mozilla.sh:- builtin <- type - 0 156810 167284 run-mozilla.sh:- subsh -> pid 156813 - 0 156810 23 run-mozilla.sh:- subsh <- = 0 - 0 156813 162135 run-mozilla.sh:- subsh -> pid 156814 - 0 156813 12 run-mozilla.sh:- subsh <- = 0 - 0 156813 200125 run-mozilla.sh:- subsh -> pid 156815 - 0 156813 22 run-mozilla.sh:- subsh <- = 0 - 0 156810 203465 run-mozilla.sh:152 builtin -> [ - 0 156810 51 run-mozilla.sh:- builtin <- [ - 0 156810 21 run-mozilla.sh:156 builtin -> [ - 0 156810 9 run-mozilla.sh:- builtin <- [ - 0 156810 15 run-mozilla.sh:159 builtin -> [ - 0 156810 14 run-mozilla.sh:- builtin <- [ - 0 156810 65752 run-mozilla.sh:- subsh -> pid 156816 - 0 156810 24 run-mozilla.sh:- subsh <- = 0 - 0 156816 251788 run-mozilla.sh:- subsh -> pid 156817 - 0 156816 22 run-mozilla.sh:- subsh <- = 0 - 0 156810 299677 run-mozilla.sh:167 cmd -> /usr/lib/firefox/firefox-bin - 0 156810 5124906 run-mozilla.sh:- cmd <- /usr/lib/firefox/firefox-bin - 0 156789 5993798 firefox:- cmd <- /usr/lib/firefox/run-mozilla.sh - -Now latencies can investigated by line number. - diff --git a/cddl/contrib/dtracetoolkit/Examples/sh_flowtime_example.txt b/cddl/contrib/dtracetoolkit/Examples/sh_flowtime_example.txt deleted file mode 100644 index 03848de62d8e..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/sh_flowtime_example.txt +++ /dev/null @@ -1,131 +0,0 @@ -The following are examples of sh_flowtime.d. - -This is a simple script to trace the flow of Bourne shell functions, -builtins and external commands. Here it traces the example program, -Code/Shell/func_abc.sh. - - # sh_flowtime.d - C TIME(us) FILE DELTA(us) -- NAME - 0 3060817866026 func_abc.sh 2 -> func_a - 0 3060817866086 func_abc.sh 60 > echo - 0 3060818871601 func_abc.sh 1005514 | sleep - 0 3060818871639 func_abc.sh 38 -> func_b - 0 3060818871684 func_abc.sh 44 > echo - 0 3060819881597 func_abc.sh 1009912 | sleep - 0 3060819881657 func_abc.sh 60 -> func_c - 0 3060819881717 func_abc.sh 60 > echo - 0 3060820891613 func_abc.sh 1009896 | sleep - 0 3060820891661 func_abc.sh 47 <- func_c - 0 3060820891675 func_abc.sh 14 <- func_b - 0 3060820891683 func_abc.sh 7 <- func_a - ^C - -As each function is entered, the third column is indented by 2 spaces. This -shows which function is calling who - the output above begins by showing that -func_a() began, and then called func_b(). - -The DELTA(us) column is interpreted as follows, - - -> previous line to the start of this function - <- previous line to the end of this function - > previous line to the end of this builtin - | previous line to the end of this command - -And so the above output shows that each sleep command is taking around 1.0 -seconds to execute. - -If the output looks shuffled, check the CPU "C" and "TIME" columns, and -post sort based on TIME if necessary. - -See Notes/ALLflow_notes.txt for important notes about reading flow outputs. - - - -The following traces the firefox start script. - -# sh_flowtime.d - C TIME(us) FILE DELTA(us) -- NAME - 0 3060994282580 firefox 2 > test - 0 3060994286921 firefox 4341 > [ - 0 3060994286955 firefox 34 > cd - 0 3060994287014 firefox 58 > [ - 0 3060994287059 firefox 45 > [ - 0 3060994287227 firefox 167 > [ - 0 3060994293793 firefox 2 > echo - 0 3060994305759 firefox 2 > echo - 0 3060994309613 firefox 22385 > [ - 0 3060994309665 firefox 52 > export - 0 3060994309691 firefox 25 -> moz_pis_startstop_scripts - 0 3060994309752 firefox 61 > export - 0 3060994310199 firefox 447 > [ - 0 3060994314462 firefox 4262 -> moz_spc_verbose_echo - 0 3060994314484 firefox 22 > : - 0 3060994314497 firefox 12 <- moz_spc_verbose_echo - 0 3060994322101 firefox 7604 > [ - 0 3060994322134 firefox 33 -> moz_spc_verbose_echo - 0 3060994322147 firefox 12 > : - 0 3060994322155 firefox 7 <- moz_spc_verbose_echo - 0 3060994322501 firefox 345 > [ - 0 3060994322518 firefox 17 > [ - 0 3060994322578 firefox 59 > [ - 0 3060994322641 firefox 62 -> moz_spc_verbose_echo - 0 3060994322650 firefox 9 > : - 0 3060994322656 firefox 6 <- moz_spc_verbose_echo - 0 3060994653794 firefox 331137 -> moz_spc_verbose_echo - 0 3060994653826 firefox 32 > : - 0 3060994653839 firefox 12 <- moz_spc_verbose_echo - 0 3060994659534 firefox 2 > [ - 0 3060994667539 firefox 13699 > [ - 0 3060994667604 firefox 65 -> moz_spc_verbose_echo - 0 3060994667617 firefox 13 > : - 0 3060994667625 firefox 8 <- moz_spc_verbose_echo - 0 3060994667653 firefox 27 -> moz_spc_verbose_echo - 0 3060994667661 firefox 7 > : - 0 3060994667668 firefox 6 <- moz_spc_verbose_echo - 0 3060994667675 firefox 7 > . - 0 3060994667725 firefox 49 > [ - 0 3060994667732 firefox 6 <- moz_pis_startstop_scripts - 0 3060994667853 firefox 121 > [ - 0 3060994667881 firefox 27 > [ - 0 3060994804329 run-mozilla.sh 2 > [ - 0 3060994804524 run-mozilla.sh 194 > break - 0 3060994804560 run-mozilla.sh 36 > [ - 0 3060994804580 run-mozilla.sh 20 > shift - 0 3060994804649 run-mozilla.sh 68 > [ - 0 3060994804710 run-mozilla.sh 61 > [ - 0 3060994804747 run-mozilla.sh 36 > [ - 0 3060994804889 run-mozilla.sh 142 > [ - 0 3060994804915 run-mozilla.sh 26 > export - 0 3060994804952 run-mozilla.sh 36 > [ - 0 3060994804981 run-mozilla.sh 28 > [ - 0 3060994805093 run-mozilla.sh 112 > [ - 0 3060994805116 run-mozilla.sh 22 > export - 0 3060994805160 run-mozilla.sh 44 > export - 0 3060994805187 run-mozilla.sh 27 > [ - 0 3060994805215 run-mozilla.sh 27 -> moz_run_program - 0 3060994805263 run-mozilla.sh 48 > [ - 0 3060994805283 run-mozilla.sh 19 -> moz_test_binary - 0 3060994805314 run-mozilla.sh 31 > [ - 0 3060994805346 run-mozilla.sh 31 > [ - 0 3060994805358 run-mozilla.sh 12 > return - 0 3060994805367 run-mozilla.sh 9 <- moz_test_binary - 0 3060994805385 run-mozilla.sh 17 > [ - 0 3060994964498 run-mozilla.sh 2 > type - 0 3060995520942 run-mozilla.sh 715556 > [ - 0 3060995520967 run-mozilla.sh 24 > [ - 0 3060995520987 run-mozilla.sh 20 > [ - 0 3061000622172 run-mozilla.sh 5101184 | /usr/lib/firefox/firefox-bin - 0 3061000622221 run-mozilla.sh 49 > [ - 0 3061000622252 run-mozilla.sh 30 > [ - 0 3061000622266 run-mozilla.sh 14 > [ - 0 3061000622275 run-mozilla.sh 9 <- moz_run_program - 0 3061000623686 firefox 5955805 | /usr/lib/firefox/run-mozilla.sh - 0 3061000623793 firefox 106 -> moz_pis_startstop_scripts - 0 3061000623864 firefox 71 > export - 0 3061000624108 firefox 244 > [ - 0 3061000624138 firefox 30 > [ - 0 3061000624147 firefox 8 <- moz_pis_startstop_scripts - -Points of latency during startup are visible in the output. For more details, -see Examples/sh_flowinfo_example.txt. - diff --git a/cddl/contrib/dtracetoolkit/Examples/sh_lines_example.txt b/cddl/contrib/dtracetoolkit/Examples/sh_lines_example.txt deleted file mode 100644 index f19487cc624b..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/sh_lines_example.txt +++ /dev/null @@ -1,32 +0,0 @@ -The following are examples of sh_lines.d. - -This is a simple script to count Bourne shell line execution. Here it traces an -example program, Code/Shell/func_slow.sh. - - # sh_lines.d - Tracing... Hit Ctrl-C to end. - ^C - - FILE:LINE COUNT - func_slow.sh:5 1 - func_slow.sh:6 1 - func_slow.sh:15 1 - func_slow.sh:16 1 - func_slow.sh:21 1 - func_slow.sh:26 1 - func_slow.sh:27 1 - func_slow.sh:32 1 - func_slow.sh:35 1 - func_slow.sh:30 100 - func_slow.sh:28 101 - func_slow.sh:19 200 - func_slow.sh:17 201 - func_slow.sh:9 300 - func_slow.sh:7 301 - func_slow.sh:1 600 - -The most frequently executed line was line 1 of func_slow.sh - which is actually -line 1 of func_slow.sh subshells (command substitution, ` `). Apart from -this slight confusion, the rest of the output should make sense (and most -scripts only call one line in command substitution anyway). - diff --git a/cddl/contrib/dtracetoolkit/Examples/sh_pidcolors_example.txt b/cddl/contrib/dtracetoolkit/Examples/sh_pidcolors_example.txt deleted file mode 100644 index a6025e49078f..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/sh_pidcolors_example.txt +++ /dev/null @@ -1,574 +0,0 @@ -The following are examples of sh_pidcolors.d. - -This is the same script as in sh_syscolors.d, except with additional tracing. -As well as the functions, lines and system calls traced in sh_syscolors.d, -this also adds some "pid" provider tracing as a starting point for deeper -analysis. In this case it adds the probes: - - pid$target:a.out:e*:entry, - pid$target:a.out:e*:return - -which means, all functions from the /usr/bin/sh binary that begin with -the letter "e". This adds about 34 probes, but you can customize it to be as -inclusive as you like. It renders the output in color ("colour") using terminal -escape sequences (which you can tweak by modifying the script). - -Here it traces the example program, Code/Shell/func_abc.sh. - -WARNING: This output is full of terminal escape sequences, so if you are -trying to view this through an editor or web browser - it may look awful. -Try viewing this using "more" (although, depending on your terminal, it -still may look awful). - -# sh_pidcolors.d -c ./func_abc.sh -o /tmp/out -Function A -Function B -Function C - -# cat /tmp/out -C PID DELTA(us) FILE:LINE TYPE -- NAME -0 12312 2 func_abc.sh:- syscall -> munmap -0 12312 34 func_abc.sh:- syscall <- munmap -0 12312 53 func_abc.sh:- syscall -> mmap -0 12312 19 func_abc.sh:- syscall <- mmap -0 12312 43 func_abc.sh:- syscall -> setcontext -0 12312 11 func_abc.sh:- syscall <- setcontext -0 12312 11 func_abc.sh:- syscall -> getrlimit -0 12312 11 func_abc.sh:- syscall <- getrlimit -0 12312 10 func_abc.sh:- syscall -> getpid -0 12312 9 func_abc.sh:- syscall <- getpid -0 12312 63 func_abc.sh:- syscall -> setcontext -0 12312 9 func_abc.sh:- syscall <- setcontext -0 12312 813 func_abc.sh:- syscall -> sysi86 -0 12312 13 func_abc.sh:- syscall <- sysi86 -0 12312 85 func_abc.sh:- syscall -> open64 -0 12312 88 func_abc.sh:- syscall <- open64 -0 12312 13 func_abc.sh:- syscall -> ioctl -0 12312 35 func_abc.sh:- syscall <- ioctl -0 12312 15 func_abc.sh:- syscall -> close -0 12312 17 func_abc.sh:- syscall <- close -0 12312 123 func_abc.sh:- syscall -> getpid -0 12312 9 func_abc.sh:- syscall <- getpid -0 12312 17 func_abc.sh:- syscall -> setpgrp -0 12312 9 func_abc.sh:- syscall <- setpgrp -0 12312 11 func_abc.sh:- syscall -> setpgrp -0 12312 8 func_abc.sh:- syscall <- setpgrp -0 12312 11 func_abc.sh:- syscall -> access -0 12312 19 func_abc.sh:- syscall <- access -0 12312 14 func_abc.sh:- syscall -> brk -0 12312 11 func_abc.sh:- syscall <- brk -0 12312 15 func_abc.sh:- syscall -> sysconfig -0 12312 9 func_abc.sh:- syscall <- sysconfig -0 12312 10 func_abc.sh:- syscall -> sysconfig -0 12312 8 func_abc.sh:- syscall <- sysconfig -0 12312 11 func_abc.sh:- syscall -> sigaltstack -0 12312 9 func_abc.sh:- syscall <- sigaltstack -0 12312 16 func_abc.sh:- syscall -> sigaction -0 12312 9 func_abc.sh:- syscall <- sigaction -0 12312 12 func_abc.sh:- syscall -> sigaction -0 12312 9 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 9 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 8 func_abc.sh:- syscall <- sigaction -0 12312 9 func_abc.sh:- syscall -> sigaction -0 12312 8 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 9 func_abc.sh:- syscall <- sigaction -0 12312 9 func_abc.sh:- syscall -> sigaction -0 12312 9 func_abc.sh:- syscall <- sigaction -0 12312 9 func_abc.sh:- syscall -> sigaction -0 12312 8 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 8 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 8 func_abc.sh:- syscall <- sigaction -0 12312 9 func_abc.sh:- syscall -> sigaction -0 12312 9 func_abc.sh:- syscall <- sigaction -0 12312 9 func_abc.sh:- syscall -> sigaction -0 12312 9 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 8 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 9 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 8 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 9 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 8 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 8 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 9 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 9 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 9 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 8 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 8 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 9 func_abc.sh:- syscall <- sigaction -0 12312 9 func_abc.sh:- syscall -> sigaction -0 12312 8 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 8 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 8 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 9 func_abc.sh:- syscall <- sigaction -0 12312 9 func_abc.sh:- syscall -> sigaction -0 12312 9 func_abc.sh:- syscall <- sigaction -0 12312 9 func_abc.sh:- syscall -> sigaction -0 12312 8 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 8 func_abc.sh:- syscall <- sigaction -0 12312 9 func_abc.sh:- syscall -> sigaction -0 12312 9 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 9 func_abc.sh:- syscall <- sigaction -0 12312 9 func_abc.sh:- syscall -> sigaction -0 12312 8 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 8 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 9 func_abc.sh:- syscall <- sigaction -0 12312 9 func_abc.sh:- syscall -> sigaction -0 12312 9 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 9 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 8 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 8 func_abc.sh:- syscall <- sigaction -0 12312 9 func_abc.sh:- syscall -> sigaction -0 12312 9 func_abc.sh:- syscall <- sigaction -0 12312 9 func_abc.sh:- syscall -> sigaction -0 12312 8 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 8 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 8 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 9 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 9 func_abc.sh:- syscall <- sigaction -0 12312 9 func_abc.sh:- syscall -> sigaction -0 12312 8 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 8 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 9 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 9 func_abc.sh:- syscall <- sigaction -0 12312 9 func_abc.sh:- syscall -> sigaction -0 12312 9 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 8 func_abc.sh:- syscall <- sigaction -0 12312 10 func_abc.sh:- syscall -> sigaction -0 12312 8 func_abc.sh:- syscall <- sigaction -0 12312 18 func_abc.sh:- sh -> endstak -0 12312 18 func_abc.sh:- sh <- endstak -0 12312 60 func_abc.sh:- syscall -> brk -0 12312 9 func_abc.sh:- syscall <- brk -0 12312 10 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 13 func_abc.sh:- syscall -> getuid -0 12312 9 func_abc.sh:- syscall <- getuid -0 12312 10 func_abc.sh:- syscall -> getuid -0 12312 9 func_abc.sh:- syscall <- getuid -0 12312 11 func_abc.sh:- syscall -> getgid -0 12312 9 func_abc.sh:- syscall <- getgid -0 12312 11 func_abc.sh:- syscall -> getgid -0 12312 8 func_abc.sh:- syscall <- getgid -0 12312 16 func_abc.sh:- syscall -> open64 -0 12312 20 func_abc.sh:- syscall <- open64 -0 12312 11 func_abc.sh:- sh -> exfile -0 12312 10 func_abc.sh:- syscall -> close -0 12312 8 func_abc.sh:- syscall <- close -0 12312 24 func_abc.sh:- syscall -> fcntl -0 12312 23 func_abc.sh:- syscall <- fcntl -0 12312 10 func_abc.sh:- syscall -> close -0 12312 10 func_abc.sh:- syscall <- close -0 12312 9 func_abc.sh:- syscall -> fcntl -0 12312 8 func_abc.sh:- syscall <- fcntl -0 12312 28 func_abc.sh:- syscall -> ioctl -0 12312 42 func_abc.sh:- syscall <- ioctl -0 12312 10 func_abc.sh:- syscall -> ioctl -0 12312 9 func_abc.sh:- syscall <- ioctl -0 12312 14 func_abc.sh:- syscall -> read -0 12312 33 func_abc.sh:- syscall <- read -0 12312 11 func_abc.sh:- syscall -> brk -0 12312 20 func_abc.sh:- syscall <- brk -0 12312 13 func_abc.sh:- sh -> execute -0 12312 11 func_abc.sh:- sh <- execute -0 12312 10 func_abc.sh:- syscall -> brk -0 12312 9 func_abc.sh:- syscall <- brk -0 12312 10 func_abc.sh:- sh -> execute -0 12312 9 func_abc.sh:- sh <- execute -0 12312 10 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 10 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 10 func_abc.sh:- sh -> endstak -0 12312 29 func_abc.sh:- sh <- endstak -0 12312 10 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 10 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 9 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 9 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 10 func_abc.sh:- sh -> execute -0 12312 10 func_abc.sh:- sh <- execute -0 12312 9 func_abc.sh:- sh -> execute -0 12312 9 func_abc.sh:- sh <- execute -0 12312 9 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 9 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 10 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 10 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 9 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 9 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 10 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 10 func_abc.sh:- syscall -> brk -0 12312 9 func_abc.sh:- syscall <- brk -0 12312 10 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 9 func_abc.sh:- sh -> execute -0 12312 10 func_abc.sh:- sh <- execute -0 12312 9 func_abc.sh:- syscall -> brk -0 12312 9 func_abc.sh:- syscall <- brk -0 12312 10 func_abc.sh:- sh -> execute -0 12312 9 func_abc.sh:- sh <- execute -0 12312 9 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 9 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 9 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 10 func_abc.sh:- syscall -> read -0 12312 16 func_abc.sh:- syscall <- read -0 12312 10 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 10 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 9 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 9 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 25 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 10 func_abc.sh:- sh -> execute -0 12312 10 func_abc.sh:- sh <- execute -0 12312 10 func_abc.sh:- syscall -> brk -0 12312 9 func_abc.sh:- syscall <- brk -0 12312 10 func_abc.sh:- sh -> execute -0 12312 9 func_abc.sh:- sh <- execute -0 12312 9 func_abc.sh:- syscall -> brk -0 12312 9 func_abc.sh:- syscall <- brk -0 12312 10 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 9 func_abc.sh:- sh -> execute -0 12312 9 func_abc.sh:23 line --  -0 12312 14 func_abc.sh:- sh -> estabf -0 12312 10 func_abc.sh:- sh <- estabf -0 12312 10 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 18 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 12 func_abc.sh:- sh -> expand -0 12312 10 func_abc.sh:- sh <- expand -0 12312 14 func_abc.sh:23 func -> func_a -0 12312 14 func_abc.sh:- sh -> execute -0 12312 9 func_abc.sh:- sh -> execute -0 12312 8 func_abc.sh:18 line --  -0 12312 8 func_abc.sh:- sh -> estabf -0 12312 9 func_abc.sh:- sh <- estabf -0 12312 9 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 10 func_abc.sh:- sh -> endstak -0 12312 8 func_abc.sh:- sh <- endstak -0 12312 9 func_abc.sh:- sh -> expand -0 12312 9 func_abc.sh:- sh <- expand -0 12312 9 func_abc.sh:- sh -> estabf -0 12312 9 func_abc.sh:- sh <- estabf -0 12312 9 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 10 func_abc.sh:- sh -> endstak -0 12312 8 func_abc.sh:- sh <- endstak -0 12312 10 func_abc.sh:- sh -> expand -0 12312 9 func_abc.sh:- sh <- expand -0 12312 13 func_abc.sh:18 builtin -> echo -0 12312 15 func_abc.sh:- sh -> echo -0 12312 14 func_abc.sh:- syscall -> write -0 12312 35 func_abc.sh:- syscall <- write -0 12312 321 func_abc.sh:- sh <- echo -0 12312 13 func_abc.sh:0 builtin <- echo -0 12312 17 func_abc.sh:- sh <- execute -0 12312 9 func_abc.sh:- sh -> execute -0 12312 9 func_abc.sh:- sh -> execute -0 12312 8 func_abc.sh:19 line --  -0 12312 8 func_abc.sh:- sh -> estabf -0 12312 9 func_abc.sh:- sh <- estabf -0 12312 9 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 10 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 9 func_abc.sh:- sh -> expand -0 12312 9 func_abc.sh:- sh <- expand -0 12312 9 func_abc.sh:- sh -> estabf -0 12312 9 func_abc.sh:- sh <- estabf -0 12312 9 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 9 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 9 func_abc.sh:- sh -> expand -0 12312 9 func_abc.sh:- sh <- expand -0 12312 11 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 10 func_abc.sh:- syscall -> getuid -0 12312 9 func_abc.sh:- syscall <- getuid -0 12312 15 func_abc.sh:- syscall -> stat64 -0 12312 27 func_abc.sh:- syscall <- stat64 -0 12312 11 func_abc.sh:- syscall -> access -0 12312 15 func_abc.sh:- syscall <- access -0 12312 18 func_abc.sh:- syscall -> schedctl -0 12312 47 func_abc.sh:- syscall <- schedctl -0 12312 219 func_abc.sh:- syscall -> fork1 -0 12312 234375 func_abc.sh:- syscall <- fork1 -0 12312 277 func_abc.sh:- syscall -> lwp_sigmask -0 12312 13 func_abc.sh:- syscall <- lwp_sigmask -0 12312 33 func_abc.sh:19 cmd -> sleep -0 12312 59 func_abc.sh:- syscall -> waitsys -0 12312 870257 func_abc.sh:- syscall <- waitsys -0 12312 36 func_abc.sh:- syscall -> ioctl -0 12312 16 func_abc.sh:- syscall <- ioctl -0 12312 13 func_abc.sh:- syscall -> setpgrp -0 12312 9 func_abc.sh:- syscall <- setpgrp -0 12312 9 func_abc.sh:- syscall -> ioctl -0 12312 9 func_abc.sh:- syscall <- ioctl -0 12312 11 func_abc.sh:- syscall -> ioctl -0 12312 33 func_abc.sh:- syscall <- ioctl -0 12312 12 func_abc.sh:- syscall -> waitsys -0 12312 25 func_abc.sh:- syscall <- waitsys -0 12312 15 func_abc.sh:0 cmd <- sleep -0 12312 20 func_abc.sh:- sh <- execute -0 12312 15 func_abc.sh:- sh -> execute -0 12312 14 func_abc.sh:20 line --  -0 12312 13 func_abc.sh:- sh -> estabf -0 12312 10 func_abc.sh:- sh <- estabf -0 12312 11 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 12 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 11 func_abc.sh:- sh -> expand -0 12312 10 func_abc.sh:- sh <- expand -0 12312 17 func_abc.sh:20 func -> func_b -0 12312 14 func_abc.sh:- sh -> execute -0 12312 9 func_abc.sh:- sh -> execute -0 12312 8 func_abc.sh:11 line --  -0 12312 8 func_abc.sh:- sh -> estabf -0 12312 9 func_abc.sh:- sh <- estabf -0 12312 9 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 10 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 9 func_abc.sh:- sh -> expand -0 12312 9 func_abc.sh:- sh <- expand -0 12312 9 func_abc.sh:- sh -> estabf -0 12312 9 func_abc.sh:- sh <- estabf -0 12312 10 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 10 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 10 func_abc.sh:- sh -> expand -0 12312 9 func_abc.sh:- sh <- expand -0 12312 13 func_abc.sh:11 builtin -> echo -0 12312 15 func_abc.sh:- sh -> echo -0 12312 12 func_abc.sh:- syscall -> write -0 12312 32 func_abc.sh:- syscall <- write -0 12312 320 func_abc.sh:- sh <- echo -0 12312 12 func_abc.sh:0 builtin <- echo -0 12312 16 func_abc.sh:- sh <- execute -0 12312 9 func_abc.sh:- sh -> execute -0 12312 9 func_abc.sh:- sh -> execute -0 12312 8 func_abc.sh:12 line --  -0 12312 8 func_abc.sh:- sh -> estabf -0 12312 9 func_abc.sh:- sh <- estabf -0 12312 10 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 10 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 9 func_abc.sh:- sh -> expand -0 12312 9 func_abc.sh:- sh <- expand -0 12312 9 func_abc.sh:- sh -> estabf -0 12312 9 func_abc.sh:- sh <- estabf -0 12312 9 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 9 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 9 func_abc.sh:- sh -> expand -0 12312 9 func_abc.sh:- sh <- expand -0 12312 225 func_abc.sh:- syscall -> fork1 -0 12312 60940 func_abc.sh:- syscall <- fork1 -0 12312 243 func_abc.sh:- syscall -> lwp_sigmask -0 12312 15 func_abc.sh:- syscall <- lwp_sigmask -0 12312 31 func_abc.sh:12 cmd -> sleep -0 12312 31 func_abc.sh:- syscall -> waitsys -0 12312 1007422 func_abc.sh:- syscall <- waitsys -0 12312 28 func_abc.sh:- syscall -> ioctl -0 12312 17 func_abc.sh:- syscall <- ioctl -0 12312 11 func_abc.sh:- syscall -> setpgrp -0 12312 9 func_abc.sh:- syscall <- setpgrp -0 12312 9 func_abc.sh:- syscall -> ioctl -0 12312 9 func_abc.sh:- syscall <- ioctl -0 12312 9 func_abc.sh:- syscall -> ioctl -0 12312 38 func_abc.sh:- syscall <- ioctl -0 12312 12 func_abc.sh:- syscall -> waitsys -0 12312 26 func_abc.sh:- syscall <- waitsys -0 12312 15 func_abc.sh:0 cmd <- sleep -0 12312 32 func_abc.sh:- sh <- execute -0 12312 15 func_abc.sh:- sh -> execute -0 12312 14 func_abc.sh:13 line --  -0 12312 13 func_abc.sh:- sh -> estabf -0 12312 10 func_abc.sh:- sh <- estabf -0 12312 12 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 12 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 10 func_abc.sh:- sh -> expand -0 12312 10 func_abc.sh:- sh <- expand -0 12312 17 func_abc.sh:13 func -> func_c -0 12312 13 func_abc.sh:- sh -> execute -0 12312 9 func_abc.sh:- sh -> execute -0 12312 8 func_abc.sh:5 line --  -0 12312 8 func_abc.sh:- sh -> estabf -0 12312 9 func_abc.sh:- sh <- estabf -0 12312 9 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 10 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 9 func_abc.sh:- sh -> expand -0 12312 9 func_abc.sh:- sh <- expand -0 12312 9 func_abc.sh:- sh -> estabf -0 12312 9 func_abc.sh:- sh <- estabf -0 12312 10 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 10 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 10 func_abc.sh:- sh -> expand -0 12312 9 func_abc.sh:- sh <- expand -0 12312 13 func_abc.sh:5 builtin -> echo -0 12312 15 func_abc.sh:- sh -> echo -0 12312 12 func_abc.sh:- syscall -> write -0 12312 32 func_abc.sh:- syscall <- write -0 12312 309 func_abc.sh:- sh <- echo -0 12312 12 func_abc.sh:0 builtin <- echo -0 12312 16 func_abc.sh:- sh <- execute -0 12312 9 func_abc.sh:- sh -> execute -0 12312 9 func_abc.sh:6 line --  -0 12312 8 func_abc.sh:- sh -> estabf -0 12312 22 func_abc.sh:- sh <- estabf -0 12312 10 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 11 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 9 func_abc.sh:- sh -> expand -0 12312 9 func_abc.sh:- sh <- expand -0 12312 9 func_abc.sh:- sh -> estabf -0 12312 9 func_abc.sh:- sh <- estabf -0 12312 9 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 9 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 9 func_abc.sh:- sh -> expand -0 12312 9 func_abc.sh:- sh <- expand -0 12312 220 func_abc.sh:- syscall -> fork1 -0 12312 60982 func_abc.sh:- syscall <- fork1 -0 12312 239 func_abc.sh:- syscall -> lwp_sigmask -0 12312 15 func_abc.sh:- syscall <- lwp_sigmask -0 12312 30 func_abc.sh:6 cmd -> sleep -0 12312 30 func_abc.sh:- syscall -> waitsys -0 12312 1007259 func_abc.sh:- syscall <- waitsys -0 12312 29 func_abc.sh:- syscall -> ioctl -0 12312 17 func_abc.sh:- syscall <- ioctl -0 12312 11 func_abc.sh:- syscall -> setpgrp -0 12312 9 func_abc.sh:- syscall <- setpgrp -0 12312 9 func_abc.sh:- syscall -> ioctl -0 12312 9 func_abc.sh:- syscall <- ioctl -0 12312 9 func_abc.sh:- syscall -> ioctl -0 12312 35 func_abc.sh:- syscall <- ioctl -0 12312 12 func_abc.sh:- syscall -> waitsys -0 12312 25 func_abc.sh:- syscall <- waitsys -0 12312 15 func_abc.sh:0 cmd <- sleep -0 12312 31 func_abc.sh:- sh <- execute -0 12312 13 func_abc.sh:- sh <- execute -0 12312 11 func_abc.sh:- func <- func_c -0 12312 14 func_abc.sh:- sh <- execute -0 12312 9 func_abc.sh:- sh <- execute -0 12312 9 func_abc.sh:- sh <- execute -0 12312 9 func_abc.sh:- func <- func_b -0 12312 10 func_abc.sh:- sh <- execute -0 12312 18 func_abc.sh:- sh <- execute -0 12312 9 func_abc.sh:- sh <- execute -0 12312 9 func_abc.sh:- func <- func_a -0 12312 9 func_abc.sh:- sh <- execute -0 12312 12 func_abc.sh:- syscall -> brk -0 12312 11 func_abc.sh:- syscall <- brk -0 12312 12 func_abc.sh:- syscall -> read -0 12312 16 func_abc.sh:- syscall <- read -0 12312 10 func_abc.sh:- syscall -> ioctl -0 12312 9 func_abc.sh:- syscall <- ioctl -0 12312 10 func_abc.sh:- syscall -> ioctl -0 12312 8 func_abc.sh:- syscall <- ioctl -0 12312 11 func_abc.sh:- syscall -> close -0 12312 13 func_abc.sh:- syscall <- close -0 12312 12 func_abc.sh:- sh -> endjobs -0 12312 14 func_abc.sh:- sh <- endjobs -0 12312 10 func_abc.sh:- sh <- exfile -0 12312 11 func_abc.sh:- sh -> endjobs -0 12312 9 func_abc.sh:- sh <- endjobs -0 12312 37 func_abc.sh:- syscall -> open64 -0 12312 103 func_abc.sh:- syscall <- open64 -0 12312 11 func_abc.sh:- syscall -> ioctl -0 12312 11 func_abc.sh:- syscall <- ioctl -0 12312 11 func_abc.sh:- syscall -> close -0 12312 15 func_abc.sh:- syscall <- close -0 12312 32 func_abc.sh:- syscall -> rexit - -Here you can see the output showing the path the script follows as it is -executed. - -At the end of the sh_syscolor_example.txt file, you can see the steps that the -script goes through when it runs func_a. The output contains the two -consecutive lines: - -0 12979 14 func_abc.sh:23 line --  -0 12979 32 func_abc.sh:23 func -> func_a - -Here we trace many more events that happen in between these two lines, as seen -below: - -0 12312 9 func_abc.sh:23 line --  -0 12312 14 func_abc.sh:- sh -> estabf -0 12312 10 func_abc.sh:- sh <- estabf -0 12312 10 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 18 func_abc.sh:- sh -> endstak -0 12312 9 func_abc.sh:- sh <- endstak -0 12312 12 func_abc.sh:- sh -> expand -0 12312 10 func_abc.sh:- sh <- expand -0 12312 14 func_abc.sh:23 func -> func_a -0 12312 14 func_abc.sh:- sh -> execute -0 12312 9 func_abc.sh:- sh -> execute - diff --git a/cddl/contrib/dtracetoolkit/Examples/sh_stat_example.txt b/cddl/contrib/dtracetoolkit/Examples/sh_stat_example.txt deleted file mode 100644 index a44a5638f66a..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/sh_stat_example.txt +++ /dev/null @@ -1,44 +0,0 @@ -Following are examples of running sh_stat.d on Shell scripts. - -sh_stat.d shows you the number of events per second that have happened since -the last line output. The default interval is 1 second, but you can specify -other intervals as arguments to the script. - -This shows the sh_stat.d script reflecting the Code/Shell/func_slow.sh script. - - # sh_stat.d - TIME EXEC/s FUNCS/s BLTINS/s SUB-SH/s CMD/s - 2007 Sep 17 03:29:02 1 1 50 96 0 - 2007 Sep 17 03:29:03 0 1 151 300 0 - 2007 Sep 17 03:29:04 0 1 142 280 0 - 2007 Sep 17 03:29:05 0 0 132 262 0 - 2007 Sep 17 03:29:06 0 0 122 245 0 - 2007 Sep 17 03:29:07 0 0 9 17 0 - 2007 Sep 17 03:29:08 0 0 0 0 0 - 2007 Sep 17 03:29:09 0 0 0 0 0 - ^C - -We can see that at 2007 Sep 17 03:29:04 there were 0 Bourne shells executed, -one function called, 142 built-in commands called, 280 sub-shells created and -0 external commands called. - - -Here the script runs when Mozilla Firefox is started. - - # sh_stat.d - TIME EXEC/s FUNCS/s BLTINS/s SUB-SH/s CMD/s - 2007 Sep 17 03:29:52 1 9 52 38 2 - 2007 Sep 17 03:29:53 0 0 0 0 0 - 2007 Sep 17 03:29:54 0 0 0 0 0 - 2007 Sep 17 03:29:55 0 0 0 0 0 - 2007 Sep 17 03:29:56 0 0 0 0 0 - 2007 Sep 17 03:29:57 0 0 0 0 0 - 2007 Sep 17 03:29:58 0 0 0 0 0 - 2007 Sep 17 03:29:59 0 0 0 0 0 - 2007 Sep 17 03:30:00 0 0 0 0 0 - 2007 Sep 17 03:30:01 1 1 8 0 0 - 2007 Sep 17 03:30:02 0 0 0 0 0 - 2007 Sep 17 03:30:03 0 0 0 0 0 - 2007 Sep 17 03:30:04 0 0 0 0 0 - ^C - diff --git a/cddl/contrib/dtracetoolkit/Examples/sh_syscalls_example.txt b/cddl/contrib/dtracetoolkit/Examples/sh_syscalls_example.txt deleted file mode 100644 index fbda09525d30..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/sh_syscalls_example.txt +++ /dev/null @@ -1,59 +0,0 @@ -The following are examples of sh_syscalls.d. - -This is a simple script to count Shell functions, built-ins, external command -executions and system calls. Here we trace an example program - -Code/Shell/func_abc.sh. - -# sh_syscalls.d -c ./func_abc.sh -o /tmp/out -Function A -Function B -Function C - -# cat /tmp/out -Tracing... Hit Ctrl-C to end. - -Calls for PID 12966, - - FILE TYPE NAME COUNT - func_abc.sh func func_a 1 - func_abc.sh func func_b 1 - func_abc.sh func func_c 1 - func_abc.sh syscall getrlimit 1 - func_abc.sh syscall mmap 1 - func_abc.sh syscall munmap 1 - func_abc.sh syscall rexit 1 - func_abc.sh syscall schedctl 1 - func_abc.sh syscall sigaltstack 1 - func_abc.sh syscall stat64 1 - func_abc.sh syscall sysi86 1 - func_abc.sh syscall access 2 - func_abc.sh syscall fcntl 2 - func_abc.sh syscall getgid 2 - func_abc.sh syscall getpid 2 - func_abc.sh syscall setcontext 2 - func_abc.sh syscall sysconfig 2 - func_abc.sh builtin echo 3 - func_abc.sh cmd sleep 3 - func_abc.sh syscall fork1 3 - func_abc.sh syscall getuid 3 - func_abc.sh syscall lwp_sigmask 3 - func_abc.sh syscall open64 3 - func_abc.sh syscall read 3 - func_abc.sh syscall write 3 - func_abc.sh syscall close 5 - func_abc.sh syscall setpgrp 5 - func_abc.sh syscall waitsys 6 - func_abc.sh syscall brk 9 - func_abc.sh syscall ioctl 15 - func_abc.sh syscall sigaction 53 - -While tracing, three functions were called - func_a(), func_b() and -func_c(). There were 3 instances of the shell built-in 'echo' being called, -and 3 executions of the sleep command (which is probably /usr/bin/sleep - use -the syscall provider to confirm). There were numerous system calls made, -including 9 brk()'s, 15 ioctl()'s and 53 sigaction()'s. - -This script can provide an insight to how a script is interacting -with the system, by providing function calls, commands, built-ins and system -calls in the same output. - diff --git a/cddl/contrib/dtracetoolkit/Examples/sh_syscolors_example.txt b/cddl/contrib/dtracetoolkit/Examples/sh_syscolors_example.txt deleted file mode 100644 index ccc722a825ba..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/sh_syscolors_example.txt +++ /dev/null @@ -1,328 +0,0 @@ -The following are examples of sh_syscolors.d. - -This is a simple script to trace the flow of Shell functions, lines, and -system calls made. It renders the output in color ("colour") using terminal -escape sequences (which you can tweak by modifying the script). - -Here it traces the example program, Code/Shell/func_abc.sh. - -WARNING: This output is full of terminal escape sequences, so if you are -trying to view this through an editor or web browser - it may look awful. -Try viewing this using "more" (although, depending on your terminal, it -still may look awful). - -# sh_syscolors.d -c ./func_abc.sh -o /tmp/out -Function A -Function B -Function C - -# cat /tmp/out -C PID DELTA(us) FILE:LINE TYPE -- NAME -0 12979 2 func_abc.sh:- syscall -> munmap -0 12979 35 func_abc.sh:- syscall <- munmap -0 12979 56 func_abc.sh:- syscall -> mmap -0 12979 18 func_abc.sh:- syscall <- mmap -0 12979 40 func_abc.sh:- syscall -> setcontext -0 12979 11 func_abc.sh:- syscall <- setcontext -0 12979 11 func_abc.sh:- syscall -> getrlimit -0 12979 11 func_abc.sh:- syscall <- getrlimit -0 12979 10 func_abc.sh:- syscall -> getpid -0 12979 9 func_abc.sh:- syscall <- getpid -0 12979 61 func_abc.sh:- syscall -> setcontext -0 12979 9 func_abc.sh:- syscall <- setcontext -0 12979 865 func_abc.sh:- syscall -> sysi86 -0 12979 14 func_abc.sh:- syscall <- sysi86 -0 12979 84 func_abc.sh:- syscall -> open64 -0 12979 89 func_abc.sh:- syscall <- open64 -0 12979 14 func_abc.sh:- syscall -> ioctl -0 12979 35 func_abc.sh:- syscall <- ioctl -0 12979 15 func_abc.sh:- syscall -> close -0 12979 16 func_abc.sh:- syscall <- close -0 12979 119 func_abc.sh:- syscall -> getpid -0 12979 10 func_abc.sh:- syscall <- getpid -0 12979 17 func_abc.sh:- syscall -> setpgrp -0 12979 10 func_abc.sh:- syscall <- setpgrp -0 12979 11 func_abc.sh:- syscall -> setpgrp -0 12979 8 func_abc.sh:- syscall <- setpgrp -0 12979 12 func_abc.sh:- syscall -> access -0 12979 20 func_abc.sh:- syscall <- access -0 12979 15 func_abc.sh:- syscall -> brk -0 12979 11 func_abc.sh:- syscall <- brk -0 12979 15 func_abc.sh:- syscall -> sysconfig -0 12979 9 func_abc.sh:- syscall <- sysconfig -0 12979 9 func_abc.sh:- syscall -> sysconfig -0 12979 9 func_abc.sh:- syscall <- sysconfig -0 12979 11 func_abc.sh:- syscall -> sigaltstack -0 12979 9 func_abc.sh:- syscall <- sigaltstack -0 12979 16 func_abc.sh:- syscall -> sigaction -0 12979 10 func_abc.sh:- syscall <- sigaction -0 12979 12 func_abc.sh:- syscall -> sigaction -0 12979 9 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 9 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 9 func_abc.sh:- syscall <- sigaction -0 12979 10 func_abc.sh:- syscall -> sigaction -0 12979 9 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 9 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 9 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 8 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 8 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 9 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 9 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 9 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 9 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 9 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 9 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 9 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 8 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 8 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 9 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 9 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 9 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 8 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 8 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 9 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 8 func_abc.sh:- syscall <- sigaction -0 12979 10 func_abc.sh:- syscall -> sigaction -0 12979 8 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 8 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 9 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 9 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 8 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 8 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 9 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 9 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 8 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 8 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 9 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 9 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 9 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 8 func_abc.sh:- syscall <- sigaction -0 12979 10 func_abc.sh:- syscall -> sigaction -0 12979 8 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 9 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 8 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 8 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 8 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 9 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 9 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 8 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 8 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 9 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 9 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 9 func_abc.sh:- syscall <- sigaction -0 12979 9 func_abc.sh:- syscall -> sigaction -0 12979 8 func_abc.sh:- syscall <- sigaction -0 12979 10 func_abc.sh:- syscall -> sigaction -0 12979 9 func_abc.sh:- syscall <- sigaction -0 12979 61 func_abc.sh:- syscall -> brk -0 12979 9 func_abc.sh:- syscall <- brk -0 12979 13 func_abc.sh:- syscall -> getuid -0 12979 9 func_abc.sh:- syscall <- getuid -0 12979 10 func_abc.sh:- syscall -> getuid -0 12979 8 func_abc.sh:- syscall <- getuid -0 12979 11 func_abc.sh:- syscall -> getgid -0 12979 9 func_abc.sh:- syscall <- getgid -0 12979 10 func_abc.sh:- syscall -> getgid -0 12979 9 func_abc.sh:- syscall <- getgid -0 12979 15 func_abc.sh:- syscall -> open64 -0 12979 19 func_abc.sh:- syscall <- open64 -0 12979 11 func_abc.sh:- syscall -> close -0 12979 9 func_abc.sh:- syscall <- close -0 12979 24 func_abc.sh:- syscall -> fcntl -0 12979 23 func_abc.sh:- syscall <- fcntl -0 12979 10 func_abc.sh:- syscall -> close -0 12979 10 func_abc.sh:- syscall <- close -0 12979 9 func_abc.sh:- syscall -> fcntl -0 12979 9 func_abc.sh:- syscall <- fcntl -0 12979 28 func_abc.sh:- syscall -> ioctl -0 12979 42 func_abc.sh:- syscall <- ioctl -0 12979 10 func_abc.sh:- syscall -> ioctl -0 12979 9 func_abc.sh:- syscall <- ioctl -0 12979 14 func_abc.sh:- syscall -> read -0 12979 33 func_abc.sh:- syscall <- read -0 12979 11 func_abc.sh:- syscall -> brk -0 12979 21 func_abc.sh:- syscall <- brk -0 12979 12 func_abc.sh:- syscall -> brk -0 12979 9 func_abc.sh:- syscall <- brk -0 12979 19 func_abc.sh:- syscall -> brk -0 12979 9 func_abc.sh:- syscall <- brk -0 12979 11 func_abc.sh:- syscall -> brk -0 12979 9 func_abc.sh:- syscall <- brk -0 12979 11 func_abc.sh:- syscall -> read -0 12979 15 func_abc.sh:- syscall <- read -0 12979 28 func_abc.sh:- syscall -> brk -0 12979 9 func_abc.sh:- syscall <- brk -0 12979 10 func_abc.sh:- syscall -> brk -0 12979 8 func_abc.sh:- syscall <- brk -0 12979 14 func_abc.sh:23 line --  -0 12979 32 func_abc.sh:23 func -> func_a -0 12979 16 func_abc.sh:18 line --  -0 12979 18 func_abc.sh:18 builtin -> echo -0 12979 21 func_abc.sh:- syscall -> write -0 12979 33 func_abc.sh:- syscall <- write -0 12979 311 func_abc.sh:0 builtin <- echo -0 12979 65 func_abc.sh:19 line --  -0 12979 17 func_abc.sh:- syscall -> getuid -0 12979 10 func_abc.sh:- syscall <- getuid -0 12979 15 func_abc.sh:- syscall -> stat64 -0 12979 25 func_abc.sh:- syscall <- stat64 -0 12979 11 func_abc.sh:- syscall -> access -0 12979 15 func_abc.sh:- syscall <- access -0 12979 18 func_abc.sh:- syscall -> schedctl -0 12979 46 func_abc.sh:- syscall <- schedctl -0 12979 220 func_abc.sh:- syscall -> fork1 -0 12979 258957 func_abc.sh:- syscall <- fork1 -0 12979 244 func_abc.sh:- syscall -> lwp_sigmask -0 12979 16 func_abc.sh:- syscall <- lwp_sigmask -0 12979 31 func_abc.sh:19 cmd -> sleep -0 12979 53 func_abc.sh:- syscall -> waitsys -0 12979 1008036 func_abc.sh:- syscall <- waitsys -0 12979 38 func_abc.sh:- syscall -> ioctl -0 12979 18 func_abc.sh:- syscall <- ioctl -0 12979 12 func_abc.sh:- syscall -> setpgrp -0 12979 10 func_abc.sh:- syscall <- setpgrp -0 12979 9 func_abc.sh:- syscall -> ioctl -0 12979 9 func_abc.sh:- syscall <- ioctl -0 12979 11 func_abc.sh:- syscall -> ioctl -0 12979 37 func_abc.sh:- syscall <- ioctl -0 12979 12 func_abc.sh:- syscall -> waitsys -0 12979 26 func_abc.sh:- syscall <- waitsys -0 12979 14 func_abc.sh:0 cmd <- sleep -0 12979 21 func_abc.sh:20 line --  -0 12979 28 func_abc.sh:20 func -> func_b -0 12979 15 func_abc.sh:11 line --  -0 12979 17 func_abc.sh:11 builtin -> echo -0 12979 19 func_abc.sh:- syscall -> write -0 12979 33 func_abc.sh:- syscall <- write -0 12979 310 func_abc.sh:0 builtin <- echo -0 12979 16 func_abc.sh:12 line --  -0 12979 226 func_abc.sh:- syscall -> fork1 -0 12979 64931 func_abc.sh:- syscall <- fork1 -0 12979 262 func_abc.sh:- syscall -> lwp_sigmask -0 12979 16 func_abc.sh:- syscall <- lwp_sigmask -0 12979 31 func_abc.sh:12 cmd -> sleep -0 12979 31 func_abc.sh:- syscall -> waitsys -0 12979 1003941 func_abc.sh:- syscall <- waitsys -0 12979 30 func_abc.sh:- syscall -> ioctl -0 12979 19 func_abc.sh:- syscall <- ioctl -0 12979 11 func_abc.sh:- syscall -> setpgrp -0 12979 9 func_abc.sh:- syscall <- setpgrp -0 12979 9 func_abc.sh:- syscall -> ioctl -0 12979 9 func_abc.sh:- syscall <- ioctl -0 12979 9 func_abc.sh:- syscall -> ioctl -0 12979 38 func_abc.sh:- syscall <- ioctl -0 12979 11 func_abc.sh:- syscall -> waitsys -0 12979 26 func_abc.sh:- syscall <- waitsys -0 12979 14 func_abc.sh:0 cmd <- sleep -0 12979 33 func_abc.sh:13 line --  -0 12979 27 func_abc.sh:13 func -> func_c -0 12979 15 func_abc.sh:5 line --  -0 12979 17 func_abc.sh:5 builtin -> echo -0 12979 20 func_abc.sh:- syscall -> write -0 12979 33 func_abc.sh:- syscall <- write -0 12979 309 func_abc.sh:0 builtin <- echo -0 12979 17 func_abc.sh:6 line --  -0 12979 267 func_abc.sh:- syscall -> fork1 -0 12979 64649 func_abc.sh:- syscall <- fork1 -0 12979 257 func_abc.sh:- syscall -> lwp_sigmask -0 12979 16 func_abc.sh:- syscall <- lwp_sigmask -0 12979 31 func_abc.sh:6 cmd -> sleep -0 12979 31 func_abc.sh:- syscall -> waitsys -0 12979 1004183 func_abc.sh:- syscall <- waitsys -0 12979 31 func_abc.sh:- syscall -> ioctl -0 12979 18 func_abc.sh:- syscall <- ioctl -0 12979 11 func_abc.sh:- syscall -> setpgrp -0 12979 9 func_abc.sh:- syscall <- setpgrp -0 12979 9 func_abc.sh:- syscall -> ioctl -0 12979 9 func_abc.sh:- syscall <- ioctl -0 12979 9 func_abc.sh:- syscall -> ioctl -0 12979 38 func_abc.sh:- syscall <- ioctl -0 12979 12 func_abc.sh:- syscall -> waitsys -0 12979 27 func_abc.sh:- syscall <- waitsys -0 12979 14 func_abc.sh:0 cmd <- sleep -0 12979 32 func_abc.sh:- func <- func_c -0 12979 16 func_abc.sh:- func <- func_b -0 12979 10 func_abc.sh:- func <- func_a -0 12979 13 func_abc.sh:- syscall -> brk -0 12979 12 func_abc.sh:- syscall <- brk -0 12979 12 func_abc.sh:- syscall -> read -0 12979 16 func_abc.sh:- syscall <- read -0 12979 10 func_abc.sh:- syscall -> ioctl -0 12979 9 func_abc.sh:- syscall <- ioctl -0 12979 10 func_abc.sh:- syscall -> ioctl -0 12979 9 func_abc.sh:- syscall <- ioctl -0 12979 11 func_abc.sh:- syscall -> close -0 12979 13 func_abc.sh:- syscall <- close -0 12979 37 func_abc.sh:- syscall -> open64 -0 12979 105 func_abc.sh:- syscall <- open64 -0 12979 11 func_abc.sh:- syscall -> ioctl -0 12979 11 func_abc.sh:- syscall <- ioctl -0 12979 11 func_abc.sh:- syscall -> close -0 12979 15 func_abc.sh:- syscall <- close -0 12979 31 func_abc.sh:- syscall -> rexit - -Here you can see the output showing the path the script follows as it is -executed. - -ie: -0 12979 14 func_abc.sh:23 line --  -0 12979 32 func_abc.sh:23 func -> func_a -0 12979 16 func_abc.sh:18 line --  -0 12979 18 func_abc.sh:18 builtin -> echo -0 12979 21 func_abc.sh:- syscall -> write -0 12979 33 func_abc.sh:- syscall <- write -0 12979 311 func_abc.sh:0 builtin <- echo -0 12979 65 func_abc.sh:19 line --  - -shows that on CPU 0 we run func_a (which is line 23 of the example script), -where it uses the shell built-in echo command (on line 18 of the example -script) to write a line of text to the screen. You can see in column 3 (the -delta time) it takes 311 microseconds from when the write syscall finishes to -when the echo built-in completes its clean-up and finishes. - diff --git a/cddl/contrib/dtracetoolkit/Examples/sh_wasted_example.txt b/cddl/contrib/dtracetoolkit/Examples/sh_wasted_example.txt deleted file mode 100644 index b11f9523db39..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/sh_wasted_example.txt +++ /dev/null @@ -1,45 +0,0 @@ -Many shell programmers are in the habit of using calls to external commands -instead of using shell built-in commands (an example of this is a call to -usr/bin/echo instead of using the echo command built into the shell. - -This script shows sh_wasted.d tracing a shell script that calls /usr/bin/echo -instead of using the built-in. - -# sh_wasted.d -c ./func_waste.sh -Tracing... Hit Ctrl-C to end. -Function A -Function B -Function C -Script duration: 3101631 us - -External command elapsed times, - FILE NAME TIME(us) - func_waste.sh sleep 3019573 - -Wasted command elapsed times, - FILE NAME TIME(us) - func_waste.sh /usr/bin/echo 26510 - -You can see that the calls to /usr/bin/echo took around 26 thousand -microseconds; time wasted by the shell having to access an external command. - - -Here we trace the same script, except it uses the shell built-in echo command. - -# sh_wasted.d -c ./func_abc.sh -Function A -Tracing... Hit Ctrl-C to end. -Function B -Function C -Script duration: 3032616 us - -External command elapsed times, - FILE NAME TIME(us) - func_abc.sh sleep 3012920 - -Wasted command elapsed times, - FILE NAME TIME(us) - -The total time here is less and there are no 'wasted' calls to external -commands. - diff --git a/cddl/contrib/dtracetoolkit/Examples/sh_who_example.txt b/cddl/contrib/dtracetoolkit/Examples/sh_who_example.txt deleted file mode 100644 index b35e8e4531d9..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/sh_who_example.txt +++ /dev/null @@ -1,45 +0,0 @@ -These are examples of the results after running the sh_who.d script. - -This script shows which UIDs and PIDs are running shell scripts, and how -active they are. It measures the number of lines executed according to -the line probe - which is a useful, but rough measure of shell activity. - -Here it runs as a script executes three times. - -# sh_who.d -Tracing... Hit Ctrl-C to end. -^C - PID UID LINES FILE - 13663 0 9 ./func_abc.sh - 13667 0 9 ./func_abc.sh - 13671 0 9 ./func_abc.sh - -We see func_abc.sh ran three seperate times, each with nine lines of shell -activity. - - -Here we trace an instance of starting Mozilla Firefox. - -# sh_who.d -Tracing... Hit Ctrl-C to end. -^C - PID UID LINES FILE - 13678 100 1 firefox - 13679 100 1 firefox - 13680 100 1 firefox - 13681 100 1 firefox - 13683 100 1 firefox - 13685 100 1 firefox - 13686 100 1 firefox - 13687 100 1 firefox - 13690 100 1 firefox - 13693 100 1 /usr/lib/firefox/run-mozilla.sh - 13694 100 1 /usr/lib/firefox/run-mozilla.sh - 13695 100 1 /usr/lib/firefox/run-mozilla.sh - 13692 100 55 /usr/lib/firefox/run-mozilla.sh - 13677 100 75 firefox - -Firefox itself (PID 13677) ran 75 lines of code. There are also instances of -firefox running a single line of code with a different PID each time. These -are probably calls to subshells. Use the sh provider to confirm. - diff --git a/cddl/contrib/dtracetoolkit/Examples/shellsnoop_example.txt b/cddl/contrib/dtracetoolkit/Examples/shellsnoop_example.txt deleted file mode 100644 index be307f80f63e..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/shellsnoop_example.txt +++ /dev/null @@ -1,112 +0,0 @@ -shellsnoop captures the text input and output from shells running on the -system. In the following example shellsnoop was run in one window, while -in another several commands were run: date, cal, uname -a, uptime and find. -shellsnoop has successfully captured the text that was displayed on the -other window. - - -# shellsnoop - PID PPID CMD DIR TEXT - 4724 3762 ksh R - 4724 3762 ksh W date - - 4741 4724 date W Sun Mar 28 23:10:06 EST 2004 - 4724 3762 ksh R - 4724 3762 ksh W jupiter:/etc/init.d> - 4724 3762 ksh R - 4724 3762 ksh R - 4724 3762 ksh W cal - - 4742 4724 cal W March 2004 - 4742 4724 cal W S M Tu W Th F S - 4742 4724 cal W 1 2 3 4 5 6 - 4742 4724 cal W 7 8 9 10 11 12 13 - 4742 4724 cal W 14 15 16 17 18 19 20 - 4742 4724 cal W 21 22 23 24 25 26 27 - 4742 4724 cal W 28 29 30 31 - 4742 4724 cal W - 4724 3762 ksh R - 4724 3762 ksh W jupiter:/etc/init.d> - 4724 3762 ksh R - 4724 3762 ksh R - 4724 3762 ksh W uname -a - - 4743 4724 uname W SunOS jupiter 5.10 s10_51 i86pc i386 i86pc - 4724 3762 ksh R - 4724 3762 ksh W jupiter:/etc/init.d> - 4724 3762 ksh R - 4724 3762 ksh R - 4724 3762 ksh W uptime - - 4744 4724 uptime W 11:10pm up 4 day(s), 11:15, 4 users, load average: 0.05, 0.02, 0.02 - 4724 3762 ksh R - 4724 3762 ksh W jupiter:/etc/init.d> - 4724 3762 ksh R - 4724 3762 ksh R - 4724 3762 ksh R - 4724 3762 ksh W jupiter:/etc/init.d> - 4724 3762 ksh R - 4724 3762 ksh R - 4724 3762 ksh W ls -l d* - - 4745 4724 ls W -rwxr--r-- 3 root sys 1292 Jan 14 16:24 devfsadm - 4745 4724 ls W -rwxr--r-- 1 root sys 904 Jan 14 16:24 devlinks - 4745 4724 ls W -rwxr--r-- 6 root sys 621 Jan 14 16:17 dhcp - 4745 4724 ls W -rwxr--r-- 2 root sys 494 Jan 14 16:17 dhcpagent - 4745 4724 ls W -rwxr--r-- 5 root sys 1050 Jan 16 2002 directory - 4745 4724 ls W -rwxr--r-- 2 root sys 779 Jan 14 16:17 domainname - 4745 4724 ls W -rwxr--r-- 1 root sys 469 Jan 14 16:24 drvconfig - 4745 4724 ls W -r-xr-xr-x 4 root other 2804 Mar 27 13:37 dtlogin - 4724 3762 ksh R - 4724 3762 ksh W jupiter:/etc/init.d> - 4724 3762 ksh R - 4724 3762 ksh R - 4724 3762 ksh W find /etc/default - - 4746 4724 find W /etc/default - 4746 4724 find W /etc/default/cron - 4746 4724 find W /etc/default/devfsadm - 4746 4724 find W /etc/default/dhcpagent - 4746 4724 find W /etc/default/fs - 4746 4724 find W /etc/default/inetd - 4746 4724 find W /etc/default/inetinit - 4746 4724 find W /etc/default/kbd - 4746 4724 find W /etc/default/keyserv - 4746 4724 find W /etc/default/ipsec - 4746 4724 find W /etc/default/nss - 4746 4724 find W /etc/default/passwd - 4746 4724 find W /etc/default/syslogd - 4746 4724 find W /etc/default/tar - 4746 4724 find W /etc/default/utmpd - 4746 4724 find W /etc/default/init - 4746 4724 find W /etc/default/login - 4746 4724 find W /etc/default/su - 4746 4724 find W /etc/default/power - 4746 4724 find W /etc/default/sys-suspend - 4746 4724 find W /etc/default/rpc.nisd - 4746 4724 find W /etc/default/nfs -[...] - - - -shellsnoop has a "-q" option for running in "quiet" mode - the previous -columns are not printed, so only shell output is seen, - - # shellsnoop -q - # date - Wed Nov 30 16:19:48 EST 2005 - # - # cal - November 2005 - S M Tu W Th F S - 1 2 3 4 5 - 6 7 8 9 10 11 12 - 13 14 15 16 17 18 19 - 20 21 22 23 24 25 26 - 27 28 29 30 - - # - -The output appears somewhat boring, this is something you need to see -in realtime. - diff --git a/cddl/contrib/dtracetoolkit/Examples/shortlived_example.txt b/cddl/contrib/dtracetoolkit/Examples/shortlived_example.txt deleted file mode 100644 index ebe46925095a..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/shortlived_example.txt +++ /dev/null @@ -1,57 +0,0 @@ -The following is an example of the shortlived.d program. -It can measure time spent processing short lived processes, -that may be responsible for heavy load on the system but -are usually difficult to see with sampling tools like prstat. - - - -Here we run in for a few seconds on a server, - - # shortlived.d - Tracing... Hit Ctrl-C to stop. - ^C - short lived processes: 0.456 secs - total sample duration: 9.352 secs - - Total time by process name, - date 12 ms - df 20 ms - ls 40 ms - perl 380 ms - - Total time by PPID, - 3279 452 ms - -In the above output, around 5% of the CPU was lost to short -lived processes - mostly perl. This may be many perl processes, -here we are aggregating on the process name not the instance. - - - -Now shortlived.d is run on a server with a performance problem, - - # uptime - 10:58pm up 5 day(s), 1:28, 1 user, load average: 2.20, 1.81, 1.04 - # - # shortlived.d - Tracing... Hit Ctrl-C to stop. - ^C - short lived processes: 4.546 secs - total sample duration: 9.858 secs - - Total time by process name, - expr 4122 ms - - Total time by PPID, - 3279 4122 ms - # - # ps -p 3279 - PID TTY TIME CMD - 3279 pts/10 0:45 report.sh - -shortlived.d showed that 50% of the CPU was consumed by short lived -processes, all of them the "expr" command, and all having the -parent proccess-ID 3279. We finished by checking PID 3279 to find -it is a Bourne shell script called "report.sh". - - diff --git a/cddl/contrib/dtracetoolkit/Examples/sigdist_example.txt b/cddl/contrib/dtracetoolkit/Examples/sigdist_example.txt deleted file mode 100644 index 88b9df461f32..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/sigdist_example.txt +++ /dev/null @@ -1,18 +0,0 @@ -The following is a demonstration of the sigdist.d script. - - -Here we run sigdist.d, and in another window we kill -9 a sleep process, - - # ./sigdist.d - Tracing... Hit Ctrl-C to end. - ^C - SENDER RECIPIENT SIG COUNT - sched dtrace 2 1 - sched bash 18 1 - bash sleep 9 1 - sched Xorg 14 55 - -We can see the signal sent from bash to sleep. We can also see that Xorg -has recieved 55 signal 14s. a "man -s3head signal" may help explain what -signal 14 is (alarm clock). - diff --git a/cddl/contrib/dtracetoolkit/Examples/stacksize_example.txt b/cddl/contrib/dtracetoolkit/Examples/stacksize_example.txt deleted file mode 100644 index 156f351d8684..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/stacksize_example.txt +++ /dev/null @@ -1,87 +0,0 @@ -The following is a domonstration of the stacksize.d script. - - -Here it is run for a few seconds then Ctrl-C is hit. The output prints -distrubition plots of the size of the user stack as the value, and the -number of times sampled at that size as the count. - - # ./stacksize.d - Sampling... Hit Ctrl-C to end - - - automountd - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - - nscd - value ------------- Distribution ------------- count - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 256 | 0 - - svc.startd - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 5 - 512 | 0 - - sshd - value ------------- Distribution ------------- count - 1024 | 0 - 2048 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 4096 | 0 - - dtrace - value ------------- Distribution ------------- count - 512 | 0 - 1024 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 5 - 2048 | 0 - - nautilus - value ------------- Distribution ------------- count - 1024 | 0 - 2048 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 4096 | 0 - - Xvnc - value ------------- Distribution ------------- count - 1024 | 0 - 2048 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 4096 | 0 - - gnome-vfs-daemon - value ------------- Distribution ------------- count - 2048 | 0 - 4096 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 8192 | 0 - - Xorg - value ------------- Distribution ------------- count - 2048 | 0 - 4096 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 6 - 8192 | 0 - - gnome-terminal - value ------------- Distribution ------------- count - 1024 | 0 - 2048 |@@@@@@@@@@@@@@@@ 7 - 4096 |@@@@@@@@@@@@@@@@@@@@@@@@ 11 - 8192 | 0 - - acroread - value ------------- Distribution ------------- count - 1024 | 0 - 2048 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 92 - 4096 | 0 - - perl - value ------------- Distribution ------------- count - 512 | 0 - 1024 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1945 - 2048 | 0 - - - Errors: - diff --git a/cddl/contrib/dtracetoolkit/Examples/statsnoop_example.txt b/cddl/contrib/dtracetoolkit/Examples/statsnoop_example.txt deleted file mode 100644 index 842017ea4331..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/statsnoop_example.txt +++ /dev/null @@ -1,94 +0,0 @@ -The following is an example of the statsnoop tool. - - -statsnoop is a companion to opensnoop, which traces a variety of stat() -calls rather than open() calls. - -Here I run statsnoop on my idle laptop for about 3 seconds, - - # statsnoop - UID PID COMM FD PATH - 0 1485 dtrace 0 /devices/pseudo/pts@0:6 - 100 791 dtwm -1 /usr/mail/brendan - 100 791 dtwm -1 /usr/mail/brendan - 100 791 dtwm -1 /usr/mail/brendan - 100 791 dtwm -1 /usr/mail/brendan - 100 795 sdtperfmeter 0 /devices/pseudo/mm@0:null - 0 803 rpc.rstatd 0 /devices/pseudo/udp@0:udp - 0 803 rpc.rstatd 0 /devices/pseudo/udp@0:udp - 100 795 sdtperfmeter 0 /devices/pseudo/mm@0:null - 100 791 dtwm 0 /export/home/brendan/.dt/Trash/.trashinfo - 100 791 dtwm 0 /export/home/brendan/.dt/Trash/.trashinfo - 100 791 dtwm 0 /devices/pseudo/mm@0:null - 100 783 ttsession 0 /devices/pseudo/pts@0:3 - 100 783 ttsession 0 /devices/pseudo/pts@0:3 - 100 783 ttsession 0 /devices/pseudo/pts@0:3 - 100 791 dtwm 0 /devices/pseudo/mm@0:null - 100 783 ttsession 0 /devices/pseudo/pts@0:3 - 100 783 ttsession 0 /devices/pseudo/pts@0:3 - 100 791 dtwm 0 /devices/pseudo/mm@0:null - 100 791 dtwm 0 /devices/pseudo/mm@0:null - 100 792 dtfile 0 /devices/pseudo/mm@0:null - 100 783 ttsession 0 /devices/pseudo/pts@0:3 - ^C - -It is interesting what turns up. In the above output, a "dtwm" process -with process ID 791 called stat on /usr/mail/brendan and received -1 as -a return value - as this file does not exist. (when were mailboxes ever -stored in /usr/mail??). - - -statsnoop has a variety of options, as opensnoop does. Here I trace stat()s -from processes called "bash", while a new bash shell is executed, - - # statsnoop -n bash - UID PID COMM FD PATH - 100 1493 bash 0 /usr/bin/bash - 100 1493 bash 0 /devices/pseudo/pts@0:8 - 100 1493 bash 0 /lib/libcurses.so.1 - 100 1493 bash 0 /lib/libsocket.so.1 - 100 1493 bash 0 /lib/libnsl.so.1 - 100 1493 bash 0 /lib/libdl.so.1 - 100 1493 bash 0 /lib/libc.so.1 - 100 1493 bash 0 /devices/pseudo/pts@0:8 - 100 1493 bash 0 /devices/pseudo/pts@0:8 - 100 1493 bash 0 /export/home/brendan - 100 1493 bash 0 . - 100 1493 bash 0 /export/home/brendan/.bashrc - 100 1493 bash -1 /usr/mail/brendan - 100 1493 bash 0 /export/home/brendan/.bash_history - 100 1493 bash 0 /export/home/brendan/.bash_history - 100 1493 bash 0 /export/home/brendan/.bash_history - 100 1493 bash -1 /export/home/brendan/.inputrc - 100 1493 bash 0 . - ^C - -bash also checked /usr/mail/brendan? hmm... - - $ echo $MAIL - /usr/mail/brendan - -hmmmmm... - - $ cat .profile - # This is the default standard profile provided to a user. - # They are expected to edit it to meet their own needs. - - MAIL=/usr/mail/${LOGNAME:?} - -huh? - - $ cat /etc/skel/.profile - # This is the default standard profile provided to a user. - # They are expected to edit it to meet their own needs. - - MAIL=/usr/mail/${LOGNAME:?} - - $ cat /var/sadm/pkg/SUNWcsr/save/pspool/SUNWcsr/reloc/etc/skel/.profile - # This is the default standard profile provided to a user. - # They are expected to edit it to meet their own needs. - - MAIL=/usr/mail/${LOGNAME:?} - -oh. - diff --git a/cddl/contrib/dtracetoolkit/Examples/swapinfo_example.txt b/cddl/contrib/dtracetoolkit/Examples/swapinfo_example.txt deleted file mode 100644 index e8697660f9c7..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/swapinfo_example.txt +++ /dev/null @@ -1,22 +0,0 @@ -The following is a demonstration of the swapinfo.d script, - - # ./swapinfo.d - RAM _______Total 511 MB - RAM Unusable 8 MB - RAM Kernel 128 MB - RAM Locked 0 MB - RAM Used 256 MB - RAM Free 118 MB - - Disk _______Total 1023 MB - Disk Resv 626 MB - Disk Avail 397 MB - - Swap _______Total 1335 MB - Swap Resv 626 MB - Swap Avail 709 MB - Swap (Minfree) 62 MB - -The output above gives a summary of the state of virtual memory (swap) -on the system. - diff --git a/cddl/contrib/dtracetoolkit/Examples/sysbypid_example.txt b/cddl/contrib/dtracetoolkit/Examples/sysbypid_example.txt deleted file mode 100644 index 2858c5147c66..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/sysbypid_example.txt +++ /dev/null @@ -1,45 +0,0 @@ -The following is a demonstration of the sysbypid.d command, - - # sysbypid.d - Tracing... Hit Ctrl-C to end. - ^C - EXEC PID SYS VALUE - xterm 24030 rawch 1 - sched 0 rcvint 1 - fsflush 3 pswitch 1 - dtrace 19235 inv_swtch 1 - xterm 24030 syswrite 2 - Xorg 3597 syswrite 2 - xterm 24030 inv_swtch 2 - dtrace 19235 pswitch 2 - dtrace 19235 syswrite 2 - soffice.bin 4019 pswitch 3 - xterm 24030 pswitch 3 - mozilla-bin 3730 inv_swtch 4 - xterm 24030 sysread 4 - mozilla-bin 3730 readch 9 - mozilla-bin 3730 sysread 9 - Xorg 3597 pswitch 10 - Xorg 3597 sysread 11 - mozilla-bin 3730 syswrite 13 - java_vm 28209 pswitch 13 - sched 0 pswitch 15 - mozilla-bin 3730 pswitch 25 - setiathome 3929 trap 26 - setiathome 3929 pswitch 26 - setiathome 3929 inv_swtch 26 - dtrace 19235 writech 32 - dtrace 19235 outch 34 - dtrace 19235 trap 53 - Xorg 3597 writech 64 - xterm 24030 readch 96 - xterm 24030 writech 133 - mozilla-bin 3730 writech 905 - Xorg 3597 readch 1044 - -In the above output, the Xorg command with PID 3597 read 1044 bytes, as -indicated by readch. - -mozilla-bin with PID 3730 wrote 905 bytes, as indicated by the writech. - - diff --git a/cddl/contrib/dtracetoolkit/Examples/syscallbypid_example.txt b/cddl/contrib/dtracetoolkit/Examples/syscallbypid_example.txt deleted file mode 100644 index e51bb14cf0fa..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/syscallbypid_example.txt +++ /dev/null @@ -1,50 +0,0 @@ -The following is a demonstration of the syscallbypid.d script, - - -Here we run syscallbypid.d for a few seconds then hit Ctrl-C, - - # syscallbypid.d - Tracing... Hit Ctrl-C to end. - ^C - PID CMD SYSCALL COUNT - 11039 dtrace setcontext 1 - 11039 dtrace lwp_sigmask 1 - 7 svc.startd portfs 1 - 357 poold lwp_cond_wait 1 - 27328 java_vm lwp_cond_wait 1 - 1532 Xorg writev 1 - 11039 dtrace lwp_park 1 - 11039 dtrace schedctl 1 - 11039 dtrace mmap 1 - 361 sendmail pollsys 1 - 11039 dtrace fstat64 1 - 11039 dtrace sigaction 2 - 11039 dtrace write 2 - 361 sendmail lwp_sigmask 2 - 1659 mozilla-bin yield 2 - 11039 dtrace sysconfig 3 - 361 sendmail pset 3 - 20317 sshd read 4 - 361 sendmail gtime 4 - 20317 sshd write 4 - 27328 java_vm ioctl 6 - 11039 dtrace brk 8 - 1532 Xorg setcontext 8 - 1532 Xorg lwp_sigmask 8 - 20317 sshd pollsys 8 - 357 poold pollsys 13 - 1659 mozilla-bin read 16 - 20317 sshd lwp_sigmask 16 - 1532 Xorg setitimer 17 - 27328 java_vm pollsys 18 - 1532 Xorg pollsys 19 - 11039 dtrace p_online 21 - 1532 Xorg read 22 - 1659 mozilla-bin write 25 - 1659 mozilla-bin lwp_park 26 - 11039 dtrace ioctl 36 - 1659 mozilla-bin pollsys 155 - 1659 mozilla-bin ioctl 306 - -In the above output, we can see that "mozilla-bin" with PID 1659 made the -most system calls - 306 ioctl()s. diff --git a/cddl/contrib/dtracetoolkit/Examples/syscallbyproc_example.txt b/cddl/contrib/dtracetoolkit/Examples/syscallbyproc_example.txt deleted file mode 100644 index 7469b79cc88b..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/syscallbyproc_example.txt +++ /dev/null @@ -1,17 +0,0 @@ -The following is an example of the syscallbyproc.d script, - - # syscallbyproc.d - dtrace: description 'syscall:::entry ' matched 228 probes - ^C - snmpd 1 - utmpd 2 - inetd 2 - nscd 7 - svc.startd 11 - sendmail 31 - poold 133 - dtrace 1720 - -The above output shows that dtrace made the most system calls in this sample, -1720 syscalls. - diff --git a/cddl/contrib/dtracetoolkit/Examples/syscallbysysc_example.txt b/cddl/contrib/dtracetoolkit/Examples/syscallbysysc_example.txt deleted file mode 100644 index d131a176c10a..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/syscallbysysc_example.txt +++ /dev/null @@ -1,24 +0,0 @@ -The following is a demonstration of the syscallbysysc.d script, - - # syscallbysysc.d - dtrace: description 'syscall:::entry ' matched 228 probes - ^C - fstat 1 - setcontext 1 - lwp_park 1 - schedctl 1 - mmap 1 - sigaction 2 - pset 2 - lwp_sigmask 2 - gtime 3 - sysconfig 3 - write 4 - brk 6 - pollsys 7 - p_online 558 - ioctl 579 - -In the above output, the ioctl system call was the most common, occuring -579 times. - diff --git a/cddl/contrib/dtracetoolkit/Examples/tcl_calldist_example.txt b/cddl/contrib/dtracetoolkit/Examples/tcl_calldist_example.txt deleted file mode 100644 index 3388963411e5..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/tcl_calldist_example.txt +++ /dev/null @@ -1,166 +0,0 @@ -The following are examples of tcl_calldist.d. - -This script traces the elapsed time of Tcl procedures and commands and -prints a report containing distribution plots per function. Here it traces the -example program, Code/Tcl/func_abc.tcl - -# tcl_calldist.d -Tracing... Hit Ctrl-C to end. -^C - -Top 10 exclusive elapsed times (us), - PID=16033, cmd, namespace - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@ 1 - 4 |@@@@@@@@@@@@@ 1 - 8 | 0 - 16 | 0 - 32 | 0 - 64 | 0 - 128 |@@@@@@@@@@@@@ 1 - 256 | 0 - - PID=16033, cmd, puts - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 64 | 0 - 128 |@@@@@@@@@@@@@ 1 - 256 | 0 - - PID=16033, cmd, tclInit - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - - PID=16033, proc, func_a - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - - PID=16033, proc, func_b - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - - PID=16033, proc, func_c - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - - PID=16033, cmd, file - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@ 4 - 8 |@@@@@@@ 2 - 16 |@@@@@@@ 2 - 32 |@@@ 1 - 64 |@@@@@@@@@@ 3 - 128 | 0 - - PID=16033, cmd, source - value ------------- Distribution ------------- count - 256 | 0 - 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1024 | 0 - - PID=16033, cmd, if - value ------------- Distribution ------------- count - 8 | 0 - 16 |@@@@@@@@@@@@@@@@@@@@ 4 - 32 |@@@@@@@@@@@@@@@ 3 - 64 | 0 - 128 | 0 - 256 | 0 - 512 |@@@@@ 1 - 1024 | 0 - - PID=16033, cmd, after - value ------------- Distribution ------------- count - 262144 | 0 - 524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 1048576 | 0 - - -Top 10 inclusive elapsed times (us), - PID=16033, cmd, uplevel - value ------------- Distribution ------------- count - 512 | 0 - 1024 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2048 | 0 - - PID=16033, cmd, tclInit - value ------------- Distribution ------------- count - 1024 | 0 - 2048 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4096 | 0 - - PID=16033, proc, tclInit - value ------------- Distribution ------------- count - 1024 | 0 - 2048 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4096 | 0 - - PID=16033, cmd, func_c - value ------------- Distribution ------------- count - 262144 | 0 - 524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1048576 | 0 - - PID=16033, proc, func_c - value ------------- Distribution ------------- count - 262144 | 0 - 524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1048576 | 0 - - PID=16033, cmd, func_b - value ------------- Distribution ------------- count - 524288 | 0 - 1048576 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2097152 | 0 - - PID=16033, proc, func_b - value ------------- Distribution ------------- count - 524288 | 0 - 1048576 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2097152 | 0 - - PID=16033, cmd, after - value ------------- Distribution ------------- count - 262144 | 0 - 524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 - 1048576 | 0 - - PID=16033, cmd, func_a - value ------------- Distribution ------------- count - 1048576 | 0 - 2097152 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4194304 | 0 - - PID=16033, proc, func_a - value ------------- Distribution ------------- count - 1048576 | 0 - 2097152 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4194304 | 0 - -The exclusive function elapsed times show that each func_a took between 256 -and 511 microseconds. This time excludes the time spent in any other functions. - -The inclusive elapsed times section shows that each func_a spent -took between 2.1 and 4.2 seconds. This time also includes the time spent in -any other commands or procedures called by func_a. - -These elapsed times are the absolute time from when the function began to -when it completed - which includes off-CPU time due to other system events -such as I/O, scheduling, interrupts, etc. - -Elapsed times are useful for identifying where latencies are. -See Notes/ALLelapsed_notes.txt for more details. Also see -Notes/ALLexclusive_notes.txt and Notes/ALLinclusive_notes.txt for a -detailed explanation of exclusive vs inclusive function time. - diff --git a/cddl/contrib/dtracetoolkit/Examples/tcl_calls_example.txt b/cddl/contrib/dtracetoolkit/Examples/tcl_calls_example.txt deleted file mode 100644 index 5ffada4957a0..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/tcl_calls_example.txt +++ /dev/null @@ -1,41 +0,0 @@ -The following are examples of the results of running the tcl_calls.d script. - -In this example we see it running while the Code/Tcl/func_abc.tcl script is run. - -# tcl_calls.d Tracing... Hit Ctrl-C to end. -^C - PID TYPE NAME COUNT - 16021 cmd concat 1 - 16021 cmd exit 1 - 16021 cmd func_a 1 - 16021 cmd func_b 1 - 16021 cmd func_c 1 - 16021 cmd list 1 - 16021 cmd rename 1 - 16021 cmd source 1 - 16021 cmd tclInit 1 - 16021 cmd unset 1 - 16021 cmd uplevel 1 - 16021 cmd variable 1 - 16021 proc func_a 1 - 16021 proc func_b 1 - 16021 proc func_c 1 - 16021 proc tclInit 1 - 16021 cmd foreach 2 - 16021 cmd global 2 - 16021 cmd interp 2 - 16021 cmd package 2 - 16021 cmd set 2 - 16021 cmd after 3 - 16021 cmd namespace 3 - 16021 cmd puts 3 - 16021 cmd lappend 4 - 16021 cmd lsearch 4 - 16021 cmd if 8 - 16021 cmd info 11 - 16021 cmd file 12 - 16021 cmd proc 12 - -You can see that PID 16021 made quite a few different types of command and -procedure calls during its execution. - diff --git a/cddl/contrib/dtracetoolkit/Examples/tcl_calltime_example.txt b/cddl/contrib/dtracetoolkit/Examples/tcl_calltime_example.txt deleted file mode 100644 index 56d100af93ef..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/tcl_calltime_example.txt +++ /dev/null @@ -1,61 +0,0 @@ -The following are examples of tcl_calltime.d. - -This script traces the total elapsed time of different Tcl commands and -procedures and prints a report. Here it traces the example program, -Code/Tcl/func_abc.tcl - -# tcl_calltime.d -Tracing... Hit Ctrl-C to end. -^C - -Top 10 counts, - PID TYPE NAME COUNT - 16028 cmd after 3 - 16028 cmd namespace 3 - 16028 cmd puts 3 - 16028 cmd lappend 4 - 16028 cmd lsearch 4 - 16028 cmd if 8 - 16028 cmd info 11 - 16028 cmd file 12 - 16028 cmd proc 12 - 0 total - 85 - -Top 10 exclusive elapsed times (us), - PID TYPE NAME TOTAL - 16028 cmd tclInit 253 - 16028 cmd namespace 272 - 16028 proc func_c 330 - 16028 proc func_b 357 - 16028 proc func_a 363 - 16028 cmd file 416 - 16028 cmd if 852 - 16028 cmd source 929 - 16028 cmd after 3025152 - 0 total - 3030001 - -Top 10 inclusive elapsed times (us), - PID TYPE NAME TOTAL - 16028 cmd uplevel 1849 - 16028 proc tclInit 2519 - 16028 cmd tclInit 2772 - 16028 proc func_c 1010031 - 16028 cmd func_c 1010088 - 16028 proc func_b 2020059 - 16028 cmd func_b 2020106 - 16028 cmd after 3025152 - 16028 proc func_a 3026545 - 16028 cmd func_a 3026572 - -The output is in three sections. The first shows the top ten most executed -commands while the script is tracing. - -The second (Top 10 exclusive elapsed times) shows us the top ten slowest -commands or procedures, this number excludes any subroutines called during -command execution. - -The third (Top 10 inclusive elapsed times) shows us the top ten slowest -commands or procedures including any time spent in subroutines. You can see -that func_a took the most amount of time all up. This makes sense if you -compare the code at Code/Tcl/func_abc.tcl with the results. - diff --git a/cddl/contrib/dtracetoolkit/Examples/tcl_cpudist_example.txt b/cddl/contrib/dtracetoolkit/Examples/tcl_cpudist_example.txt deleted file mode 100644 index 09126f603abc..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/tcl_cpudist_example.txt +++ /dev/null @@ -1,164 +0,0 @@ -The following are examples of tcl_cpudist.d. - -This script traces the on-CPU time of Tcl commands and procedures and -prints a report containing distribution plots per subroutine. Here it -traces the example program, Code/Tcl/func_slow.tcl. - -# tcl_cpudist.d -Tracing... Hit Ctrl-C to end. -^C - -Top 10 exclusive on-CPU times (us), - PID=16043, cmd, info - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@ 1 - 2 |@@@@@@@@@@@@@@@ 4 - 4 |@@@@ 1 - 8 |@@@@ 1 - 16 |@@@@@@@@@@@ 3 - 32 |@@@@ 1 - 64 | 0 - - PID=16043, cmd, namespace - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@@@@@@@@@@@ 1 - 2 |@@@@@@@@@@@@@ 1 - 4 | 0 - 8 | 0 - 16 | 0 - 32 | 0 - 64 | 0 - 128 |@@@@@@@@@@@@@ 1 - 256 | 0 - - PID=16043, cmd, puts - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 - 64 | 0 - 128 |@@@@@@@@@@@@@ 1 - 256 | 0 - - PID=16043, cmd, if - value ------------- Distribution ------------- count - 4 | 0 - 8 |@@@@@@@@@@ 2 - 16 |@@@@@@@@@@@@@@@@@@@@ 4 - 32 |@@@@@ 1 - 64 | 0 - 128 |@@@@@ 1 - 256 | 0 - - PID=16043, cmd, tclInit - value ------------- Distribution ------------- count - 128 | 0 - 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 512 | 0 - - PID=16043, cmd, file - value ------------- Distribution ------------- count - 2 | 0 - 4 |@@@@@@@@@@@@@ 4 - 8 |@@@@@@@@@@@@@ 4 - 16 | 0 - 32 |@@@ 1 - 64 |@@@@@@@@@@ 3 - 128 | 0 - - PID=16043, cmd, source - value ------------- Distribution ------------- count - 256 | 0 - 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1024 | 0 - - PID=16043, proc, func_a - value ------------- Distribution ------------- count - 262144 | 0 - 524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 1048576 | 0 - - PID=16043, proc, func_b - value ------------- Distribution ------------- count - 524288 | 0 - 1048576 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2097152 | 0 - - PID=16043, proc, func_c - value ------------- Distribution ------------- count - 524288 | 0 - 1048576 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2097152 | 0 - - -Top 10 inclusive on-CPU times (us), - PID=16043, cmd, source - value ------------- Distribution ------------- count - 512 | 0 - 1024 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2048 | 0 - - PID=16043, cmd, uplevel - value ------------- Distribution ------------- count - 512 | 0 - 1024 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2048 | 0 - - PID=16043, proc, tclInit - value ------------- Distribution ------------- count - 512 | 0 - 1024 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2048 | 0 - - PID=16043, cmd, tclInit - value ------------- Distribution ------------- count - 1024 | 0 - 2048 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4096 | 0 - - PID=16043, cmd, func_c - value ------------- Distribution ------------- count - 524288 | 0 - 1048576 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2097152 | 0 - - PID=16043, proc, func_c - value ------------- Distribution ------------- count - 524288 | 0 - 1048576 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 2097152 | 0 - - PID=16043, cmd, func_a - value ------------- Distribution ------------- count - 1048576 | 0 - 2097152 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4194304 | 0 - - PID=16043, cmd, func_b - value ------------- Distribution ------------- count - 1048576 | 0 - 2097152 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4194304 | 0 - - PID=16043, proc, func_a - value ------------- Distribution ------------- count - 1048576 | 0 - 2097152 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4194304 | 0 - - PID=16043, proc, func_b - value ------------- Distribution ------------- count - 1048576 | 0 - 2097152 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 - 4194304 | 0 - -These on-CPU times are the time the thread spent running on a CPU, from when -the subroutine began to when it completed. This does not include time -spent off-CPU time such as sleeping for I/O or waiting for scheduling. - -On-CPU times are useful for showing who is causing the CPUs to be busy. -See Notes/ALLoncpu_notes.txt for more details. Also see -Notes/ALLexclusive_notes.txt and Notes/ALLinclusive_notes.txt for a -detailed explanation of exclusive vs inclusive subroutine time. - diff --git a/cddl/contrib/dtracetoolkit/Examples/tcl_cputime_example.txt b/cddl/contrib/dtracetoolkit/Examples/tcl_cputime_example.txt deleted file mode 100644 index c736201e262d..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/tcl_cputime_example.txt +++ /dev/null @@ -1,67 +0,0 @@ -Following are examples of running tcl_cputime.d. - -Here it runs while we execute Code/Tcl/func_slow.tcl - -# tcl_cputime.d -Tracing... Hit Ctrl-C to end. -^C - -Top 10 counts, - PID TYPE NAME COUNT - 16038 cmd set 2 - 16038 cmd namespace 3 - 16038 cmd puts 3 - 16038 cmd lappend 4 - 16038 cmd lsearch 4 - 16038 cmd if 8 - 16038 cmd info 11 - 16038 cmd file 12 - 16038 cmd proc 12 - 0 total - 82 - -Top 10 exclusive on-CPU times (us), - PID TYPE NAME TOTAL - 16038 cmd namespace 130 - 16038 cmd puts 232 - 16038 cmd if 310 - 16038 cmd tclInit 315 - 16038 cmd file 411 - 16038 cmd source 760 - 16038 proc func_a 535521 - 16038 proc func_b 1071082 - 16038 proc func_c 1619323 - 0 total - 3228670 - -Top 10 inclusive on-CPU times (us), - PID TYPE NAME TOTAL - 16038 cmd source 1359 - 16038 cmd uplevel 1367 - 16038 proc tclInit 1865 - 16038 cmd tclInit 2180 - 16038 proc func_c 1619360 - 16038 cmd func_c 1619404 - 16038 proc func_b 2690525 - 16038 cmd func_b 2690568 - 16038 proc func_a 3226247 - 16038 cmd func_a 3226275 - -We can see that the output is in three sections. The first section represents -the ten most commonly executed commands while the script is tracing. - -The exclusive function on-CPU times show that func_a spent around 0.5 seconds -on-CPU, func_b spent about 1.0 seconds, and func_c, 1.6 seconds. This excludes -time spent in other procedures or commands. - -The inclusive function on-CPU times show the time spent by these procedures in -total, including the time spent in other functions called, and since func_a -called func_b which called func_c, these times make sense. - -These on-CPU times are the time the thread spent running on a CPU, from when -the function began to when it completed. This does not include time -spent off-CPU time such as sleeping for I/O or waiting for scheduling. - -On-CPU times are useful for showing who is causing the CPUs to be busy. -See Notes/ALLoncpu_notes.txt for more details. Also see -Notes/ALLexclusive_notes.txt and Notes/ALLinclusive_notes.txt for a -detailed explanation of exclusive vs inclusive function time. - diff --git a/cddl/contrib/dtracetoolkit/Examples/tcl_flow_example.txt b/cddl/contrib/dtracetoolkit/Examples/tcl_flow_example.txt deleted file mode 100644 index dd2dcd60c772..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/tcl_flow_example.txt +++ /dev/null @@ -1,195 +0,0 @@ -The following are examples of running tcl_flow.d. - -Here the script is tracing the execution of Code/Tcl/func_abc.tcl - -# tcl_flow.d - C PID TIME(us) -- CALL - 0 16068 3904942506169 > if - 0 16068 3904942506261 > info - 0 16068 3904942506286 < info - 0 16068 3904942506350 > proc - 0 16068 3904942506363 < proc - 0 16068 3904942506369 < if - 0 16068 3904942506383 > tclInit - 0 16068 3904942506605 -> tclInit - 0 16068 3904942506614 > global - 0 16068 3904942506626 < global - 0 16068 3904942506632 > global - 0 16068 3904942506638 < global - 0 16068 3904942506643 > rename - 0 16068 3904942506666 < rename - 0 16068 3904942506675 > info - 0 16068 3904942506685 < info - 0 16068 3904942506694 > info - 0 16068 3904942506721 < info - 0 16068 3904942506728 > unset - 0 16068 3904942506741 < unset - 0 16068 3904942506746 > concat - 0 16068 3904942506760 < concat - 0 16068 3904942506774 > file - 0 16068 3904942506792 < file - 0 16068 3904942506797 > file - 0 16068 3904942506880 < file - 0 16068 3904942506885 > file - 0 16068 3904942506895 < file - 0 16068 3904942506901 > file - 0 16068 3904942507009 < file - 0 16068 3904942507015 > file - 0 16068 3904942507025 < file - 0 16068 3904942507031 > file - 0 16068 3904942507118 < file - 0 16068 3904942507124 > file - 0 16068 3904942507133 < file - 0 16068 3904942507139 > file - 0 16068 3904942507193 < file - 0 16068 3904942507200 > uplevel - 0 16068 3904942507209 > source - 0 16068 3904942507649 > if - 0 16068 3904942507664 > info - 0 16068 3904942507673 < info - 0 16068 3904942507681 < if - 0 16068 3904942507691 > package - 0 16068 3904942507700 < package - 0 16068 3904942507712 > if - 0 16068 3904942507722 > info - 0 16068 3904942507728 < info - 0 16068 3904942507749 > info - 0 16068 3904942507773 < info - 0 16068 3904942507780 < if - 0 16068 3904942507797 > namespace - 0 16068 3904942507898 > variable - 0 16068 3904942507905 < variable - 0 16068 3904942507911 > info - 0 16068 3904942507923 < info - 0 16068 3904942507928 > info - 0 16068 3904942507934 < info - 0 16068 3904942507939 > info - 0 16068 3904942507947 < info - 0 16068 3904942507952 > file - 0 16068 3904942507971 < file - 0 16068 3904942507977 > list - 0 16068 3904942507991 < list - 0 16068 3904942507996 > foreach - 0 16068 3904942508020 > lsearch - 0 16068 3904942508028 < lsearch - 0 16068 3904942508034 > lappend - 0 16068 3904942508041 < lappend - 0 16068 3904942508051 > lsearch - 0 16068 3904942508056 < lsearch - 0 16068 3904942508061 > lappend - 0 16068 3904942508068 < lappend - 0 16068 3904942508073 < foreach - 0 16068 3904942508078 > info - 0 16068 3904942508086 < info - 0 16068 3904942508090 > file - 0 16068 3904942508108 < file - 0 16068 3904942508113 > file - 0 16068 3904942508129 < file - 0 16068 3904942508134 > file - 0 16068 3904942508142 < file - 0 16068 3904942508148 > lsearch - 0 16068 3904942508153 < lsearch - 0 16068 3904942508158 > lappend - 0 16068 3904942508166 < lappend - 0 16068 3904942508170 > info - 0 16068 3904942508176 < info - 0 16068 3904942508181 > foreach - 0 16068 3904942508190 > lsearch - 0 16068 3904942508195 < lsearch - 0 16068 3904942508200 > lappend - 0 16068 3904942508206 < lappend - 0 16068 3904942508211 < foreach - 0 16068 3904942508217 < namespace - 0 16068 3904942508243 > if - 0 16068 3904942508261 > interp - 0 16068 3904942508276 < interp - 0 16068 3904942508283 < if - 0 16068 3904942508296 > package - 0 16068 3904942508302 < package - 0 16068 3904942508312 > if - 0 16068 3904942508322 > interp - 0 16068 3904942508328 < interp - 0 16068 3904942508369 < if - 0 16068 3904942508387 > if - 0 16068 3904942508398 > namespace - 0 16068 3904942508406 < namespace - 0 16068 3904942508412 < if - 0 16068 3904942508424 > set - 0 16068 3904942508430 < set - 0 16068 3904942508437 > set - 0 16068 3904942508443 < set - 0 16068 3904942508451 > if - 0 16068 3904942508463 > namespace - 0 16068 3904942508469 < namespace - 0 16068 3904942508479 > proc - 0 16068 3904942508488 < proc - 0 16068 3904942508493 < if - 0 16068 3904942508573 > proc - 0 16068 3904942508582 < proc - 0 16068 3904942508599 > proc - 0 16068 3904942508609 < proc - 0 16068 3904942508638 > proc - 0 16068 3904942508645 < proc - 0 16068 3904942508664 > proc - 0 16068 3904942508673 < proc - 0 16068 3904942508686 > proc - 0 16068 3904942508693 < proc - 0 16068 3904942508737 > if - 0 16068 3904942508760 > proc - 0 16068 3904942508782 < proc - 0 16068 3904942508788 < if - 0 16068 3904942508826 > proc - 0 16068 3904942508837 < proc - 0 16068 3904942508843 < source - 0 16068 3904942508848 < uplevel - 0 16068 3904942508857 <- tclInit - 0 16068 3904942508871 < tclInit - 0 16068 3904942509050 > proc - 0 16068 3904942509059 < proc - 0 16068 3904942509067 > proc - 0 16068 3904942509074 < proc - 0 16068 3904942509081 > proc - 0 16068 3904942509088 < proc - 0 16068 3904942509094 > func_a - 0 16068 3904942509110 -> func_a - 0 16068 3904942509116 > puts - 0 16068 3904942509256 < puts - 0 16068 3904942509262 > after - 0 16068 3904943510998 < after - 0 16068 3904943511016 > func_b - 0 16068 3904943511050 -> func_b - 0 16068 3904943511058 > puts - 0 16068 3904943511090 < puts - 0 16068 3904943511094 > after - 0 16068 3904944520994 < after - 0 16068 3904944521013 > func_c - 0 16068 3904944521043 -> func_c - 0 16068 3904944521051 > puts - 0 16068 3904944521092 < puts - 0 16068 3904944521097 > after - 0 16068 3904945530993 < after - 0 16068 3904945531012 <- func_c - 0 16068 3904945531020 < func_c - 0 16068 3904945531025 <- func_b - 0 16068 3904945531029 < func_b - 0 16068 3904945531034 <- func_a - 0 16068 3904945531039 < func_a - 0 16068 3904945531064 > exit -^C - -You can see the output is in five columns. - -The first column is CPU-id, the second is PID, third is the time since boot in -microseconds since the previous action. The fourth and fifth columns -represent the action happening. The Tcl command or procedure name is prefixed -by an indicator reprenting what is happening. These may be -> (procedure -entry), <- (procedure return), > (command entry), or < (command return). - -As each action is taken, the fourth and fifth columns are indented by 2 spaces. -This shows which procedure or command is calling which. - -If the output looks shuffled, check the CPU "C" and "TIME" columns, and -post sort based on TIME if necessary. - -See Notes/ALLflow_notes.txt for important notes about reading flow outputs. - diff --git a/cddl/contrib/dtracetoolkit/Examples/tcl_flowtime_example.txt b/cddl/contrib/dtracetoolkit/Examples/tcl_flowtime_example.txt deleted file mode 100644 index 8e07238e1303..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/tcl_flowtime_example.txt +++ /dev/null @@ -1,197 +0,0 @@ -Following are examples of running tcl_flowtime.d. - -Here the tcl_flowtime.d script is running on the program -Code/Tcl/func_abc.tcl. - - -# tcl_flowtime.d - C PID TIME(us) DELTA(us) -- CALL - 0 17901 4436098007906 2 > if - 0 17901 4436098007976 70 > info - 0 17901 4436098007998 21 < info - 0 17901 4436098008050 52 > proc - 0 17901 4436098008063 12 < proc - 0 17901 4436098008069 6 < if - 0 17901 4436098008085 15 > tclInit - 0 17901 4436098008286 201 -> tclInit - 0 17901 4436098008295 8 > global - 0 17901 4436098008305 10 < global - 0 17901 4436098008311 6 > global - 0 17901 4436098008318 6 < global - 0 17901 4436098008323 5 > rename - 0 17901 4436098008342 18 < rename - 0 17901 4436098008353 10 > info - 0 17901 4436098008362 9 < info - 0 17901 4436098008369 6 > info - 0 17901 4436098008395 25 < info - 0 17901 4436098008403 8 > unset - 0 17901 4436098008410 6 < unset - 0 17901 4436098008416 5 > concat - 0 17901 4436098008425 8 < concat - 0 17901 4436098008440 15 > file - 0 17901 4436098008459 18 < file - 0 17901 4436098008465 6 > file - 0 17901 4436098008543 78 < file - 0 17901 4436098008550 7 > file - 0 17901 4436098008560 9 < file - 0 17901 4436098008567 7 > file - 0 17901 4436098008671 104 < file - 0 17901 4436098008678 7 > file - 0 17901 4436098008688 9 < file - 0 17901 4436098008695 6 > file - 0 17901 4436098008780 84 < file - 0 17901 4436098008787 6 > file - 0 17901 4436098008796 9 < file - 0 17901 4436098008803 6 > file - 0 17901 4436098008854 51 < file - 0 17901 4436098008862 7 > uplevel - 0 17901 4436098008872 10 > source - 0 17901 4436098009290 417 > if - 0 17901 4436098009304 14 > info - 0 17901 4436098009311 7 < info - 0 17901 4436098009319 7 < if - 0 17901 4436098009331 11 > package - 0 17901 4436098009340 9 < package - 0 17901 4436098009353 12 > if - 0 17901 4436098009363 10 > info - 0 17901 4436098009369 6 < info - 0 17901 4436098009390 20 > info - 0 17901 4436098009413 22 < info - 0 17901 4436098009421 7 < if - 0 17901 4436098009439 18 > namespace - 0 17901 4436098009530 90 > variable - 0 17901 4436098009537 7 < variable - 0 17901 4436098009544 6 > info - 0 17901 4436098009554 10 < info - 0 17901 4436098009561 6 > info - 0 17901 4436098009567 6 < info - 0 17901 4436098009573 5 > info - 0 17901 4436098009579 6 < info - 0 17901 4436098009586 6 > file - 0 17901 4436098009605 19 < file - 0 17901 4436098009611 6 > list - 0 17901 4436098009627 15 < list - 0 17901 4436098009633 6 > foreach - 0 17901 4436098009658 24 > lsearch - 0 17901 4436098009665 7 < lsearch - 0 17901 4436098009673 7 > lappend - 0 17901 4436098009680 7 < lappend - 0 17901 4436098009689 9 > lsearch - 0 17901 4436098009694 5 < lsearch - 0 17901 4436098009700 6 > lappend - 0 17901 4436098009707 6 < lappend - 0 17901 4436098009712 5 < foreach - 0 17901 4436098009719 6 > info - 0 17901 4436098009726 7 < info - 0 17901 4436098009732 5 > file - 0 17901 4436098009749 17 < file - 0 17901 4436098009756 6 > file - 0 17901 4436098009772 16 < file - 0 17901 4436098009778 6 > file - 0 17901 4436098009787 9 < file - 0 17901 4436098009795 7 > lsearch - 0 17901 4436098009800 5 < lsearch - 0 17901 4436098009806 6 > lappend - 0 17901 4436098009812 5 < lappend - 0 17901 4436098009818 5 > info - 0 17901 4436098009823 5 < info - 0 17901 4436098009830 6 > foreach - 0 17901 4436098009840 9 > lsearch - 0 17901 4436098009845 5 < lsearch - 0 17901 4436098009851 6 > lappend - 0 17901 4436098009857 5 < lappend - 0 17901 4436098009862 5 < foreach - 0 17901 4436098009868 5 < namespace - 0 17901 4436098009896 27 > if - 0 17901 4436098009915 18 > interp - 0 17901 4436098009922 7 < interp - 0 17901 4436098009930 8 < if - 0 17901 4436098009943 12 > package - 0 17901 4436098009949 5 < package - 0 17901 4436098009960 10 > if - 0 17901 4436098009970 10 > interp - 0 17901 4436098009976 5 < interp - 0 17901 4436098010018 41 < if - 0 17901 4436098010036 18 > if - 0 17901 4436098010049 12 > namespace - 0 17901 4436098010057 7 < namespace - 0 17901 4436098010063 6 < if - 0 17901 4436098010074 11 > set - 0 17901 4436098010081 6 < set - 0 17901 4436098010089 8 > set - 0 17901 4436098010095 5 < set - 0 17901 4436098010104 9 > if - 0 17901 4436098010116 12 > namespace - 0 17901 4436098010122 6 < namespace - 0 17901 4436098010133 10 > proc - 0 17901 4436098010142 8 < proc - 0 17901 4436098010148 5 < if - 0 17901 4436098010228 79 > proc - 0 17901 4436098010237 8 < proc - 0 17901 4436098010255 18 > proc - 0 17901 4436098010264 9 < proc - 0 17901 4436098010293 29 > proc - 0 17901 4436098010301 7 < proc - 0 17901 4436098010320 18 > proc - 0 17901 4436098010329 9 < proc - 0 17901 4436098010342 13 > proc - 0 17901 4436098010350 7 < proc - 0 17901 4436098010394 44 > if - 0 17901 4436098010418 23 > proc - 0 17901 4436098010437 18 < proc - 0 17901 4436098010443 6 < if - 0 17901 4436098010563 120 > proc - 0 17901 4436098010575 12 < proc - 0 17901 4436098010582 7 < source - 0 17901 4436098010588 5 < uplevel - 0 17901 4436098010596 8 <- tclInit - 0 17901 4436098010610 13 < tclInit - 0 17901 4436098010800 190 > proc - 0 17901 4436098010809 8 < proc - 0 17901 4436098010818 9 > proc - 0 17901 4436098010825 6 < proc - 0 17901 4436098010833 8 > proc - 0 17901 4436098010840 6 < proc - 0 17901 4436098010847 7 > func_a - 0 17901 4436098010863 15 -> func_a - 0 17901 4436098010870 6 > puts - 0 17901 4436098011006 136 < puts - 0 17901 4436098011014 7 > after - 0 17901 4436099020588 1009573 < after - 0 17901 4436099020611 23 > func_b - 0 17901 4436099020646 34 -> func_b - 0 17901 4436099020655 8 > puts - 0 17901 4436099020697 41 < puts - 0 17901 4436099020703 6 > after - 0 17901 4436100030614 1009910 < after - 0 17901 4436100030638 24 > func_c - 0 17901 4436100030671 32 -> func_c - 0 17901 4436100030680 9 > puts - 0 17901 4436100030723 42 < puts - 0 17901 4436100030729 6 > after - 0 17901 4436101040600 1009870 < after - 0 17901 4436101040623 22 <- func_c - 0 17901 4436101040633 10 < func_c - 0 17901 4436101040639 6 <- func_b - 0 17901 4436101040645 5 < func_b - 0 17901 4436101040651 5 <- func_a - 0 17901 4436101040656 5 < func_a - 0 17901 4436101040682 25 > exit - -You can see the output is in six columns. - -The first column is CPU-id, the second is PID, third is the time since boot in -microseconds, fourth is the elapsed time since the previous action. The fifth -and sixth columns represent the action. The Tcl command or procedure name is -prefixed by an indicator reprenting what is happening. These may be -> -(procedure entry), <- (procedure return), > (command entry), or < (command -return). - -As each action is taken, the fifth and sixth columns are indented by 2 spaces. -This shows which procedure or command is calling which. - -If the output looks shuffled, check the CPU "C" and "TIME" columns, and -post sort based on TIME if necessary. - -See Notes/ALLflow_notes.txt for important notes about reading flow outputs. - diff --git a/cddl/contrib/dtracetoolkit/Examples/tcl_ins_example.txt b/cddl/contrib/dtracetoolkit/Examples/tcl_ins_example.txt deleted file mode 100644 index 6f1ba9a3d137..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/tcl_ins_example.txt +++ /dev/null @@ -1,46 +0,0 @@ -The following are examples of running the script tcl_ins.d - -Here it traces as Code/Tcl/func_slow.tcl executes. - -# tcl_ins.d -Tracing... Hit Ctrl-C to end. -^C - PID TYPE NAME COUNT - 16005 inst foreach_start4 1 - 16005 inst jumpTrue1 1 - 16005 inst lappendScalar1 1 - 16005 inst list 1 - 16005 inst strneq 1 - 16005 inst beginCatch4 2 - 16005 inst dup 2 - 16005 inst endCatch 2 - 16005 inst eq 2 - 16005 inst land 2 - 16005 inst storeScalarStk 2 - 16005 inst foreach_step4 4 - 16005 inst not 4 - 16005 inst loadArrayStk 5 - 16005 inst streq 7 - 16005 inst tryCvtToNumeric 8 - 16005 inst jumpFalse1 12 - 16005 inst loadScalarStk 13 - 16005 inst jump1 14 - 16005 inst pop 18 - 16005 inst invokeStk1 53 - 16005 inst add 600000 - 16005 inst concat1 600000 - 16005 inst exprStk 600000 - 16005 inst lt 600007 - 16005 inst storeScalar1 600016 - 16005 inst done 600021 - 16005 inst loadScalar1 1200020 - 16005 inst push1 4200193 - -It is showing the instructions called by Tcl as the program executes. The -larger counts toward the bottom of the display are from the looping construct -used in Code/Tcl/func_slow.tcl. - -Tracing the instructions is quite low-level and slow the target application -considerably and would probably be used only as a last resort if you have no -other indication of why CPUs are busy. - diff --git a/cddl/contrib/dtracetoolkit/Examples/tcl_insflow_example.txt b/cddl/contrib/dtracetoolkit/Examples/tcl_insflow_example.txt deleted file mode 100644 index 2919f8eb72fd..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/tcl_insflow_example.txt +++ /dev/null @@ -1,997 +0,0 @@ -The following are examples of running tcl_insflow.d - -Here you can see the script running while tracing Code/Tcl/func_abc.tcl - -# tcl_insflow.d - C PID TIME(us) DELTA(us) TYPE -- CALL - 0 174829 4436207514685 3 cmd -> if - 0 174829 4436207514793 107 inst -> push1 - 0 174829 4436207514805 11 inst <- push1 - 0 174829 4436207514814 8 inst -> push1 - 0 174829 4436207514820 5 inst <- push1 - 0 174829 4436207514826 5 inst -> push1 - 0 174829 4436207514832 5 inst <- push1 - 0 174829 4436207514838 5 inst -> invokeStk1 - 0 174829 4436207514845 6 cmd -> info - 0 174829 4436207514883 38 cmd <- info - 0 174829 4436207514895 11 inst <- invokeStk1 - 0 174829 4436207514901 6 inst -> push1 - 0 174829 4436207514907 5 inst <- push1 - 0 174829 4436207514913 5 inst -> eq - 0 174829 4436207514927 14 inst <- eq - 0 174829 4436207514933 6 inst -> done - 0 174829 4436207514940 6 inst <- done - 0 174829 4436207514978 38 inst -> push1 - 0 174829 4436207514985 6 inst <- push1 - 0 174829 4436207514991 5 inst -> push1 - 0 174829 4436207514996 5 inst <- push1 - 0 174829 4436207515002 5 inst -> push1 - 0 174829 4436207515007 5 inst <- push1 - 0 174829 4436207515013 5 inst -> push1 - 0 174829 4436207515019 5 inst <- push1 - 0 174829 4436207515024 5 inst -> invokeStk1 - 0 174829 4436207515031 6 cmd -> proc - 0 174829 4436207515045 13 cmd <- proc - 0 174829 4436207515051 6 inst <- invokeStk1 - 0 174829 4436207515057 6 inst -> done - 0 174829 4436207515063 5 inst <- done - 0 174829 4436207515069 6 cmd <- if - 0 174829 4436207515086 16 cmd -> tclInit - 0 174829 4436207515295 208 proc -> tclInit - 0 174829 4436207515305 10 inst -> push1 - 0 174829 4436207515311 5 inst <- push1 - 0 174829 4436207515317 6 inst -> push1 - 0 174829 4436207515323 5 inst <- push1 - 0 174829 4436207515328 5 inst -> push1 - 0 174829 4436207515334 5 inst <- push1 - 0 174829 4436207515340 5 inst -> push1 - 0 174829 4436207515345 5 inst <- push1 - 0 174829 4436207515351 5 inst -> invokeStk1 - 0 174829 4436207515357 6 cmd -> global - 0 174829 4436207515369 11 cmd <- global - 0 174829 4436207515375 6 inst <- invokeStk1 - 0 174829 4436207515381 5 inst -> pop - 0 174829 4436207515387 5 inst <- pop - 0 174829 4436207515393 5 inst -> push1 - 0 174829 4436207515398 5 inst <- push1 - 0 174829 4436207515404 5 inst -> push1 - 0 174829 4436207515410 5 inst <- push1 - 0 174829 4436207515415 5 inst -> push1 - 0 174829 4436207515421 5 inst <- push1 - 0 174829 4436207515427 5 inst -> invokeStk1 - 0 174829 4436207515433 6 cmd -> global - 0 174829 4436207515440 7 cmd <- global - 0 174829 4436207515446 6 inst <- invokeStk1 - 0 174829 4436207515452 5 inst -> pop - 0 174829 4436207515458 5 inst <- pop - 0 174829 4436207515463 5 inst -> push1 - 0 174829 4436207515469 5 inst <- push1 - 0 174829 4436207515475 5 inst -> push1 - 0 174829 4436207515480 5 inst <- push1 - 0 174829 4436207515486 5 inst -> push1 - 0 174829 4436207515492 5 inst <- push1 - 0 174829 4436207515497 5 inst -> invokeStk1 - 0 174829 4436207515504 6 cmd -> rename - 0 174829 4436207515553 49 cmd <- rename - 0 174829 4436207515560 6 inst <- invokeStk1 - 0 174829 4436207515566 6 inst -> pop - 0 174829 4436207515571 5 inst <- pop - 0 174829 4436207515577 5 inst -> push1 - 0 174829 4436207515583 5 inst <- push1 - 0 174829 4436207515589 5 inst -> storeScalar1 - 0 174829 4436207515598 9 inst <- storeScalar1 - 0 174829 4436207515605 6 inst -> push1 - 0 174829 4436207515610 5 inst <- push1 - 0 174829 4436207515616 5 inst -> storeScalar1 - 0 174829 4436207515622 5 inst <- storeScalar1 - 0 174829 4436207515628 5 inst -> push1 - 0 174829 4436207515633 5 inst <- push1 - 0 174829 4436207515639 5 inst -> push1 - 0 174829 4436207515645 5 inst <- push1 - 0 174829 4436207515650 5 inst -> push1 - 0 174829 4436207515656 5 inst <- push1 - 0 174829 4436207515662 5 inst -> invokeStk1 - 0 174829 4436207515668 6 cmd -> info - 0 174829 4436207515679 10 cmd <- info - 0 174829 4436207515685 6 inst <- invokeStk1 - 0 174829 4436207515691 5 inst -> tryCvtToNumeric - 0 174829 4436207515701 10 inst <- tryCvtToNumeric - 0 174829 4436207515708 6 inst -> jumpFalse1 - 0 174829 4436207515714 5 inst <- jumpFalse1 - 0 174829 4436207515719 5 inst -> push1 - 0 174829 4436207515725 5 inst <- push1 - 0 174829 4436207515731 5 inst -> push1 - 0 174829 4436207515736 5 inst <- push1 - 0 174829 4436207515742 5 inst -> push1 - 0 174829 4436207515747 5 inst <- push1 - 0 174829 4436207515753 5 inst -> invokeStk1 - 0 174829 4436207515760 6 cmd -> info - 0 174829 4436207515787 27 cmd <- info - 0 174829 4436207515793 6 inst <- invokeStk1 - 0 174829 4436207515799 5 inst -> tryCvtToNumeric - 0 174829 4436207515805 5 inst <- tryCvtToNumeric - 0 174829 4436207515811 5 inst -> jumpFalse1 - 0 174829 4436207515817 5 inst <- jumpFalse1 - 0 174829 4436207515823 5 inst -> push1 - 0 174829 4436207515828 5 inst <- push1 - 0 174829 4436207515834 5 inst -> pop - 0 174829 4436207515839 5 inst <- pop - 0 174829 4436207515845 5 inst -> beginCatch4 - 0 174829 4436207515851 5 inst <- beginCatch4 - 0 174829 4436207515857 5 inst -> loadScalar1 - 0 174829 4436207515863 5 inst <- loadScalar1 - 0 174829 4436207515868 5 inst -> lappendScalar1 - 0 174829 4436207515877 8 inst <- lappendScalar1 - 0 174829 4436207515883 6 inst -> push1 - 0 174829 4436207515889 5 inst <- push1 - 0 174829 4436207515895 5 inst -> push1 - 0 174829 4436207515900 5 inst <- push1 - 0 174829 4436207515906 5 inst -> invokeStk1 - 0 174829 4436207515912 6 cmd -> unset - 0 174829 4436207515920 7 cmd <- unset - 0 174829 4436207515926 6 inst <- invokeStk1 - 0 174829 4436207515932 5 inst -> pop - 0 174829 4436207515938 5 inst <- pop - 0 174829 4436207515943 5 inst -> push1 - 0 174829 4436207515949 5 inst <- push1 - 0 174829 4436207515955 5 inst -> jump1 - 0 174829 4436207515960 5 inst <- jump1 - 0 174829 4436207515966 5 inst -> endCatch - 0 174829 4436207515972 5 inst <- endCatch - 0 174829 4436207515977 5 inst -> pop - 0 174829 4436207515983 5 inst <- pop - 0 174829 4436207515989 5 inst -> push1 - 0 174829 4436207515994 5 inst <- push1 - 0 174829 4436207516000 5 inst -> loadScalar1 - 0 174829 4436207516006 5 inst <- loadScalar1 - 0 174829 4436207516012 5 inst -> loadScalar1 - 0 174829 4436207516017 5 inst <- loadScalar1 - 0 174829 4436207516023 5 inst -> invokeStk1 - 0 174829 4436207516029 6 cmd -> concat - 0 174829 4436207516049 19 cmd <- concat - 0 174829 4436207516055 6 inst <- invokeStk1 - 0 174829 4436207516061 5 inst -> storeScalar1 - 0 174829 4436207516068 6 inst <- storeScalar1 - 0 174829 4436207516074 6 inst -> loadScalar1 - 0 174829 4436207516080 5 inst <- loadScalar1 - 0 174829 4436207516085 5 inst -> storeScalar1 - 0 174829 4436207516091 5 inst <- storeScalar1 - 0 174829 4436207516097 5 inst -> foreach_start4 - 0 174829 4436207516104 6 inst <- foreach_start4 - 0 174829 4436207516110 6 inst -> foreach_step4 - 0 174829 4436207516125 14 inst <- foreach_step4 - 0 174829 4436207516131 5 inst -> loadScalar1 - 0 174829 4436207516137 5 inst <- loadScalar1 - 0 174829 4436207516143 5 inst -> storeScalar1 - 0 174829 4436207516148 5 inst <- storeScalar1 - 0 174829 4436207516154 5 inst -> push1 - 0 174829 4436207516160 5 inst <- push1 - 0 174829 4436207516165 5 inst -> push1 - 0 174829 4436207516171 5 inst <- push1 - 0 174829 4436207516177 5 inst -> loadScalar1 - 0 174829 4436207516182 5 inst <- loadScalar1 - 0 174829 4436207516188 5 inst -> push1 - 0 174829 4436207516194 5 inst <- push1 - 0 174829 4436207516200 5 inst -> invokeStk1 - 0 174829 4436207516206 6 cmd -> file - 0 174829 4436207516218 12 cmd <- file - 0 174829 4436207516224 6 inst <- invokeStk1 - 0 174829 4436207516230 5 inst -> storeScalar1 - 0 174829 4436207516236 5 inst <- storeScalar1 - 0 174829 4436207516242 5 inst -> push1 - 0 174829 4436207516247 5 inst <- push1 - 0 174829 4436207516253 5 inst -> push1 - 0 174829 4436207516258 5 inst <- push1 - 0 174829 4436207516264 5 inst -> loadScalar1 - 0 174829 4436207516270 5 inst <- loadScalar1 - 0 174829 4436207516276 5 inst -> invokeStk1 - 0 174829 4436207516282 6 cmd -> file - 0 174829 4436207516368 86 cmd <- file - 0 174829 4436207516375 6 inst <- invokeStk1 - 0 174829 4436207516381 6 inst -> tryCvtToNumeric - 0 174829 4436207516387 5 inst <- tryCvtToNumeric - 0 174829 4436207516393 5 inst -> jumpFalse1 - 0 174829 4436207516398 5 inst <- jumpFalse1 - 0 174829 4436207516404 5 inst -> push1 - 0 174829 4436207516410 5 inst <- push1 - 0 174829 4436207516416 5 inst -> pop - 0 174829 4436207516421 5 inst <- pop - 0 174829 4436207516427 5 inst -> jump1 - 0 174829 4436207516432 5 inst <- jump1 - 0 174829 4436207516438 5 inst -> foreach_step4 - 0 174829 4436207516444 5 inst <- foreach_step4 - 0 174829 4436207516450 5 inst -> loadScalar1 - 0 174829 4436207516456 5 inst <- loadScalar1 - 0 174829 4436207516462 6 inst -> storeScalar1 - 0 174829 4436207516468 5 inst <- storeScalar1 - 0 174829 4436207516473 5 inst -> push1 - 0 174829 4436207516479 5 inst <- push1 - 0 174829 4436207516485 5 inst -> push1 - 0 174829 4436207516490 5 inst <- push1 - 0 174829 4436207516496 5 inst -> loadScalar1 - 0 174829 4436207516502 5 inst <- loadScalar1 - 0 174829 4436207516508 5 inst -> push1 - 0 174829 4436207516513 5 inst <- push1 - 0 174829 4436207516519 5 inst -> invokeStk1 - 0 174829 4436207516525 6 cmd -> file - 0 174829 4436207516536 10 cmd <- file - 0 174829 4436207516542 6 inst <- invokeStk1 - 0 174829 4436207516548 5 inst -> storeScalar1 - 0 174829 4436207516555 6 inst <- storeScalar1 - 0 174829 4436207516561 6 inst -> push1 - 0 174829 4436207516566 5 inst <- push1 - 0 174829 4436207516572 5 inst -> push1 - 0 174829 4436207516578 5 inst <- push1 - 0 174829 4436207516583 5 inst -> loadScalar1 - 0 174829 4436207516589 5 inst <- loadScalar1 - 0 174829 4436207516595 5 inst -> invokeStk1 - 0 174829 4436207516601 6 cmd -> file - 0 174829 4436207516709 107 cmd <- file - 0 174829 4436207516716 6 inst <- invokeStk1 - 0 174829 4436207516722 6 inst -> tryCvtToNumeric - 0 174829 4436207516728 5 inst <- tryCvtToNumeric - 0 174829 4436207516733 5 inst -> jumpFalse1 - 0 174829 4436207516739 5 inst <- jumpFalse1 - 0 174829 4436207516745 5 inst -> push1 - 0 174829 4436207516751 5 inst <- push1 - 0 174829 4436207516756 5 inst -> pop - 0 174829 4436207516762 5 inst <- pop - 0 174829 4436207516768 5 inst -> jump1 - 0 174829 4436207516773 5 inst <- jump1 - 0 174829 4436207516779 5 inst -> foreach_step4 - 0 174829 4436207516785 5 inst <- foreach_step4 - 0 174829 4436207516791 5 inst -> loadScalar1 - 0 174829 4436207516796 5 inst <- loadScalar1 - 0 174829 4436207516802 5 inst -> storeScalar1 - 0 174829 4436207516808 5 inst <- storeScalar1 - 0 174829 4436207516814 5 inst -> push1 - 0 174829 4436207516820 5 inst <- push1 - 0 174829 4436207516825 5 inst -> push1 - 0 174829 4436207516831 5 inst <- push1 - 0 174829 4436207516837 5 inst -> loadScalar1 - 0 174829 4436207516842 5 inst <- loadScalar1 - 0 174829 4436207516848 5 inst -> push1 - 0 174829 4436207516854 5 inst <- push1 - 0 174829 4436207516859 5 inst -> invokeStk1 - 0 174829 4436207516866 6 cmd -> file - 0 174829 4436207516876 10 cmd <- file - 0 174829 4436207516882 6 inst <- invokeStk1 - 0 174829 4436207516888 5 inst -> storeScalar1 - 0 174829 4436207516895 6 inst <- storeScalar1 - 0 174829 4436207516901 6 inst -> push1 - 0 174829 4436207516906 5 inst <- push1 - 0 174829 4436207516912 5 inst -> push1 - 0 174829 4436207516918 5 inst <- push1 - 0 174829 4436207516923 5 inst -> loadScalar1 - 0 174829 4436207516929 5 inst <- loadScalar1 - 0 174829 4436207516935 5 inst -> invokeStk1 - 0 174829 4436207516941 6 cmd -> file - 0 174829 4436207517027 86 cmd <- file - 0 174829 4436207517034 6 inst <- invokeStk1 - 0 174829 4436207517040 6 inst -> tryCvtToNumeric - 0 174829 4436207517046 5 inst <- tryCvtToNumeric - 0 174829 4436207517052 5 inst -> jumpFalse1 - 0 174829 4436207517057 5 inst <- jumpFalse1 - 0 174829 4436207517063 5 inst -> push1 - 0 174829 4436207517069 5 inst <- push1 - 0 174829 4436207517075 5 inst -> pop - 0 174829 4436207517080 5 inst <- pop - 0 174829 4436207517086 5 inst -> jump1 - 0 174829 4436207517091 5 inst <- jump1 - 0 174829 4436207517097 5 inst -> foreach_step4 - 0 174829 4436207517103 5 inst <- foreach_step4 - 0 174829 4436207517109 5 inst -> loadScalar1 - 0 174829 4436207517115 5 inst <- loadScalar1 - 0 174829 4436207517121 5 inst -> storeScalar1 - 0 174829 4436207517127 5 inst <- storeScalar1 - 0 174829 4436207517132 5 inst -> push1 - 0 174829 4436207517138 5 inst <- push1 - 0 174829 4436207517144 5 inst -> push1 - 0 174829 4436207517149 5 inst <- push1 - 0 174829 4436207517155 5 inst -> loadScalar1 - 0 174829 4436207517161 5 inst <- loadScalar1 - 0 174829 4436207517167 5 inst -> push1 - 0 174829 4436207517172 5 inst <- push1 - 0 174829 4436207517178 5 inst -> invokeStk1 - 0 174829 4436207517184 6 cmd -> file - 0 174829 4436207517194 10 cmd <- file - 0 174829 4436207517201 6 inst <- invokeStk1 - 0 174829 4436207517206 5 inst -> storeScalar1 - 0 174829 4436207517213 6 inst <- storeScalar1 - 0 174829 4436207517219 5 inst -> push1 - 0 174829 4436207517225 5 inst <- push1 - 0 174829 4436207517231 5 inst -> push1 - 0 174829 4436207517236 5 inst <- push1 - 0 174829 4436207517242 5 inst -> loadScalar1 - 0 174829 4436207517247 5 inst <- loadScalar1 - 0 174829 4436207517253 5 inst -> invokeStk1 - 0 174829 4436207517260 6 cmd -> file - 0 174829 4436207517313 53 cmd <- file - 0 174829 4436207517319 6 inst <- invokeStk1 - 0 174829 4436207517325 5 inst -> tryCvtToNumeric - 0 174829 4436207517331 6 inst <- tryCvtToNumeric - 0 174829 4436207517337 5 inst -> jumpFalse1 - 0 174829 4436207517343 5 inst <- jumpFalse1 - 0 174829 4436207517348 5 inst -> beginCatch4 - 0 174829 4436207517354 5 inst <- beginCatch4 - 0 174829 4436207517360 6 inst -> push1 - 0 174829 4436207517366 5 inst <- push1 - 0 174829 4436207517371 5 inst -> push1 - 0 174829 4436207517377 5 inst <- push1 - 0 174829 4436207517383 5 inst -> push1 - 0 174829 4436207517388 5 inst <- push1 - 0 174829 4436207517394 5 inst -> loadScalar1 - 0 174829 4436207517400 5 inst <- loadScalar1 - 0 174829 4436207517405 5 inst -> list - 0 174829 4436207517412 6 inst <- list - 0 174829 4436207517418 5 inst -> invokeStk1 - 0 174829 4436207517424 6 cmd -> uplevel - 0 174829 4436207517436 11 cmd -> source - 0 174829 4436207517878 441 cmd -> if - 0 174829 4436207517897 18 inst -> push1 - 0 174829 4436207517903 6 inst <- push1 - 0 174829 4436207517910 6 inst -> push1 - 0 174829 4436207517915 5 inst <- push1 - 0 174829 4436207517921 5 inst -> push1 - 0 174829 4436207517927 5 inst <- push1 - 0 174829 4436207517932 5 inst -> invokeStk1 - 0 174829 4436207517939 6 cmd -> info - 0 174829 4436207517947 8 cmd <- info - 0 174829 4436207517954 6 inst <- invokeStk1 - 0 174829 4436207517960 5 inst -> push1 - 0 174829 4436207517965 5 inst <- push1 - 0 174829 4436207517971 5 inst -> eq - 0 174829 4436207517979 7 inst <- eq - 0 174829 4436207517985 5 inst -> done - 0 174829 4436207517991 5 inst <- done - 0 174829 4436207517997 6 cmd <- if - 0 174829 4436207518010 12 cmd -> package - 0 174829 4436207518021 10 cmd <- package - 0 174829 4436207518034 13 cmd -> if - 0 174829 4436207518046 11 inst -> push1 - 0 174829 4436207518051 5 inst <- push1 - 0 174829 4436207518057 5 inst -> push1 - 0 174829 4436207518063 5 inst <- push1 - 0 174829 4436207518068 5 inst -> push1 - 0 174829 4436207518074 5 inst <- push1 - 0 174829 4436207518080 5 inst -> invokeStk1 - 0 174829 4436207518086 6 cmd -> info - 0 174829 4436207518094 7 cmd <- info - 0 174829 4436207518099 5 inst <- invokeStk1 - 0 174829 4436207518105 5 inst -> not - 0 174829 4436207518111 6 inst <- not - 0 174829 4436207518117 5 inst -> done - 0 174829 4436207518123 5 inst <- done - 0 174829 4436207518147 24 inst -> push1 - 0 174829 4436207518153 5 inst <- push1 - 0 174829 4436207518159 5 inst -> push1 - 0 174829 4436207518164 5 inst <- push1 - 0 174829 4436207518170 5 inst -> push1 - 0 174829 4436207518175 5 inst <- push1 - 0 174829 4436207518181 5 inst -> invokeStk1 - 0 174829 4436207518187 6 cmd -> info - 0 174829 4436207518212 25 cmd <- info - 0 174829 4436207518218 6 inst <- invokeStk1 - 0 174829 4436207518224 5 inst -> tryCvtToNumeric - 0 174829 4436207518230 5 inst <- tryCvtToNumeric - 0 174829 4436207518236 5 inst -> jumpFalse1 - 0 174829 4436207518242 5 inst <- jumpFalse1 - 0 174829 4436207518248 5 inst -> push1 - 0 174829 4436207518253 5 inst <- push1 - 0 174829 4436207518259 5 inst -> push1 - 0 174829 4436207518264 5 inst <- push1 - 0 174829 4436207518270 5 inst -> storeScalarStk - 0 174829 4436207518278 7 inst <- storeScalarStk - 0 174829 4436207518284 5 inst -> done - 0 174829 4436207518289 5 inst <- done - 0 174829 4436207518295 6 cmd <- if - 0 174829 4436207518315 19 cmd -> namespace - 0 174829 4436207518421 106 inst -> push1 - 0 174829 4436207518428 6 inst <- push1 - 0 174829 4436207518434 5 inst -> push1 - 0 174829 4436207518440 5 inst <- push1 - 0 174829 4436207518445 5 inst -> invokeStk1 - 0 174829 4436207518452 6 cmd -> variable - 0 174829 4436207518460 8 cmd <- variable - 0 174829 4436207518466 6 inst <- invokeStk1 - 0 174829 4436207518472 5 inst -> pop - 0 174829 4436207518477 5 inst <- pop - 0 174829 4436207518483 5 inst -> push1 - 0 174829 4436207518489 5 inst <- push1 - 0 174829 4436207518494 5 inst -> push1 - 0 174829 4436207518500 5 inst <- push1 - 0 174829 4436207518506 5 inst -> invokeStk1 - 0 174829 4436207518513 7 cmd -> info - 0 174829 4436207518526 13 cmd <- info - 0 174829 4436207518532 6 inst <- invokeStk1 - 0 174829 4436207518538 5 inst -> push1 - 0 174829 4436207518544 5 inst <- push1 - 0 174829 4436207518549 5 inst -> strneq - 0 174829 4436207518555 6 inst <- strneq - 0 174829 4436207518561 5 inst -> push1 - 0 174829 4436207518567 5 inst <- push1 - 0 174829 4436207518573 5 inst -> push1 - 0 174829 4436207518578 5 inst <- push1 - 0 174829 4436207518584 5 inst -> push1 - 0 174829 4436207518589 5 inst <- push1 - 0 174829 4436207518595 5 inst -> push1 - 0 174829 4436207518600 5 inst <- push1 - 0 174829 4436207518606 5 inst -> push1 - 0 174829 4436207518612 5 inst <- push1 - 0 174829 4436207518617 5 inst -> invokeStk1 - 0 174829 4436207518624 6 cmd -> info - 0 174829 4436207518631 7 cmd <- info - 0 174829 4436207518637 6 inst <- invokeStk1 - 0 174829 4436207518643 5 inst -> push1 - 0 174829 4436207518648 5 inst <- push1 - 0 174829 4436207518654 5 inst -> push1 - 0 174829 4436207518660 5 inst <- push1 - 0 174829 4436207518665 5 inst -> push1 - 0 174829 4436207518671 5 inst <- push1 - 0 174829 4436207518677 5 inst -> push1 - 0 174829 4436207518682 5 inst <- push1 - 0 174829 4436207518688 5 inst -> invokeStk1 - 0 174829 4436207518694 6 cmd -> info - 0 174829 4436207518701 7 cmd <- info - 0 174829 4436207518707 6 inst <- invokeStk1 - 0 174829 4436207518713 5 inst -> invokeStk1 - 0 174829 4436207518720 7 cmd -> file - 0 174829 4436207518741 20 cmd <- file - 0 174829 4436207518748 6 inst <- invokeStk1 - 0 174829 4436207518753 5 inst -> invokeStk1 - 0 174829 4436207518760 6 cmd -> list - 0 174829 4436207518768 8 cmd <- list - 0 174829 4436207518774 6 inst <- invokeStk1 - 0 174829 4436207518780 5 inst -> push1 - 0 174829 4436207518786 5 inst <- push1 - 0 174829 4436207518791 5 inst -> invokeStk1 - 0 174829 4436207518798 6 cmd -> foreach - 0 174829 4436207518821 23 inst -> push1 - 0 174829 4436207518827 6 inst <- push1 - 0 174829 4436207518833 5 inst -> push1 - 0 174829 4436207518839 5 inst <- push1 - 0 174829 4436207518844 5 inst -> push1 - 0 174829 4436207518850 5 inst <- push1 - 0 174829 4436207518856 5 inst -> loadScalarStk - 0 174829 4436207518862 6 inst <- loadScalarStk - 0 174829 4436207518868 5 inst -> push1 - 0 174829 4436207518874 5 inst <- push1 - 0 174829 4436207518879 5 inst -> loadScalarStk - 0 174829 4436207518886 6 inst <- loadScalarStk - 0 174829 4436207518892 5 inst -> invokeStk1 - 0 174829 4436207518898 6 cmd -> lsearch - 0 174829 4436207518906 8 cmd <- lsearch - 0 174829 4436207518913 6 inst <- invokeStk1 - 0 174829 4436207518918 5 inst -> push1 - 0 174829 4436207518924 5 inst <- push1 - 0 174829 4436207518930 5 inst -> lt - 0 174829 4436207518936 6 inst <- lt - 0 174829 4436207518942 5 inst -> push1 - 0 174829 4436207518947 5 inst <- push1 - 0 174829 4436207518953 5 inst -> push1 - 0 174829 4436207518958 5 inst <- push1 - 0 174829 4436207518964 5 inst -> push1 - 0 174829 4436207518969 5 inst <- push1 - 0 174829 4436207518975 5 inst -> loadScalarStk - 0 174829 4436207518981 6 inst <- loadScalarStk - 0 174829 4436207518987 5 inst -> invokeStk1 - 0 174829 4436207518993 6 cmd -> lappend - 0 174829 4436207519002 8 cmd <- lappend - 0 174829 4436207519008 6 inst <- invokeStk1 - 0 174829 4436207519013 5 inst -> jump1 - 0 174829 4436207519019 5 inst <- jump1 - 0 174829 4436207519025 5 inst -> done - 0 174829 4436207519030 5 inst <- done - 0 174829 4436207519038 8 inst -> push1 - 0 174829 4436207519044 5 inst <- push1 - 0 174829 4436207519050 5 inst -> push1 - 0 174829 4436207519055 5 inst <- push1 - 0 174829 4436207519061 5 inst -> push1 - 0 174829 4436207519066 5 inst <- push1 - 0 174829 4436207519072 5 inst -> loadScalarStk - 0 174829 4436207519078 5 inst <- loadScalarStk - 0 174829 4436207519084 5 inst -> push1 - 0 174829 4436207519090 5 inst <- push1 - 0 174829 4436207519095 5 inst -> loadScalarStk - 0 174829 4436207519102 6 inst <- loadScalarStk - 0 174829 4436207519108 5 inst -> invokeStk1 - 0 174829 4436207519114 6 cmd -> lsearch - 0 174829 4436207519120 6 cmd <- lsearch - 0 174829 4436207519126 5 inst <- invokeStk1 - 0 174829 4436207519132 5 inst -> push1 - 0 174829 4436207519138 5 inst <- push1 - 0 174829 4436207519143 5 inst -> lt - 0 174829 4436207519149 5 inst <- lt - 0 174829 4436207519155 5 inst -> push1 - 0 174829 4436207519160 5 inst <- push1 - 0 174829 4436207519166 5 inst -> push1 - 0 174829 4436207519171 5 inst <- push1 - 0 174829 4436207519177 5 inst -> push1 - 0 174829 4436207519182 5 inst <- push1 - 0 174829 4436207519188 5 inst -> loadScalarStk - 0 174829 4436207519194 5 inst <- loadScalarStk - 0 174829 4436207519200 5 inst -> invokeStk1 - 0 174829 4436207519206 6 cmd -> lappend - 0 174829 4436207519213 7 cmd <- lappend - 0 174829 4436207519219 6 inst <- invokeStk1 - 0 174829 4436207519225 5 inst -> jump1 - 0 174829 4436207519231 5 inst <- jump1 - 0 174829 4436207519236 5 inst -> done - 0 174829 4436207519242 5 inst <- done - 0 174829 4436207519248 6 cmd <- foreach - 0 174829 4436207519255 6 inst <- invokeStk1 - 0 174829 4436207519260 5 inst -> jump1 - 0 174829 4436207519266 5 inst <- jump1 - 0 174829 4436207519272 5 inst -> pop - 0 174829 4436207519277 5 inst <- pop - 0 174829 4436207519283 5 inst -> push1 - 0 174829 4436207519288 5 inst <- push1 - 0 174829 4436207519294 5 inst -> push1 - 0 174829 4436207519300 5 inst <- push1 - 0 174829 4436207519305 5 inst -> push1 - 0 174829 4436207519311 5 inst <- push1 - 0 174829 4436207519316 5 inst -> push1 - 0 174829 4436207519322 5 inst <- push1 - 0 174829 4436207519328 5 inst -> push1 - 0 174829 4436207519333 5 inst <- push1 - 0 174829 4436207519339 5 inst -> push1 - 0 174829 4436207519344 5 inst <- push1 - 0 174829 4436207519350 5 inst -> push1 - 0 174829 4436207519356 5 inst <- push1 - 0 174829 4436207519362 5 inst -> push1 - 0 174829 4436207519367 5 inst <- push1 - 0 174829 4436207519373 5 inst -> push1 - 0 174829 4436207519378 5 inst <- push1 - 0 174829 4436207519384 5 inst -> invokeStk1 - 0 174829 4436207519390 6 cmd -> info - 0 174829 4436207519399 8 cmd <- info - 0 174829 4436207519405 5 inst <- invokeStk1 - 0 174829 4436207519411 5 inst -> invokeStk1 - 0 174829 4436207519417 6 cmd -> file - 0 174829 4436207519435 18 cmd <- file - 0 174829 4436207519442 6 inst <- invokeStk1 - 0 174829 4436207519448 5 inst -> invokeStk1 - 0 174829 4436207519454 6 cmd -> file - 0 174829 4436207519471 17 cmd <- file - 0 174829 4436207519478 6 inst <- invokeStk1 - 0 174829 4436207519484 5 inst -> push1 - 0 174829 4436207519490 5 inst <- push1 - 0 174829 4436207519495 5 inst -> invokeStk1 - 0 174829 4436207519502 6 cmd -> file - 0 174829 4436207519512 9 cmd <- file - 0 174829 4436207519518 6 inst <- invokeStk1 - 0 174829 4436207519524 5 inst -> storeScalarStk - 0 174829 4436207519530 6 inst <- storeScalarStk - 0 174829 4436207519536 6 inst -> push1 - 0 174829 4436207519542 5 inst <- push1 - 0 174829 4436207519547 5 inst -> push1 - 0 174829 4436207519553 5 inst <- push1 - 0 174829 4436207519559 5 inst -> push1 - 0 174829 4436207519564 5 inst <- push1 - 0 174829 4436207519570 5 inst -> loadScalarStk - 0 174829 4436207519576 6 inst <- loadScalarStk - 0 174829 4436207519582 5 inst -> push1 - 0 174829 4436207519587 5 inst <- push1 - 0 174829 4436207519593 5 inst -> loadScalarStk - 0 174829 4436207519599 5 inst <- loadScalarStk - 0 174829 4436207519605 5 inst -> invokeStk1 - 0 174829 4436207519611 6 cmd -> lsearch - 0 174829 4436207519617 6 cmd <- lsearch - 0 174829 4436207519623 6 inst <- invokeStk1 - 0 174829 4436207519629 5 inst -> push1 - 0 174829 4436207519635 5 inst <- push1 - 0 174829 4436207519640 5 inst -> lt - 0 174829 4436207519646 5 inst <- lt - 0 174829 4436207519652 5 inst -> push1 - 0 174829 4436207519657 5 inst <- push1 - 0 174829 4436207519663 5 inst -> push1 - 0 174829 4436207519668 5 inst <- push1 - 0 174829 4436207519674 5 inst -> push1 - 0 174829 4436207519679 5 inst <- push1 - 0 174829 4436207519685 5 inst -> loadScalarStk - 0 174829 4436207519691 5 inst <- loadScalarStk - 0 174829 4436207519697 5 inst -> invokeStk1 - 0 174829 4436207519703 6 cmd -> lappend - 0 174829 4436207519710 6 cmd <- lappend - 0 174829 4436207519716 6 inst <- invokeStk1 - 0 174829 4436207519722 5 inst -> jump1 - 0 174829 4436207519727 5 inst <- jump1 - 0 174829 4436207519733 5 inst -> pop - 0 174829 4436207519739 5 inst <- pop - 0 174829 4436207519744 5 inst -> push1 - 0 174829 4436207519750 5 inst <- push1 - 0 174829 4436207519756 5 inst -> push1 - 0 174829 4436207519761 5 inst <- push1 - 0 174829 4436207519767 5 inst -> push1 - 0 174829 4436207519772 5 inst <- push1 - 0 174829 4436207519778 5 inst -> invokeStk1 - 0 174829 4436207519784 6 cmd -> info - 0 174829 4436207519791 6 cmd <- info - 0 174829 4436207519797 6 inst <- invokeStk1 - 0 174829 4436207519803 5 inst -> tryCvtToNumeric - 0 174829 4436207519809 5 inst <- tryCvtToNumeric - 0 174829 4436207519815 5 inst -> jumpFalse1 - 0 174829 4436207519820 5 inst <- jumpFalse1 - 0 174829 4436207519826 5 inst -> push1 - 0 174829 4436207519832 5 inst <- push1 - 0 174829 4436207519837 5 inst -> push1 - 0 174829 4436207519843 5 inst <- push1 - 0 174829 4436207519849 5 inst -> push1 - 0 174829 4436207519854 5 inst <- push1 - 0 174829 4436207519860 5 inst -> loadScalarStk - 0 174829 4436207519866 6 inst <- loadScalarStk - 0 174829 4436207519872 5 inst -> push1 - 0 174829 4436207519877 5 inst <- push1 - 0 174829 4436207519883 5 inst -> invokeStk1 - 0 174829 4436207519889 6 cmd -> foreach - 0 174829 4436207519899 9 inst -> push1 - 0 174829 4436207519904 5 inst <- push1 - 0 174829 4436207519910 5 inst -> push1 - 0 174829 4436207519915 5 inst <- push1 - 0 174829 4436207519921 5 inst -> push1 - 0 174829 4436207519927 5 inst <- push1 - 0 174829 4436207519932 5 inst -> loadScalarStk - 0 174829 4436207519938 6 inst <- loadScalarStk - 0 174829 4436207519944 5 inst -> push1 - 0 174829 4436207519950 5 inst <- push1 - 0 174829 4436207519955 5 inst -> loadScalarStk - 0 174829 4436207519962 6 inst <- loadScalarStk - 0 174829 4436207519968 5 inst -> invokeStk1 - 0 174829 4436207519974 6 cmd -> lsearch - 0 174829 4436207519980 6 cmd <- lsearch - 0 174829 4436207519986 6 inst <- invokeStk1 - 0 174829 4436207519992 5 inst -> push1 - 0 174829 4436207519998 5 inst <- push1 - 0 174829 4436207520003 5 inst -> lt - 0 174829 4436207520009 5 inst <- lt - 0 174829 4436207520015 5 inst -> push1 - 0 174829 4436207520020 5 inst <- push1 - 0 174829 4436207520026 5 inst -> push1 - 0 174829 4436207520031 5 inst <- push1 - 0 174829 4436207520037 5 inst -> push1 - 0 174829 4436207520043 5 inst <- push1 - 0 174829 4436207520048 5 inst -> loadScalarStk - 0 174829 4436207520054 5 inst <- loadScalarStk - 0 174829 4436207520060 5 inst -> invokeStk1 - 0 174829 4436207520066 6 cmd -> lappend - 0 174829 4436207520073 6 cmd <- lappend - 0 174829 4436207520079 5 inst <- invokeStk1 - 0 174829 4436207520085 5 inst -> jump1 - 0 174829 4436207520090 5 inst <- jump1 - 0 174829 4436207520096 5 inst -> done - 0 174829 4436207520102 5 inst <- done - 0 174829 4436207520108 6 cmd <- foreach - 0 174829 4436207520114 5 inst <- invokeStk1 - 0 174829 4436207520119 5 inst -> jump1 - 0 174829 4436207520125 5 inst <- jump1 - 0 174829 4436207520131 5 inst -> done - 0 174829 4436207520136 5 inst <- done - 0 174829 4436207520143 6 cmd <- namespace - 0 174829 4436207520171 28 cmd -> if - 0 174829 4436207520192 20 inst -> push1 - 0 174829 4436207520198 6 inst <- push1 - 0 174829 4436207520203 5 inst -> push1 - 0 174829 4436207520209 5 inst <- push1 - 0 174829 4436207520215 5 inst -> invokeStk1 - 0 174829 4436207520221 6 cmd -> interp - 0 174829 4436207520230 9 cmd <- interp - 0 174829 4436207520236 5 inst <- invokeStk1 - 0 174829 4436207520242 5 inst -> not - 0 174829 4436207520247 5 inst <- not - 0 174829 4436207520253 5 inst -> jumpTrue1 - 0 174829 4436207520259 5 inst <- jumpTrue1 - 0 174829 4436207520265 5 inst -> push1 - 0 174829 4436207520270 5 inst <- push1 - 0 174829 4436207520276 5 inst -> dup - 0 174829 4436207520281 5 inst <- dup - 0 174829 4436207520287 5 inst -> jumpFalse1 - 0 174829 4436207520293 5 inst <- jumpFalse1 - 0 174829 4436207520298 5 inst -> push1 - 0 174829 4436207520304 5 inst <- push1 - 0 174829 4436207520310 5 inst -> push1 - 0 174829 4436207520315 5 inst <- push1 - 0 174829 4436207520321 5 inst -> loadArrayStk - 0 174829 4436207520328 6 inst <- loadArrayStk - 0 174829 4436207520334 5 inst -> push1 - 0 174829 4436207520339 5 inst <- push1 - 0 174829 4436207520345 5 inst -> streq - 0 174829 4436207520351 5 inst <- streq - 0 174829 4436207520357 5 inst -> land - 0 174829 4436207520363 6 inst <- land - 0 174829 4436207520368 5 inst -> done - 0 174829 4436207520374 5 inst <- done - 0 174829 4436207520381 6 cmd <- if - 0 174829 4436207520394 13 cmd -> package - 0 174829 4436207520401 6 cmd <- package - 0 174829 4436207520413 11 cmd -> if - 0 174829 4436207520424 11 inst -> push1 - 0 174829 4436207520429 5 inst <- push1 - 0 174829 4436207520435 5 inst -> push1 - 0 174829 4436207520441 5 inst <- push1 - 0 174829 4436207520446 5 inst -> invokeStk1 - 0 174829 4436207520453 6 cmd -> interp - 0 174829 4436207520459 6 cmd <- interp - 0 174829 4436207520465 5 inst <- invokeStk1 - 0 174829 4436207520471 5 inst -> not - 0 174829 4436207520476 5 inst <- not - 0 174829 4436207520482 5 inst -> done - 0 174829 4436207520488 5 inst <- done - 0 174829 4436207520527 39 inst -> push1 - 0 174829 4436207520533 5 inst <- push1 - 0 174829 4436207520539 5 inst -> push1 - 0 174829 4436207520544 5 inst <- push1 - 0 174829 4436207520550 5 inst -> loadArrayStk - 0 174829 4436207520557 6 inst <- loadArrayStk - 0 174829 4436207520563 5 inst -> push1 - 0 174829 4436207520568 5 inst <- push1 - 0 174829 4436207520574 5 inst -> streq - 0 174829 4436207520580 5 inst <- streq - 0 174829 4436207520586 5 inst -> push1 - 0 174829 4436207520591 5 inst <- push1 - 0 174829 4436207520597 5 inst -> dup - 0 174829 4436207520602 5 inst <- dup - 0 174829 4436207520608 5 inst -> jumpFalse1 - 0 174829 4436207520614 5 inst <- jumpFalse1 - 0 174829 4436207520619 5 inst -> push1 - 0 174829 4436207520625 5 inst <- push1 - 0 174829 4436207520631 5 inst -> push1 - 0 174829 4436207520636 5 inst <- push1 - 0 174829 4436207520642 5 inst -> loadArrayStk - 0 174829 4436207520648 6 inst <- loadArrayStk - 0 174829 4436207520654 5 inst -> push1 - 0 174829 4436207520660 5 inst <- push1 - 0 174829 4436207520665 5 inst -> streq - 0 174829 4436207520671 5 inst <- streq - 0 174829 4436207520677 5 inst -> land - 0 174829 4436207520682 5 inst <- land - 0 174829 4436207520688 5 inst -> jumpFalse1 - 0 174829 4436207520694 5 inst <- jumpFalse1 - 0 174829 4436207520700 5 inst -> push1 - 0 174829 4436207520705 5 inst <- push1 - 0 174829 4436207520711 5 inst -> pop - 0 174829 4436207520716 5 inst <- pop - 0 174829 4436207520722 5 inst -> push1 - 0 174829 4436207520728 5 inst <- push1 - 0 174829 4436207520733 5 inst -> push1 - 0 174829 4436207520739 5 inst <- push1 - 0 174829 4436207520744 5 inst -> loadArrayStk - 0 174829 4436207520751 6 inst <- loadArrayStk - 0 174829 4436207520757 5 inst -> push1 - 0 174829 4436207520762 5 inst <- push1 - 0 174829 4436207520768 5 inst -> streq - 0 174829 4436207520773 5 inst <- streq - 0 174829 4436207520779 5 inst -> push1 - 0 174829 4436207520785 5 inst <- push1 - 0 174829 4436207520791 5 inst -> done - 0 174829 4436207520796 5 inst <- done - 0 174829 4436207520802 6 cmd <- if - 0 174829 4436207520822 19 cmd -> if - 0 174829 4436207520835 13 inst -> push1 - 0 174829 4436207520841 5 inst <- push1 - 0 174829 4436207520847 5 inst -> push1 - 0 174829 4436207520852 5 inst <- push1 - 0 174829 4436207520858 5 inst -> push1 - 0 174829 4436207520864 5 inst <- push1 - 0 174829 4436207520869 5 inst -> push1 - 0 174829 4436207520875 5 inst <- push1 - 0 174829 4436207520881 5 inst -> invokeStk1 - 0 174829 4436207520887 6 cmd -> namespace - 0 174829 4436207520896 8 cmd <- namespace - 0 174829 4436207520902 6 inst <- invokeStk1 - 0 174829 4436207520908 5 inst -> push1 - 0 174829 4436207520913 5 inst <- push1 - 0 174829 4436207520919 5 inst -> streq - 0 174829 4436207520925 6 inst <- streq - 0 174829 4436207520931 5 inst -> done - 0 174829 4436207520936 5 inst <- done - 0 174829 4436207520942 6 cmd <- if - 0 174829 4436207521503 560 cmd -> set - 0 174829 4436207521515 11 cmd <- set - 0 174829 4436207521524 9 cmd -> set - 0 174829 4436207521531 6 cmd <- set - 0 174829 4436207521541 10 cmd -> if - 0 174829 4436207521559 17 inst -> push1 - 0 174829 4436207521566 7 inst <- push1 - 0 174829 4436207521573 6 inst -> push1 - 0 174829 4436207521578 5 inst <- push1 - 0 174829 4436207521584 5 inst -> push1 - 0 174829 4436207521590 5 inst <- push1 - 0 174829 4436207521596 5 inst -> push1 - 0 174829 4436207521601 5 inst <- push1 - 0 174829 4436207521607 5 inst -> invokeStk1 - 0 174829 4436207521613 6 cmd -> namespace - 0 174829 4436207521621 7 cmd <- namespace - 0 174829 4436207521627 6 inst <- invokeStk1 - 0 174829 4436207521633 5 inst -> push1 - 0 174829 4436207521639 5 inst <- push1 - 0 174829 4436207521644 5 inst -> streq - 0 174829 4436207521650 5 inst <- streq - 0 174829 4436207521656 5 inst -> done - 0 174829 4436207521662 5 inst <- done - 0 174829 4436207521674 11 inst -> push1 - 0 174829 4436207521679 5 inst <- push1 - 0 174829 4436207521685 5 inst -> push1 - 0 174829 4436207521691 5 inst <- push1 - 0 174829 4436207521697 5 inst -> push1 - 0 174829 4436207521702 5 inst <- push1 - 0 174829 4436207521708 5 inst -> push1 - 0 174829 4436207521714 5 inst <- push1 - 0 174829 4436207521720 5 inst -> invokeStk1 - 0 174829 4436207521726 6 cmd -> proc - 0 174829 4436207521738 12 cmd <- proc - 0 174829 4436207521744 6 inst <- invokeStk1 - 0 174829 4436207521750 5 inst -> done - 0 174829 4436207521756 5 inst <- done - 0 174829 4436207521762 6 cmd <- if - 0 174829 4436207521862 99 cmd -> proc - 0 174829 4436207521872 10 cmd <- proc - 0 174829 4436207521891 19 cmd -> proc - 0 174829 4436207521902 10 cmd <- proc - 0 174829 4436207521932 30 cmd -> proc - 0 174829 4436207521941 8 cmd <- proc - 0 174829 4436207521961 19 cmd -> proc - 0 174829 4436207521970 9 cmd <- proc - 0 174829 4436207521985 14 cmd -> proc - 0 174829 4436207521994 8 cmd <- proc - 0 174829 4436207522039 45 cmd -> if - 0 174829 4436207522053 14 inst -> push1 - 0 174829 4436207522059 5 inst <- push1 - 0 174829 4436207522065 6 inst -> push1 - 0 174829 4436207522070 5 inst <- push1 - 0 174829 4436207522076 5 inst -> loadArrayStk - 0 174829 4436207522083 7 inst <- loadArrayStk - 0 174829 4436207522089 5 inst -> push1 - 0 174829 4436207522094 5 inst <- push1 - 0 174829 4436207522100 5 inst -> streq - 0 174829 4436207522106 5 inst <- streq - 0 174829 4436207522112 5 inst -> done - 0 174829 4436207522117 5 inst <- done - 0 174829 4436207522134 16 inst -> push1 - 0 174829 4436207522140 5 inst <- push1 - 0 174829 4436207522146 5 inst -> push1 - 0 174829 4436207522151 5 inst <- push1 - 0 174829 4436207522157 5 inst -> push1 - 0 174829 4436207522163 5 inst <- push1 - 0 174829 4436207522168 5 inst -> push1 - 0 174829 4436207522174 5 inst <- push1 - 0 174829 4436207522180 5 inst -> invokeStk1 - 0 174829 4436207522186 6 cmd -> proc - 0 174829 4436207522205 19 cmd <- proc - 0 174829 4436207522212 6 inst <- invokeStk1 - 0 174829 4436207522218 5 inst -> done - 0 174829 4436207522223 5 inst <- done - 0 174829 4436207522230 6 cmd <- if - 0 174829 4436207522274 44 cmd -> proc - 0 174829 4436207522286 11 cmd <- proc - 0 174829 4436207522294 8 cmd <- source - 0 174829 4436207522301 6 cmd <- uplevel - 0 174829 4436207522307 6 inst <- invokeStk1 - 0 174829 4436207522313 6 inst -> storeScalar1 - 0 174829 4436207522319 5 inst <- storeScalar1 - 0 174829 4436207522325 5 inst -> push1 - 0 174829 4436207522331 5 inst <- push1 - 0 174829 4436207522337 5 inst -> jump1 - 0 174829 4436207522342 5 inst <- jump1 - 0 174829 4436207522348 5 inst -> endCatch - 0 174829 4436207522354 5 inst <- endCatch - 0 174829 4436207522360 5 inst -> not - 0 174829 4436207522366 5 inst <- not - 0 174829 4436207522371 5 inst -> jumpFalse1 - 0 174829 4436207522377 5 inst <- jumpFalse1 - 0 174829 4436207522383 5 inst -> push1 - 0 174829 4436207522389 5 inst <- push1 - 0 174829 4436207522394 5 inst -> done - 0 174829 4436207522400 5 inst <- done - 0 174829 4436207522409 8 proc <- tclInit - 0 174829 4436207522426 17 cmd <- tclInit - 0 174829 4436207522671 245 cmd -> proc - 0 174829 4436207522681 9 cmd <- proc - 0 174829 4436207522691 9 cmd -> proc - 0 174829 4436207522698 7 cmd <- proc - 0 174829 4436207522708 9 cmd -> proc - 0 174829 4436207522715 7 cmd <- proc - 0 174829 4436207522723 8 cmd -> func_a - 0 174829 4436207522742 18 proc -> func_a - 0 174829 4436207522752 10 inst -> push1 - 0 174829 4436207522757 5 inst <- push1 - 0 174829 4436207522763 5 inst -> push1 - 0 174829 4436207522769 5 inst <- push1 - 0 174829 4436207522775 5 inst -> invokeStk1 - 0 174829 4436207522781 6 cmd -> puts - 0 174829 4436207523212 430 cmd <- puts - 0 174829 4436207523266 54 inst <- invokeStk1 - 0 174829 4436207523275 8 inst -> pop - 0 174829 4436207523281 6 inst <- pop - 0 174829 4436207523287 5 inst -> push1 - 0 174829 4436207523292 5 inst <- push1 - 0 174829 4436207523298 5 inst -> push1 - 0 174829 4436207523304 5 inst <- push1 - 0 174829 4436207523310 5 inst -> invokeStk1 - 0 174829 4436207523318 7 cmd -> after - 0 174829 4436208530951 1007632 cmd <- after - 0 174829 4436208530972 21 inst <- invokeStk1 - 0 174829 4436208530984 12 inst -> pop - 0 174829 4436208530993 9 inst <- pop - 0 174829 4436208530999 5 inst -> push1 - 0 174829 4436208531005 5 inst <- push1 - 0 174829 4436208531010 5 inst -> invokeStk1 - 0 174829 4436208531021 10 cmd -> func_b - 0 174829 4436208531057 35 proc -> func_b - 0 174829 4436208531067 10 inst -> push1 - 0 174829 4436208531073 5 inst <- push1 - 0 174829 4436208531079 5 inst -> push1 - 0 174829 4436208531084 5 inst <- push1 - 0 174829 4436208531090 5 inst -> invokeStk1 - 0 174829 4436208531096 6 cmd -> puts - 0 174829 4436208531137 40 cmd <- puts - 0 174829 4436208531144 6 inst <- invokeStk1 - 0 174829 4436208531150 5 inst -> pop - 0 174829 4436208531155 5 inst <- pop - 0 174829 4436208531161 5 inst -> push1 - 0 174829 4436208531166 5 inst <- push1 - 0 174829 4436208531172 5 inst -> push1 - 0 174829 4436208531178 5 inst <- push1 - 0 174829 4436208531184 5 inst -> invokeStk1 - 0 174829 4436208531190 6 cmd -> after - 0 174829 4436209540924 1009734 cmd <- after - 0 174829 4436209540946 21 inst <- invokeStk1 - 0 174829 4436209540957 11 inst -> pop - 0 174829 4436209540967 9 inst <- pop - 0 174829 4436209540973 5 inst -> push1 - 0 174829 4436209540978 5 inst <- push1 - 0 174829 4436209540984 5 inst -> invokeStk1 - 0 174829 4436209540995 10 cmd -> func_c - 0 174829 4436209541029 34 proc -> func_c - 0 174829 4436209541039 10 inst -> push1 - 0 174829 4436209541045 5 inst <- push1 - 0 174829 4436209541051 5 inst -> push1 - 0 174829 4436209541056 5 inst <- push1 - 0 174829 4436209541062 5 inst -> invokeStk1 - 0 174829 4436209541068 6 cmd -> puts - 0 174829 4436209541111 42 cmd <- puts - 0 174829 4436209541118 7 inst <- invokeStk1 - 0 174829 4436209541124 5 inst -> pop - 0 174829 4436209541129 5 inst <- pop - 0 174829 4436209541135 5 inst -> push1 - 0 174829 4436209541141 5 inst <- push1 - 0 174829 4436209541147 5 inst -> push1 - 0 174829 4436209541153 5 inst <- push1 - 0 174829 4436209541158 5 inst -> invokeStk1 - 0 174829 4436209541165 6 cmd -> after - 0 174829 4436210550785 1009619 cmd <- after - 0 174829 4436210550807 22 inst <- invokeStk1 - 0 174829 4436210550819 11 inst -> done - 0 174829 4436210550830 10 inst <- done - 0 174829 4436210550839 9 proc <- func_c - 0 174829 4436210550850 11 cmd <- func_c - 0 174829 4436210550856 6 inst <- invokeStk1 - 0 174829 4436210550862 5 inst -> done - 0 174829 4436210550868 5 inst <- done - 0 174829 4436210550874 6 proc <- func_b - 0 174829 4436210550880 6 cmd <- func_b - 0 174829 4436210550887 6 inst <- invokeStk1 - 0 174829 4436210550892 5 inst -> done - 0 174829 4436210550898 5 inst <- done - 0 174829 4436210550904 6 proc <- func_a - 0 174829 4436210550911 6 cmd <- func_a - 0 174829 4436210550938 27 cmd -> exit - -As you can see the output is quite long, and in seven columns. The first -column is the CPU the action is on. The second is the PID. The third is the -time since boot in microseconds. - -The fourth column is the number of microseconds that has elapsed between the -previous line and the current one. - -The fifth column is the type of event that occurred (procedure, command or -instruction). - -The sixth and seventh columns are indented by 2 spaces to show when a new -event occurs. This shows us which command is calling which. - -If the output looks strange, check the CPU "C" column - if it changes, -then the output is probably shuffled. See Notes/ALLsnoop_notes.txt for -details and suggested workarounds. - -See Notes/ALLflow_notes.txt for important notes about reading flow outputs. - diff --git a/cddl/contrib/dtracetoolkit/Examples/tcl_proccalls_example.txt b/cddl/contrib/dtracetoolkit/Examples/tcl_proccalls_example.txt deleted file mode 100644 index ed6820dddfb7..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/tcl_proccalls_example.txt +++ /dev/null @@ -1,17 +0,0 @@ -Following are examples of running tcl_proccalls.d. - -The output shows what happens when the code from Code/Tcl/func_abc.tcl is -traced. - -# tcl_proccalls.d -Tracing... Hit Ctrl-C to end. -^C - PID COUNT PROCEDURE - 16078 1 func_a - 16078 1 func_b - 16078 1 func_c - 16078 1 tclInit - -This simple output shows that PID 16078 was responsible for four procedures -beginning, one each of func_a, func_b, func_c, and tclInit. - diff --git a/cddl/contrib/dtracetoolkit/Examples/tcl_procflow_example.txt b/cddl/contrib/dtracetoolkit/Examples/tcl_procflow_example.txt deleted file mode 100644 index 93b822ec3eb6..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/tcl_procflow_example.txt +++ /dev/null @@ -1,29 +0,0 @@ -The following are examples of tcl_procflow.d. - -This is a simple script to trace the flow of Tcl procedures. - -Here it traces the example program, Code/Tcl/func_abc.tcl. - -# tcl_procflow.d - C PID TIME(us) -- PROCEDURE - 0 16073 3904971507502 -> tclInit - 0 16073 3904971509096 <- tclInit - 0 16073 3904971509305 -> func_a - 0 16073 3904972511039 -> func_b - 0 16073 3904973521023 -> func_c - 0 16073 3904974530998 <- func_c - 0 16073 3904974531008 <- func_b - 0 16073 3904974531014 <- func_a -^C - -As each procedure starts, the third column is indented by 2 spaces. This -shows which procedure is calling which - the output above begins with an init -procedure and then shows that func_a began, and then called func_b. - -The columns are CPU, PID, Time since boot, indicator and procedure name. - -If the output looks shuffled, check the CPU "C" and "TIME" columns, and -post sort based on TIME if necessary. - -See Notes/ALLflow_notes.txt for important notes about reading flow outputs. - diff --git a/cddl/contrib/dtracetoolkit/Examples/tcl_stat_example.txt b/cddl/contrib/dtracetoolkit/Examples/tcl_stat_example.txt deleted file mode 100644 index 178fef10b197..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/tcl_stat_example.txt +++ /dev/null @@ -1,24 +0,0 @@ -Following are examples of running tcl_stat.d on Tcl programs. - -tcl_stat.d shows you the number of events per second that have happened since -the last line output. The default interval is 1 second, but you can specify -other intervals as arguments to the script. - -This shows the sh_stat.d script reflecting the Code/Tcl/func_abc.tcl program. - -# tcl_stat.d -TIME EXEC/s PROC/s CMD/s OBJNEW/s OBJFRE/s OP/s -2007 Sep 26 23:34:36 0 0 0 0 0 0 -2007 Sep 26 23:34:37 1 2 75 911 805 377 -2007 Sep 26 23:34:38 0 1 3 4 2 10 -2007 Sep 26 23:34:39 0 1 3 3 2 10 -2007 Sep 26 23:34:40 0 0 1 7 8 3 -2007 Sep 26 23:34:41 0 0 0 0 0 0 -2007 Sep 26 23:34:42 0 0 0 0 0 0 -^C - - At 2007 Sep 26 23:34:37 we can see that there was one Tcl program executed -(this number may include those programs without Tcl provider support), two -procedures called, 75 new commands created, 911 objects created, 805 objects -freed, and 377 bytecode operations. - diff --git a/cddl/contrib/dtracetoolkit/Examples/tcl_syscalls_example.txt b/cddl/contrib/dtracetoolkit/Examples/tcl_syscalls_example.txt deleted file mode 100644 index 5553b1c6a8c4..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/tcl_syscalls_example.txt +++ /dev/null @@ -1,66 +0,0 @@ -The following are examples of sh_syscalls.d. - -This is a simple script to count Tcl commands, procedures and system calls. - -Here we trace an example program - Code/Tcl/func_abc.tcl. - -# tcl_syscalls.d -c './tclsh func_abc.tcl ' -Tracing... Hit Ctrl-C to end. -Function A -Function B -Function C - PID TYPE NAME COUNT - 16580 cmd concat 1 - 16580 cmd exit 1 - 16580 cmd func_a 1 - 16580 cmd func_b 1 - 16580 cmd func_c 1 - 16580 cmd list 1 - 16580 cmd rename 1 - 16580 cmd source 1 - 16580 cmd tclInit 1 - 16580 cmd unset 1 - 16580 cmd uplevel 1 - 16580 cmd variable 1 - 16580 proc func_a 1 - 16580 proc func_b 1 - 16580 proc func_c 1 - 16580 proc tclInit 1 - 16580 syscall getpid 1 - 16580 syscall getrlimit 1 - 16580 syscall mmap 1 - 16580 syscall munmap 1 - 16580 syscall rexit 1 - 16580 syscall sigaction 1 - 16580 syscall sigpending 1 - 16580 syscall sysi86 1 - 16580 syscall uname 1 - 16580 cmd foreach 2 - 16580 cmd global 2 - 16580 cmd interp 2 - 16580 cmd package 2 - 16580 cmd set 2 - 16580 syscall setcontext 2 - 16580 syscall stat64 2 - 16580 syscall sysconfig 2 - 16580 cmd after 3 - 16580 cmd namespace 3 - 16580 cmd puts 3 - 16580 syscall pollsys 3 - 16580 syscall write 3 - 16580 cmd lappend 4 - 16580 cmd lsearch 4 - 16580 syscall close 5 - 16580 syscall llseek 6 - 16580 cmd if 8 - 16580 cmd info 11 - 16580 syscall read 11 - 16580 cmd file 12 - 16580 cmd proc 12 - 16580 syscall fcntl 12 - 16580 syscall ioctl 12 - 16580 syscall open64 14 - 16580 syscall resolvepath 25 - 16580 syscall brk 27 - 16580 syscall access 54 - diff --git a/cddl/contrib/dtracetoolkit/Examples/tcl_syscolors_example.txt b/cddl/contrib/dtracetoolkit/Examples/tcl_syscolors_example.txt deleted file mode 100644 index b5929867eab9..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/tcl_syscolors_example.txt +++ /dev/null @@ -1,563 +0,0 @@ -The following are examples of tcl_syscolors.d. - -This is a simple script to trace the flow of Tcl processes, Tcl commands and -system calls made, and renders the output in color ("colour") using terminal -escape sequences (which you can tweak by modifying the script). - -Here it traces the example program, Code/Tcl/func_abc.tcl. - -WARNING: This output is full of terminal escape sequences, so if you are -trying to view this through an editor or web browser - it may look awful. -Try viewing this using "more" (although, depending on your terminal, it -still may look awful). - -# tcl_syscolors.d -c './tclsh func_abc.tcl -Function A - C PID DELTA(us) TYPE -- NAME - 0 16624 2 syscall -> munmap - 0 16624 31 syscall <- munmap - 0 16624 52 syscall -> mmap - 0 16624 21 syscall <- mmap - 0 16624 38 syscall -> setcontext - 0 16624 8 syscall <- setcontext - 0 16624 8 syscall -> getrlimit - 0 16624 9 syscall <- getrlimit - 0 16624 8 syscall -> getpid - 0 16624 7 syscall <- getpid - 0 16624 68 syscall -> setcontext - 0 16624 7 syscall <- setcontext - 0 16624 177 syscall -> sigpending - 0 16624 8 syscall <- sigpending - 0 16624 88 syscall -> sysconfig - 0 16624 7 syscall <- sysconfig - 0 16624 107 syscall -> open64 - 0 16624 115 syscall <- open64 - 0 16624 13 syscall -> ioctl - 0 16624 64 syscall <- ioctl - 0 16624 16 syscall -> close - 0 16624 17 syscall <- close - 0 16624 1208 syscall -> sysi86 - 0 16624 9 syscall <- sysi86 - 0 16624 146 syscall -> llseek - 0 16624 10 syscall <- llseek - 0 16624 7 syscall -> llseek - 0 16624 7 syscall <- llseek - 0 16624 7 syscall -> llseek - 0 16624 6 syscall <- llseek - 0 16624 24 syscall -> sigaction - 0 16624 8 syscall <- sigaction - 0 16624 63 syscall -> brk - 0 16624 9 syscall <- brk - 0 16624 7 syscall -> brk - 0 16624 14 syscall <- brk - 0 16624 76 syscall -> brk - 0 16624 7 syscall <- brk - 0 16624 7 syscall -> brk - 0 16624 12 syscall <- brk - 0 16624 328 syscall -> resolvepath - 0 16624 35 syscall <- resolvepath - 0 16624 24 syscall -> access - 0 16624 10 syscall <- access - 0 16624 7 syscall -> access - 0 16624 10 syscall <- access - 0 16624 7 syscall -> access - 0 16624 11 syscall <- access - 0 16624 7 syscall -> access - 0 16624 13 syscall <- access - 0 16624 7 syscall -> access - 0 16624 14 syscall <- access - 0 16624 7 syscall -> access - 0 16624 16 syscall <- access - 0 16624 7 syscall -> resolvepath - 0 16624 17 syscall <- resolvepath - 0 16624 32 syscall -> open64 - 0 16624 22 syscall <- open64 - 0 16624 32 syscall -> resolvepath - 0 16624 18 syscall <- resolvepath - 0 16624 8 syscall -> access - 0 16624 8 syscall <- access - 0 16624 7 syscall -> access - 0 16624 9 syscall <- access - 0 16624 7 syscall -> access - 0 16624 11 syscall <- access - 0 16624 7 syscall -> access - 0 16624 12 syscall <- access - 0 16624 7 syscall -> access - 0 16624 14 syscall <- access - 0 16624 7 syscall -> resolvepath - 0 16624 15 syscall <- resolvepath - 0 16624 11 syscall -> open64 - 0 16624 16 syscall <- open64 - 0 16624 30 syscall -> resolvepath - 0 16624 23 syscall <- resolvepath - 0 16624 11 syscall -> open64 - 0 16624 21 syscall <- open64 - 0 16624 29 syscall -> resolvepath - 0 16624 17 syscall <- resolvepath - 0 16624 8 syscall -> access - 0 16624 8 syscall <- access - 0 16624 7 syscall -> access - 0 16624 9 syscall <- access - 0 16624 7 syscall -> access - 0 16624 11 syscall <- access - 0 16624 7 syscall -> access - 0 16624 12 syscall <- access - 0 16624 7 syscall -> access - 0 16624 14 syscall <- access - 0 16624 7 syscall -> resolvepath - 0 16624 15 syscall <- resolvepath - 0 16624 11 syscall -> open64 - 0 16624 15 syscall <- open64 - 0 16624 30 syscall -> resolvepath - 0 16624 20 syscall <- resolvepath - 0 16624 11 syscall -> open64 - 0 16624 20 syscall <- open64 - 0 16624 29 syscall -> resolvepath - 0 16624 16 syscall <- resolvepath - 0 16624 8 syscall -> access - 0 16624 8 syscall <- access - 0 16624 7 syscall -> access - 0 16624 10 syscall <- access - 0 16624 7 syscall -> access - 0 16624 11 syscall <- access - 0 16624 7 syscall -> access - 0 16624 12 syscall <- access - 0 16624 7 syscall -> resolvepath - 0 16624 14 syscall <- resolvepath - 0 16624 11 syscall -> open64 - 0 16624 14 syscall <- open64 - 0 16624 28 syscall -> resolvepath - 0 16624 20 syscall <- resolvepath - 0 16624 8 syscall -> access - 0 16624 8 syscall <- access - 0 16624 7 syscall -> access - 0 16624 9 syscall <- access - 0 16624 43 syscall -> access - 0 16624 12 syscall <- access - 0 16624 7 syscall -> access - 0 16624 13 syscall <- access - 0 16624 7 syscall -> resolvepath - 0 16624 13 syscall <- resolvepath - 0 16624 11 syscall -> open64 - 0 16624 14 syscall <- open64 - 0 16624 10 syscall -> sysconfig - 0 16624 7 syscall <- sysconfig - 0 16624 33 syscall -> resolvepath - 0 16624 19 syscall <- resolvepath - 0 16624 8 syscall -> access - 0 16624 8 syscall <- access - 0 16624 7 syscall -> access - 0 16624 9 syscall <- access - 0 16624 7 syscall -> access - 0 16624 11 syscall <- access - 0 16624 7 syscall -> access - 0 16624 13 syscall <- access - 0 16624 7 syscall -> access - 0 16624 14 syscall <- access - 0 16624 7 syscall -> access - 0 16624 15 syscall <- access - 0 16624 7 syscall -> resolvepath - 0 16624 17 syscall <- resolvepath - 0 16624 11 syscall -> open64 - 0 16624 18 syscall <- open64 - 0 16624 30 syscall -> resolvepath - 0 16624 17 syscall <- resolvepath - 0 16624 7 syscall -> access - 0 16624 8 syscall <- access - 0 16624 7 syscall -> access - 0 16624 9 syscall <- access - 0 16624 7 syscall -> access - 0 16624 11 syscall <- access - 0 16624 7 syscall -> access - 0 16624 12 syscall <- access - 0 16624 7 syscall -> access - 0 16624 14 syscall <- access - 0 16624 7 syscall -> resolvepath - 0 16624 15 syscall <- resolvepath - 0 16624 11 syscall -> open64 - 0 16624 16 syscall <- open64 - 0 16624 30 syscall -> resolvepath - 0 16624 21 syscall <- resolvepath - 0 16624 11 syscall -> open64 - 0 16624 25 syscall <- open64 - 0 16624 15 syscall -> fcntl - 0 16624 7 syscall <- fcntl - 0 16624 31 syscall -> ioctl - 0 16624 8 syscall <- ioctl - 0 16624 49 syscall -> brk - 0 16624 8 syscall <- brk - 0 16624 7 syscall -> brk - 0 16624 11 syscall <- brk - 0 16624 30 syscall -> read - 0 16624 35 syscall <- read - 0 16624 54 syscall -> read - 0 16624 8 syscall <- read - 0 16624 21 syscall -> close - 0 16624 10 syscall <- close - 0 16624 51 syscall -> brk - 0 16624 7 syscall <- brk - 0 16624 7 syscall -> brk - 0 16624 9 syscall <- brk - 0 16624 111 syscall -> brk - 0 16624 7 syscall <- brk - 0 16624 7 syscall -> brk - 0 16624 8 syscall <- brk - 0 16624 94 syscall -> uname - 0 16624 8 syscall <- uname - 0 16624 47 syscall -> ioctl - 0 16624 35 syscall <- ioctl - 0 16624 73 cmd -> if - 0 16624 89 cmd -> info - 0 16624 25 cmd <- info - 0 16624 46 cmd -> proc - 0 16624 11 syscall -> brk - 0 16624 7 syscall <- brk - 0 16624 7 syscall -> brk - 0 16624 9 syscall <- brk - 0 16624 23 cmd <- proc - 0 16624 9 cmd <- if - 0 16624 18 cmd -> tclInit - 0 16624 223 proc -> tclInit - 0 16624 12 cmd -> global - 0 16624 12 cmd <- global - 0 16624 9 cmd -> global - 0 16624 9 cmd <- global - 0 16624 8 cmd -> rename - 0 16624 24 cmd <- rename - 0 16624 13 cmd -> info - 0 16624 12 cmd <- info - 0 16624 13 cmd -> info - 0 16624 19 cmd <- info - 0 16624 11 cmd -> unset - 0 16624 13 cmd <- unset - 0 16624 9 cmd -> concat - 0 16624 15 cmd <- concat - 0 16624 18 cmd -> file - 0 16624 20 cmd <- file - 0 16624 8 cmd -> file - 0 16624 25 syscall -> resolvepath - 0 16624 24 syscall <- resolvepath - 0 16624 9 syscall -> access - 0 16624 8 syscall <- access - 0 16624 7 syscall -> access - 0 16624 9 syscall <- access - 0 16624 7 syscall -> access - 0 16624 11 syscall <- access - 0 16624 7 syscall -> access - 0 16624 12 syscall <- access - 0 16624 7 syscall -> resolvepath - 0 16624 14 syscall <- resolvepath - 0 16624 12 syscall -> access - 0 16624 13 syscall <- access - 0 16624 9 cmd <- file - 0 16624 10 cmd -> file - 0 16624 12 cmd <- file - 0 16624 9 cmd -> file - 0 16624 24 syscall -> resolvepath - 0 16624 23 syscall <- resolvepath - 0 16624 8 syscall -> access - 0 16624 8 syscall <- access - 0 16624 7 syscall -> access - 0 16624 9 syscall <- access - 0 16624 7 syscall -> access - 0 16624 11 syscall <- access - 0 16624 7 syscall -> access - 0 16624 13 syscall <- access - 0 16624 7 syscall -> access - 0 16624 14 syscall <- access - 0 16624 7 syscall -> access - 0 16624 16 syscall <- access - 0 16624 7 syscall -> resolvepath - 0 16624 17 syscall <- resolvepath - 0 16624 12 syscall -> access - 0 16624 16 syscall <- access - 0 16624 29 cmd <- file - 0 16624 10 cmd -> file - 0 16624 12 cmd <- file - 0 16624 9 cmd -> file - 0 16624 23 syscall -> resolvepath - 0 16624 20 syscall <- resolvepath - 0 16624 8 syscall -> access - 0 16624 9 syscall <- access - 0 16624 7 syscall -> access - 0 16624 10 syscall <- access - 0 16624 7 syscall -> access - 0 16624 11 syscall <- access - 0 16624 7 syscall -> access - 0 16624 13 syscall <- access - 0 16624 7 syscall -> access - 0 16624 14 syscall <- access - 0 16624 7 syscall -> resolvepath - 0 16624 15 syscall <- resolvepath - 0 16624 11 syscall -> access - 0 16624 14 syscall <- access - 0 16624 7 cmd <- file - 0 16624 9 cmd -> file - 0 16624 12 cmd <- file - 0 16624 9 cmd -> file - 0 16624 23 syscall -> resolvepath - 0 16624 20 syscall <- resolvepath - 0 16624 11 syscall -> access - 0 16624 19 syscall <- access - 0 16624 7 cmd <- file - 0 16624 10 cmd -> uplevel - 0 16624 13 cmd -> source - 0 16624 14 syscall -> stat64 - 0 16624 23 syscall <- stat64 - 0 16624 10 syscall -> open64 - 0 16624 23 syscall <- open64 - 0 16624 8 syscall -> fcntl - 0 16624 7 syscall <- fcntl - 0 16624 8 syscall -> ioctl - 0 16624 7 syscall <- ioctl - 0 16624 26 syscall -> read - 0 16624 29 syscall <- read - 0 16624 8 syscall -> brk - 0 16624 7 syscall <- brk - 0 16624 7 syscall -> brk - 0 16624 9 syscall <- brk - 0 16624 57 syscall -> read - 0 16624 15 syscall <- read - 0 16624 55 syscall -> read - 0 16624 14 syscall <- read - 0 16624 8 syscall -> brk - 0 16624 6 syscall <- brk - 0 16624 7 syscall -> brk - 0 16624 6 syscall <- brk - 0 16624 7 syscall -> brk - 0 16624 8 syscall <- brk - 0 16624 63 syscall -> read - 0 16624 14 syscall <- read - 0 16624 45 syscall -> read - 0 16624 13 syscall <- read - 0 16624 8 syscall -> brk - 0 16624 6 syscall <- brk - 0 16624 7 syscall -> brk - 0 16624 6 syscall <- brk - 0 16624 7 syscall -> brk - 0 16624 8 syscall <- brk - 0 16624 63 syscall -> read - 0 16624 14 syscall <- read - 0 16624 29 syscall -> read - 0 16624 7 syscall <- read - 0 16624 10 syscall -> close - 0 16624 10 syscall <- close - 0 16624 18 cmd -> if - 0 16624 19 cmd -> info - 0 16624 10 cmd <- info - 0 16624 12 cmd <- if - 0 16624 14 cmd -> package - 0 16624 12 cmd <- package - 0 16624 15 cmd -> if - 0 16624 12 cmd -> info - 0 16624 9 cmd <- info - 0 16624 26 cmd -> info - 0 16624 16 cmd <- info - 0 16624 10 cmd <- if - 0 16624 21 cmd -> namespace - 0 16624 87 cmd -> variable - 0 16624 10 cmd <- variable - 0 16624 9 cmd -> info - 0 16624 13 cmd <- info - 0 16624 9 cmd -> info - 0 16624 8 cmd <- info - 0 16624 8 cmd -> info - 0 16624 8 cmd <- info - 0 16624 9 cmd -> file - 0 16624 21 cmd <- file - 0 16624 9 cmd -> list - 0 16624 17 cmd <- list - 0 16624 8 cmd -> foreach - 0 16624 27 cmd -> lsearch - 0 16624 10 cmd <- lsearch - 0 16624 10 cmd -> lappend - 0 16624 9 cmd <- lappend - 0 16624 11 cmd -> lsearch - 0 16624 8 cmd <- lsearch - 0 16624 8 cmd -> lappend - 0 16624 8 cmd <- lappend - 0 16624 8 cmd <- foreach - 0 16624 8 cmd -> info - 0 16624 10 cmd <- info - 0 16624 8 cmd -> file - 0 16624 15 syscall -> brk - 0 16624 7 syscall <- brk - 0 16624 7 syscall -> brk - 0 16624 9 syscall <- brk - 0 16624 24 cmd <- file - 0 16624 9 cmd -> file - 0 16624 19 cmd <- file - 0 16624 9 cmd -> file - 0 16624 11 cmd <- file - 0 16624 10 cmd -> lsearch - 0 16624 8 cmd <- lsearch - 0 16624 9 cmd -> lappend - 0 16624 8 cmd <- lappend - 0 16624 8 cmd -> info - 0 16624 8 cmd <- info - 0 16624 9 cmd -> foreach - 0 16624 12 cmd -> lsearch - 0 16624 8 cmd <- lsearch - 0 16624 8 cmd -> lappend - 0 16624 8 cmd <- lappend - 0 16624 8 cmd <- foreach - 0 16624 8 cmd <- namespace - 0 16624 30 cmd -> if - 0 16624 22 cmd -> interp - 0 16624 17 cmd <- interp - 0 16624 11 cmd <- if - 0 16624 15 cmd -> package - 0 16624 8 cmd <- package - 0 16624 13 cmd -> if - 0 16624 12 cmd -> interp - 0 16624 8 cmd <- interp - 0 16624 44 cmd <- if - 0 16624 21 cmd -> if - 0 16624 15 cmd -> namespace - 0 16624 10 cmd <- namespace - 0 16624 9 cmd <- if - 0 16624 13 cmd -> set - 0 16624 9 cmd <- set - 0 16624 10 cmd -> set - 0 16624 8 cmd <- set - 0 16624 12 cmd -> if - 0 16624 14 cmd -> namespace - 0 16624 8 cmd <- namespace - 0 16624 13 cmd -> proc - 0 16624 12 cmd <- proc - 0 16624 8 cmd <- if - 0 16624 69 cmd -> proc - 0 16624 11 cmd <- proc - 0 16624 20 cmd -> proc - 0 16624 12 cmd <- proc - 0 16624 22 syscall -> brk - 0 16624 7 syscall <- brk - 0 16624 7 syscall -> brk - 0 16624 6 syscall <- brk - 0 16624 7 syscall -> brk - 0 16624 9 syscall <- brk - 0 16624 18 cmd -> proc - 0 16624 10 cmd <- proc - 0 16624 21 cmd -> proc - 0 16624 11 cmd <- proc - 0 16624 16 cmd -> proc - 0 16624 10 cmd <- proc - 0 16624 42 cmd -> if - 0 16624 25 cmd -> proc - 0 16624 9 syscall -> brk - 0 16624 6 syscall <- brk - 0 16624 7 syscall -> brk - 0 16624 9 syscall <- brk - 0 16624 21 cmd <- proc - 0 16624 9 cmd <- if - 0 16624 41 cmd -> proc - 0 16624 13 cmd <- proc - 0 16624 9 cmd <- source - 0 16624 8 cmd <- uplevel - 0 16624 10 proc <- tclInit - 0 16624 17 cmd <- tclInit - 0 16624 35 syscall -> resolvepath - 0 16624 31 syscall <- resolvepath - 0 16624 13 syscall -> stat64 - 0 16624 24 syscall <- stat64 - 0 16624 9 syscall -> open64 - 0 16624 23 syscall <- open64 - 0 16624 8 syscall -> fcntl - 0 16624 7 syscall <- fcntl - 0 16624 9 syscall -> ioctl - 0 16624 7 syscall <- ioctl - 0 16624 12 syscall -> read - 0 16624 21 syscall <- read - 0 16624 10 syscall -> read - 0 16624 7 syscall <- read - 0 16624 9 syscall -> close - 0 16624 8 syscall <- close - 0 16624 12 cmd -> proc - 0 16624 11 cmd <- proc - 0 16624 11 cmd -> proc - 0 16624 9 cmd <- proc - 0 16624 11 cmd -> proc - 0 16624 9 cmd <- proc - 0 16624 9 cmd -> func_a - 0 16624 17 proc -> func_a - 0 16624 10 cmd -> puts - 0 16624 25 syscall -> llseek - 0 16624 9 syscall <- llseek - 0 16624 9 syscall -> ioctl - 0 16624 6 syscall <- ioctl - 0 16624 13 syscall -> getsockname - 0 16624 8 syscall <- getsockname - 0 16624 18 syscall -> llseek - 0 16624 8 syscall <- llseek - 0 16624 7 syscall -> ioctl - 0 16624 86 syscall <- ioctl - 0 16624 184 syscall -> ioctl - 0 16624 17 syscall <- ioctl - 0 16624 14 syscall -> llseek - 0 16624 7 syscall <- llseek - 0 16624 7 syscall -> ioctl - 0 16624 13 syscall <- ioctl - 0 16624 8 syscall -> ioctl - 0 16624 12 syscall <- ioctl - 0 16624 24 syscall -> write - 0 16624 108 syscall <- write - 0 16624 10 cmd <- puts - 0 16624 11 cmd -> after - 0 16624 23 syscall -> pollsys -Function B - 0 16624 1009593 syscall <- pollsys - 0 16624 24 cmd <- after - 0 16624 23 cmd -> func_b - 0 16624 37 proc -> func_b - 0 16624 12 cmd -> puts - 0 16624 17 syscall -> write - 0 16624 74 syscall <- write - 0 16624 8 cmd <- puts - 0 16624 9 cmd -> after - 0 16624 10 syscall -> pollsys -Function C - 0 16624 1009748 syscall <- pollsys - 0 16624 24 cmd <- after - 0 16624 23 cmd -> func_c - 0 16624 35 proc -> func_c - 0 16624 12 cmd -> puts - 0 16624 17 syscall -> write - 0 16624 75 syscall <- write - 0 16624 8 cmd <- puts - 0 16624 9 cmd -> after - 0 16624 10 syscall -> pollsys - 0 16624 1009831 syscall <- pollsys - 0 16624 24 cmd <- after - 0 16624 23 proc <- func_c - 0 16624 13 cmd <- func_c - 0 16624 9 proc <- func_b - 0 16624 8 cmd <- func_b - 0 16624 8 proc <- func_a - 0 16624 8 cmd <- func_a - 0 16624 30 cmd -> exit - 0 16624 41 syscall -> fcntl - 0 16624 11 syscall <- fcntl - 0 16624 7 syscall -> fcntl - 0 16624 7 syscall <- fcntl - 0 16624 7 syscall -> fcntl - 0 16624 6 syscall <- fcntl - 0 16624 11 syscall -> fcntl - 0 16624 6 syscall <- fcntl - 0 16624 7 syscall -> fcntl - 0 16624 6 syscall <- fcntl - 0 16624 7 syscall -> fcntl - 0 16624 6 syscall <- fcntl - 0 16624 9 syscall -> fcntl - 0 16624 7 syscall <- fcntl - 0 16624 7 syscall -> fcntl - 0 16624 6 syscall <- fcntl - 0 16624 7 syscall -> fcntl - 0 16624 6 syscall <- fcntl - 0 16624 81 syscall -> open64 - 0 16624 119 syscall <- open64 - 0 16624 8 syscall -> ioctl - 0 16624 8 syscall <- ioctl - 0 16624 10 syscall -> close - 0 16624 16 syscall <- close - 0 16624 68 syscall -> rexit - diff --git a/cddl/contrib/dtracetoolkit/Examples/tcl_who_example.txt b/cddl/contrib/dtracetoolkit/Examples/tcl_who_example.txt deleted file mode 100644 index d1eefa3a9c85..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/tcl_who_example.txt +++ /dev/null @@ -1,17 +0,0 @@ -The following is an example of running tcl_who.d. - -The output produces four fields of interest in tracing tcl calls by process. - -Here we see it running while Code/Tcl/func_slow.tcl and Code/Tcl/func_abc.tcl -are executed. -# tcl_who.d -Tracing... Hit Ctrl-C to end. -^C - PID UID CALLS ARGS - 16063 100 83 ./tclsh scripts/func_slow.tcl - 16061 100 86 ./tclsh scripts/func_abc.tcl - -CALLS is a measure of activity, and is a count of the procedures and commands -that Tcl called. The ARGS column shows the process name and arguments given -for a particular PID in order to identify the particular Tcl code involved. - diff --git a/cddl/contrib/dtracetoolkit/Examples/tcpsnoop_d_example.txt b/cddl/contrib/dtracetoolkit/Examples/tcpsnoop_d_example.txt deleted file mode 100644 index a0a8cc85d379..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/tcpsnoop_d_example.txt +++ /dev/null @@ -1,41 +0,0 @@ -The following is a demonstration of the tcpsnoop script. - - - -Here we run tcpsnoop and wait for new TCP connections to be established, - - # tcpsnoop.d - UID PID LADDR LPORT DR RADDR RPORT SIZE CMD - 100 20892 192.168.1.5 36398 -> 192.168.1.1 79 54 finger - 100 20892 192.168.1.5 36398 <- 192.168.1.1 79 66 finger - 100 20892 192.168.1.5 36398 -> 192.168.1.1 79 54 finger - 100 20892 192.168.1.5 36398 -> 192.168.1.1 79 56 finger - 100 20892 192.168.1.5 36398 <- 192.168.1.1 79 54 finger - 100 20892 192.168.1.5 36398 <- 192.168.1.1 79 606 finger - 100 20892 192.168.1.5 36398 -> 192.168.1.1 79 54 finger - 100 20892 192.168.1.5 36398 <- 192.168.1.1 79 54 finger - 100 20892 192.168.1.5 36398 -> 192.168.1.1 79 54 finger - 100 20892 192.168.1.5 36398 -> 192.168.1.1 79 54 finger - 100 20892 192.168.1.5 36398 <- 192.168.1.1 79 54 finger - 0 242 192.168.1.5 23 <- 192.168.1.1 54224 54 inetd - 0 242 192.168.1.5 23 -> 192.168.1.1 54224 54 inetd - 0 242 192.168.1.5 23 <- 192.168.1.1 54224 54 inetd - 0 242 192.168.1.5 23 <- 192.168.1.1 54224 78 inetd - 0 242 192.168.1.5 23 -> 192.168.1.1 54224 54 inetd - 0 20893 192.168.1.5 23 -> 192.168.1.1 54224 57 in.telnetd - 0 20893 192.168.1.5 23 <- 192.168.1.1 54224 54 in.telnetd - 0 20893 192.168.1.5 23 -> 192.168.1.1 54224 78 in.telnetd - 0 20893 192.168.1.5 23 <- 192.168.1.1 54224 57 in.telnetd - 0 20893 192.168.1.5 23 -> 192.168.1.1 54224 54 in.telnetd - 0 20893 192.168.1.5 23 <- 192.168.1.1 54224 54 in.telnetd - 0 20893 192.168.1.5 23 -> 192.168.1.1 54224 60 in.telnetd - 0 20893 192.168.1.5 23 <- 192.168.1.1 54224 63 in.telnetd - 0 20893 192.168.1.5 23 -> 192.168.1.1 54224 54 in.telnetd - 0 20893 192.168.1.5 23 <- 192.168.1.1 54224 60 in.telnetd - 0 20893 192.168.1.5 23 -> 192.168.1.1 54224 60 in.telnetd - 0 20893 192.168.1.5 23 <- 192.168.1.1 54224 60 in.telnetd - 0 20893 192.168.1.5 23 -> 192.168.1.1 54224 72 in.telnetd - [...] - -As new connections are made, each of the TCP packets are traced along with -the UID, PID and command name. diff --git a/cddl/contrib/dtracetoolkit/Examples/tcpsnoop_example.txt b/cddl/contrib/dtracetoolkit/Examples/tcpsnoop_example.txt deleted file mode 100644 index 1124175d2d16..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/tcpsnoop_example.txt +++ /dev/null @@ -1,61 +0,0 @@ -The following is a demonstration of the tcpsnoop program. - - - -Here we run tcpsnoop and wait for new TCP connections to be established, - - # tcpsnoop - UID PID LADDR LPORT DR RADDR RPORT SIZE CMD - 100 20892 192.168.1.5 36398 -> 192.168.1.1 79 54 finger - 100 20892 192.168.1.5 36398 <- 192.168.1.1 79 66 finger - 100 20892 192.168.1.5 36398 -> 192.168.1.1 79 54 finger - 100 20892 192.168.1.5 36398 -> 192.168.1.1 79 56 finger - 100 20892 192.168.1.5 36398 <- 192.168.1.1 79 54 finger - 100 20892 192.168.1.5 36398 <- 192.168.1.1 79 606 finger - 100 20892 192.168.1.5 36398 -> 192.168.1.1 79 54 finger - 100 20892 192.168.1.5 36398 <- 192.168.1.1 79 54 finger - 100 20892 192.168.1.5 36398 -> 192.168.1.1 79 54 finger - 100 20892 192.168.1.5 36398 -> 192.168.1.1 79 54 finger - 100 20892 192.168.1.5 36398 <- 192.168.1.1 79 54 finger - 0 242 192.168.1.5 23 <- 192.168.1.1 54224 54 inetd - 0 242 192.168.1.5 23 -> 192.168.1.1 54224 54 inetd - 0 242 192.168.1.5 23 <- 192.168.1.1 54224 54 inetd - 0 242 192.168.1.5 23 <- 192.168.1.1 54224 78 inetd - 0 242 192.168.1.5 23 -> 192.168.1.1 54224 54 inetd - 0 20893 192.168.1.5 23 -> 192.168.1.1 54224 57 in.telnetd - 0 20893 192.168.1.5 23 <- 192.168.1.1 54224 54 in.telnetd - 0 20893 192.168.1.5 23 -> 192.168.1.1 54224 78 in.telnetd - 0 20893 192.168.1.5 23 <- 192.168.1.1 54224 57 in.telnetd - 0 20893 192.168.1.5 23 -> 192.168.1.1 54224 54 in.telnetd - 0 20893 192.168.1.5 23 <- 192.168.1.1 54224 54 in.telnetd - 0 20893 192.168.1.5 23 -> 192.168.1.1 54224 60 in.telnetd - 0 20893 192.168.1.5 23 <- 192.168.1.1 54224 63 in.telnetd - 0 20893 192.168.1.5 23 -> 192.168.1.1 54224 54 in.telnetd - 0 20893 192.168.1.5 23 <- 192.168.1.1 54224 60 in.telnetd - 0 20893 192.168.1.5 23 -> 192.168.1.1 54224 60 in.telnetd - 0 20893 192.168.1.5 23 <- 192.168.1.1 54224 60 in.telnetd - 0 20893 192.168.1.5 23 -> 192.168.1.1 54224 72 in.telnetd - [...] - -As new connections are made, each of the TCP packets are traced along with -the UID, PID and command name. - - - -tcpsnoop has many options, for example here we use "-v" to print times, - - # tcpsnoop -v - STRTIME UID PID LADDR LPORT DR RADDR RPORT SIZE CMD - 2005 Jul 11 21:21:19 0 242 192.168.1.5 79 <- 192.168.1.1 49001 54 inetd - 2005 Jul 11 21:21:19 0 242 192.168.1.5 79 -> 192.168.1.1 49001 54 inetd - 2005 Jul 11 21:21:19 0 242 192.168.1.5 79 <- 192.168.1.1 49001 54 inetd - 2005 Jul 11 21:21:19 0 242 192.168.1.5 79 <- 192.168.1.1 49001 56 inetd - 2005 Jul 11 21:21:19 0 242 192.168.1.5 79 -> 192.168.1.1 49001 54 inetd - 2005 Jul 11 21:21:19 0 23181 192.168.1.5 79 -> 192.168.1.1 49001 444 in.fingerd - 2005 Jul 11 21:21:19 0 23181 192.168.1.5 79 -> 192.168.1.1 49001 54 in.fingerd - 2005 Jul 11 21:21:19 0 23181 192.168.1.5 79 <- 192.168.1.1 49001 54 in.fingerd - 2005 Jul 11 21:21:19 0 23181 192.168.1.5 79 <- 192.168.1.1 49001 54 in.fingerd - 2005 Jul 11 21:21:19 0 23181 192.168.1.5 79 <- 192.168.1.1 49001 54 in.fingerd - 2005 Jul 11 21:21:19 0 23181 192.168.1.5 79 -> 192.168.1.1 49001 54 in.fingerd - [...] - diff --git a/cddl/contrib/dtracetoolkit/Examples/tcpsnoop_snv_d_example.txt b/cddl/contrib/dtracetoolkit/Examples/tcpsnoop_snv_d_example.txt deleted file mode 120000 index d53301a9cc66..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/tcpsnoop_snv_d_example.txt +++ /dev/null @@ -1 +0,0 @@ -tcpsnoop_d_example.txt \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Examples/tcpsnoop_snv_example.txt b/cddl/contrib/dtracetoolkit/Examples/tcpsnoop_snv_example.txt deleted file mode 120000 index 794263cb8c1e..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/tcpsnoop_snv_example.txt +++ /dev/null @@ -1 +0,0 @@ -tcpsnoop_example.txt \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Examples/tcpstat_example.txt b/cddl/contrib/dtracetoolkit/Examples/tcpstat_example.txt deleted file mode 100644 index d7d8cb379d98..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/tcpstat_example.txt +++ /dev/null @@ -1,22 +0,0 @@ -The following is a demonstration of the tcpstat.d script, - - -Here we run tcpstat.d as a large file is downloaded, - - # tcpstat.d - TCP_out TCP_outRe TCP_in TCP_inDup TCP_inUn - 0 0 0 0 0 - 20 0 1540 0 0 - 632 0 576 0 0 - 560 0 115552 0 0 - 1872 0 2900480 0 0 - 1968 0 3032320 0 0 - 1776 0 2752160 0 0 - 752 0 999824 0 0 - 0 0 0 0 0 - 0 0 0 0 0 - 0 0 0 0 0 - ^C - -We can see the TCP_in value rise to around 3 Mb/sec as the download occurs. - diff --git a/cddl/contrib/dtracetoolkit/Examples/tcptop_example.txt b/cddl/contrib/dtracetoolkit/Examples/tcptop_example.txt deleted file mode 100644 index c90fc753d883..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/tcptop_example.txt +++ /dev/null @@ -1,28 +0,0 @@ -The following is a demonstration of the tcptop command, - - -tcptop will display info on newly established TCP connections, - - # tcptop -C 10 - Tracing... Please wait. - 2005 Jul 5 04:55:25, load: 1.11, TCPin: 2 KB, TCPout: 110 KB - - UID PID LADDR LPORT FADDR FPORT SIZE NAME - 100 20876 192.168.1.5 36396 192.168.1.1 79 1160 finger - 100 20875 192.168.1.5 36395 192.168.1.1 79 1160 finger - 100 20878 192.168.1.5 36397 192.168.1.1 23 1303 telnet - 100 20877 192.168.1.5 859 192.168.1.1 514 115712 rcp - - 2005 Jul 5 04:55:35, load: 1.10, TCPin: 0 KB, TCPout: 0 KB - - UID PID LADDR LPORT FADDR FPORT SIZE NAME - 0 242 192.168.1.5 79 192.168.1.1 54220 272 inetd - 0 20879 192.168.1.5 79 192.168.1.1 54220 714 in.fingerd - - [...] - - -In the above output, we run it with a 10 second interval and with -C so -that the screen does not clear. Some traffic was captured, around 110 Kbytes -by the rcp process (PID 20877), etc. - diff --git a/cddl/contrib/dtracetoolkit/Examples/tcptop_snv_example.txt b/cddl/contrib/dtracetoolkit/Examples/tcptop_snv_example.txt deleted file mode 120000 index f2a169ee6b50..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/tcptop_snv_example.txt +++ /dev/null @@ -1 +0,0 @@ -tcptop_example.txt \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Examples/tcpwdist_example.txt b/cddl/contrib/dtracetoolkit/Examples/tcpwdist_example.txt deleted file mode 100644 index 02a392ce55a1..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/tcpwdist_example.txt +++ /dev/null @@ -1,70 +0,0 @@ -The following is a demonstration of the tcpwdist.d script. - - -Here the tcpwdist.d script is run for a few seconds then Ctrl-C is hit, - - # tcpwdist.d - Tracing... Hit Ctrl-C to end. - ^C - PID: 15300 CMD: finger @mars\0 - - value ------------- Distribution ------------- count - -1 | 0 - 0 |@@@@@@@@@@@@@@@@@@@@ 1 - 1 | 0 - 2 |@@@@@@@@@@@@@@@@@@@@ 1 - 4 | 0 - - PID: 4967 CMD: /usr/lib/ssh/sshd\0 - - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@ 1 - 64 |@@@@@@@@@@@@@@@@@@@@ 1 - 128 | 0 - - PID: 9172 CMD: /usr/lib/ssh/sshd\0 - - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@ 4 - 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 14 - 128 | 0 - 256 | 0 - 512 |@@ 1 - 1024 | 0 - - PID: 15301 CMD: rcp 1Mb.gz mars:/tmp\0 - - value ------------- Distribution ------------- count - 0 | 0 - 1 |@ 2 - 2 |@ 1 - 4 | 0 - 8 |@ 2 - 16 |@ 2 - 32 | 0 - 64 | 0 - 128 | 0 - 256 | 0 - 512 | 0 - 1024 | 0 - 2048 | 0 - 4096 | 0 - 8192 | 0 - 16384 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 64 - 32768 | 0 - -In the above output we can see the "rcp" command dominates, sending -large writes (16 to 31 Kb) 64 times. The "sshd" ssh daemons each sent -several smaller writes, from 32 to 127 bytes - which corresponds to -command line activity (eg, screen width of 80 bytes). The finger command -sent 2 bytes once, and zero data bytes once. - -These values are the TCP write payload sizes. - -The writes from the "rcp" command seem unusual at over 16 Kb each, when -this is an Ethernet network with an MTU of 1500 bytes. The reason is that -at this point the data has not yet been broken down into MTU sized packets, -so we are looking at the applications behaviour as it writes to TCP. - diff --git a/cddl/contrib/dtracetoolkit/Examples/threaded_example.txt b/cddl/contrib/dtracetoolkit/Examples/threaded_example.txt deleted file mode 100644 index 1e41a0ef2ed9..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/threaded_example.txt +++ /dev/null @@ -1,108 +0,0 @@ -The following is a demonstration of the threaded.d script, - - -Here we run a test program called "cputhread" that creates 4 busy threads -that run at the same time. Here we run it on a server with only 1 CPU, - - # threaded.d - - 2005 Jul 26 02:56:37, - - PID: 8516 CMD: cputhread - - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@ 17 - 3 |@@@@@@@@@@@ 28 - 4 |@@@@@@@@@@@ 27 - 5 |@@@@@@@@@@@ 28 - 6 | 0 - [...] - -In the above output, we can see that cputhread has four busy threads with -thread IDs 2, 3, 4 and 5. We are sampling at 100 Hertz, and have caught -each of these threads on the CPU between 17 and 28 times. - -Since the above counts add to 100, this is either a sign of a single CPU -server (which it is), or a sign that a multithreaded application may be -running "serialised" - only 1 thread at a time. Compare the above output -to a multi CPU server, - - - -Here we run the same test program on a server with 4 CPUs, - - # threaded.d - - 2005 Jul 26 02:48:44, - - PID: 5218 CMD: cputhread - - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@ 80 - 3 |@@@@@@@@@@ 72 - 4 |@@@@@@@@@ 64 - 5 |@@@@@@@@@@@ 78 - 6 | 0 - [...] - -This time the counts add to equal 294, so this program is definitely -running on multiple CPUs at the same time, otherwise this total would -not be beyond our sample rate of 100. The distribution of threads on CPU -is fairly even, and the above serves as an example of a multithreaded -application performing well. - - - -Now we run a test program called "cpuserial", which also create 4 busy -threads, however due to a coding problem (poor use of mutex locks) they -only run one at a time, - - # threaded.d - - 2005 Jul 26 03:07:21, - - PID: 5238 CMD: cpuserial - - value ------------- Distribution ------------- count - 2 | 0 - 3 |@@@@@@@@@@@@ 30 - 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 70 - 5 | 0 - [...] - -The above looks like we are back on a single CPU server with 100 samples -in total, however we are still on our 4 CPU server. Only two threads have -run, and the above distribution is a good indication that they have -run serialised. - - - -Now more of a fringe case. This version of cpuserial again creates 4 threads -that are all busy and hungry for the CPU, and again we run it on a 4 CPU -server, - - # threaded.d - - 2005 Jul 26 03:25:45, - - PID: 5280 CMD: cpuserial - - value ------------- Distribution ------------- count - 1 | 0 - 2 |@@@@@@@@@@@@@@@ 42 - 3 |@@@@@@@@@@@@@@@@@@ 50 - 4 |@@@@@@ 15 - 5 |@ 2 - 6 | 0 - [...] - -So all threads are running, good. And with a total of 109, at some point -more than one thread was running at the same time (otherwise this would -not have exceeded 100, bearing in mind a sample rate of 100 Hertz). However, -what is not so good is that with 4 CPUs we have only scored 109 samples - -since all threads are CPU hungry we'd hope that more often they could -run across the CPUs simultaneously; however this wasn't the case. Again, -this fault was created by poor use of mutex locks. - diff --git a/cddl/contrib/dtracetoolkit/Examples/topsyscall_example.txt b/cddl/contrib/dtracetoolkit/Examples/topsyscall_example.txt deleted file mode 100644 index dda1aa03e515..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/topsyscall_example.txt +++ /dev/null @@ -1,65 +0,0 @@ -The following is a demonstration of the topsyscall command, - - -Here topsyscall is run with no arguments, - - # topsyscall - 2005 Jun 13 22:13:21, load average: 1.24, 1.24, 1.22 syscalls: 1287 - - SYSCALL COUNT - getgid 4 - getuid 5 - waitsys 5 - xstat 7 - munmap 7 - sysconfig 8 - brk 8 - setcontext 8 - open 8 - getpid 9 - close 9 - resolvepath 10 - lwp_sigmask 22 - mmap 26 - lwp_park 43 - read 59 - write 72 - sigaction 113 - pollsys 294 - ioctl 520 - -The screen updates every second, and continues until Ctrl-C is hit to -end the program. - -In the above output we can see that the ioctl() system call occured 520 times, -pollsys() 294 times and sigaction() 113 times. - - - -Here the command is run with a 10 second interval, - - # topsyscall 10 - 2005 Jun 13 22:15:35, load average: 1.21, 1.22, 1.22 syscalls: 10189 - - SYSCALL COUNT - writev 6 - close 7 - lseek 7 - open 7 - brk 8 - nanosleep 9 - portfs 10 - llseek 14 - lwp_cond_wait 21 - p_online 21 - gtime 27 - rusagesys 71 - setcontext 92 - lwp_sigmask 98 - setitimer 183 - lwp_park 375 - write 438 - read 551 - pollsys 3071 - ioctl 5144 - diff --git a/cddl/contrib/dtracetoolkit/Examples/topsysproc_example.txt b/cddl/contrib/dtracetoolkit/Examples/topsysproc_example.txt deleted file mode 100644 index 368ea314c079..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/topsysproc_example.txt +++ /dev/null @@ -1,56 +0,0 @@ -The following is a demonstration of the topsysproc program, - - -Here we run topsysproc with no arguments, - - # topsysproc - 2005 Jun 13 22:25:16, load average: 1.24, 1.23, 1.21 syscalls: 1347 - - PROCESS COUNT - svc.startd 1 - nscd 1 - setiathome 7 - poold 18 - sshd 21 - java_vm 35 - tput 49 - dtrace 56 - Xorg 108 - sh 110 - clear 122 - mozilla-bin 819 - -The screen refreshes every 1 second, which can be changed by specifying -a different interval at the command line. - -In the above output we can see that processes with the name "mozilla-bin" -made 819 system calls, while processes with the name "clear" made 122. - - - -Now topsysproc is run with a 15 second interval, - - # topsysproc 15 - 2005 Jun 13 22:29:43, load average: 1.19, 1.20, 1.20 syscalls: 15909 - - PROCESS COUNT - fmd 1 - inetd 2 - svc.configd 2 - gconfd-2 3 - miniserv.pl 3 - sac 6 - snmpd 6 - sshd 8 - automountd 8 - ttymon 9 - svc.startd 17 - nscd 21 - in.routed 37 - sendmail 41 - setiathome 205 - poold 293 - dtrace 413 - java_vm 529 - Xorg 1234 - mozilla-bin 13071 diff --git a/cddl/contrib/dtracetoolkit/Examples/udpstat_example.txt b/cddl/contrib/dtracetoolkit/Examples/udpstat_example.txt deleted file mode 100644 index 4ffa3bafeacb..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/udpstat_example.txt +++ /dev/null @@ -1,39 +0,0 @@ -The following is an example of the udpstat.d script, - - - -Here we run udpstat for a few seconds. Firstly, we run a "spray" command -outbound, followed by a spray inbound. Both can be identified in the -output below, - - # udpstat.d - UDP_out UDP_outErr UDP_in UDP_inErr UDP_noPort - 0 0 0 0 1 - 0 0 0 0 2 - 0 0 0 0 0 - 1165 0 2 0 0 - 0 0 0 0 0 - 0 0 0 0 2 - 3 0 1166 0 1 - 0 0 0 0 0 - 0 0 0 0 0 - 0 0 0 0 0 - ^C - - - -Here we run udpstat.d while an outbound DNS lookup is performed using -"nslookup", - - # udpstat.d - UDP_out UDP_outErr UDP_in UDP_inErr UDP_noPort - 0 0 0 0 1 - 0 0 0 0 1 - 1 0 1 0 0 - 0 0 0 0 0 - 0 0 0 0 3 - ^C - -Little output is observed as this tracks datagrams not bytes. There is -one outbound and one inbound datagram. - diff --git a/cddl/contrib/dtracetoolkit/Examples/uname-a_example.txt b/cddl/contrib/dtracetoolkit/Examples/uname-a_example.txt deleted file mode 100644 index 281033dc8721..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/uname-a_example.txt +++ /dev/null @@ -1,15 +0,0 @@ -The following is a demonstration of the uname.d script, - - -Here we run the usual "uname -a" command and compare the output to that -given by the uname.d script, - - # uname -a - SunOS jupiter 5.10 Generic i86pc i386 i86pc - - # ./uname-a.d - SunOS jupiter 5.10 Generic i86pc i386 i86pc - -The output is the same. uname-a.d is intended as a demonstration script, -and as a starting point for other scripts. - diff --git a/cddl/contrib/dtracetoolkit/Examples/vmbypid_example.txt b/cddl/contrib/dtracetoolkit/Examples/vmbypid_example.txt deleted file mode 100644 index 9e09b836a4c5..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/vmbypid_example.txt +++ /dev/null @@ -1,32 +0,0 @@ -The following is a demonstration of the vmbypid.d command, - - # vmbypid.d - Tracing... Hit Ctrl-C to end. - ^C - EXEC PID VM VALUE - find 19216 prot_fault 1 - bash 19216 zfod 1 - dtrace 19215 pgfrec 3 - dtrace 19215 pgrec 3 - bash 19216 pgfrec 5 - bash 19216 pgrec 5 - find 19216 cow_fault 6 - find 19216 pgfrec 6 - find 19216 pgrec 6 - bash 19216 prot_fault 10 - bash 19216 cow_fault 15 - bash 19155 prot_fault 30 - dtrace 19215 zfod 52 - find 19216 zfod 54 - dtrace 19215 as_fault 56 - bash 19216 as_fault 74 - find 19216 as_fault 91 - find 19216 fspgin 315 - find 19216 pgin 315 - find 19216 pgpgin 315 - find 19216 maj_fault 315 - -In the above output, the find command at PID 19211 triggered 315 maj_faults - -major faults, that would require disk activity to satisfy (as confirmed by the -pgpgin value for pages paged in). - diff --git a/cddl/contrib/dtracetoolkit/Examples/vmstat-p_example.txt b/cddl/contrib/dtracetoolkit/Examples/vmstat-p_example.txt deleted file mode 100644 index 1a0fe14b7750..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/vmstat-p_example.txt +++ /dev/null @@ -1,51 +0,0 @@ -The following is a demonstration of the vmstat-p.d script, - - -We run both vmstat-p.d and the original vmstat(1M) command at the same time -to compare outputs, - - $ vmstat -p 1 - memory page executable anonymous filesystem - swap free re mf fr de sr epi epo epf api apo apf fpi fpo fpf - 1144488 142456 2 8 1 0 0 0 0 0 0 0 0 2 1 1 - 1063812 84472 18 92 0 0 0 0 0 0 0 0 0 0 0 0 - 1050404 75108 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 1050404 75108 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 1050404 75108 476 150 0 0 0 0 0 0 0 0 0 0 0 0 - 1050184 74772 73 0 0 0 0 0 0 0 0 0 0 788 0 0 - 1050400 74988 2371 173 0 0 0 0 0 0 0 0 0 0 0 0 - 1050400 75100 1057 0 0 0 0 0 0 0 0 0 0 0 0 0 - 1050400 75100 2 0 0 0 0 0 0 0 0 0 0 4 0 0 - 1050400 75100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 1050400 75100 4529 172 0 0 0 0 0 0 0 0 0 192 0 0 - 1050400 75104 0 0 0 0 0 0 0 0 0 0 0 467 0 0 - 1050400 75104 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - - # ./vmstat-p.d - memory page executable anonymous filesystem - swap free re mf sr epi epo epf api apo apf fpi fpo fpf - 1050404 75108 8 80 0 0 0 0 0 0 0 0 0 0 - 1050404 75108 0 0 0 0 0 0 0 0 0 0 0 0 - 1050404 75108 0 0 0 0 0 0 0 0 0 0 0 0 - 1050180 74768 2216 608 0 0 0 0 0 0 0 568 0 0 - 1050400 74988 4 0 0 0 0 0 0 0 0 228 0 0 - 1050400 75100 13852 700 0 0 0 0 0 0 0 0 0 0 - 1050400 75100 8 0 0 0 0 0 0 0 0 4 0 0 - 1050400 75100 0 0 0 0 0 0 0 0 0 0 0 0 - 1050400 75100 0 0 0 0 0 0 0 0 0 0 0 0 - 1050400 75104 18480 700 0 0 0 0 0 0 0 668 0 0 - 1050400 75104 0 0 0 0 0 0 0 0 0 0 0 0 - -Above we can see the columns are corresponding well. "re" and "mf" in the -DTrace output appear four times as large as they should be, because in the -DTrace output we are printing Kbs not page counts (for consistancy). - -The DTrace output lacks the "summary since boot" line, as it is not using -Kstat to fetch this data. - - -The vmstat-p.d script is not intended itself as a useful program, rather it -is intended as a starting point for other DTrace scripts; a starting point -of familiar statistics to provide the programmer with a "common ground" -of knowledge. - diff --git a/cddl/contrib/dtracetoolkit/Examples/vmstat_example.txt b/cddl/contrib/dtracetoolkit/Examples/vmstat_example.txt deleted file mode 100644 index 7d953fd9b672..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/vmstat_example.txt +++ /dev/null @@ -1,45 +0,0 @@ -The following is an example of the vmstat.d script, - - -We run both vmstat.d and the original vmstat(1M) command at the same time -to compare outputs, - - $ vmstat 1 - kthr memory page disk faults cpu - r b w swap free re mf pi po fr de sr cd s0 -- -- in sy cs us sy id - 0 0 0 1147468 144324 2 8 2 1 1 0 0 1 0 0 0 294 990 355 18 2 80 - 1 0 0 1065480 92276 13 73 0 0 0 0 0 0 0 0 0 359 1055 376 85 15 0 - 0 0 0 1052088 82940 0 0 0 0 0 0 0 0 0 0 0 409 999 402 97 3 0 - 0 0 0 1052088 82940 0 0 0 0 0 0 0 0 0 0 0 406 975 407 97 3 0 - 0 0 0 1052088 82940 0 0 0 0 0 0 0 0 0 0 0 406 1037 429 97 3 0 - 0 0 0 1052088 82940 247 1763 0 0 0 0 0 2 0 0 0 427 4828 680 81 19 0 - 0 0 0 1051264 82300 0 0 0 0 0 0 0 0 0 0 0 414 1164 441 97 3 0 - 0 0 0 1051264 82300 11 134 0 0 0 0 0 0 0 0 0 423 1218 461 95 5 0 - 0 0 0 1051264 82300 0 0 0 0 0 0 0 0 0 0 0 416 1054 435 98 2 0 - [...] - - # ./vmstat.d - w swap free re mf pi po fr sr in sy cs - 0 1052088 82940 8 80 0 0 0 0 117 958 379 - 0 1052088 82940 0 0 0 0 0 0 123 955 402 - 0 1052088 82940 0 0 0 0 0 0 121 1025 420 - 0 1052088 82940 0 0 0 0 0 0 121 1065 433 - 0 1051264 82300 1008 7192 0 0 0 0 219 4886 684 - 0 1051264 82300 0 0 0 0 0 0 193 1188 461 - 0 1051264 82300 44 540 0 0 0 0 165 1226 450 - 0 1051264 82300 0 0 0 0 0 0 123 1012 421 - [...] - -Above we can see the columns are corresponding well. "re" and "mf" in the -DTrace output appear four times as large as they should be, because in the -DTrace output we are printing Kbs not page counts (for consistancy). - -The DTrace output lacks the "summary since boot" line, as it is not using -Kstat to fetch this data. - - -The vmstat.d script is not intended itself as a useful program, rather it -is intended as a starting point for other DTrace scripts; a starting point -of familiar statistics to provide the programmer with a "common ground" -of knowledge. - diff --git a/cddl/contrib/dtracetoolkit/Examples/vopstat_example.txt b/cddl/contrib/dtracetoolkit/Examples/vopstat_example.txt deleted file mode 100644 index 646419efada9..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/vopstat_example.txt +++ /dev/null @@ -1,89 +0,0 @@ -The following are demonstrations of the vopstat script. - - -By default, vopstat traces activity at the vnode interface and prints -summaries every five seconds. It will either trace all filesystems or -just the mountpoint specified. - -Here it was run on /extra1, while a tar command archived /extra1, - - # ./vopstat /extra1 - VOP Physical IO Count - fop_getpage 66 - - VOP Count Count - fop_readdir 1 - fop_read 2 - fop_cmp 2 - fop_seek 3 - fop_close 7 - fop_open 10 - fop_getattr 12 - fop_access 13 - fop_lookup 16 - fop_rwunlock 3802 - fop_rwlock 3802 - fop_putpage 4701 - fop_getpage 6648 - fop_dispose 19109 - - VOP Wall Time mSeconds - fop_readdir 0 - fop_cmp 0 - fop_read 0 - fop_seek 0 - fop_close 0 - fop_open 0 - fop_access 0 - fop_getattr 0 - fop_lookup 0 - fop_rwunlock 64 - fop_putpage 86 - fop_rwlock 93 - fop_dispose 346 - fop_getpage 402 - ^C - -There were 66 calls for physical I/O operations, fop_getpage, as files -were read from disk. The VOP Count show that there were many calls to -fop_putpage and fop_getpage, as tar works its way through files; and -many more to fop_dispose. The total elaspsed time for these calls -are listed at the bottom, in milleseconds. - -This rate of events will put some pressure on the DTrace buffer, -you may see dynamic variable drops. - - - -vopstat also has a -t option to trace activity. Here it is run on /extra1 -while an "ls" command listed files from that directory, - -# ./vopstat -t /extra1 - Event Device Path RW Size Offset --> fop_getattr - /extra1 - 0 0 -<- fop_getattr - /extra1 - 0 0 --> fop_access - /extra1 - 0 0 -<- fop_access - /extra1 - 0 0 --> fop_open - /extra1 - 0 0 -<- fop_open - /extra1 - 0 0 --> fop_getattr - /extra1 - 0 0 -<- fop_getattr - /extra1 - 0 0 --> fop_rwlock - /extra1 - 0 0 -<- fop_rwlock - /extra1 - 0 0 --> fop_readdir - /extra1 - 0 0 --> fop_getpage - /extra1 - 0 0 -<- fop_getpage - /extra1 - 0 0 --> fop_rwunlock - /extra1 - 0 0 -<- fop_rwunlock - /extra1 - 0 0 --> fop_rwlock - /extra1 - 0 0 -<- fop_rwlock - /extra1 - 0 0 --> fop_readdir - /extra1 - 0 0 -<- fop_readdir - /extra1 - 0 0 --> fop_rwunlock - /extra1 - 0 0 -<- fop_rwunlock - /extra1 - 0 0 --> fop_close - /extra1 - 0 512 -<- fop_close - /extra1 - 0 512 -^C - -Each call can be seen as it happened, including the entry and return of -these calls. diff --git a/cddl/contrib/dtracetoolkit/Examples/weblatency_example.txt b/cddl/contrib/dtracetoolkit/Examples/weblatency_example.txt deleted file mode 100644 index 995b545a366a..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/weblatency_example.txt +++ /dev/null @@ -1,127 +0,0 @@ -The following is a demonstration of the weblatency.d script. - -Here we run weblatency.d while a mozilla browser loads the -http://www.planetsolaris.org website. After the website was loaded, Ctrl-C -was hit to print the following report, - - # weblatency.d - Tracing... Hit Ctrl-C to end. - ^C - HOST NUM - static.flickr.com 1 - images.pegasosppc.com 1 - www.planetsolaris.org 5 - blogs.sun.com 7 - - HOST AVGTIME(ms) - static.flickr.com 65 - blogs.sun.com 285 - images.pegasosppc.com 491 - www.planetsolaris.org 757 - - HOST MAXTIME(ms) - static.flickr.com 65 - images.pegasosppc.com 491 - blogs.sun.com 962 - www.planetsolaris.org 3689 - -This gives us an understanding on which hosts were responsible for the -time endured while loading the website. It turns out that requests to -www.planetsolaris.org were the slowest, with a maximum time of 3.7 seconds -(probably the first request, which incurred a DNS lookup). - - - -The following shows the same google lookup performed on a number of sites, - - # weblatency.d - Tracing... Hit Ctrl-C to end. - ^C - HOST NUM - www.google.com.au 3 - www.google.co.uk 3 - www.google.com 3 - www.google.co.nz 3 - - HOST AVGTIME(ms) - www.google.co.nz 450 - www.google.com.au 502 - www.google.com 567 - www.google.co.uk 595 - - HOST MAXTIME(ms) - www.google.co.nz 544 - www.google.com.au 559 - www.google.com 744 - www.google.co.uk 763 - -From the average time you would guess that I was running this from -New Zealand (the fastest), with times to the other hosts following suit -(Australia, USA, UK). I was actually running this from Australia - it's -interesting that the New Zealand server responded slightly faster. - - - - -Now several websites are loaded as a larger demonstration, - - # weblatency.d - Tracing... Hit Ctrl-C to end. - ^C - HOST NUM - shop.abc.net.au 1 - static.technorati.com 1 - sunopensolaris.112.2o7.net 1 - www.theage.com.au 1 - ffxcam.smh.com.au 1 - sunglobal.112.2o7.net 2 - embed.technorati.com 2 - technorati.com 2 - fdimages.fairfax.com.au 4 - blogs.sun.com 5 - bugs.opensolaris.org 7 - www.abc.net.au 34 - www.smh.com.au 51 - - HOST AVGTIME(ms) - ffxcam.smh.com.au 0 - sunglobal.112.2o7.net 0 - www.abc.net.au 56 - www.theage.com.au 64 - shop.abc.net.au 65 - www.smh.com.au 73 - fdimages.fairfax.com.au 88 - blogs.sun.com 130 - bugs.opensolaris.org 162 - static.technorati.com 350 - technorati.com 352 - embed.technorati.com 632 - sunopensolaris.112.2o7.net 900 - - HOST MAXTIME(ms) - ffxcam.smh.com.au 0 - sunglobal.112.2o7.net 0 - www.theage.com.au 64 - shop.abc.net.au 65 - fdimages.fairfax.com.au 243 - www.smh.com.au 244 - blogs.sun.com 293 - www.abc.net.au 315 - static.technorati.com 350 - technorati.com 356 - bugs.opensolaris.org 560 - sunopensolaris.112.2o7.net 900 - embed.technorati.com 973 - -It's interesting that the most common host (www.smh.com.au, NUM == 51), -responded with a fast AVGTIME (73 ms). The reason for this may be due to -cacheing by my proxy server. Less common hosts such as embed.technorati.com -were quite slow. - - - -The results from weblatency.d are interesting, but they don't point the -finger at one single cause for website latency. The value here is the response -time experienced by the client - which is a combination of many response -times (link speeds, proxy server, DNS server, web server). - diff --git a/cddl/contrib/dtracetoolkit/Examples/whatexec_example.txt b/cddl/contrib/dtracetoolkit/Examples/whatexec_example.txt deleted file mode 100644 index 519909ec789d..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/whatexec_example.txt +++ /dev/null @@ -1,18 +0,0 @@ -The following are demonstrations of the whatexec.d script. - - -Here we run it while a few commands are also executed, - - # ./whatexec.d - PEXEC EXEC OK TYPE - bash /usr/bin/clear Y #!/u\0 - bash /sbin/sh Y \177ELF\0 - clear /usr/bin/tput Y \177ELF\0 - bash /export/home/brendan/DOOM.EXE N MZ\644\0 - ^C - -whatexec.d has first found that "clear" was run, which has a type that -begins with "#!" - a script. clear runs "sh" and "tput", both ELF files. - -We finish by attempting to run a MZ file, "DOOM.EXE", which is rejected -(OK is "N"). diff --git a/cddl/contrib/dtracetoolkit/Examples/woof_example.txt b/cddl/contrib/dtracetoolkit/Examples/woof_example.txt deleted file mode 100644 index dc8152728114..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/woof_example.txt +++ /dev/null @@ -1,28 +0,0 @@ -The following explains how to demonstrate the woof.d DTrace script. - -This script is only useful if you have an audio device, /dev/audio. To test -audio, you can run: - - $ audioplay /usr/share/audio/samples/au/sample.au - -The volume can be adjusted from a few tools, including, - - $ /usr/dt/bin/sdtaudiocontrol - -... - -woof.d will bark whenever a new process is created. In order to demonstrate -it, first run the following: - - # ./woof.d & - -You have now installed the dog (if the dog becomes a nusience, you are -allowed to kill it). Now compare the difference between these recursive -grep commands: - - $ find /etc -type f -exec grep localhost {} \; - - $ find /etc -type f -exec grep localhost {} + - -The first find command is the "bad way", the second is the "good way". You -will hear for yourself why this is the case. diff --git a/cddl/contrib/dtracetoolkit/Examples/wpm_example.txt b/cddl/contrib/dtracetoolkit/Examples/wpm_example.txt deleted file mode 100644 index bfc74a90ff34..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/wpm_example.txt +++ /dev/null @@ -1,57 +0,0 @@ -The following is an example of the wpm.d script. - - -This script takes the name of a program to trace, and assumes that reads -on file descriptor zero (STDIN) are keystrokes. - -When run, a 5 second count down begins before keystrokes are measured, - - # wpm.d vim - Measuring will start in : 5 seconds - -While running, I retyped the first three sentences of this file a few times -which clocked the following result, - - # wpm.d vim - Measuring will start in : 0 seconds - Measuring will stop in : 0 seconds - - Characters typed : 509 - Words per minute : 84 - - Minimum keystroke latency : 12 ms - Average keystroke latency : 118 ms - Maximum keystroke latency : 493 ms - - Word size distribution (letters), - - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@@ 6 - 2 |@@@@@ 11 - 3 |@@@@@ 11 - 4 |@@@@@@ 13 - 5 |@@@@ 8 - 6 |@@@@@@ 12 - 7 |@@@@@ 11 - 8 | 0 - 9 |@@ 4 - 10 |@ 3 - 11 |@ 2 - 12 | 0 - 13 | 0 - 14 | 1 - 15 | 0 - - Keystroke latency distribution (ms), - - value ------------- Distribution ------------- count - 4 | 0 - 8 | 1 - 16 | 5 - 32 |@@@@@ 66 - 64 |@@@@@@@@@@@@@@@@@@@@ 247 - 128 |@@@@@@@@@@@@@ 167 - 256 |@ 16 - 512 | 0 - diff --git a/cddl/contrib/dtracetoolkit/Examples/writebytes_example.txt b/cddl/contrib/dtracetoolkit/Examples/writebytes_example.txt deleted file mode 100644 index baa83fc971f5..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/writebytes_example.txt +++ /dev/null @@ -1,26 +0,0 @@ -The following is a demonstration of the writebytes.d script, - - -Here the writebytes.d script is run for a few seconds, then Ctrl-C is hit, - - # writebytes.d - dtrace: description 'sysinfo:::writech ' matched 4 probes - ^C - dtrace 1 - gnome-settings-d 8 - xscreensaver 8 - gnome-panel 8 - nautilus 8 - date 29 - wnck-applet 120 - bash 210 - mozilla-bin 1497 - ls 1947 - metacity 3172 - Xorg 7424 - gnome-terminal 51955 - - -In this interval the gnome-terminal command has successfully written 51.9 Kb, -while Xorg has written 7424 bytes. - diff --git a/cddl/contrib/dtracetoolkit/Examples/writedist_example.txt b/cddl/contrib/dtracetoolkit/Examples/writedist_example.txt deleted file mode 100644 index f334843e2c10..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/writedist_example.txt +++ /dev/null @@ -1,38 +0,0 @@ -The following is an example of the writedist.d script, - - -Here the writedist.d script is run for a few seconds, then Ctrl-C is hit, - - # writedist.d - dtrace: description 'sysinfo:::writech ' matched 4 probes - ^C - [...] - Xorg - value ------------- Distribution ------------- count - 16 | 0 - 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 169 - 64 |@@@ 16 - 128 |@@ 10 - 256 | 0 - - gnome-terminal - value ------------- Distribution ------------- count - 0 | 0 - 1 |@@ 6 - 2 | 0 - 4 | 0 - 8 | 1 - 16 |@ 2 - 32 |@@@ 7 - 64 | 0 - 128 |@@@@@@@@@@@@@@@@@@@@@@@ 63 - 256 |@@@@ 10 - 512 | 1 - 1024 |@@@@@ 13 - 2048 |@ 2 - 4096 |@@@ 7 - -This allows us to understand the write behaviour of each process. The -gnome-terminal command has executed 6 writes that returned 0 bytes, through -to 7 writes that were at least 4096 bytes (up to 8192). - diff --git a/cddl/contrib/dtracetoolkit/Examples/xcallsbypid_example.txt b/cddl/contrib/dtracetoolkit/Examples/xcallsbypid_example.txt deleted file mode 100644 index 1593b62de627..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/xcallsbypid_example.txt +++ /dev/null @@ -1,17 +0,0 @@ -The following is a demonstration of the xcallsbypid.d script, - - # xcallsbypid.d - Tracing... Hit Ctrl-C to end. - ^C - PID CMD XCALLS - 215 utmpd 3 - 6350 bash 3 - 6351 bash 3 - 6350 ls 24 - 0 sched 48 - 6349 dtrace 93 - 6351 find 5718 - -In the above output, we can see the find command with PID 6351 has caused -5718 cross calls. - diff --git a/cddl/contrib/dtracetoolkit/Examples/xvmstat_example.txt b/cddl/contrib/dtracetoolkit/Examples/xvmstat_example.txt deleted file mode 100644 index 544bd985e8bd..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/xvmstat_example.txt +++ /dev/null @@ -1,44 +0,0 @@ -The following is a demonstration of the xvmstat program. - - -Here we run it with no arguments. It will default to 1 second samples, and -will run forever, - - # xvmstat - w swap free re maj mf cow pro sr epi epo epf api apo apf fpi fpo fpf - 0 1025 73 2 0 21 0 0 0 0 0 0 0 0 0 0 0 0 - 0 1025 73 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 - 0 1025 73 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 1025 73 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 1025 73 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 1025 73 199 42 166 21 41 0 0 0 0 0 0 0 42 0 0 - 0 1025 73 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 - 0 1025 73 4404 47 175 26 30 0 0 0 0 0 0 0 48 0 0 - 0 1025 73 433 0 0 0 14 0 0 0 0 0 0 0 0 0 0 - 0 1025 73 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 1025 73 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 1025 73 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - ^C - -Both "swap" and "free" are in units of megabytes, the rest are in units of -pages. "maj" is major faults - a useful addition to the output. - -There is no summary since boot line, as this program in not using the -Kstat data. - - - -The following runs xvmstat with a 5 second interval, - - # xvmstat 5 - w swap free re maj mf cow pro sr epi epo epf api apo apf fpi fpo fpf - 0 1025 72 1531 2 40 5 9 0 0 0 0 0 0 0 2 0 0 - 0 1025 72 1534 0 36 5 9 0 0 0 0 0 0 0 0 0 0 - 0 1025 72 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 1025 72 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 1025 72 5 1 82 16 25 0 0 0 0 0 0 0 1 0 0 - 0 1025 72 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - ^C - -The values from "re" to "fpf" are per second values. - diff --git a/cddl/contrib/dtracetoolkit/Examples/zvmstat_example.txt b/cddl/contrib/dtracetoolkit/Examples/zvmstat_example.txt deleted file mode 100644 index cb070c5d3e58..000000000000 --- a/cddl/contrib/dtracetoolkit/Examples/zvmstat_example.txt +++ /dev/null @@ -1,34 +0,0 @@ -The following is a demonstration of the zvmstat command, which provides -vmstat style info per zone using DTrace. - -Here we run zvmstat with an interval of 5 seconds. This is a server that -only has two zones, "global" and "workzone1", - - # zvmstat 5 - ZONE re mf fr sr epi epo epf api apo apf fpi fpo fpf - global 62 340 0 0 0 0 0 0 0 0 0 0 0 - workzone1 4 2 0 0 0 0 0 0 0 0 0 0 0 - ZONE re mf fr sr epi epo epf api apo apf fpi fpo fpf - global 1132 484 0 0 2 0 0 0 0 0 832 0 0 - workzone1 0 0 0 0 0 0 0 0 0 0 0 0 0 - ZONE re mf fr sr epi epo epf api apo apf fpi fpo fpf - global 50 319 2 0 2 0 0 0 0 0 579 2 2 - workzone1 0 0 0 0 0 0 0 0 0 0 0 0 0 - ZONE re mf fr sr epi epo epf api apo apf fpi fpo fpf - global 54 317 0 0 0 0 0 0 0 0 0 0 0 - workzone1 0 0 0 0 0 0 0 0 0 0 0 0 0 - ZONE re mf fr sr epi epo epf api apo apf fpi fpo fpf - global 54 316 1 0 0 0 0 0 0 0 0 1 1 - workzone1 0 0 0 0 0 0 0 0 0 0 0 0 0 - ZONE re mf fr sr epi epo epf api apo apf fpi fpo fpf - global 157 659 1 0 10 0 0 0 0 0 3 2 1 - workzone1 770 1085 0 0 48 0 0 0 0 0 928 0 0 - ZONE re mf fr sr epi epo epf api apo apf fpi fpo fpf - global 56 317 0 0 6 0 0 0 0 0 2 0 0 - workzone1 1478 21 0 0 0 0 0 0 0 0 1635 0 0 - -During the first few samples, some filesystem activity can be observed in -the global zone, created by a "find /" in the global. In the last few samples, -filesystem activity can be seen in the non-global zone "workzone1" - this -time created by running a "find /" within the non-global zone, - diff --git a/cddl/contrib/dtracetoolkit/FS/Readme b/cddl/contrib/dtracetoolkit/FS/Readme deleted file mode 100644 index 30927a5e2db6..000000000000 --- a/cddl/contrib/dtracetoolkit/FS/Readme +++ /dev/null @@ -1,3 +0,0 @@ -FS - File System based analysis - - This would include VFS and UFS activity. diff --git a/cddl/contrib/dtracetoolkit/FS/fspaging.d b/cddl/contrib/dtracetoolkit/FS/fspaging.d deleted file mode 100755 index 4eaa718a5174..000000000000 --- a/cddl/contrib/dtracetoolkit/FS/fspaging.d +++ /dev/null @@ -1,154 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * fspaging.d - file system read/write and paging tracing. - * Written using DTrace (Solaris 10 3/05) - * - * This traces file related activity: system call reads and writes, - * vnode logical read and writes (fop), vnode putpage and getpage activity, - * and disk I/O. It can be used to examine the behaviour of each I/O - * layer, from the syscall interface to what the disk is doing. Behaviour - * such as read-ahead, and max I/O size breakup can be observed. - * - * This is a verbose version of fsrw.d, as this also traces paging activity. - * - * $Id: fspaging.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: fspaging.d - * - * FIELDS: - * Event Traced event (see EVENTS below) - * Device Device, for disk I/O - * RW Either Read or Write - * Size Size of I/O in bytes, if known - * Offset Offset of I/O in kilobytes, if known - * Path Path to file on disk - * - * EVENTS: - * sc-read System call read - * sc-write System call write - * fop_read Logical read - * fop_write Logical write - * fop_getpage Logical get page - * fop_putpage Logical put page - * disk_io Physical disk I/O - * disk_ra Physical disk I/O, read ahead - * - * The events are drawn with a level of indentation, which can sometimes - * help identify related events. - * - * SEE ALSO: fsrw.d - * - * IDEA: Richard McDougall, Solaris Internals 2nd Ed, FS Chapter. - * - * COPYRIGHT: Copyright (c) 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * ToDo: readv() - * - * 20-Mar-2006 Brendan Gregg Created this. - * 23-Apr-2006 " " Last update. - */ - -#pragma D option quiet -#pragma D option switchrate=10hz - -dtrace:::BEGIN -{ - printf("%-13s %10s %2s %8s %6s %s\n", - "Event", "Device", "RW", "Size", "Offset", "Path"); -} - -syscall::*read:entry, -syscall::*write*:entry -{ - /* - * starting with a file descriptior, dig out useful info - * from the corresponding file_t and vnode_t. - */ - this->filistp = curthread->t_procp->p_user.u_finfo.fi_list; - this->ufentryp = (uf_entry_t *)((uint64_t)this->filistp + - (uint64_t)arg0 * (uint64_t)sizeof (uf_entry_t)); - this->filep = this->ufentryp->uf_file; - self->offset = this->filep->f_offset; - this->vnodep = this->filep != 0 ? this->filep->f_vnode : 0; - self->vpath = this->vnodep ? (this->vnodep->v_path != 0 ? - cleanpath(this->vnodep->v_path) : "") : ""; - self->sc_trace = this->vnodep ? this->vnodep->v_type == 1 || - this->vnodep->v_type == 2 ? 1 : 0 : 0; -} - -syscall::*read:entry -/self->sc_trace/ -{ - printf("sc-%-10s %10s %2s %8d %6d %s\n", probefunc, ".", "R", - (int)arg2, self->offset / 1024, self->vpath); -} - -syscall::*write*:entry -/self->sc_trace/ -{ - printf("sc-%-10s %10s %2s %8d %6d %s\n", probefunc, ".", "W", - (int)arg2, self->offset / 1024, self->vpath); -} - -syscall::*read:return, -syscall::*write*:return -{ - self->vpath = 0; - self->offset = 0; - self->sc_trace = 0; -} - -fbt::fop_putpage:entry, -fbt::fop_getpage:entry -/self->sc_trace && args[0]->v_path/ -{ - printf(" %-11s %10s %2s %8d %6d %s\n", probefunc, ".", - probefunc == "fop_getpage" ? "R" : "W", (uint64_t)arg2, - args[1] / 1024, cleanpath(args[0]->v_path)); -} - - -fbt::fop_read:entry, -fbt::fop_write:entry -/self->sc_trace && args[0]->v_path/ -{ - printf(" %-11s %10s %2s %8d %6d %s\n", probefunc, ".", - probefunc == "fop_read" ? "R" : "W", args[1]->uio_resid, - args[1]->_uio_offset._f / 1024, cleanpath(args[0]->v_path)); -} - -fbt:ufs:ufs_getpage_ra:entry -{ - /* fetch the real offset (file_t is unaware of this) */ - self->offset = ((inode_t *)args[0]->v_data)->i_nextrio; - self->read_ahead = 1; -} - -fbt:ufs:ufs_getpage_ra:return -{ - self->read_ahead = 0; - self->offset = 0; -} - -io::bdev_strategy:start -{ - this->offset = self->read_ahead ? self->offset : args[2]->fi_offset; - printf(" %-9s %10s %2s %8d %6d %s\n", - self->read_ahead ? "disk_ra" : "disk_io", args[1]->dev_statname, - args[0]->b_flags & B_READ ? "R" : "W", args[0]->b_bcount, - this->offset / 1024, args[2]->fi_pathname); -} diff --git a/cddl/contrib/dtracetoolkit/FS/fsrw.d b/cddl/contrib/dtracetoolkit/FS/fsrw.d deleted file mode 100755 index 291f09aaae01..000000000000 --- a/cddl/contrib/dtracetoolkit/FS/fsrw.d +++ /dev/null @@ -1,149 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * fsrw.d - file system read/write event tracing. - * Written using DTrace (Solaris 10 3/05) - * - * This traces file related activity: system call reads and writes, - * vnode logical read and writes (fop), and disk I/O. It can be used - * to examine the behaviour of each I/O layer, from the syscall - * interface to what the disk is doing. Behaviour such as read-ahead, and - * max I/O size breakup can be observed. - * - * $Id: fsrw.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: fsrw.d - * - * FIELDS: - * Event Traced event (see EVENTS below) - * Device Device, for disk I/O - * RW Either Read or Write - * Size Size of I/O in bytes - * Offset Offset of I/O in kilobytes - * Path Path to file on disk - * - * EVENTS: - * sc-read System call read - * sc-write System call write - * fop_read Logical read - * fop_write Logical write - * disk_io Physical disk I/O - * disk_ra Physical disk I/O, read ahead - * - * The events are drawn with a level of indentation, which can sometimes - * help identify related events. - * - * SEE ALSO: fspaging.d - * - * IDEA: Richard McDougall, Solaris Internals 2nd Ed, FS Chapter. - * - * COPYRIGHT: Copyright (c) 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * ToDo: readv() - * - * 20-Mar-2006 Brendan Gregg Created this. - * 23-Apr-2006 " " Last update. - */ - -#pragma D option quiet -#pragma D option switchrate=10hz - -dtrace:::BEGIN -{ - printf("%-12s %10s %2s %8s %6s %s\n", - "Event", "Device", "RW", "Size", "Offset", "Path"); -} - -syscall::*read:entry, -syscall::*write*:entry -{ - /* - * starting with a file descriptior, dig out useful info - * from the corresponding file_t and vnode_t. - */ - this->filistp = curthread->t_procp->p_user.u_finfo.fi_list; - this->ufentryp = (uf_entry_t *)((uint64_t)this->filistp + - (uint64_t)arg0 * (uint64_t)sizeof (uf_entry_t)); - this->filep = this->ufentryp->uf_file; - self->offset = this->filep->f_offset; - this->vnodep = this->filep != 0 ? this->filep->f_vnode : 0; - self->vpath = this->vnodep ? (this->vnodep->v_path != 0 ? - cleanpath(this->vnodep->v_path) : "") : ""; - - /* only trace activity to regular files and directories, as */ - self->sc_trace = this->vnodep ? this->vnodep->v_type == VREG || - this->vnodep->v_type == VDIR ? 1 : 0 : 0; -} - -syscall::*read:entry -/self->sc_trace/ -{ - printf("sc-%-9s %10s %2s %8d %6d %s\n", probefunc, ".", "R", - (int)arg2, self->offset / 1024, self->vpath); -} - -syscall::*write*:entry -/self->sc_trace/ -{ - printf("sc-%-9s %10s %2s %8d %6d %s\n", probefunc, ".", "W", - (int)arg2, self->offset / 1024, self->vpath); -} - -syscall::*read:return, -syscall::*write*:return -{ - self->vpath = 0; - self->offset = 0; - self->sc_trace = 0; -} - -fbt::fop_read:entry, -fbt::fop_write:entry -/self->sc_trace && args[0]->v_path/ -{ - printf(" %-10s %10s %2s %8d %6d %s\n", probefunc, ".", - probefunc == "fop_read" ? "R" : "W", args[1]->uio_resid, - args[1]->_uio_offset._f / 1024, cleanpath(args[0]->v_path)); -} - -fbt:ufs:ufs_getpage_ra:entry -{ - /* fetch the real offset (file_t is unaware of this) */ - self->ra_offset = ((inode_t *)args[0]->v_data)->i_nextrio; - self->read_ahead = 1; -} - -fbt:ufs:ufs_getpage_ra:return -{ - self->read_ahead = 0; - self->ra_offset = 0; -} - -io::bdev_strategy:start -{ - this->offset = self->read_ahead ? self->ra_offset : args[2]->fi_offset; - printf(" %-8s %10s %2s %8d %6d %s\n", - self->read_ahead ? "disk_ra" : "disk_io", args[1]->dev_statname, - args[0]->b_flags & B_READ ? "R" : "W", args[0]->b_bcount, - this->offset / 1024, args[2]->fi_pathname); - /* - * it would seem to make sense to only trace disk events during - * an fop event, easily coded with a self->fop_trace flag. However - * writes are asynchronous to the fop_write calls (they are flushed - * at some later time), and so this approach will miss tracing - * most of the disk writes. - */ -} diff --git a/cddl/contrib/dtracetoolkit/FS/rfileio.d b/cddl/contrib/dtracetoolkit/FS/rfileio.d deleted file mode 100755 index 95a6caad5c6f..000000000000 --- a/cddl/contrib/dtracetoolkit/FS/rfileio.d +++ /dev/null @@ -1,91 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * rfileio.d - read file I/O stats, with cache miss rate. - * Written using DTrace (Solaris 10 3/05) - * - * This script provides statistics on the number of reads and the bytes - * read from filesystems (logical), and the number of bytes read from - * disk (physical). A summary is printed every five seconds by file. - * - * A total miss-rate is also provided for the file system cache. - * - * $Id: rfileio.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: rfileio.d - * - * IDEA: Richard McDougall, Solaris Internals 2nd Ed, FS Chapter. - * - * COPYRIGHT: Copyright (c) 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 19-Mar-2006 Brendan Gregg Created this. - * 23-Apr-2006 " " Last update. - */ - -#pragma D option quiet - -self int trace; -uint64_t lbytes; -uint64_t pbytes; - -dtrace:::BEGIN -{ - trace("Tracing...\n"); -} - -fbt::fop_read:entry -/self->trace == 0 && args[0]->v_path/ -{ - self->pathname = cleanpath(args[0]->v_path); - @rio[self->pathname, "logical"] = count(); - lbytes += args[1]->uio_resid; - self->size = args[1]->uio_resid; - self->uiop = args[1]; -} - -fbt::fop_read:return -/self->size/ -{ - @rbytes[self->pathname, "logical"] = - sum(self->size - self->uiop->uio_resid); - self->size = 0; - self->uiop = 0; - self->pathname = 0; -} - -io::bdev_strategy:start -/self->size && args[0]->b_flags & B_READ/ -{ - @rio[self->pathname, "physical"] = count(); - @rbytes[self->pathname, "physical"] = sum(args[0]->b_bcount); - pbytes += args[0]->b_bcount; -} - -profile:::tick-5s -{ - trunc(@rio, 20); - trunc(@rbytes, 20); - printf("\033[H\033[2J"); - printf("\nRead IOPS, top 20 (count)\n"); - printa("%-54s %10s %10@d\n", @rio); - printf("\nRead Bandwidth, top 20 (bytes)\n"); - printa("%-54s %10s %10@d\n", @rbytes); - printf("\nTotal File System miss-rate: %d%%\n", - lbytes ? 100 * pbytes / lbytes : 0); - trunc(@rbytes); - trunc(@rio); - lbytes = pbytes = 0; -} diff --git a/cddl/contrib/dtracetoolkit/FS/rfsio.d b/cddl/contrib/dtracetoolkit/FS/rfsio.d deleted file mode 100755 index 847756314ba3..000000000000 --- a/cddl/contrib/dtracetoolkit/FS/rfsio.d +++ /dev/null @@ -1,98 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * rfsio.d - read FS I/O stats, with cache miss rate. - * Written using DTrace (Solaris 10 3/05) - * - * This script provides statistics on the number of reads and the bytes - * read from filesystems (logical), and the number of bytes read from - * disk (physical). A summary is printed every five seconds by filesystem. - * - * A total miss-rate is also provided for the file system cache. - * - * $Id: rfsio.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: rfsio.d - * - * IDEA: Richard McDougall, Solaris Internals 2nd Ed, FS Chapter. - * - * COPYRIGHT: Copyright (c) 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 19-Mar-2006 Brendan Gregg Created this. - * 23-Apr-2006 " " Last update. - */ - -#pragma D option quiet - -self int trace; -uint64_t lbytes; -uint64_t pbytes; - -dtrace:::BEGIN -{ - trace("Tracing...\n"); -} - -fbt::fop_read:entry -/self->trace == 0/ -{ - self->fs_mount = args[0]->v_vfsp == `rootvfs ? "/" : - args[0]->v_vfsp->vfs_vnodecovered ? - stringof(args[0]->v_vfsp->vfs_vnodecovered->v_path) : NULL; -} - -fbt::fop_read:entry -/self->fs_mount != NULL/ -{ - @rio[self->fs_mount, "logical"] = count(); - lbytes += args[1]->uio_resid; - self->size = args[1]->uio_resid; - self->uiop = args[1]; -} - -fbt::fop_read:return -/self->size/ -{ - @rbytes[self->fs_mount, "logical"] = - sum(self->size - self->uiop->uio_resid); - self->size = 0; - self->uiop = 0; - self->fs_mount = 0; -} - -io::bdev_strategy:start -/self->size && args[0]->b_flags & B_READ/ -{ - @rio[self->fs_mount, "physical"] = count(); - @rbytes[self->fs_mount, "physical"] = sum(args[0]->b_bcount); - pbytes += args[0]->b_bcount; -} - -profile:::tick-5s -{ - trunc(@rio, 20); - trunc(@rbytes, 20); - printf("\033[H\033[2J"); - printf("\nRead IOPS (count)\n"); - printa("%-32s %10s %10@d\n", @rio); - printf("\nRead Bandwidth (bytes)\n"); - printa("%-32s %10s %10@d\n", @rbytes); - printf("\nTotal File System miss-rate: %d%%\n", - lbytes ? 100 * pbytes / lbytes : 0); - trunc(@rbytes); - trunc(@rio); - lbytes = pbytes = 0; -} diff --git a/cddl/contrib/dtracetoolkit/FS/vopstat b/cddl/contrib/dtracetoolkit/FS/vopstat deleted file mode 100755 index a4c5af46d7de..000000000000 --- a/cddl/contrib/dtracetoolkit/FS/vopstat +++ /dev/null @@ -1,304 +0,0 @@ -#!/usr/bin/sh -# -# vopstat - Trace the vnode interface. -# Written using DTrace (Solaris 10 3/05) -# -# Author: Richard McDougall -# -# $Id: vopstat 3 2007-08-01 10:50:08Z brendan $ -# -# USAGE: vopstat [-t] [/mountname] -# -# vopstat # default output, summary each 5 secs -# -t # trace activity as it occurs -# -# Example: -# -# ./vopstat -# -# VOP Physical IO Count -# fop_fsync 236 -# -# VOP Count Count -# fop_create 1 -# fop_fid 1 -# fop_lookup 2 -# fop_access 3 -# fop_read 3 -# fop_poll 11 -# fop_fsync 31 -# fop_putpage 32 -# fop_ioctl 115 -# fop_write 517 -# fop_rwlock 520 -# fop_rwunlock 520 -# fop_inactive 529 -# fop_getattr 1057 -# -# VOP Wall Time mSeconds -# fop_fid 0 -# fop_access 0 -# fop_read 0 -# fop_poll 0 -# fop_lookup 0 -# fop_create 0 -# fop_ioctl 0 -# fop_putpage 1 -# fop_rwunlock 1 -# fop_rwlock 1 -# fop_inactive 1 -# fop_getattr 2 -# fop_write 22 -# fop_fsync 504 -# -# COPYRIGHT: Copyright (c) 2006 Richard McDougall -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# Shell Wrapper Concept by Brendan Gregg -# -# 08-Jan-2006 Richard McDougall Created this. -# 23-Apr-2006 Brendan Gregg Minor style tweaks. -# 23-Apr-2006 " " Last update. - - -############################## -# --- Process Arguments --- -# - -### default variables -opt_trace=0; opt_fs=0; opt_stats=1; opt_all=0 - -### process options -while getopts t name -do - case $name in - t) opt_trace=1 ;; - h|?) cat <<-END >&2 - USAGE: voptrace [-t] [/mountpoint] - voptrace # default output - -t # trace - eg, - voptrace -t # trace all file systems - voptrace -t /tmp # trace /tmp - voptrace /tmp # summary stats for /tmp - END - exit 1 - esac -done -shift `expr $OPTIND - 1` -filesys="$1" - -### option logic -if [ $opt_trace -eq 1 ]; then - opt_stats=0 -fi -if [ -z "$filesys" ]; then - opt_all=1 -fi - -################################# -# --- Main Program, DTrace --- -# -/usr/sbin/dtrace -n ' - /* - * Command line arguments - */ - inline int OPT_fs = '$opt_fs'; - inline int OPT_all = '$opt_all'; - inline int OPT_trace = '$opt_trace'; - inline int OPT_stats = '$opt_stats'; - inline string FILESYS = "'$filesys'"; - - #pragma D option quiet - - /* - * Print header - */ - dtrace:::BEGIN - { - last_event[""] = 0; - - /* print main headers */ - OPT_stats == 1 ? - printf("\033[H\033[2J") : 1; - - OPT_trace == 1 ? - printf("%2s %-15s %-10s %51s %2s %8s %8s\n", - "", "Event", "Device", "Path", "RW", "Size", "Offset") : 1; - self->path = ""; - self->trace = 0; - } - - dtrace:::BEGIN - /OPT_trace == 1/ - { - /* make D compiler happy */ - @vop_iocnt[""] = count(); - @vop_cnt[""] = count(); - @vop_time[""] = sum(0); - trunc(@vop_iocnt); - trunc(@vop_cnt); - trunc(@vop_time); - } - - fbt::fop_*:entry - { - self->trace = 0; - - /* Get vp: fop_open has a pointer to vp */ - this->vpp = (vnode_t **)arg0; - self->vp = (vnode_t *)arg0; - self->vp = probefunc == "fop_open" ? (vnode_t *)*this->vpp : self->vp; - - /* And the containing vfs */ - this->vfsp = self->vp ? self->vp->v_vfsp : 0; - - /* And the paths for the vp and containing vfs */ - this->vfsvp = this->vfsp ? - (struct vnode *)((vfs_t *)this->vfsp)->vfs_vnodecovered : 0; - self->vfspath = this->vfsvp ? stringof(this->vfsvp->v_path) : "unknown"; - - /* Check if we should trace the root fs */ - (OPT_all || - (FILESYS == "/" && this->vfsp && - (this->vfsp == `rootvfs))) ? self->trace = 1 : self->trace; - - /* Check if we should trace the fs */ - (OPT_all || (self->vfspath == FILESYS)) ? self->trace = 1 : self->trace; - - self->vfspath = 0; - } - - /* - * Trace the entry point to each fop - */ - fbt::fop_*:entry - /self->trace/ - { - self->path = (self->vp != NULL && self->vp->v_path) ? - stringof(self->vp->v_path) : "unknown"; - - /* Some fops has the len in arg2 */ - (probefunc == "fop_getpage" || - probefunc == "fop_putpage" || - probefunc == "fop_none") ? self->len = arg2 : 1; - - /* Some fops has the len in arg3 */ - (probefunc == "fop_pageio" || - probefunc == "fop_none") ? self->len = arg3 : 1; - - /* Some fops has the len in arg4 */ - (probefunc == "fop_addmap" || - probefunc == "fop_map" || - probefunc == "fop_delmap") ? self->len = arg4 : 1; - - /* Some fops has the offset in arg1 */ - (probefunc == "fop_addmap" || - probefunc == "fop_map" || - probefunc == "fop_getpage" || - probefunc == "fop_putpage" || - probefunc == "fop_seek" || - probefunc == "fop_delmap") ? self->off = arg1 : 1; - - /* Some fops has the offset in arg3 */ - (probefunc == "fop_close" || - probefunc == "fop_pageio") ? self->off = arg3 : 1; - - /* Some fops has the offset in arg4 */ - probefunc == "fop_frlock" ? self->off = arg4 : 1; - - /* Some fops has the pathname in arg1 */ - self->path = (probefunc == "fop_create" || - probefunc == "fop_mkdir" || - probefunc == "fop_rmdir" || - probefunc == "fop_remove" || - probefunc == "fop_lookup") ? - strjoin(self->path, strjoin("/", stringof(arg1))) : self->path; - - OPT_trace ? - printf("%2s %-15s %-10s %51s %2s %8d %8d\n", - "->", probefunc, "-", self->path, "-", - self->len, self->off) : 1; - - self->type = probefunc; - self->vop_entry[probefunc] = timestamp; - } - - fbt::fop_*:return - /self->trace == 1/ - { - OPT_trace ? - printf("%2s %-15s %-10s %51s %2s %8d %8d\n", - "<-", probefunc, "-", self->path, "-", - self->len, self->off) : 1; - - OPT_stats == 1 ? - @vop_time[probefunc] = - sum(timestamp - self->vop_entry[probefunc]) : 1; - OPT_stats == 1 ? - @vop_cnt[probefunc] = count() : 1; - - self->path = 0; - self->len = 0; - self->off = 0; - } - - fbt::fop_*:return - { - self->trace = 0; - self->type = 0; - self->vp = 0; - } - - /* Capture any I/O within this fop */ - io:::start - /self->trace/ - { - OPT_stats == 1 ? - @vop_iocnt[self->type] = count() : 1; - - OPT_trace == 1? - printf("%2s %-15s %-10s %51s %2s %8d %8u\n", - "--", self->type, args[1]->dev_statname, - self->path, args[0]->b_flags & B_READ ? "R" : "W", - args[0]->b_bcount, args[0]->b_blkno) : 1; - } - - profile:::tick-5s - /OPT_stats == 1/ - { - /* Print top 20 only */ - trunc(@vop_iocnt, 20); - trunc(@vop_time, 20); - - /* Display microseconds */ - normalize(@vop_time, 1000000); - printf("\033[H\033[2J"); - printf("%-60s %10s\n", "VOP Physical IO", "Count"); - printa("%-60s %10@d\n", @vop_iocnt); - printf("\n"); - printf("%-60s %10s\n", "VOP Count", "Count"); - printa("%-60s %10@d\n", @vop_cnt); - printf("\n"); - printf("%-60s %10s\n", "VOP Wall Time", "mSeconds"); - printa("%-60s %10@d\n", @vop_time); - - /* Clear data */ - trunc(@vop_iocnt); - trunc(@vop_cnt); - trunc(@vop_time); - } -' diff --git a/cddl/contrib/dtracetoolkit/Guide b/cddl/contrib/dtracetoolkit/Guide deleted file mode 100644 index 739d3670b83b..000000000000 --- a/cddl/contrib/dtracetoolkit/Guide +++ /dev/null @@ -1,91 +0,0 @@ -Guide - Guide to the DTraceToolkit - - How to get started, and a table of contents. - -QuickStart - - 1. The top most useful scripts are in this directory. - 2. Try running them with "-h". Eg, "./execsnoop -h". - 3. Read Docs/Contents for a full list of scripts. - -QuickStart-by-Screenshot - - 1. Look through the examples in the Examples directory until - you see an output you like - 2. Find the script and run it - 3. Look for its man page in Man - -Not-so-QuickStart - - 1. Welcome! - 2. Check the Table of Contents below to become famaliar with the - directory structure of the DTraceToolkit. - 3. See Docs/Faq for any initial questions. - 4. Read Docs/Contents for a list of scripts. - 5. Read Docs/Readme to see where scripts are documented. - 6. Check Docs/Links for further DTrace. - 7. Once famaliar with the toolkit, the following may be useful to - add to your shell initialisation file, - PATH=$PATH:/opt/DTT/Bin - MANPATH=$MANPATH:/opt/DTT/Man - in this case assuming the toolkit was installed in /opt/DTT. - -Installation - - 1. Run ./install - This will replace any existing version of the DTraceToolkit - with this one. It will prompt. Final install location is - printed by this install script. - -Table of Contents - - DTraceToolkit-X.XX/ - Bin/ Symlinks to all the scripts - Apps/ Application specific scripts - Cpu/ Scripts for CPU analysis - Code/ Example code to practise on - Disk/ Scripts for disk I/O analysis - Docs/ Documentation - Contents Command list for the Toolkit - Faq Frequently asked questions - Links Further DTrace links - Readme Readme for using the docs - Examples/ Examples of command usage - Guide This file! - Include/ DTrace include files - Java/ Scripts for tracing Java - JavaScript/ Scripts for tracing JavaScript - Kernel/ Scripts for kernel analysis - License The CDDL license - Locks/ Scripts for lock analysis - Man/ Man pages - man1m/ Man pages for the Toolkit commands - Mem/ Scripts for memory analysis - Misc/ Misc scripts - Net/ Scripts for network analysis - Notes/ Notes on Toolkit commands - Perl/ Scripts for tracing Perl - Php/ Scripts for tracing Php - Proc/ Scripts for process analysis - Python/ Scripts for tracing Python - Ruby/ Scripts for tracing Ruby - Shell/ Scripts for tracing Shell languages - Snippits/ Snippits of D scripting - System/ Scripts for system analysis - Tcl/ Scripts for tracing Tcl - User/ Scripts for user based activity analysis - Zones/ Scripts for analysis by zone - Version DTraceToolkit version - install Install script, use for installs only - -When you type ls in the DTraceToolkit, you will be looking at the top ten -or so most useful scripts plus the top level directories. Other scripts have -been placed in meaningful subdirectories, such as Disk, Kernel, Proc, etc. - -An optional Bin directory has been provided that links to all the scripts. - -The DTraceToolkit is released under the CDDL license. It's the same open -source license that OpenSolaris has been released under. - -Thank you for using the DTraceToolkit! - diff --git a/cddl/contrib/dtracetoolkit/Include/Readme b/cddl/contrib/dtracetoolkit/Include/Readme deleted file mode 100644 index 4aa46881e8f4..000000000000 --- a/cddl/contrib/dtracetoolkit/Include/Readme +++ /dev/null @@ -1,18 +0,0 @@ -Include - include scripts for D scripting - - This directory contains files that can be included for use with D scripts. - - There are two types of include files, - - *.h - These can be included using, - - #!/usr/sbin/dtrace -Cs - #include - - *.d - These must be copyied to a translator directory (/usr/lib/dtrace), - and should be automatically pulled in. - - This directory does not contain runnable DTrace scripts. - diff --git a/cddl/contrib/dtracetoolkit/Include/test.ksh b/cddl/contrib/dtracetoolkit/Include/test.ksh deleted file mode 100755 index a3e1036a2061..000000000000 --- a/cddl/contrib/dtracetoolkit/Include/test.ksh +++ /dev/null @@ -1,68 +0,0 @@ -#!/usr/bin/ksh -/* - * test.ksh - DTrace include file test script. - * - * $Id: test.ksh 36 2007-09-15 06:51:18Z brendan $ - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 16-Sep-2007 Brendan Gregg Created this. - */ - -dtrace -CI . -s /dev/stdin << END - -#include "tostr.h" -#include "time.h" - -#pragma D option quiet -#pragma D option destructive - -dtrace:::BEGIN -{ - i = 1; - printf("\nNUM_TO_STR %12d = %s\n", i, NUM_TO_STR(i)); - i = 1100; - printf("NUM_TO_STR %12d = %s\n", i, NUM_TO_STR(i)); - i = 1100000; - printf("NUM_TO_STR %12d = %s\n", i, NUM_TO_STR(i)); - i = 999999999; - printf("NUM_TO_STR %12d = %s\n", i, NUM_TO_STR(i)); - - i = 1; - printf("\nBYTES_TO_STR %12d = %s\n", i, BYTES_TO_STR(i)); - i = 1024; - printf("BYTES_TO_STR %12d = %s\n", i, BYTES_TO_STR(i)); - i = 1000000; - printf("BYTES_TO_STR %12d = %s\n", i, BYTES_TO_STR(i)); - i = 999999999; - printf("BYTES_TO_STR %12d = %s\n", i, BYTES_TO_STR(i)); - - i = 1; - printf("\nUS_TO_STR %12d = %s\n", i, US_TO_STR(i)); - i = 1100; - printf("US_TO_STR %12d = %s\n", i, US_TO_STR(i)); - i = 999999; - printf("US_TO_STR %12d = %s\n", i, US_TO_STR(i)); - - printf("\nwalltimestamp : %Y\n", walltimestamp); - printf("TZ=GMT date : "); - system("TZ=GMT date '+%%H:%%M:%%S'"); - printf("TIME_HHMMSS : %s\n", TIME_HHMMSS); - - exit(0); -} -END diff --git a/cddl/contrib/dtracetoolkit/Include/time.h b/cddl/contrib/dtracetoolkit/Include/time.h deleted file mode 100644 index 76caa2e97825..000000000000 --- a/cddl/contrib/dtracetoolkit/Include/time.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * time.h - DTrace Time include file. - * - * $Id: time.h 36 2007-09-15 06:51:18Z brendan $ - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 16-Sep-2007 Brendan Gregg Created this. - */ - -/* - * TIME_HHMMSS - Returns GMT time as a "HH:MM:SS" string. - * - * eg, "21:53:07" - */ -#define TIME_HHMMSS \ - strjoin(strjoin(strjoin(strjoin(strjoin( \ - (((walltimestamp / 1000000000) % 86400) / 3600) < 10 ? "0" : "",\ - lltostr(((walltimestamp / 1000000000) % 86400) / 3600)), ":"), \ - strjoin((((walltimestamp / 1000000000) % 3600) / 60) < 10 ? \ - "0" : "", lltostr(((walltimestamp / 1000000000) % 3600) / 60))),\ - ":"), strjoin(((walltimestamp / 1000000000) % 60) < 10 ? \ - "0" : "", lltostr((walltimestamp / 1000000000) % 60))) - diff --git a/cddl/contrib/dtracetoolkit/Include/tostr.h b/cddl/contrib/dtracetoolkit/Include/tostr.h deleted file mode 100644 index 6032f6afb323..000000000000 --- a/cddl/contrib/dtracetoolkit/Include/tostr.h +++ /dev/null @@ -1,89 +0,0 @@ -/* - * tostr.h - DTrace To-String include file. - * - * $Id: tostr.h 36 2007-09-15 06:51:18Z brendan $ - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 16-Sep-2007 Brendan Gregg Created this. - */ - -/* - * NUM_TO_STR(n) - takes a number and returns a string with a prefix, - * intended to fit withen 6 chars. - * - * Input Output - * 0 0 - * 1 1 - * 10 10 - * 999 999 - * 1000 1.0K - * 1100 1.1K - * 10000 10.0K - * 999999 999.0K - * 1000000 1.0M - * 10000000 10.0M - * 999999999 999.9M - */ -#define NUM_TO_STR(n) \ - n >= 1000000 ? \ - strjoin(strjoin(strjoin(lltostr(n / 1000000), "."), \ - lltostr((n % 1000000) / 100000)), "M") : n >= 1000 ? \ - strjoin(strjoin(strjoin(lltostr(n / 1000), "."), \ - lltostr((n % 1000) / 100)), "K") : lltostr(n) - -/* - * BYTES_TO_STR(n) - takes a byte count and returns a string with a prefix, - * intended to fit withen 6 chars. - * - * Input Output - * 0 0 - * 1 1 - * 10 10 - * 999 0.9K - * 1000 0.9K - * 1024 1.0K - * 10240 10.0K - * 1000000 976.5K - * 1048576 1.0M - * 1000000000 953.6M - */ -#define BYTES_TO_STR(n) \ - n >= 1024000 ? \ - strjoin(strjoin(strjoin(lltostr(n / 1048576), "."), \ - lltostr((n % 1048576) / 104858)), "M") : n >= 1000 ? \ - strjoin(strjoin(strjoin(lltostr(n / 1024), "."), \ - lltostr((n % 1024) / 103)), "K") : lltostr(n) - -/* - * US_TO_STR(n) - takes microseconds and returns a string with a prefix, - * intended to fit withen 6 chars. - * - * Input Output - * 0 0 - * 1 1u - * 10 10u - * 999 999u - * 1000 1.0m - * 1100 1.1m - * 10000 10.0m - * 999999 999.0m - */ -#define US_TO_STR(n) \ - n == 0 ? "0" : n >= 1000 ? \ - strjoin(lltostr(n / 1000), "m") : strjoin(lltostr(n), "u") - diff --git a/cddl/contrib/dtracetoolkit/Java/Readme b/cddl/contrib/dtracetoolkit/Java/Readme deleted file mode 100644 index ae455a524d1c..000000000000 --- a/cddl/contrib/dtracetoolkit/Java/Readme +++ /dev/null @@ -1,17 +0,0 @@ -Java - DTracing Java - - These scripts trace the JVM, and require the Java hotspot provider which - was shipped with Java starting with version 1.6.0. - - Some of these scripts measure method and object events, and require - the Java process to be run using the "+ExtendedDTraceProbes" flag. - For example, - - java -XX:+ExtendedDTraceProbes classfile - - The ExtendedDTraceProbes flag is not on by default to avoid the additional - overhead for maintaining these additional probes. When this flag is - enabled, the JVM may execute slightly slower than before; when the probes - are also enabled (especially method probes), the JVM may execute - significantly slower. - diff --git a/cddl/contrib/dtracetoolkit/Java/j_calldist.d b/cddl/contrib/dtracetoolkit/Java/j_calldist.d deleted file mode 100755 index f0cb087fc6a8..000000000000 --- a/cddl/contrib/dtracetoolkit/Java/j_calldist.d +++ /dev/null @@ -1,116 +0,0 @@ -#!/usr/sbin/dtrace -CZs -/* - * j_calldist.d - measure Java elapsed times for different types of operation. - * Written for the Java hotspot DTrace provider. - * - * $Id: j_calldist.d 59 2007-10-03 08:21:58Z brendan $ - * - * This traces activity from all Java processes on the system with hotspot - * provider support (1.6.0). Method calls are only visible when using the - * flag "+ExtendedDTraceProbes". eg, java -XX:+ExtendedDTraceProbes classfile - * - * USAGE: j_calldist.d [top] # hit Ctrl-C to end - * - * The "top" optional argument will truncate the output for each report - * section to that many lines, with a default of 10. - * - * FIELDS: - * 1 Process ID - * 2 Type of call (method/gc) - * 3 Name of call - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#define TOP 10 /* default output truncation */ -#define B_FALSE 0 - -#pragma D option quiet -#pragma D option defaultargs - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); - top = $1 != 0 ? $1 : TOP; -} - -hotspot*:::method-entry -{ - self->depth[arg0]++; - self->exclude[arg0, self->depth[arg0]] = 0; - self->method[arg0, self->depth[arg0]] = timestamp; -} - -hotspot*:::method-return -/self->method[arg0, self->depth[arg0]]/ -{ - this->elapsed_incl = timestamp - self->method[arg0, self->depth[arg0]]; - this->elapsed_excl = this->elapsed_incl - - self->exclude[arg0, self->depth[arg0]]; - self->method[arg0, self->depth[arg0]] = 0; - self->exclude[arg0, self->depth[arg0]] = 0; - - this->class = (char *)copyin(arg1, arg2 + 1); - this->class[arg2] = '\0'; - this->method = (char *)copyin(arg3, arg4 + 1); - this->method[arg4] = '\0'; - this->name = strjoin(strjoin(stringof(this->class), "."), - stringof(this->method)); - - @types_incl[pid, "method", this->name] = - quantize(this->elapsed_incl / 1000); - @types_excl[pid, "method", this->name] = - quantize(this->elapsed_excl / 1000); - - self->depth[arg0]--; - self->exclude[arg0, self->depth[arg0]] += this->elapsed_incl; -} - -hotspot*:::gc-begin -{ - self->gc = timestamp; - self->full = (boolean_t)arg0; -} - -hotspot*:::gc-end -/self->gc/ -{ - this->elapsed = timestamp - self->gc; - - @types[pid, "gc", self->full == B_FALSE ? "GC" : "Full GC"] = - quantize(this->elapsed / 1000); - - self->gc = 0; - self->full = 0; -} - -dtrace:::END -{ - trunc(@types, top); - printf("\nTop %d elapsed times (us),\n", top); - printa(" PID=%d, %s, %s %@d\n", @types); - - trunc(@types_excl, top); - printf("\nTop %d exclusive method elapsed times (us),\n", top); - printa(" PID=%d, %s, %s %@d\n", @types_excl); - - trunc(@types_incl, top); - printf("\nTop %d inclusive method elapsed times (us),\n", top); - printa(" PID=%d, %s, %s %@d\n", @types_incl); -} diff --git a/cddl/contrib/dtracetoolkit/Java/j_calls.d b/cddl/contrib/dtracetoolkit/Java/j_calls.d deleted file mode 100755 index 087545d3ff39..000000000000 --- a/cddl/contrib/dtracetoolkit/Java/j_calls.d +++ /dev/null @@ -1,113 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * j_calls.d - count Java calls (method/...) using DTrace. - * Written for the Java hotspot DTrace provider. - * - * $Id: j_calls.d 19 2007-09-12 07:47:59Z brendan $ - * - * This traces activity from all Java processes on the system with hotspot - * provider support (1.6.0). Method calls and object allocation are only - * visible when using the flag "+ExtendedDTraceProbes". eg, - * java -XX:+ExtendedDTraceProbes classfile - * - * USAGE: j_calls.d # hit Ctrl-C to end - * - * FIELDS: - * PID Process ID - * TYPE Type of call (see below) - * NAME Name of call - * COUNT Number of calls during sample - * - * TYPEs: - * cload class load - * method method call - * mcompile method compile - * mload compiled method load - * oalloc object alloc - * thread thread start - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -hotspot*:::method-entry -{ - this->class = (char *)copyin(arg1, arg2 + 1); - this->class[arg2] = '\0'; - this->method = (char *)copyin(arg3, arg4 + 1); - this->method[arg4] = '\0'; - this->name = strjoin(strjoin(stringof(this->class), "."), - stringof(this->method)); - @calls[pid, "method", this->name] = count(); -} - -hotspot*:::object-alloc -{ - this->class = (char *)copyin(arg1, arg2 + 1); - this->class[arg2] = '\0'; - @calls[pid, "oalloc", stringof(this->class)] = count(); -} - -hotspot*:::class-loaded -{ - this->class = (char *)copyin(arg0, arg1 + 1); - this->class[arg1] = '\0'; - @calls[pid, "cload", stringof(this->class)] = count(); -} - -hotspot*:::thread-start -{ - this->thread = (char *)copyin(arg0, arg1 + 1); - this->thread[arg1] = '\0'; - @calls[pid, "thread", stringof(this->thread)] = count(); -} - -hotspot*:::method-compile-begin -{ - this->class = (char *)copyin(arg0, arg1 + 1); - this->class[arg1] = '\0'; - this->method = (char *)copyin(arg2, arg3 + 1); - this->method[arg3] = '\0'; - this->name = strjoin(strjoin(stringof(this->class), "."), - stringof(this->method)); - @calls[pid, "mcompile", this->name] = count(); -} - -hotspot*:::compiled-method-load -{ - this->class = (char *)copyin(arg0, arg1 + 1); - this->class[arg1] = '\0'; - this->method = (char *)copyin(arg2, arg3 + 1); - this->method[arg3] = '\0'; - this->name = strjoin(strjoin(stringof(this->class), "."), - stringof(this->method)); - @calls[pid, "mload", this->name] = count(); -} - -dtrace:::END -{ - printf(" %6s %-8s %-52s %8s\n", "PID", "TYPE", "NAME", "COUNT"); - printa(" %6d %-8s %-52s %@8d\n", @calls); -} diff --git a/cddl/contrib/dtracetoolkit/Java/j_calltime.d b/cddl/contrib/dtracetoolkit/Java/j_calltime.d deleted file mode 100755 index be4da519180d..000000000000 --- a/cddl/contrib/dtracetoolkit/Java/j_calltime.d +++ /dev/null @@ -1,129 +0,0 @@ -#!/usr/sbin/dtrace -CZs -/* - * j_calltime.d - measure Java elapsed times for different types of operation. - * Written for the Java hotspot DTrace provider. - * - * $Id: j_calltime.d 59 2007-10-03 08:21:58Z brendan $ - * - * This traces activity from all Java processes on the system with hotspot - * provider support (1.6.0). Method calls are only visible when using the - * flag "+ExtendedDTraceProbes". eg, java -XX:+ExtendedDTraceProbes classfile - * - * USAGE: j_calltime.d [top] # hit Ctrl-C to end - * - * The "top" optional argument will truncate the output for each report - * section to that many lines, with a default of 10. - * - * FIELDS: - * PID Process ID - * TYPE Type of call (method/gc/total) - * NAME Name of call - * TOTAL Total elapsed time for calls (us) - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#define TOP 10 /* default output truncation */ -#define B_FALSE 0 - -#pragma D option quiet -#pragma D option defaultargs - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); - top = $1 != 0 ? $1 : TOP; -} - -hotspot*:::method-entry -{ - self->depth[arg0]++; - self->exclude[arg0, self->depth[arg0]] = 0; - self->method[arg0, self->depth[arg0]] = timestamp; -} - -hotspot*:::method-return -/self->method[arg0, self->depth[arg0]]/ -{ - this->elapsed_incl = timestamp - self->method[arg0, self->depth[arg0]]; - this->elapsed_excl = this->elapsed_incl - - self->exclude[arg0, self->depth[arg0]]; - self->method[arg0, self->depth[arg0]] = 0; - self->exclude[arg0, self->depth[arg0]] = 0; - - this->class = (char *)copyin(arg1, arg2 + 1); - this->class[arg2] = '\0'; - this->method = (char *)copyin(arg3, arg4 + 1); - this->method[arg4] = '\0'; - this->name = strjoin(strjoin(stringof(this->class), "."), - stringof(this->method)); - - @num[pid, "method", this->name] = count(); - @num[0, "total", "-"] = count(); - @types_incl[pid, "method", this->name] = sum(this->elapsed_incl); - @types_excl[pid, "method", this->name] = sum(this->elapsed_excl); - @types_excl[0, "total", "-"] = sum(this->elapsed_excl); - - self->depth[arg0]--; - self->exclude[arg0, self->depth[arg0]] += this->elapsed_incl; -} - -hotspot*:::gc-begin -{ - self->gc = timestamp; - self->full = (boolean_t)arg0; -} - -hotspot*:::gc-end -/self->gc/ -{ - this->elapsed = timestamp - self->gc; - self->gc = 0; - - @num[pid, "gc", self->full == B_FALSE ? "GC" : "Full GC"] = count(); - @types[pid, "gc", self->full == B_FALSE ? "GC" : "Full GC"] = - sum(this->elapsed); - self->full = 0; -} - -dtrace:::END -{ - trunc(@num, top); - printf("\nTop %d counts,\n", top); - printf(" %6s %-10s %-48s %8s\n", "PID", "TYPE", "NAME", "COUNT"); - printa(" %6d %-10s %-48s %@8d\n", @num); - - trunc(@types, top); - normalize(@types, 1000); - printf("\nTop %d elapsed times (us),\n", top); - printf(" %6s %-10s %-48s %8s\n", "PID", "TYPE", "NAME", "TOTAL"); - printa(" %6d %-10s %-48s %@8d\n", @types); - - trunc(@types_excl, top); - normalize(@types_excl, 1000); - printf("\nTop %d exclusive method elapsed times (us),\n", top); - printf(" %6s %-10s %-48s %8s\n", "PID", "TYPE", "NAME", "TOTAL"); - printa(" %6d %-10s %-48s %@8d\n", @types_excl); - - trunc(@types_incl, top); - normalize(@types_incl, 1000); - printf("\nTop %d inclusive method elapsed times (us),\n", top); - printf(" %6s %-10s %-48s %8s\n", "PID", "TYPE", "NAME", "TOTAL"); - printa(" %6d %-10s %-48s %@8d\n", @types_incl); -} diff --git a/cddl/contrib/dtracetoolkit/Java/j_classflow.d b/cddl/contrib/dtracetoolkit/Java/j_classflow.d deleted file mode 100755 index 162338ad2186..000000000000 --- a/cddl/contrib/dtracetoolkit/Java/j_classflow.d +++ /dev/null @@ -1,100 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * j_classflow.d - trace a Java class method flow using DTrace. - * Written for the Java hotspot DTrace provider. - * - * $Id: j_classflow.d 63 2007-10-04 04:34:38Z brendan $ - * - * This traces activity from all Java processes on the system with hotspot - * provider support (1.6.0) and the flag "+ExtendedDTraceProbes". eg, - * java -XX:+ExtendedDTraceProbes classfile - * - * USAGE: j_classflow.d classname # hit Ctrl-C to end - * - * This watches Java method entries and returns, and indents child - * method calls. - * - * FIELDS: - * C CPU-id - * TIME(us) Time since boot, us - * PID Process ID - * CLASS.METHOD Java class and method name - * - * LEGEND: - * -> method entry - * <- method return - * - * WARNING: Watch the first column carefully, it prints the CPU-id. If it - * changes, then it is very likely that the output has been shuffled. - * Changes in TID will appear to shuffle output, as we change from one thread - * depth to the next. See Docs/Notes/ALLjavaflow.txt for additional notes. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -/* increasing bufsize can reduce drops */ -#pragma D option bufsize=16m -#pragma D option quiet -#pragma D option defaultargs -#pragma D option switchrate=10 - -self int depth[int]; - -dtrace:::BEGIN -/$$1 == ""/ -{ - printf("USAGE: j_classflow.d classname\n"); - exit(1); -} - -dtrace:::BEGIN -{ - printf("%3s %6s %-16s -- %s\n", "C", "PID", "TIME(us)", "CLASS.METHOD"); -} - -hotspot*:::method-entry, -hotspot*:::method-return -{ - this->class = stringof((char *)copyin(arg1, arg2 + 1)); - this->class[arg2] = '\0'; -} - -hotspot*:::method-entry -/this->class == $$1/ -{ - this->method = (char *)copyin(arg3, arg4 + 1); - this->method[arg4] = '\0'; - - printf("%3d %6d %-16d %*s-> %s.%s\n", cpu, pid, timestamp / 1000, - self->depth[arg0] * 2, "", stringof(this->class), - stringof(this->method)); - self->depth[arg0]++; -} - -hotspot*:::method-return -/this->class == $$1/ -{ - this->method = (char *)copyin(arg3, arg4 + 1); - this->method[arg4] = '\0'; - - self->depth[arg0] -= self->depth[arg0] > 0 ? 1 : 0; - printf("%3d %6d %-16d %*s<- %s.%s\n", cpu, pid, timestamp / 1000, - self->depth[arg0] * 2, "", stringof(this->class), - stringof(this->method)); -} diff --git a/cddl/contrib/dtracetoolkit/Java/j_cpudist.d b/cddl/contrib/dtracetoolkit/Java/j_cpudist.d deleted file mode 100755 index 9a4626e4c62a..000000000000 --- a/cddl/contrib/dtracetoolkit/Java/j_cpudist.d +++ /dev/null @@ -1,116 +0,0 @@ -#!/usr/sbin/dtrace -CZs -/* - * j_cpudist.d - measure Java on-CPU times for different types of operation. - * Written for the Java hotspot DTrace provider. - * - * $Id: j_cpudist.d 59 2007-10-03 08:21:58Z brendan $ - * - * This traces activity from all Java processes on the system with hotspot - * provider support (1.6.0). Method calls are only visible when using the - * flag "+ExtendedDTraceProbes". eg, java -XX:+ExtendedDTraceProbes classfile - * - * USAGE: j_cpudist.d [top] # hit Ctrl-C to end - * - * The "top" optional argument will truncate the output for each report - * section to that many lines, with a default of 10. - * - * FIELDS: - * 1 Process ID - * 2 Type of call (method/gc) - * 3 Name of call - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#define TOP 10 /* default output truncation */ -#define B_FALSE 0 - -#pragma D option quiet -#pragma D option defaultargs - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); - top = $1 != 0 ? $1 : TOP; -} - -hotspot*:::method-entry -{ - self->depth[arg0]++; - self->exclude[arg0, self->depth[arg0]] = 0; - self->method[arg0, self->depth[arg0]] = vtimestamp; -} - -hotspot*:::method-return -/self->method[arg0, self->depth[arg0]]/ -{ - this->oncpu_incl = vtimestamp - self->method[arg0, self->depth[arg0]]; - this->oncpu_excl = this->oncpu_incl - - self->exclude[arg0, self->depth[arg0]]; - self->method[arg0, self->depth[arg0]] = 0; - self->exclude[arg0, self->depth[arg0]] = 0; - - this->class = (char *)copyin(arg1, arg2 + 1); - this->class[arg2] = '\0'; - this->method = (char *)copyin(arg3, arg4 + 1); - this->method[arg4] = '\0'; - this->name = strjoin(strjoin(stringof(this->class), "."), - stringof(this->method)); - - @types_incl[pid, "method", this->name] = - quantize(this->oncpu_incl / 1000); - @types_excl[pid, "method", this->name] = - quantize(this->oncpu_excl / 1000); - - self->depth[arg0]--; - self->exclude[arg0, self->depth[arg0]] += this->oncpu_incl; -} - -hotspot*:::gc-begin -{ - self->gc = vtimestamp; - self->full = (boolean_t)arg0; -} - -hotspot*:::gc-end -/self->gc/ -{ - this->oncpu = vtimestamp - self->gc; - - @types[pid, "gc", self->full == B_FALSE ? "GC" : "Full GC"] = - quantize(this->oncpu / 1000); - - self->gc = 0; - self->full = 0; -} - -dtrace:::END -{ - trunc(@types, top); - printf("\nTop %d on-CPU times (us),\n", top); - printa(" PID=%d, %s, %s %@d\n", @types); - - trunc(@types_excl, top); - printf("\nTop %d exclusive method on-CPU times (us),\n", top); - printa(" PID=%d, %s, %s %@d\n", @types_excl); - - trunc(@types_incl, top); - printf("\nTop %d inclusive method on-CPU times (us),\n", top); - printa(" PID=%d, %s, %s %@d\n", @types_incl); -} diff --git a/cddl/contrib/dtracetoolkit/Java/j_cputime.d b/cddl/contrib/dtracetoolkit/Java/j_cputime.d deleted file mode 100755 index a720cdb439a4..000000000000 --- a/cddl/contrib/dtracetoolkit/Java/j_cputime.d +++ /dev/null @@ -1,129 +0,0 @@ -#!/usr/sbin/dtrace -CZs -/* - * j_cputime.d - measure Java on-CPU times for different types of operation. - * Written for the Java hotspot DTrace provider. - * - * $Id: j_cputime.d 59 2007-10-03 08:21:58Z brendan $ - * - * This traces activity from all Java processes on the system with hotspot - * provider support (1.6.0). Method calls are only visible when using the - * flag "+ExtendedDTraceProbes". eg, java -XX:+ExtendedDTraceProbes classfile - * - * USAGE: j_cputime.d [top] # hit Ctrl-C to end - * - * The "top" optional argument will truncate the output for each report - * section to that many lines, with a default of 10. - * - * FIELDS: - * PID Process ID - * TYPE Type of call (method/gc/total) - * NAME Name of call - * TOTAL Total on-CPU time for calls (us) - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#define TOP 10 /* default output truncation */ -#define B_FALSE 0 - -#pragma D option quiet -#pragma D option defaultargs - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); - top = $1 != 0 ? $1 : TOP; -} - -hotspot*:::method-entry -{ - self->depth[arg0]++; - self->exclude[arg0, self->depth[arg0]] = 0; - self->method[arg0, self->depth[arg0]] = vtimestamp; -} - -hotspot*:::method-return -/self->method[arg0, self->depth[arg0]]/ -{ - this->oncpu_incl = vtimestamp - self->method[arg0, self->depth[arg0]]; - this->oncpu_excl = this->oncpu_incl - - self->exclude[arg0, self->depth[arg0]]; - self->method[arg0, self->depth[arg0]] = 0; - self->exclude[arg0, self->depth[arg0]] = 0; - - this->class = (char *)copyin(arg1, arg2 + 1); - this->class[arg2] = '\0'; - this->method = (char *)copyin(arg3, arg4 + 1); - this->method[arg4] = '\0'; - this->name = strjoin(strjoin(stringof(this->class), "."), - stringof(this->method)); - - @num[pid, "method", this->name] = count(); - @num[0, "total", "-"] = count(); - @types_incl[pid, "method", this->name] = sum(this->oncpu_incl); - @types_excl[pid, "method", this->name] = sum(this->oncpu_excl); - @types_excl[0, "total", "-"] = sum(this->oncpu_excl); - - self->depth[arg0]--; - self->exclude[arg0, self->depth[arg0]] += this->oncpu_incl; -} - -hotspot*:::gc-begin -{ - self->gc = vtimestamp; - self->full = (boolean_t)arg0; -} - -hotspot*:::gc-end -/self->gc/ -{ - this->oncpu = vtimestamp - self->gc; - self->gc = 0; - - @num[pid, "gc", self->full == B_FALSE ? "GC" : "Full GC"] = count(); - @types[pid, "gc", self->full == B_FALSE ? "GC" : "Full GC"] = - sum(this->oncpu); - self->full = 0; -} - -dtrace:::END -{ - trunc(@num, top); - printf("\nTop %d counts,\n", top); - printf(" %6s %-10s %-48s %8s\n", "PID", "TYPE", "NAME", "COUNT"); - printa(" %6d %-10s %-48s %@8d\n", @num); - - trunc(@types, top); - normalize(@types, 1000); - printf("\nTop %d on-CPU times (us),\n", top); - printf(" %6s %-10s %-48s %8s\n", "PID", "TYPE", "NAME", "TOTAL"); - printa(" %6d %-10s %-48s %@8d\n", @types); - - trunc(@types_excl, top); - normalize(@types_excl, 1000); - printf("\nTop %d exclusive method on-CPU times (us),\n", top); - printf(" %6s %-10s %-48s %8s\n", "PID", "TYPE", "NAME", "TOTAL"); - printa(" %6d %-10s %-48s %@8d\n", @types_excl); - - trunc(@types_incl, top); - normalize(@types_incl, 1000); - printf("\nTop %d inclusive method on-CPU times (us),\n", top); - printf(" %6s %-10s %-48s %8s\n", "PID", "TYPE", "NAME", "TOTAL"); - printa(" %6d %-10s %-48s %@8d\n", @types_incl); -} diff --git a/cddl/contrib/dtracetoolkit/Java/j_events.d b/cddl/contrib/dtracetoolkit/Java/j_events.d deleted file mode 100755 index d8c938b2c134..000000000000 --- a/cddl/contrib/dtracetoolkit/Java/j_events.d +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * j_events.d - count Java events using DTrace. - * Written for the Java hotspot DTrace provider. - * - * $Id: j_events.d 19 2007-09-12 07:47:59Z brendan $ - * - * This traces activity from all Java processes on the system with hotspot - * provider support (1.6.0). Some events such as method calls are only - * visible when using the flag "+ExtendedDTraceProbes". eg, - * java -XX:+ExtendedDTraceProbes classfile - * - * USAGE: j_events.d # hit Ctrl-C to end - * - * FIELDS: - * PID Process ID - * EVENT Event name (DTrace probe name) - * COUNT Number of calls during sample - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -/* this matches both hotspot and hotspot_jni providers */ -hotspot*::: -{ - @calls[pid, probename] = count(); -} - -dtrace:::END -{ - printf(" %6s %-36s %8s\n", "PID", "EVENT", "COUNT"); - printa(" %6d %-36s %@8d\n", @calls); -} diff --git a/cddl/contrib/dtracetoolkit/Java/j_flow.d b/cddl/contrib/dtracetoolkit/Java/j_flow.d deleted file mode 100755 index e98c06784a4a..000000000000 --- a/cddl/contrib/dtracetoolkit/Java/j_flow.d +++ /dev/null @@ -1,87 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * j_flow.d - snoop Java execution showing method flow using DTrace. - * Written for the Java hotspot DTrace provider. - * - * $Id: j_flow.d 38 2007-09-16 08:17:41Z brendan $ - * - * This traces activity from all Java processes on the system with hotspot - * provider support (1.6.0) and the flag "+ExtendedDTraceProbes". eg, - * java -XX:+ExtendedDTraceProbes classfile - * - * USAGE: j_flow.d # hit Ctrl-C to end - * - * This watches Java method entries and returns, and indents child - * method calls. - * - * FIELDS: - * C CPU-id - * TIME(us) Time since boot, us - * PID Process ID - * CLASS.METHOD Java class and method name - * - * LEGEND: - * -> method entry - * <- method return - * - * WARNING: Watch the first column carefully, it prints the CPU-id. If it - * changes, then it is very likely that the output has been shuffled. - * Changes in TID will appear to shuffle output, as we change from one thread - * depth to the next. See Docs/Notes/ALLjavaflow.txt for additional notes. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -/* increasing bufsize can reduce drops */ -#pragma D option bufsize=16m -#pragma D option quiet -#pragma D option switchrate=10 - -self int depth[int]; - -dtrace:::BEGIN -{ - printf("%3s %6s %-16s -- %s\n", "C", "PID", "TIME(us)", "CLASS.METHOD"); -} - -hotspot*:::method-entry -{ - this->class = (char *)copyin(arg1, arg2 + 1); - this->class[arg2] = '\0'; - this->method = (char *)copyin(arg3, arg4 + 1); - this->method[arg4] = '\0'; - - printf("%3d %6d %-16d %*s-> %s.%s\n", cpu, pid, timestamp / 1000, - self->depth[arg0] * 2, "", stringof(this->class), - stringof(this->method)); - self->depth[arg0]++; -} - -hotspot*:::method-return -{ - this->class = (char *)copyin(arg1, arg2 + 1); - this->class[arg2] = '\0'; - this->method = (char *)copyin(arg3, arg4 + 1); - this->method[arg4] = '\0'; - - self->depth[arg0] -= self->depth[arg0] > 0 ? 1 : 0; - printf("%3d %6d %-16d %*s<- %s.%s\n", cpu, pid, timestamp / 1000, - self->depth[arg0] * 2, "", stringof(this->class), - stringof(this->method)); -} diff --git a/cddl/contrib/dtracetoolkit/Java/j_flowtime.d b/cddl/contrib/dtracetoolkit/Java/j_flowtime.d deleted file mode 100755 index 53e75cdf9cc9..000000000000 --- a/cddl/contrib/dtracetoolkit/Java/j_flowtime.d +++ /dev/null @@ -1,101 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * j_flowtime.d - snoop Java execution with method flow and delta times. - * Written for the Java hotspot DTrace provider. - * - * $Id: j_flowtime.d 41 2007-09-17 02:20:10Z brendan $ - * - * This traces activity from all Java processes on the system with hotspot - * provider support (1.6.0) and the flag "+ExtendedDTraceProbes". eg, - * java -XX:+ExtendedDTraceProbes classfile - * - * USAGE: j_flowtime.d # hit Ctrl-C to end - * - * This watches Java method entries and returns, and indents child - * method calls. - * - * FIELDS: - * C CPU-id - * PID Process ID - * TID Thread ID - * TIME(us) Time since boot (us) - * DELTA(us) Elapsed time from previous line to this line - * CLASS.METHOD Java class and method name - * - * LEGEND: - * -> method entry - * <- method return - * - * WARNING: Watch the first column carefully, it prints the CPU-id. If it - * changes, then it is very likely that the output has been shuffled. - * Changes in TID will appear to shuffle output, as we change from one thread - * depth to the next. See Docs/Notes/ALLjavaflow.txt for additional notes. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -/* increasing bufsize can reduce drops */ -#pragma D option bufsize=16m -#pragma D option quiet -#pragma D option switchrate=10 - -self int depth[int]; - -dtrace:::BEGIN -{ - printf("%3s %6s/%-5s %-16s %9s -- %s\n", "C", "PID", "TID", "TIME(us)", - "DELTA(us)", "CLASS.METHOD"); -} - -hotspot*:::method-entry, -hotspot*:::method-return -/self->last == 0/ -{ - self->last = timestamp; -} - -hotspot*:::method-entry -{ - this->delta = (timestamp - self->last) / 1000; - this->class = (char *)copyin(arg1, arg2 + 1); - this->class[arg2] = '\0'; - this->method = (char *)copyin(arg3, arg4 + 1); - this->method[arg4] = '\0'; - - printf("%3d %6d/%-5d %-16d %9d %*s-> %s.%s\n", cpu, pid, tid, - timestamp / 1000, this->delta, self->depth[arg0] * 2, "", - stringof(this->class), stringof(this->method)); - self->depth[arg0]++; - self->last = timestamp; -} - -hotspot*:::method-return -{ - this->delta = (timestamp - self->last) / 1000; - this->class = (char *)copyin(arg1, arg2 + 1); - this->class[arg2] = '\0'; - this->method = (char *)copyin(arg3, arg4 + 1); - this->method[arg4] = '\0'; - - self->depth[arg0] -= self->depth[arg0] > 0 ? 1 : 0; - printf("%3d %6d/%-5d %-16d %9d %*s<- %s.%s\n", cpu, pid, tid, - timestamp / 1000, this->delta, self->depth[arg0] * 2, "", - stringof(this->class), stringof(this->method)); - self->last = timestamp; -} diff --git a/cddl/contrib/dtracetoolkit/Java/j_methodcalls.d b/cddl/contrib/dtracetoolkit/Java/j_methodcalls.d deleted file mode 100755 index 606b8200c3c8..000000000000 --- a/cddl/contrib/dtracetoolkit/Java/j_methodcalls.d +++ /dev/null @@ -1,60 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * j_methodcalls.d - count Java method calls DTrace. - * Written for the Java hotspot DTrace provider. - * - * $Id: j_methodcalls.d 19 2007-09-12 07:47:59Z brendan $ - * - * This traces activity from all Java processes on the system with hotspot - * provider support (1.6.0) and the flag "+ExtendedDTraceProbes". eg, - * java -XX:+ExtendedDTraceProbes classfile - * - * USAGE: j_methodcalls.d # hit Ctrl-C to end - * - * FIELDS: - * PID Process ID - * COUNT Number of calls during sample - * CLASS.METHOD Java class and method name - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -hotspot*:::method-entry -{ - this->class = (char *)copyin(arg1, arg2 + 1); - this->class[arg2] = '\0'; - this->method = (char *)copyin(arg3, arg4 + 1); - this->method[arg4] = '\0'; - this->name = strjoin(strjoin(stringof(this->class), "."), - stringof(this->method)); - @calls[pid, this->name] = count(); -} - -dtrace:::END -{ - printf(" %6s %8s %s\n", "PID", "COUNT", "CLASS.METHOD"); - printa(" %6d %@8d %s\n", @calls); -} diff --git a/cddl/contrib/dtracetoolkit/Java/j_objnew.d b/cddl/contrib/dtracetoolkit/Java/j_objnew.d deleted file mode 100755 index 88470054c6a5..000000000000 --- a/cddl/contrib/dtracetoolkit/Java/j_objnew.d +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * j_objnew.d - report Java object allocation using DTrace. - * Written for the Java hotspot DTrace provider. - * - * $Id: j_objnew.d 19 2007-09-12 07:47:59Z brendan $ - * - * This traces activity from all Java processes on the system with hotspot - * provider support (1.6.0) and the flag "+ExtendedDTraceProbes". eg, - * java -XX:+ExtendedDTraceProbes classfile - * - * USAGE: j_objnew.d # hit Ctrl-C to end - * - * FIELDS: - * PID Process ID - * OBJS Number of objects created - * CLASS.METHOD Java class and method name - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -hotspot*:::object-alloc -{ - this->class = (char *)copyin(arg1, arg2 + 1); - this->class[arg2] = '\0'; - @objs[pid, stringof(this->class)] = count(); - @dist[pid, stringof(this->class)] = quantize(arg3); -} - -dtrace:::END -{ - printf("Java object allocation byte distributions by pid and class,\n"); - printa(@dist); - - printf("Java object allocation count by pid and class,\n\n"); - printf(" %6s %8s %s\n", "PID", "OBJS", "CLASS"); - printa(" %6d %8@d %s\n", @objs); -} diff --git a/cddl/contrib/dtracetoolkit/Java/j_package.d b/cddl/contrib/dtracetoolkit/Java/j_package.d deleted file mode 100755 index cfeaf050bd4b..000000000000 --- a/cddl/contrib/dtracetoolkit/Java/j_package.d +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * j_package.d - count Java class loads by package using DTrace. - * Written for the Java hotspot DTrace provider. - * - * $Id: j_package.d 19 2007-09-12 07:47:59Z brendan $ - * - * This traces activity from all Java processes on the system with hotspot - * provider support (1.6.0). - * - * USAGE: j_package.d # hit Ctrl-C to end - * - * FIELDS: - * PID Process ID - * LOADS Class loads during trace - * PACKAGE Package name from class - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -hotspot*:::class-loaded -{ - this->class = (char *)copyin(arg0, arg1 + 1); - this->class[arg1] = '\0'; - - @loads[pid, dirname(stringof(this->class))] = count(); -} - -dtrace:::END -{ - printf(" %6s %8s %s\n", "PID", "LOADS", "PACKAGE"); - printa(" %6d %@8d %s\n", @loads); -} diff --git a/cddl/contrib/dtracetoolkit/Java/j_profile.d b/cddl/contrib/dtracetoolkit/Java/j_profile.d deleted file mode 100755 index 4ff009e91068..000000000000 --- a/cddl/contrib/dtracetoolkit/Java/j_profile.d +++ /dev/null @@ -1,78 +0,0 @@ -#!/usr/sbin/dtrace -CZs -/* - * j_profile.d - sample stack traces with Java translations using DTrace. - * - * USAGE: j_profile.d { -p PID | -c cmd } # hit Ctrl-C to end - * $Id: j_profile.d 19 2007-09-12 07:47:59Z brendan $ - * - * - * This samples stack traces for the process specified. This stack trace - * will cross the JVM and system libraries, and insert translations for Java - * stack frames where appropriate. This is best explained with an example - * stack frame output, - * - * Func_loop.func_c()V - * Func_loop.func_b()V - * Func_loop.func_a()V - * Func_loop.main([Ljava/lang/String;)V - * StubRoutines (1) - * libjvm.so`__1cJJavaCallsLcall_helper6FpnJJavaValue_pnMmethodHan - * libjvm.so`__1cCosUos_exception_wrapper6FpFpnJJavaValue_pnMmetho - * libjvm.so`__1cJJavaCallsEcall6FpnJJavaValue_nMmethodHandle_pnRJ - * libjvm.so`__1cRjni_invoke_static6FpnHJNIEnv__pnJJavaValue_pnI_j - * libjvm.so`jni_CallStaticVoidMethod+0x15d - * java`JavaMain+0xd30 - * libc.so.1`_thr_setup+0x52 - * libc.so.1`_lwp_start - * 101 - * - * The lines at the top are Java frames, followed by the JVM (libjvm.so). - * The JVM symbols may be translated by passing the output through c++filt. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option jstackstrsize=1024 - -/* - * Tunables - */ -#define DEPTH 10 /* stack depth, frames */ -#define RATE 101 /* sampling rate, Hertz */ -#define TOP 25 /* number of stacks to output */ - -dtrace:::BEGIN -{ - printf("Sampling %d-level stacks at %d Hertz... Hit Ctrl-C to end.\n", - DEPTH, RATE); -} - -profile-RATE -/pid == $target/ -{ - @stacks[jstack(DEPTH)] = count(); -} - -dtrace:::END -{ - trunc(@stacks, TOP); - printf("Top %d most frequently sampled stacks,\n", TOP); - printa(@stacks); -} diff --git a/cddl/contrib/dtracetoolkit/Java/j_stat.d b/cddl/contrib/dtracetoolkit/Java/j_stat.d deleted file mode 100755 index 862fe31f46d8..000000000000 --- a/cddl/contrib/dtracetoolkit/Java/j_stat.d +++ /dev/null @@ -1,148 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * j_stat.d - Java operation stats using DTrace. - * Written for the Java hotspot DTrace provider. - * - * $Id: j_stat.d 64 2007-10-04 08:35:29Z claire $ - * - * This traces activity from all Java processes on the system with hotspot - * provider support (1.6.0). Method calls and object allocation are only - * visible when using the flag "+ExtendedDTraceProbes". eg, - * java -XX:+ExtendedDTraceProbes classfile - * - * USAGE: j_stat.d [interval [count]] - * - * FIELDS: - * EXEC/s Java programs executed per second, including - * those without Java provider support - * THREAD/s Threads created, per second - * METHOD/s Methods called, per second - * OBJNEW/s Objects created, per second - * CLOAD/s Class loads, per second - * EXCP/s Exceptions raised, per second - * GC/s Garbage collects, per second - * - * The numbers are per second counts for the interval specified. The default - * interval is 1 second. - * - * If you see a count in "EXECS" but not in the other columns, then your - * Java software is probably not running with the DTrace hotspot provider. - * - * If you see counts in "CLOAD" but not in "METHODS", then you Java - * software probably isn't running with "+ExtendedDTraceProbes". - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option defaultargs - -inline int SCREEN = 21; - -dtrace:::BEGIN -{ - execs = threads = methods = objnew = cload = gc = exception = 0; - lines = SCREEN + 1; - interval = $1 ? $1 : 1; - counts = $2 ? $2 : -1; - secs = interval; - first = 1; -} - -profile:::tick-1sec -{ - secs--; -} - -/* - * Print Header - */ -dtrace:::BEGIN, -profile:::tick-1sec -/first || (secs == 0 && lines > SCREEN)/ -{ - printf("%-20s %6s %8s %8s %8s %8s %6s %6s\n", "TIME", "EXEC/s", - "THREAD/s", "METHOD/s", "OBJNEW/s", "CLOAD/s", "EXCP/s", "GC/s"); - lines = 0; - first = 0; -} - -/* - * Tally Data - */ -proc:::exec-success -/execname == "java"/ -{ - execs++; -} - -hotspot*:::thread-start -{ - threads++; -} - -hotspot*:::method-entry -{ - methods++; -} - -hotspot*:::object-alloc -{ - oalloc++; -} - -hotspot*:::class-loaded -{ - cload++; -} - -hotspot*:::gc-begin -{ - gc++; -} - -hotspot*:::ExceptionOccurred-entry -{ - exception++; -} - -/* - * Print Output - */ -profile:::tick-1sec -/secs == 0/ -{ - printf("%-20Y %6d %8d %8d %8d %8d %6d %6d\n", walltimestamp, - execs / interval, threads / interval, methods / interval, - oalloc / interval, cload / interval, exception / interval, - gc / interval); - execs = threads = methods = oalloc = cload = gc = exception = 0; - secs = interval; - lines++; - counts--; -} - -/* - * End - */ -profile:::tick-1sec -/counts == 0/ -{ - exit(0); -} diff --git a/cddl/contrib/dtracetoolkit/Java/j_syscalls.d b/cddl/contrib/dtracetoolkit/Java/j_syscalls.d deleted file mode 100755 index 4a24dea75ae3..000000000000 --- a/cddl/contrib/dtracetoolkit/Java/j_syscalls.d +++ /dev/null @@ -1,68 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * j_syscalls.d - count Java methods and syscalls using DTrace. - * Written for the Java hotspot DTrace provider. - * - * $Id: j_syscalls.d 19 2007-09-12 07:47:59Z brendan $ - * - * This traces Java methods if the hotspot provider exists (1.6.0) and - * the flag "+ExtendedDTraceProbes" is used. eg, - * java -XX:+ExtendedDTraceProbes classfile - * - * USAGE: j_syscalls.d { -p PID | -c cmd } # hit Ctrl-C to end - * - * FIELDS: - * PID Process ID - * TYPE Type of call (method/syscall) - * NAME Name of call - * COUNT Number of calls during sample - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -hotspot$target:::method-entry -{ - this->class = (char *)copyin(arg1, arg2 + 1); - this->class[arg2] = '\0'; - this->method = (char *)copyin(arg3, arg4 + 1); - this->method[arg4] = '\0'; - this->name = strjoin(strjoin(stringof(this->class), "."), - stringof(this->method)); - @calls[pid, "method", this->name] = count(); -} - -syscall:::entry -/pid == $target/ -{ - @calls[pid, "syscall", probefunc] = count(); -} - - -dtrace:::END -{ - printf(" %6s %-8s %-52s %8s\n", "PID", "TYPE", "NAME", "COUNT"); - printa(" %6d %-8s %-52s %@8d\n", @calls); -} diff --git a/cddl/contrib/dtracetoolkit/Java/j_syscolors.d b/cddl/contrib/dtracetoolkit/Java/j_syscolors.d deleted file mode 100755 index 691ae7eda5eb..000000000000 --- a/cddl/contrib/dtracetoolkit/Java/j_syscolors.d +++ /dev/null @@ -1,135 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * j_syscolors.d - trace Java method flow plus syscalls, in color. - * Written for the Java hotspot DTrace provider. - * - * $Id: j_syscolors.d 58 2007-10-01 13:36:29Z brendan $ - * - * This traces Java methods if the hotspot provider exists (1.6.0) and - * the flag "+ExtendedDTraceProbes" is used. eg, - * java -XX:+ExtendedDTraceProbes classfile - * - * USAGE: j_syscolors.d { -p PID | -c cmd } # hit Ctrl-C to end - * - * This watches Java method entries and returns, and indents child - * method calls. - * - * FIELDS: - * C CPU-id - * PID Process ID - * TID Thread ID - * DELTA(us) Elapsed time from previous line to this line - * TYPE Type of call (func/syscall) - * NAME Java method or syscall name - * - * If the flow appears to jump, check the TID column - the JVM may have - * switched to another thread. - * - * WARNING: Watch the first column carefully, it prints the CPU-id. If it - * changes, then it is very likely that the output has been shuffled. - * Changes in TID will appear to shuffle output, as we change from one thread - * depth to the next. See Docs/Notes/ALLjavaflow.txt for additional notes. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -/* increasing bufsize can reduce drops */ -#pragma D option bufsize=32m -#pragma D option quiet -#pragma D option switchrate=10 - -self int depth[int]; - -dtrace:::BEGIN -{ - color_java = "\033[2;35m"; /* violet, faint */ - color_line = "\033[1;35m"; /* violet, bold */ - color_syscall = "\033[2;32m"; /* green, faint */ - color_off = "\033[0m"; /* default */ - - printf("%3s %6s/%-5s %9s %-8s -- %s\n", "C", "PID", "TID", "DELTA(us)", - "TYPE", "NAME"); -} - -hotspot$target:::method-entry, -hotspot$target:::method-return, -syscall:::entry, -syscall:::return -/self->last == 0 && pid == $target/ -{ - self->last = timestamp; -} - -hotspot$target:::method-entry -{ - this->delta = (timestamp - self->last) / 1000; - this->class = (char *)copyin(arg1, arg2 + 1); - this->class[arg2] = '\0'; - this->method = (char *)copyin(arg3, arg4 + 1); - this->method[arg4] = '\0'; - - printf("%s%3d %6d/%-5d %9d %-8s %*s-> %s.%s%s\n", color_java, cpu, - pid, tid, this->delta, "method", self->depth[arg0] * 2, "", - stringof(this->class), stringof(this->method), color_off); - self->depth[arg0]++; - self->depthlast = self->depth[arg0]; - self->last = timestamp; -} - -hotspot$target:::method-return -{ - this->delta = (timestamp - self->last) / 1000; - this->class = (char *)copyin(arg1, arg2 + 1); - this->class[arg2] = '\0'; - this->method = (char *)copyin(arg3, arg4 + 1); - this->method[arg4] = '\0'; - - self->depth[arg0] -= self->depth[arg0] > 0 ? 1 : 0; - printf("%s%3d %6d/%-5d %9d %-8s %*s<- %s.%s%s\n", color_java, cpu, - pid, tid, this->delta, "method", self->depth[arg0] * 2, "", - stringof(this->class), stringof(this->method), color_off); - self->depthlast = self->depth[arg0]; - self->last = timestamp; -} - -syscall:::entry -/pid == $target/ -{ - this->delta = (timestamp - self->last) / 1000; - printf("%s%3d %6d/%-5d %9d %-8s %*s-> %s%s\n", color_syscall, - cpu, pid, tid, this->delta, "syscall", self->depthlast * 2, "", - probefunc, color_off); - self->last = timestamp; -} - -syscall:::return -/pid == $target/ -{ - this->delta = (timestamp - self->last) / 1000; - printf("%s%3d %6d/%-5d %9d %-8s %*s<- %s%s\n", color_syscall, - cpu, pid, tid, this->delta, "syscall", self->depthlast * 2, "", - probefunc, color_off); - self->last = timestamp; -} - -proc:::exit -/pid == $target/ -{ - exit(0); -} diff --git a/cddl/contrib/dtracetoolkit/Java/j_thread.d b/cddl/contrib/dtracetoolkit/Java/j_thread.d deleted file mode 100755 index 08d2de8b14c1..000000000000 --- a/cddl/contrib/dtracetoolkit/Java/j_thread.d +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * j_thread.d - snoop Java thread execution using DTrace. - Written for the Java hotspot DTrace provider. - * - * $Id: j_thread.d 19 2007-09-12 07:47:59Z brendan $ - * - * This traces activity from all Java processes on the system with hotspot - * provider support (1.6.0). - * - * USAGE: j_thread.d # hit Ctrl-C to end - * - * FIELDS: - * TIME Time string - * PID Process ID - * TID Thread ID - * THREAD Thread name - * - * LEGEND: - * => thread start - * <= thread end - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option switchrate=10 - -dtrace:::BEGIN -{ - printf("%-20s %6s/%-5s -- %s\n", "TIME", "PID", "TID", "THREAD"); -} - -hotspot*:::thread-start -{ - this->thread = (char *)copyin(arg0, arg1 + 1); - this->thread[arg1] = '\0'; - printf("%-20Y %6d/%-5d => %s\n", walltimestamp, pid, tid, - stringof(this->thread)); -} - -hotspot*:::thread-stop -{ - this->thread = (char *)copyin(arg0, arg1 + 1); - this->thread[arg1] = '\0'; - printf("%-20Y %6d/%-5d <= %s\n", walltimestamp, pid, tid, - stringof(this->thread)); -} diff --git a/cddl/contrib/dtracetoolkit/Java/j_who.d b/cddl/contrib/dtracetoolkit/Java/j_who.d deleted file mode 100755 index 8785cca73bcf..000000000000 --- a/cddl/contrib/dtracetoolkit/Java/j_who.d +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * j_who.d - trace Java calls by process using DTrace. - * Written for the Java hotspot DTrace provider. - * - * $Id: j_who.d 19 2007-09-12 07:47:59Z brendan $ - * - * This traces activity from all Java processes on the system with hotspot - * provider support (1.6.0). - * - * USAGE: j_who.d # hit Ctrl-C to end - * - * FIELDS: - * PID Process ID of Java - * UID User ID of the owner - * CALLS Number of calls made (a measure of activity) - * ARGS Process name and arguments - * - * The argument list is truncated at 55 characters (up to 80 is easily - * available). To easily read the full argument list, use other system tools; - * on Solaris use "pargs PID". - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -hotspot*:::Call*-entry -{ - @calls[pid, uid, curpsinfo->pr_psargs] = count(); -} - -dtrace:::END -{ - printf(" %6s %6s %6s %-55s\n", "PID", "UID", "CALLS", "ARGS"); - printa(" %6d %6d %@6d %-55.55s\n", @calls); -} diff --git a/cddl/contrib/dtracetoolkit/JavaScript/Readme b/cddl/contrib/dtracetoolkit/JavaScript/Readme deleted file mode 100644 index a9bebf86b892..000000000000 --- a/cddl/contrib/dtracetoolkit/JavaScript/Readme +++ /dev/null @@ -1,54 +0,0 @@ -JavaScript - DTracing JavaScript - - There scripts trace the JavaScript programming language, and require a - browser to be built with the DTrace JavaScript provider. - - The DTrace JavaScript provider was originally written by Brendan Gregg, - and later developed as part of a Mozilla DTrace provider suite by - engineers from both Sun and Mozilla. It currently exists as patches - to the Mozilla source tree and requires building from source to get - working; it may be integrated into Solaris builds by default in the - future. To download the current patches and instructions, visit, - - http://www.opensolaris.org/os/project/mozilla-dtrace/ - - A rough guide for the process is, - - 1. Download the Mozilla source - http://developer.mozilla.org/en/docs/Mozilla_Source_Code_Via_CVS - 2. Download the Mozilla DTrace framework patch, and apply - https://bugzilla.mozilla.org/show_bug.cgi?id=370906 - 3. Download the JavaScript DTrace provider patch, and apply - https://bugzilla.mozilla.org/show_bug.cgi?id=388564 - 4. Create a .mozconfig file (needed for compilation). - 5. Setup various compilation environment vars (CC/CFLAGS/CXX/...) - 6. autoconf - 7. ./configure --enable-dtrace - 8. gmake - - See John Rice's instructions linked from the OpenSolaris page above - for details on steps 4-8. - - Since the DTrace JavaScript provider may be developed further, there is a - chance that it has changed slightly by the time you are reading this, - causing these scripts to either break or behave oddly. Firstly, check for - newer versions of the DTraceToolkit; if it hasn't been updated and you need - to use these scripts immediately, then updating them shouldn't take - too long. The following was the state of the provider when these scripts - were written - check for changes and update the scripts accordingly, - - provider javascript { - probe function-entry(file, class, func) - probe function-info(file, class, func, lineno, runfile, runlineno) - probe function-args(file, class, func, argc, argv, argv0, argv1, - argv2, argv3, argv4) - probe function-rval(file, class, func, lineno, rval, rval0) - probe function-return(file, class, func) - probe object-create-start(file, class) - probe object-create(file, class, *object, rlineno) - probe object-create-done(file, class) - probe object-finalize(NULL, class, *object) - probe execute-start(file, lineno) - probe execute-done(file, lineno) - }; - diff --git a/cddl/contrib/dtracetoolkit/JavaScript/js_calldist.d b/cddl/contrib/dtracetoolkit/JavaScript/js_calldist.d deleted file mode 100755 index 2c4923a53088..000000000000 --- a/cddl/contrib/dtracetoolkit/JavaScript/js_calldist.d +++ /dev/null @@ -1,101 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * js_calldist.d - measure JavaScript elapsed times for types of operation. - * Written for the JavaScript DTrace provider. - * - * $Id: js_calldist.d 63 2007-10-04 04:34:38Z brendan $ - * - * This traces JavaScript activity from all browsers running on the system with - * JavaScript provider support. - * - * USAGE: js_calldist.d # hit Ctrl-C to end - * - * FIELDS: - * 1 Filename of the JavaScript program - * 2 Type of call (func/obj-new) - * 3 Name of call - * - * Filename and function names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -javascript*:::function-entry -{ - self->depth++; - self->exclude[self->depth] = 0; - self->function[self->depth] = timestamp; -} - -javascript*:::function-return -/self->function[self->depth]/ -{ - this->elapsed_incl = timestamp - self->function[self->depth]; - this->elapsed_excl = this->elapsed_incl - self->exclude[self->depth]; - self->function[self->depth] = 0; - self->exclude[self->depth] = 0; - this->file = basename(copyinstr(arg0)); - this->name = copyinstr(arg2); - - @types_incl[this->file, "func", this->name] = - quantize(this->elapsed_incl / 1000); - @types_excl[this->file, "func", this->name] = - quantize(this->elapsed_excl / 1000); - - self->depth--; - self->exclude[self->depth] += this->elapsed_incl; -} - -javascript*:::object-create-start -{ - self->object = timestamp; -} - -javascript*:::object-create-done -/self->object/ -{ - this->elapsed = timestamp - self->object; - self->object = 0; - this->file = basename(copyinstr(arg0)); - this->name = copyinstr(arg1); - - @types[this->file, "obj-new", this->name] = - quantize(this->elapsed / 1000); - - self->exclude[self->depth] += this->elapsed; -} - -dtrace:::END -{ - printf("\nElapsed times (us),\n"); - printa(" %s, %s, %s %@d\n", @types); - - printf("\nExclusive function elapsed times (us),\n"); - printa(" %s, %s, %s %@d\n", @types_excl); - - printf("\nInclusive function elapsed times (us),\n"); - printa(" %s, %s, %s %@d\n", @types_incl); -} diff --git a/cddl/contrib/dtracetoolkit/JavaScript/js_calls.d b/cddl/contrib/dtracetoolkit/JavaScript/js_calls.d deleted file mode 100755 index 98f1a83ae54b..000000000000 --- a/cddl/contrib/dtracetoolkit/JavaScript/js_calls.d +++ /dev/null @@ -1,76 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * js_calls.d - count JavaScript calls using DTrace. - * Written for the JavaScript DTrace provider. - * - * $Id: js_calls.d 63 2007-10-04 04:34:38Z brendan $ - * - * This traces activity from all browsers on the system that are - * running with JavaScript provider support. - * - * USAGE: js_calls.d # hit Ctrl-C to end - * - * FIELDS: - * FILE Filename of the JavaScript program - * TYPE Type of call (func/obj-new/...) - * NAME Descriptive name of call - * COUNT Number of calls during sample - * - * Filename and function names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -javascript*:::function-entry -{ - this->name = copyinstr(arg2); - @calls[basename(copyinstr(arg0)), "func", this->name] = count(); -} - -javascript*:::execute-start -{ - this->filename = basename(copyinstr(arg0)); - @calls[this->filename, "exec", "."] = count(); -} - -javascript*:::object-create-start -{ - this->name = copyinstr(arg1); - this->filename = basename(copyinstr(arg0)); - @calls[this->filename, "obj-new", this->name] = count(); -} - -javascript*:::object-finalize -{ - this->name = copyinstr(arg1); - @calls["", "obj-free", this->name] = count(); -} - -dtrace:::END -{ - printf(" %-24s %-10s %-30s %8s\n", "FILE", "TYPE", "NAME", "CALLS"); - printa(" %-24s %-10s %-30s %@8d\n", @calls); -} diff --git a/cddl/contrib/dtracetoolkit/JavaScript/js_calltime.d b/cddl/contrib/dtracetoolkit/JavaScript/js_calltime.d deleted file mode 100755 index dce150e3e5ac..000000000000 --- a/cddl/contrib/dtracetoolkit/JavaScript/js_calltime.d +++ /dev/null @@ -1,115 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * js_calltime.d - measure JavaScript elapsed times for types of operation. - * Written for the JavaScript DTrace provider. - * - * $Id: js_calltime.d 63 2007-10-04 04:34:38Z brendan $ - * - * This traces JavaScript activity from all browsers running on the system with - * JavaScript provider support. - * - * USAGE: js_calltime.d # hit Ctrl-C to end - * - * FIELDS: - * FILE Filename of the JavaScript program - * TYPE Type of call (func/obj-new/gc/total) - * NAME Name of call - * TOTAL Total elapsed time for calls (us) - * - * Filename and function names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -javascript*:::function-entry -{ - self->depth++; - self->exclude[self->depth] = 0; - self->function[self->depth] = timestamp; -} - -javascript*:::function-return -/self->function[self->depth]/ -{ - this->elapsed_incl = timestamp - self->function[self->depth]; - this->elapsed_excl = this->elapsed_incl - self->exclude[self->depth]; - self->function[self->depth] = 0; - self->exclude[self->depth] = 0; - this->file = basename(copyinstr(arg0)); - this->name = copyinstr(arg2); - - @num[this->file, "func", this->name] = count(); - @num["-", "total", "-"] = count(); - @types_incl[this->file, "func", this->name] = sum(this->elapsed_incl); - @types_excl[this->file, "func", this->name] = sum(this->elapsed_excl); - @types_excl["-", "total", "-"] = sum(this->elapsed_excl); - - self->depth--; - self->exclude[self->depth] += this->elapsed_incl; -} - -javascript*:::object-create-start -{ - self->object = timestamp; -} - -javascript*:::object-create-done -/self->object/ -{ - this->elapsed = timestamp - self->object; - self->object = 0; - this->file = basename(copyinstr(arg0)); - this->name = copyinstr(arg1); - - @num[this->file, "obj-new", this->name] = count(); - @num["-", "total", "-"] = count(); - @types[this->file, "obj-new", this->name] = sum(this->elapsed); - @types["-", "total", "-"] = sum(this->elapsed); - - self->exclude[self->depth] += this->elapsed; -} - -dtrace:::END -{ - printf("\nCount,\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "COUNT"); - printa(" %-20.20s %-10s %-32s %@8d\n", @num); - - normalize(@types, 1000); - printf("\nElapsed times (us),\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "TOTAL"); - printa(" %-20.20s %-10s %-32s %@8d\n", @types); - - normalize(@types_excl, 1000); - printf("\nExclusive function elapsed times (us),\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "TOTAL"); - printa(" %-20.20s %-10s %-32s %@8d\n", @types_excl); - - normalize(@types_incl, 1000); - printf("\nInclusive function elapsed times (us),\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "TOTAL"); - printa(" %-20.20s %-10s %-32s %@8d\n", @types_incl); -} diff --git a/cddl/contrib/dtracetoolkit/JavaScript/js_cpudist.d b/cddl/contrib/dtracetoolkit/JavaScript/js_cpudist.d deleted file mode 100755 index cbe168d742d4..000000000000 --- a/cddl/contrib/dtracetoolkit/JavaScript/js_cpudist.d +++ /dev/null @@ -1,101 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * js_cpudist.d - measure JavaScript on-CPU times for types of operation. - * Written for the JavaScript DTrace provider. - * - * $Id: js_cpudist.d 63 2007-10-04 04:34:38Z brendan $ - * - * This traces JavaScript activity from all browsers running on the system with - * JavaScript provider support. - * - * USAGE: js_cpudist.d # hit Ctrl-C to end - * - * FIELDS: - * 1 Filename of the JavaScript program - * 2 Type of call (func/obj-new) - * 3 Name of call - * - * Filename and function names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -javascript*:::function-entry -{ - self->depth++; - self->exclude[self->depth] = 0; - self->function[self->depth] = vtimestamp; -} - -javascript*:::function-return -/self->function[self->depth]/ -{ - this->oncpu_incl = vtimestamp - self->function[self->depth]; - this->oncpu_excl = this->oncpu_incl - self->exclude[self->depth]; - self->function[self->depth] = 0; - self->exclude[self->depth] = 0; - this->file = basename(copyinstr(arg0)); - this->name = copyinstr(arg2); - - @types_incl[this->file, "func", this->name] = - quantize(this->oncpu_incl / 1000); - @types_excl[this->file, "func", this->name] = - quantize(this->oncpu_excl / 1000); - - self->depth--; - self->exclude[self->depth] += this->oncpu_incl; -} - -javascript*:::object-create-start -{ - self->object = vtimestamp; -} - -javascript*:::object-create-done -/self->object/ -{ - this->oncpu = vtimestamp - self->object; - self->object = 0; - this->file = basename(copyinstr(arg0)); - this->name = copyinstr(arg1); - - @types[this->file, "obj-new", this->name] = - quantize(this->oncpu / 1000); - - self->exclude[self->depth] += this->oncpu; -} - -dtrace:::END -{ - printf("\nElapsed times (us),\n"); - printa(" %s, %s, %s %@d\n", @types); - - printf("\nExclusive function on-CPU times (us),\n"); - printa(" %s, %s, %s %@d\n", @types_excl); - - printf("\nInclusive function on-CPU times (us),\n"); - printa(" %s, %s, %s %@d\n", @types_incl); -} diff --git a/cddl/contrib/dtracetoolkit/JavaScript/js_cputime.d b/cddl/contrib/dtracetoolkit/JavaScript/js_cputime.d deleted file mode 100755 index bee77abc9953..000000000000 --- a/cddl/contrib/dtracetoolkit/JavaScript/js_cputime.d +++ /dev/null @@ -1,115 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * js_cputime.d - measure JavaScript on-CPU times for types of operation. - * Written for the JavaScript DTrace provider. - * - * $Id: js_cputime.d 63 2007-10-04 04:34:38Z brendan $ - * - * This traces JavaScript activity from all browsers running on the system with - * JavaScript provider support. - * - * USAGE: js_cputime.d # hit Ctrl-C to end - * - * FIELDS: - * FILE Filename of the JavaScript program - * TYPE Type of call (func/obj-new/gc/total) - * NAME Name of call - * TOTAL Total on-CPU time for calls (us) - * - * Filename and function names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -javascript*:::function-entry -{ - self->depth++; - self->exclude[self->depth] = 0; - self->function[self->depth] = vtimestamp; -} - -javascript*:::function-return -/self->function[self->depth]/ -{ - this->oncpu_incl = vtimestamp - self->function[self->depth]; - this->oncpu_excl = this->oncpu_incl - self->exclude[self->depth]; - self->function[self->depth] = 0; - self->exclude[self->depth] = 0; - this->file = basename(copyinstr(arg0)); - this->name = copyinstr(arg2); - - @num[this->file, "func", this->name] = count(); - @num["-", "total", "-"] = count(); - @types_incl[this->file, "func", this->name] = sum(this->oncpu_incl); - @types_excl[this->file, "func", this->name] = sum(this->oncpu_excl); - @types_excl["-", "total", "-"] = sum(this->oncpu_excl); - - self->depth--; - self->exclude[self->depth] += this->oncpu_incl; -} - -javascript*:::object-create-start -{ - self->object = vtimestamp; -} - -javascript*:::object-create-done -/self->object/ -{ - this->oncpu = vtimestamp - self->object; - self->object = 0; - this->file = basename(copyinstr(arg0)); - this->name = copyinstr(arg1); - - @num[this->file, "obj-new", this->name] = count(); - @num["-", "total", "-"] = count(); - @types[this->file, "obj-new", this->name] = sum(this->oncpu); - @types["-", "total", "-"] = sum(this->oncpu); - - self->exclude[self->depth] += this->oncpu; -} - -dtrace:::END -{ - printf("\nCount,\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "COUNT"); - printa(" %-20.20s %-10s %-32s %@8d\n", @num); - - normalize(@types, 1000); - printf("\nElapsed times (us),\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "TOTAL"); - printa(" %-20.20s %-10s %-32s %@8d\n", @types); - - normalize(@types_excl, 1000); - printf("\nExclusive function on-CPU times (us),\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "TOTAL"); - printa(" %-20.20s %-10s %-32s %@8d\n", @types_excl); - - normalize(@types_incl, 1000); - printf("\nInclusive function on-CPU times (us),\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "TOTAL"); - printa(" %-20.20s %-10s %-32s %@8d\n", @types_incl); -} diff --git a/cddl/contrib/dtracetoolkit/JavaScript/js_execs.d b/cddl/contrib/dtracetoolkit/JavaScript/js_execs.d deleted file mode 100755 index fb0ca91fb565..000000000000 --- a/cddl/contrib/dtracetoolkit/JavaScript/js_execs.d +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * js_execs.d - JavaScript execute snoop using DTrace. - * Written for the JavaScript DTrace provider. - * - * $Id: js_execs.d 63 2007-10-04 04:34:38Z brendan $ - * - * This traces activity from all browsers on the system that are - * running with JavaScript provider support. - * - * USAGE: js_execs.d # hit Ctrl-C to end - * - * FIELDS: - * TIME Time of event - * FILE Filename of the JavaScript program - * LINENO Line number in filename - * - * Filename and function names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option switchrate=10 - -dtrace:::BEGIN -{ - printf("%-20s %32s:%s\n", "TIME", "FILE", "LINENO"); -} - -javascript*:::execute-start -{ - printf("%-20Y %32s:%d\n", walltimestamp, basename(copyinstr(arg0)), - arg1); -} diff --git a/cddl/contrib/dtracetoolkit/JavaScript/js_flow.d b/cddl/contrib/dtracetoolkit/JavaScript/js_flow.d deleted file mode 100755 index 450cc69e8070..000000000000 --- a/cddl/contrib/dtracetoolkit/JavaScript/js_flow.d +++ /dev/null @@ -1,69 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * js_flow.d - snoop JavaScript execution showing function flow using DTrace. - * Written for the JavaScript DTrace provider. - * - * $Id: js_flow.d 63 2007-10-04 04:34:38Z brendan $ - * - * This traces activity from all browsers on the system that are running - * with JavaScript provider support. - * - * USAGE: js_flow.d # hit Ctrl-C to end - * - * FIELDS: - * C CPU-id - * TIME(us) Time since boot, us - * FILE Filename that this function belongs to - * FUNC Function name - * - * LEGEND: - * -> function entry - * <- function return - * - * Filename and function names are printed if available. - * - * WARNING: Watch the first column carefully, it prints the CPU-id. If it - * changes, then it is very likely that the output has been shuffled. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option switchrate=10 - -self int depth; - -dtrace:::BEGIN -{ - printf("%3s %-16s %-22s -- %s\n", "C", "TIME(us)", "FILE", "FUNC"); -} - -javascript*:::function-entry -{ - printf("%3d %-16d %-22s %*s-> %s\n", cpu, timestamp / 1000, - basename(copyinstr(arg0)), self->depth * 2, "", copyinstr(arg2)); - self->depth++; -} - -javascript*:::function-return -{ - self->depth -= self->depth > 0 ? 1 : 0; - printf("%3d %-16d %-22s %*s<- %s\n", cpu, timestamp / 1000, - basename(copyinstr(arg0)), self->depth * 2, "", copyinstr(arg2)); -} diff --git a/cddl/contrib/dtracetoolkit/JavaScript/js_flowinfo.d b/cddl/contrib/dtracetoolkit/JavaScript/js_flowinfo.d deleted file mode 100755 index b4b7d5c47e11..000000000000 --- a/cddl/contrib/dtracetoolkit/JavaScript/js_flowinfo.d +++ /dev/null @@ -1,86 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * js_flowinfo.d - JavaScript function flow with info using DTrace. - * Written for the JavaScript DTrace provider. - * - * $Id: js_flowinfo.d 63 2007-10-04 04:34:38Z brendan $ - * - * This traces activity from all browsers on the system that are running - * with JavaScript provider support. - * - * USAGE: js_flowinfo.d # hit Ctrl-C to end - * - * FIELDS: - * C CPU-id - * PID Process ID - * DELTA(us) Elapsed time from previous line to this line - * FILE Filename of the JavScript program - * LINE Line number of filename - * TYPE Type of call (func) - * FUNC Function name - * - * LEGEND: - * -> function entry - * <- function return - * - * Filename and function names are printed if available. - * - * WARNING: Watch the first column carefully, it prints the CPU-id. If it - * changes, then it is very likely that the output has been shuffled. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option switchrate=10 - -self int depth; - -dtrace:::BEGIN -{ - printf("%3s %6s %10s %16s:%-4s %-8s -- %s\n", "C", "PID", "DELTA(us)", - "FILE", "LINE", "TYPE", "FUNC"); -} - -javascript*:::function-info, -javascript*:::function-return -/self->last == 0/ -{ - self->last = timestamp; -} - -javascript*:::function-info -{ - this->delta = (timestamp - self->last) / 1000; - printf("%3d %6d %10d %16s:%-4d %-8s %*s-> %s\n", cpu, pid, - this->delta, basename(copyinstr(arg4)), arg5, "func", - self->depth * 2, "", copyinstr(arg2)); - self->depth++; - self->last = timestamp; -} - -javascript*:::function-return -{ - this->delta = (timestamp - self->last) / 1000; - self->depth -= self->depth > 0 ? 1 : 0; - printf("%3d %6d %10d %16s:- %-8s %*s<- %s\n", cpu, pid, - this->delta, basename(copyinstr(arg0)), "func", self->depth * 2, - "", copyinstr(arg2)); - self->last = timestamp; -} diff --git a/cddl/contrib/dtracetoolkit/JavaScript/js_flowtime.d b/cddl/contrib/dtracetoolkit/JavaScript/js_flowtime.d deleted file mode 100755 index 9545274934a5..000000000000 --- a/cddl/contrib/dtracetoolkit/JavaScript/js_flowtime.d +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * js_flowtime.d - JavaScript function flow with delta times using DTrace. - * Written for the JavaScript DTrace provider. - * - * $Id: js_flowtime.d 63 2007-10-04 04:34:38Z brendan $ - * - * This traces activity from all browsers on the system that are running - * with JavaScript provider support. - * - * USAGE: js_flowtime.d # hit Ctrl-C to end - * - * FIELDS: - * C CPU-id - * TIME(us) Time since boot, us - * FILE Filename that this function belongs to - * DELTA(us) Elapsed time from previous line to this line - * FUNC Function name - * - * LEGEND: - * -> function entry - * <- function return - * - * Filename and function names are printed if available. - * - * WARNING: Watch the first column carefully, it prints the CPU-id. If it - * changes, then it is very likely that the output has been shuffled. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option switchrate=10 - -self int depth; - -dtrace:::BEGIN -{ - printf("%3s %-16s %-18s %9s -- %s\n", "C", "TIME(us)", "FILE", - "DELTA(us)", "FUNC"); -} - -javascript*:::function-entry, -javascript*:::function-return -/self->last == 0/ -{ - self->last = timestamp; -} - -javascript*:::function-entry -{ - this->delta = (timestamp - self->last) / 1000; - printf("%3d %-16d %-18s %9d %*s-> %s\n", cpu, timestamp / 1000, - basename(copyinstr(arg0)), this->delta, self->depth * 2, "", - copyinstr(arg2)); - self->depth++; - self->last = timestamp; -} - -javascript*:::function-return -{ - this->delta = (timestamp - self->last) / 1000; - self->depth -= self->depth > 0 ? 1 : 0; - printf("%3d %-16d %-18s %9d %*s<- %s\n", cpu, timestamp / 1000, - basename(copyinstr(arg0)), this->delta, self->depth * 2, "", - copyinstr(arg2)); - self->last = timestamp; -} diff --git a/cddl/contrib/dtracetoolkit/JavaScript/js_objcpu.d b/cddl/contrib/dtracetoolkit/JavaScript/js_objcpu.d deleted file mode 100755 index 6611f59b4ef3..000000000000 --- a/cddl/contrib/dtracetoolkit/JavaScript/js_objcpu.d +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * js_objcpu.d - measure JavaScript object creation on-CPU time using DTrace. - * Written for the JavaScript DTrace provider. - * - * $Id: js_objcpu.d 63 2007-10-04 04:34:38Z brendan $ - * - * This traces JavaScript activity from all browsers running on the system - * with JavaScript provider support. - * - * USAGE: js_objcpu.d # hit Ctrl-C to end - * - * Class names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -javascript*:::object-create-start -{ - self->vstart = vtimestamp; -} - -javascript*:::object-create-done -/self->vstart/ -{ - this->oncpu = vtimestamp - self->vstart; - @total = sum(this->oncpu); - @dist[copyinstr(arg1)] = quantize(this->oncpu / 1000); - self->vstart = 0; -} - -dtrace:::END -{ - normalize(@total, 1000000); - printa("Total object creation on-CPU time (ms): %@d\n\n", @total); - printf("Object creation on-CPU time distributions (us),\n"); - printa(@dist); -} diff --git a/cddl/contrib/dtracetoolkit/JavaScript/js_objgc.d b/cddl/contrib/dtracetoolkit/JavaScript/js_objgc.d deleted file mode 100755 index 575b2952f834..000000000000 --- a/cddl/contrib/dtracetoolkit/JavaScript/js_objgc.d +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * js_objgc.d - trace JavaScript Object GC using DTrace. - * Written for the JavaScript DTrace provider. - * - * $Id: js_objgc.d 63 2007-10-04 04:34:38Z brendan $ - * - * This traces JavaScript activity from all running browers on the system - * which support the JavaScript DTrace provider. - * - * USAGE: js_objgc.d # hit Ctrl-C to end - * - * FIELDS: - * FILE Filename that contained the function - * CLASS Class to which this new object belongs - * TOTAL Object entropy (positive == uncollected) - * - * This script provides information on which objects are not being garbage - * collected, an issue which causes the browser to steadily leak memory. - * We trace object creation (+1) and destruction (-1), and provide a - * summary each second of the running tally of the object class and - * originating filename. If over the period of several minutes an object - * type is still steadily increasing, then that would be of interest. - * Be patient, depending on the rate of object creation it can take over - * ten minutes for garbage collect to kick in. - * - * NOTES: - * - it is possible that you will see negative entropy. That happens - * when you begin tracing after some objects have already been created, - * and then trace their destruction. - * - there are other Things that GC handles, other than Objects; extra - * probes can be added to trace them, should the need arise. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -/* if you get dynvardrops, increase this, */ -#pragma D option dynvarsize=32m -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -javascript*:::object-create -/arg2/ -{ - this->file = basename(copyinstr(arg0)); - @objs[this->file, copyinstr(arg1)] = sum(1); - filename[arg2] = this->file; -} - -javascript*:::object-finalize -/filename[arg2] == NULL/ -{ - @objs["", copyinstr(arg1)] = sum(-1); -} - -javascript*:::object-finalize -/filename[arg2] != NULL/ -{ - @objs[filename[arg2], copyinstr(arg1)] = sum(-1); - filename[arg2] = 0; -} - -profile:::tick-1sec, -dtrace:::END -{ - printf("\n %-24s %8s %-20s %23Y\n", "FILE", "TOTAL", "CLASS", - walltimestamp); - printa(" %-24.24s %@8d %s\n", @objs); -} diff --git a/cddl/contrib/dtracetoolkit/JavaScript/js_objnew.d b/cddl/contrib/dtracetoolkit/JavaScript/js_objnew.d deleted file mode 100755 index f57c7b52ec6f..000000000000 --- a/cddl/contrib/dtracetoolkit/JavaScript/js_objnew.d +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * js_objnew.d - count JavaScript object creation using DTrace. - * Written for the JavaScript DTrace provider. - * - * $Id: js_objnew.d 63 2007-10-04 04:34:38Z brendan $ - * - * This traces JavaScript activity from all browsers running on the system - * with JavaScript provider support. - * - * USAGE: js_objnew.d # hit Ctrl-C to end - * - * FIELDS: - * FILE Filename of the JavaScript program - * CLASS Class of new object - * COUNT Number of object creations during tracing - * - * Filename and class names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -javascript*:::object-create-done -{ - @objs[basename(copyinstr(arg0)), copyinstr(arg1)] = count(); -} - -dtrace:::END -{ - printf(" %-24s %-36s %8s\n", "FILE", "CLASS", "COUNT"); - printa(" %-24.24s %-36s %@8d\n", @objs); -} diff --git a/cddl/contrib/dtracetoolkit/JavaScript/js_stat.d b/cddl/contrib/dtracetoolkit/JavaScript/js_stat.d deleted file mode 100755 index 323776298a04..000000000000 --- a/cddl/contrib/dtracetoolkit/JavaScript/js_stat.d +++ /dev/null @@ -1,120 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * js_stat.d - JavaScript operation stats using DTrace. - * Written for the JavaScript DTrace provider. - * - * $Id: js_stat.d 63 2007-10-04 04:34:38Z brendan $ - * - * This traces activity from all browsers on the system that are - * running with JavaScript provider support. - * - * USAGE: js_stat.d [interval [count]] - * - * FIELDS: - * EXEC/s JavaScript programs executed per second - * FUNCS/s Functions called, per second - * OBJNEW/s Objects created, per second - * OBJFRE/s Objects freed (finalize), per second - * - * The numbers are counts for the interval specified. The default interval - * is 1 second. - * - * Filename and function names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option defaultargs - -inline int SCREEN = 21; - -dtrace:::BEGIN -{ - execs = funcs = objnew = objfree = 0; - lines = SCREEN + 1; - interval = $1 ? $1 : 1; - counts = $2 ? $2 : -1; - secs = interval; - first = 1; -} - -profile:::tick-1sec -{ - secs--; -} - -/* - * Print Header - */ -dtrace:::BEGIN, -profile:::tick-1sec -/first || (secs == 0 && lines > SCREEN)/ -{ - printf("%-20s %8s %8s %8s %8s\n", "TIME", "EXEC/s", "FUNC/s", - "OBJNEW/s", "OBJFRE/s"); - lines = 0; - first = 0; -} - -/* - * Tally Data - */ -javascript*:::execute-start -{ - execs++; -} - -javascript*:::function-entry -{ - funcs++; -} - -javascript*:::object-create-start -{ - objnew++; -} - -javascript*:::object-finalize -{ - objfree++; -} - -/* - * Print Output - */ -profile:::tick-1sec -/secs == 0/ -{ - printf("%-20Y %8d %8d %8d %8d\n", walltimestamp, execs / interval, - funcs / interval, objnew / interval, objfree / interval); - execs = funcs = objnew = objfree = 0; - secs = interval; - lines++; - counts--; -} - -/* - * End - */ -profile:::tick-1sec -/counts == 0/ -{ - exit(0); -} diff --git a/cddl/contrib/dtracetoolkit/JavaScript/js_who.d b/cddl/contrib/dtracetoolkit/JavaScript/js_who.d deleted file mode 100755 index f320b481fd32..000000000000 --- a/cddl/contrib/dtracetoolkit/JavaScript/js_who.d +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * js_who.d - trace JavaScript function execution by process using DTrace. - * Written for the JavaScript DTrace provider. - * - * $Id: js_who.d 63 2007-10-04 04:34:38Z brendan $ - * - * This traces JavaScript activity from all browsers on the system that are - * running with JavaScript provider support. - * - * USAGE: js_who.d # hit Ctrl-C to end - * - * FIELDS: - * PID Process ID of JavaScript - * UID User ID of the owner - * FUNCS Number of function calls - * FILE Pathname of the JavaScript program - * - * Filenames are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -javascript*:::function-entry -{ - @funcs[pid, uid, copyinstr(arg0)] = count(); -} - -dtrace:::END -{ - printf(" %6s %6s %6s %s\n", "PID", "UID", "FUNCS", "FILE"); - printa(" %6d %6d %@6d %s\n", @funcs); -} diff --git a/cddl/contrib/dtracetoolkit/Kernel/Readme b/cddl/contrib/dtracetoolkit/Kernel/Readme deleted file mode 100644 index 3c5d6b3589da..000000000000 --- a/cddl/contrib/dtracetoolkit/Kernel/Readme +++ /dev/null @@ -1,3 +0,0 @@ -Kernel - Kernel based analysis - - These are scripts to monitor kernel activity. diff --git a/cddl/contrib/dtracetoolkit/Kernel/cpudists b/cddl/contrib/dtracetoolkit/Kernel/cpudists deleted file mode 100755 index b708216e191b..000000000000 --- a/cddl/contrib/dtracetoolkit/Kernel/cpudists +++ /dev/null @@ -1,184 +0,0 @@ -#!/usr/bin/sh -# -# cpudists - print CPU time distributions by Kernel/Idle/Processes. -# Written using DTrace (Solaris 10 3/05). -# -# $Id: cpudists 3 2007-08-01 10:50:08Z brendan $ -# -# USAGE: cpudists [-ahV] [-t top] [interval [count]] -# -# -a # print all processes -# -V # don't print timestamps -# -t num # print top num only -# eg, -# cpudists 1 # print every 1 second -# cpudists -a 10 # print all processes every 10 secs -# -# -# FIELDS: -# value The following or the process name, -# IDLE Idle time - CPU running idle thread -# KERNEL Kernel time - Kernel servicing interrupts, ... -# PROCESS Process time - PIDs running on the system -# count Number of occurances at least this duration (ns) -# -# NOTES: -# * This takes into account multiple CPU servers, the total -# seconds consumed will be a multiple of the CPU count and interval. -# -# SEE ALSO: cputimes -# -# COPYRIGHT: Copyright (c) 2005 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# Author: Brendan Gregg [Sydney, Australia] -# -# 27-Apr-2005 Brendan Gregg Created this. -# 22-Sep-2005 " " Fixed key corruption bug. -# 22-Sep-2005 " " Last update. -# - - -############################## -# --- Process Arguments --- -# -opt_all=0; opt_time=1; opt_top=0; top=0; interval=1; count=1 - -while getopts aht:V name -do - case $name in - a) opt_all=1 ;; - V) opt_time=0 ;; - t) opt_top=1; top=$OPTARG ;; - h|?) cat <<-END >&2 - USAGE: cpudists [-ahV] [-t top] [interval [count]] - cpudists # default output - -a # print all processes - -V # don't print times - -t num # print top num only - END - exit 1 - esac -done -shift `expr $OPTIND - 1` - -if [ "$1" -gt 0 ]; then - interval=$1; count=-1; shift -fi -if [ "$1" -gt 0 ]; then - count=$1; shift -fi - - -################################# -# --- Main Program, DTrace --- -# -/usr/sbin/dtrace -n ' - #pragma D option quiet - - /* - * Command line arguments - */ - inline int OPT_all = '$opt_all'; - inline int OPT_time = '$opt_time'; - inline int OPT_top = '$opt_top'; - inline int TOP = '$top'; - inline int INTERVAL = '$interval'; - inline int COUNTER = '$count'; - - /* Initialise variables */ - dtrace:::BEGIN - { - cpustart[cpu] = 0; - counts = COUNTER; - secs = INTERVAL; - } - - /* Flag this thread as idle */ - sysinfo:unix:idle_enter:idlethread - { - idle[cpu] = 1; - } - - /* Save kernel time between running threads */ - sched:::on-cpu - /cpustart[cpu]/ - { - this->elapsed = timestamp - cpustart[cpu]; - @Procs["KERNEL"] = quantize(this->elapsed); - } - - /* Save the elapsed time of a thread */ - sched:::off-cpu, - sched:::remain-cpu, - profile:::profile-1sec - /cpustart[cpu]/ - { - /* determine the name for this thread */ - program[cpu] = pid == 0 ? idle[cpu] ? "IDLE" : "KERNEL" : - OPT_all ? execname : "PROCESS"; - - /* save elapsed */ - this->elapsed = timestamp - cpustart[cpu]; - @Procs[program[cpu]] = quantize(this->elapsed); - cpustart[cpu] = timestamp; - } - - /* Record the start time of a thread */ - sched:::on-cpu, - sched:::remain-cpu - { - idle[cpu] = 0; - cpustart[cpu] = timestamp; - } - - profile:::tick-1sec - { - secs--; - } - - /* Print time */ - profile:::tick-1sec - /secs == 0 && OPT_time/ - { - printf("%Y,\n", walltimestamp); - } - - /* Print report */ - profile:::tick-1sec - /secs == 0/ - { - OPT_top ? trunc(@Procs, TOP) : 1; - printa("%16s %@16d\n", @Procs); - trunc(@Procs); - secs = INTERVAL; - counts--; - } - - /* End of program */ - profile:::tick-1sec - /counts == 0/ - { - exit(0); - } - - /* cleanup for Ctrl-C */ - dtrace:::END - { - trunc(@Procs); - } -' - diff --git a/cddl/contrib/dtracetoolkit/Kernel/cputimes b/cddl/contrib/dtracetoolkit/Kernel/cputimes deleted file mode 100755 index 881bf90efec6..000000000000 --- a/cddl/contrib/dtracetoolkit/Kernel/cputimes +++ /dev/null @@ -1,203 +0,0 @@ -#!/usr/bin/sh -# -# cputimes - print CPU time consumed by Kernel/Idle/Processes. -# Written using DTrace (Solaris 10 3/05). -# -# $Id: cputimes 3 2007-08-01 10:50:08Z brendan $ -# -# This program accurately measures time consumed by the kernel, but in -# doing so creates extra kernel load of it's own. The extra kernel -# activity can be measured by running one cputimes and then another, and -# comparing the difference in kernel consumed time. This method can be -# used to estimate the load created by other DTrace scripts. -# -# USAGE: cputimes [-ahTV] [-t top] [interval [count]] -# -# -a # print all processes -# -T # print totals -# -V # don't print timestamps -# -t num # print top num lines only -# eg, -# cputimes 1 # print every 1 second -# cputimes -a 10 # print all processes every 10 secs -# cputimes -at 8 5 # print top 8 lines every 5 secs -# -# -# FIELDS: -# THREADS The following or the process name, -# IDLE Idle time - CPU running idle thread -# KERNEL Kernel time - Kernel servicing interrupts, ... -# PROCESS Process time - PIDs running on the system -# TIME (ns) Sum of the CPU time, ns (nanoseconds) -# -# NOTES: -# * This takes into account multiple CPU servers, the total -# seconds consumed will be a multiple of the CPU count and interval. -# -# SEE ALSO: cpudists -# Heisenberg's uncertainty principle. -# -# COPYRIGHT: Copyright (c) 2005 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# Author: Brendan Gregg [Sydney, Australia] -# -# 27-Apr-2005 Brendan Gregg Created this. -# 22-Sep-2005 " " Fixed a key corruption bug. -# 22-Sep-2005 " " Last update. -# - - -############################## -# --- Process Arguments --- -# -opt_all=0; opt_time=1; opt_top=0; opt_totals=0 -top=0; interval=1; count=1 - -while getopts aht:TV name -do - case $name in - a) opt_all=1 ;; - T) opt_totals=1 ;; - V) opt_time=0 ;; - t) opt_top=1; top=$OPTARG ;; - h|?) cat <<-END >&2 - USAGE: cputimes [-ahTV] [-t top] [interval [count]] - cputimes # default output - -a # print all processes - -T # print totals - -V # don't print times - -t num # print top num lines only - eg, - cputimes 1 # print every 1 second - cputimes -a 10 # all processes per 10 sec - cputimes -at 8 5 # top 8 lines every 5 secs - END - exit 1 - esac -done -shift `expr $OPTIND - 1` - -if [ "$1" -gt 0 ]; then - interval=$1; count=-1; shift -fi -if [ "$1" -gt 0 ]; then - count=$1; shift -fi - - -################################# -# --- Main Program, DTrace --- -# -/usr/sbin/dtrace -n ' - #pragma D option quiet - - /* - * Command line arguments - */ - inline int OPT_all = '$opt_all'; - inline int OPT_time = '$opt_time'; - inline int OPT_totals = '$opt_totals'; - inline int OPT_top = '$opt_top'; - inline int TOP = '$top'; - inline int INTERVAL = '$interval'; - inline int COUNTER = '$count'; - - /* Initialise variables */ - dtrace:::BEGIN - { - cpustart[cpu] = 0; - counts = COUNTER; - secs = INTERVAL; - } - - /* Flag this thread as idle */ - sysinfo:unix:idle_enter:idlethread - { - idle[cpu] = 1; - } - - /* Save kernel time between running threads */ - sched:::on-cpu - /cpustart[cpu]/ - { - this->elapsed = timestamp - cpustart[cpu]; - @Procs["KERNEL"] = sum(this->elapsed); - } - - /* Save the elapsed time of a thread */ - sched:::off-cpu, - sched:::remain-cpu, - profile:::profile-1sec - /cpustart[cpu]/ - { - /* determine the name for this thread */ - program[cpu] = pid == 0 ? idle[cpu] ? "IDLE" : "KERNEL" : - OPT_all ? execname : "PROCESS"; - - /* save elapsed */ - this->elapsed = timestamp - cpustart[cpu]; - @Procs[program[cpu]] = sum(this->elapsed); - cpustart[cpu] = timestamp; - } - - /* Record the start time of a thread */ - sched:::on-cpu, - sched:::remain-cpu - { - idle[cpu] = 0; - cpustart[cpu] = timestamp; - } - - - profile:::tick-1sec - { - secs--; - } - - /* Print time */ - profile:::tick-1sec - /secs == 0/ - { - OPT_time ? printf("%Y,\n", walltimestamp) : 1; - printf("%16s %16s\n", "THREADS", "TIME (ns)"); - } - - /* Print report */ - profile:::tick-1sec - /secs == 0/ - { - OPT_top ? trunc(@Procs, TOP) : 1; - printa("%16s %@16d\n", @Procs); - trunc(@Procs); - secs = INTERVAL; - counts--; - } - - /* End of program */ - profile:::tick-1sec - /counts == 0/ - { - exit(0); - } - - /* cleanup for Ctrl-C */ - dtrace:::END - { - trunc(@Procs); - } -' - diff --git a/cddl/contrib/dtracetoolkit/Kernel/cswstat.d b/cddl/contrib/dtracetoolkit/Kernel/cswstat.d deleted file mode 100755 index 98ca83cc361c..000000000000 --- a/cddl/contrib/dtracetoolkit/Kernel/cswstat.d +++ /dev/null @@ -1,74 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * cswstat.d - context switch time stat. - * Uses DTrace (Solaris 10 03/05) - * - * This prints a context switch count and consumed time for context - * switching every second. - * - * $Id: cswstat.d 15 2007-09-11 09:09:25Z brendan $ - * - * USAGE: cswstat.d - * - * FIELDS: - * TIME Current time - * NUM Number of context switches - * CSWTIME(us) Time consumed context switching, us - * AVGTIME(us) Average context switch time, us - * - * THANKS: Toomas Soome - * - * COPYRIGHT: Copyright (c) 2005 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 17-May-2005 Brendan Gregg Created this. - * 03-Nov-2005 " " Last update. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - /* print header */ - printf("%-20s %8s %12s %12s\n", "TIME", "NUM", "CSWTIME(us)", - "AVGTIME(us)"); - times = 0; - num = 0; -} - -sched:::off-cpu -{ - /* csw start */ - num++; - start[cpu] = timestamp; -} - -sched:::on-cpu -/start[cpu]/ -{ - /* csw end */ - times += timestamp - start[cpu]; - start[cpu] = 0; -} - -profile:::tick-1sec -{ - /* print output */ - printf("%20Y %8d %12d %12d\n", walltimestamp, num, times/1000, - num == 0 ? 0 : times/(1000 * num)); - times = 0; - num = 0; -} diff --git a/cddl/contrib/dtracetoolkit/Kernel/dnlcps.d b/cddl/contrib/dtracetoolkit/Kernel/dnlcps.d deleted file mode 100755 index d3c3e58ff18e..000000000000 --- a/cddl/contrib/dtracetoolkit/Kernel/dnlcps.d +++ /dev/null @@ -1,68 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * dnlcps.d - DNLC stats by process. - * Written in DTrace (Solaris 10 3/05). - * - * The DNLC is the Directory Name Lookup Cache. Filename lookups often - * return a hit from here, before needing to traverse the regular file - * system cache or go to disk. - * - * dnlcps.d prints DNLC statistics by process. - * - * $Id: dnlcps.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: dnlcps.d # wait several seconds, then hit Ctrl-C - * - * FIELDS: - * PID Process ID - * CMD Command name - * value 0 == miss, 1 == hit - * count number of occurrences - * - * COPYRIGHT: Copyright (c) 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 27-Mar-2004 Brendan Gregg Created this. - * 14-Jun-2005 " " Rewrote this a lot. - * 18-Feb-2006 " " Last update. - */ - -#pragma D option quiet - -/* - * Print header - */ -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -/* - * DNLC return - */ -fbt:genunix:dnlc_lookup:return -{ - this->code = arg1 == 0 ? 0 : 1; - @Result[execname, pid] = lquantize(this->code, 0, 1, 1); -} - -/* - * Print report - */ -dtrace:::END -{ - printa(" CMD: %-16s PID: %d\n%@d\n", @Result); -} diff --git a/cddl/contrib/dtracetoolkit/Kernel/dnlcsnoop.d b/cddl/contrib/dtracetoolkit/Kernel/dnlcsnoop.d deleted file mode 100755 index 1150f4502303..000000000000 --- a/cddl/contrib/dtracetoolkit/Kernel/dnlcsnoop.d +++ /dev/null @@ -1,92 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * dnlcsnoop.d - snoop DNLC activity. - * Written in DTrace (Solaris 10 3/05). - * - * The DNLC is the Directory Name Lookup Cache. Filename lookups often - * return a hit from here, before needing to traverse the regular file - * system cache or go to disk. - * - * $Id: dnlcsnoop.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: dnlcsnoop.d # wait several seconds, then hit Ctrl-C - * - * FIELDS: - * PID Process ID - * CMD Command name - * TIME Elapsed time for lookup, us - * HIT DNLC hit Y/N - * PATH Path for DNLC lookup - * - * COPYRIGHT: Copyright (c) 2005, 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 27-Mar-2004 Brendan Gregg Created this. - * 14-Jun-2005 " " Rewrote this a lot. - * 20-Apr-2006 " " Last update. - */ - -#pragma D option quiet - -/* - * Print header - */ -dtrace:::BEGIN -{ - printf("%6s %-12s %5s %3s %s\n", - "PID", "CMD", "TIME", "HIT", "PATH"); -} - -/* - * DNLC lookup - */ -fbt:genunix:dnlc_lookup:entry -{ - /* store path */ - self->path = stringof(args[0]->v_path); - - /* check for trailing "/" */ - this->len = strlen(self->path); - self->join = *(char *)(args[0]->v_path + this->len - 1) == '/' ? - "" : "/"; - - /* store lookup name */ - self->name = stringof(arg1); - - /* store start time */ - self->start = timestamp; -} - -/* - * DNLC return - */ -fbt:genunix:dnlc_lookup:return -/self->start/ -{ - /* calculate elapsed time */ - this->elapsed = (timestamp - self->start) / 1000; - - /* print output */ - printf("%6d %-12.12s %5d %3s %s%s%s\n", - pid, execname, this->elapsed, arg1 == 0 ? "N" : "Y", - self->path, self->join, self->name); - - /* clear variables */ - self->path = 0; - self->join = 0; - self->name = 0; - self->start = 0; -} diff --git a/cddl/contrib/dtracetoolkit/Kernel/dnlcstat b/cddl/contrib/dtracetoolkit/Kernel/dnlcstat deleted file mode 100755 index b29e8c219bf7..000000000000 --- a/cddl/contrib/dtracetoolkit/Kernel/dnlcstat +++ /dev/null @@ -1,162 +0,0 @@ -#!/usr/bin/sh -# -# dnlcstat - DNLC statistics. -# Written in DTrace (Solaris 10 3/05). -# -# The DNLC is the Directory Name Lookup Cache. Filename lookups often -# return a hit from here, before needing to traverse the regular file -# system cache or go to disk. -# -# $Id: dnlcstat 3 2007-08-01 10:50:08Z brendan $ -# -# USAGE: dnlcstat [interval [count]] -# -# FIELDS: -# -# %hit hit percentage for this sample -# hit number of DNLC hits in this sample -# miss number of DNLC misses in this sample -# -# SEE ALSO: CacheKit, http://www.brendangregg.com/cachekit.html -# (contains a dnlcstat written in Perl, which uses less CPU) -# -# COPYRIGHT: Copyright (c) 2005 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# 27-Mar-2004 Brendan Gregg Created this. -# 14-Jun-2005 " " Updated style. -# 14-Jun-2005 " " Last update. -# - -############################## -# --- Process Arguments --- -# - -### default values -interval=1; count=-1 - -### check arguments -if [ "$1" = "-h" -o "$1" = "--help" ]; then - cat <<-END >&2 - USAGE: dnlcstat [interval [count]] - dnlcstat # 1 second samples, infinite - eg, - dnlcstat 1 # print every 1 second - dnlcstat 5 6 # print every 5 seconds, 6 times - END - exit 1 -fi - -### argument logic -if [ "$1" -gt 0 ]; then - interval=$1; count=-1; shift -fi -if [ "$1" -gt 0 ]; then - count=$1; shift -fi -if [ $interval -eq 0 ]; then - interval=1 -fi - - -################################# -# --- Main Program, DTrace --- -# -/usr/sbin/dtrace -n ' - #pragma D option quiet - - /* - * Command line arguments - */ - inline int INTERVAL = '$interval'; - inline int COUNTER = '$count'; - inline int SCREEN = 21; - - int hits; /* hits */ - int misses; /* misses */ - - /* - * Initialise variables - */ - dtrace:::BEGIN - { - lines = SCREEN + 1; - counts = COUNTER; - secs = INTERVAL; - first = 1; - } - - /* - * Print header - */ - dtrace:::BEGIN, - tick-1sec - /first || (secs == 0 && lines > SCREEN)/ - { - printf("%10s %8s %8s\n","dnlc %hit","hit","miss"); - lines = 0; - first = 0; - } - - /* - * Probe DNLC lookups - */ - fbt:genunix:dnlc_lookup:return - { - hits += arg1 == 0 ? 0 : 1; - misses += arg1 == 0 ? 1 : 0; - } - - profile:::tick-1sec - { - secs--; - } - - - /* - * Print output line - */ - profile:::tick-1sec - /secs == 0/ - { - /* calculate hit percent */ - this->divide = misses + hits == 0 ? 1 : misses + hits; - ratio = hits * 100 / this->divide; - - /* print output */ - printf("%10d %8d %8d\n",ratio,hits,misses); - - /* clear counters */ - hits = 0; - misses = 0; - - /* process counts */ - secs = INTERVAL; - counts--; - lines++; - - } - - /* - * End - */ - profile:::tick-1sec - /counts == 0/ - { - exit(0); - } -' - diff --git a/cddl/contrib/dtracetoolkit/Kernel/kstat_types.d b/cddl/contrib/dtracetoolkit/Kernel/kstat_types.d deleted file mode 100755 index 119bc77d1d20..000000000000 --- a/cddl/contrib/dtracetoolkit/Kernel/kstat_types.d +++ /dev/null @@ -1,66 +0,0 @@ -#!/usr/sbin/dtrace -Cs -/* - * kstat_types.d - Trace kstat reads with type info. - * Written using DTrace (Solaris 10 3/05) - * - * kstat is the Kernel Statistics framework, which is used by tools - * such as vmstat, iostat, mpstat and sar. Try running vmstat while - * kstat_types.d is tracing - you should see details of the kstat - * reads performed. - * - * $Id: kstat_types.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: kstat_types.d (early release, check for updates) - * - * FIELDS: - * CMD command name - * CLASS kstat class (ks_class) - * TYPE kstat type as a string (ks_type) - * MOD:INS:NAME kstat module:instance:name - * - * COPYRIGHT: Copyright (c) 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 11-Feb-2006 Brendan Gregg Created this. - * 11-Feb-2006 " " Last update. - */ - -#include - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("%-16s %-16s %-6s %s\n", - "CMD", "CLASS", "TYPE", "MOD:INS:NAME"); -} - -fbt::read_kstat_data:entry -{ -#ifdef _MULTI_DATAMODEL - self->uk = (kstat32_t *)copyin((uintptr_t)arg1, sizeof (kstat32_t)); -#else - self->uk = (kstat_t *)copyin((uintptr_t)arg1, sizeof (kstat_t)); -#endif - printf("%-16s %-16s %-6s %s:%d:%s\n", execname, - self->uk->ks_class == "" ? "." : self->uk->ks_class, - self->uk->ks_type == 0 ? "raw" - : self->uk->ks_type == 1 ? "named" - : self->uk->ks_type == 2 ? "intr" - : self->uk->ks_type == 3 ? "io" - : self->uk->ks_type == 4 ? "timer" : "?", - self->uk->ks_module, self->uk->ks_instance, self->uk->ks_name); -} diff --git a/cddl/contrib/dtracetoolkit/Kernel/modcalls.d b/cddl/contrib/dtracetoolkit/Kernel/modcalls.d deleted file mode 100755 index 0386a7a721a9..000000000000 --- a/cddl/contrib/dtracetoolkit/Kernel/modcalls.d +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * modcalls.d - kernel function calls by module. DTrace OneLiner. - * - * This is a DTrace OneLiner from the DTraceToolkit. - * - * $Id: modcalls.d 3 2007-08-01 10:50:08Z brendan $ - */ - -fbt:::entry { @calls[probemod] = count(); } diff --git a/cddl/contrib/dtracetoolkit/Kernel/priclass.d b/cddl/contrib/dtracetoolkit/Kernel/priclass.d deleted file mode 100755 index 92275dcb4ed4..000000000000 --- a/cddl/contrib/dtracetoolkit/Kernel/priclass.d +++ /dev/null @@ -1,67 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * priclass.d - priority distribution by scheduling class. - * Written using DTrace (Solaris 10 3/05) - * - * This is a simple DTrace script that samples at 1000 Hz the current - * thread's scheduling class and priority. A distribution plot is printed. - * - * With priorities, the higher the priority the better chance the thread - * has of being scheduled. - * - * This idea came from the script /usr/demo/dtrace/pri.d, which - * produces similar output for priority changes, not samples. - * - * $Id: priclass.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: priclass.d # hit Ctrl-C to end sampling - * - * FIELDS: - * value process priority - * count number of samples of at least this priority - * - * Also printed is the scheduling class, - * - * TS time sharing - * IA interactive - * RT real time - * SYS system - * FSS fair share schedular - * - * BASED ON: /usr/demo/dtrace/pri.d - * - * SEE ALSO: DTrace Guide "profile Provider" chapter (docs.sun.com) - * dispadmin(1M) - * - * PORTIONS: Copyright (c) 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 12-Feb-2006 Brendan Gregg Created this. - * 22-Apr-2006 " " Last update. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Sampling... Hit Ctrl-C to end.\n"); -} - -profile:::profile-1000hz -{ - @count[stringof(curlwpsinfo->pr_clname)] - = lquantize(curlwpsinfo->pr_pri, 0, 170, 10); -} diff --git a/cddl/contrib/dtracetoolkit/Kernel/pridist.d b/cddl/contrib/dtracetoolkit/Kernel/pridist.d deleted file mode 100755 index 1b6d3ebb7b06..000000000000 --- a/cddl/contrib/dtracetoolkit/Kernel/pridist.d +++ /dev/null @@ -1,66 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * pridist.d - process priority distribution. - * Written using DTrace (Solaris 10 3/05) - * - * This is a simple DTrace script that samples at 1000 Hz which process - * is on the CPUs, and what the priority is. A distribution plot is printed. - * - * With priorities, the higher the priority the better chance the process - * (actually, thread) has of being scheduled. - * - * This idea came from the script /usr/demo/dtrace/profpri.d, which - * produces similar output for one particular PID. - * - * $Id: pridist.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: pridist.d # hit Ctrl-C to end sampling - * - * FIELDS: - * CMD process name - * PID process ID - * value process priority - * count number of samples of at least this priority - * - * BASED ON: /usr/demo/dtrace/profpri.d - * - * SEE ALSO: - * DTrace Guide "profile Provider" chapter (docs.sun.com) - * dispadmin(1M) - * - * PORTIONS: Copyright (c) 2005 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 13-Jun-2005 Brendan Gregg Created this. - * 22-Apr-2006 " " Last update. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Sampling... Hit Ctrl-C to end.\n"); -} - -profile:::profile-1000hz -{ - @Count[execname, pid] = lquantize(curlwpsinfo->pr_pri, 0, 170, 5); -} - -dtrace:::END -{ - printa(" CMD: %-16s PID: %d\n%@d\n", @Count); -} diff --git a/cddl/contrib/dtracetoolkit/Kernel/putnexts.d b/cddl/contrib/dtracetoolkit/Kernel/putnexts.d deleted file mode 100755 index cb99a7213636..000000000000 --- a/cddl/contrib/dtracetoolkit/Kernel/putnexts.d +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * putnexts.d - stream putnext() tracing with stacks. Solaris, DTrace. - * - * This shows who is calling putnext() to who, by listing the destination - * queue and the calling stack, by frequency count. This is especially useful - * for understanding streams based frameworks, such as areas of the Solaris - * TCP/IP stack. - * - * $Id: putnexts.d 14 2007-09-11 08:03:35Z brendan $ - * - * USAGE: putnext.d - * - * BASED ON: /usr/demo/dtrace/putnext.d - * - * PORTIONS: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 12-Jun-2005 Brendan Gregg Created this. - */ - -fbt::putnext:entry -{ - @[stringof(args[0]->q_qinfo->qi_minfo->mi_idname), stack(5)] = count(); -} diff --git a/cddl/contrib/dtracetoolkit/Kernel/whatexec.d b/cddl/contrib/dtracetoolkit/Kernel/whatexec.d deleted file mode 100755 index e70173b8b733..000000000000 --- a/cddl/contrib/dtracetoolkit/Kernel/whatexec.d +++ /dev/null @@ -1,79 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * whatexec.d - Examine the type of files exec'd. - * Written using DTrace (Solaris 10 3/05) - * - * This prints the first four chacacters of files that are executed. - * This traces the kernel function findexec_by_hdr(), which checks for - * a known magic number in the file's header. - * - * The idea came from a demo I heard about from the UK, where a - * "blue screen of death" was displayed for "MZ" files (although I - * haven't seen the script or the demo). - * - * $Id: whatexec.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: whatexec.d (early release, check for updates) - * - * FIELDS: - * PEXEC parent command name - * EXEC pathname to file exec'd - * OK is type runnable, Y/N - * TYPE first four characters from file - * - * COPYRIGHT: Copyright (c) 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 11-Feb-2006 Brendan Gregg Created this. - * 25-Apr-2006 " " Last update. - */ - -#pragma D option quiet - -this char *buf; - -dtrace:::BEGIN -{ - printf("%-16s %-38s %2s %s\n", "PEXEC", "EXEC", "OK", "TYPE"); -} - -fbt::gexec:entry -{ - self->file = cleanpath((*(struct vnode **)arg0)->v_path); - self->ok = 1; -} - -fbt::findexec_by_hdr:entry -/self->ok/ -{ - bcopy(args[0], this->buf = alloca(5), 4); - this->buf[4] = '\0'; - self->hdr = stringof(this->buf); -} - -fbt::findexec_by_hdr:return -/self->ok/ -{ - printf("%-16s %-38s %2s %S\n", execname, self->file, - arg1 == NULL ? "N" : "Y", self->hdr); - self->hdr = 0; -} - -fbt::gexec:return -{ - self->file = 0; - self->ok = 0; -} diff --git a/cddl/contrib/dtracetoolkit/License b/cddl/contrib/dtracetoolkit/License deleted file mode 120000 index 2095b9644d77..000000000000 --- a/cddl/contrib/dtracetoolkit/License +++ /dev/null @@ -1 +0,0 @@ -Docs/cddl1.txt \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Locks/lockbydist.d b/cddl/contrib/dtracetoolkit/Locks/lockbydist.d deleted file mode 100755 index 9bfc224f6d3b..000000000000 --- a/cddl/contrib/dtracetoolkit/Locks/lockbydist.d +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * lockbydist.d - lock distrib. by process name. DTrace OneLiner. - * - * This is a DTrace OneLiner from the DTraceToolkit. - * - * $Id: lockbydist.d 3 2007-08-01 10:50:08Z brendan $ - */ - -lockstat:::adaptive-block { @time[execname] = quantize(arg1); } diff --git a/cddl/contrib/dtracetoolkit/Locks/lockbyproc.d b/cddl/contrib/dtracetoolkit/Locks/lockbyproc.d deleted file mode 100755 index d7b921913419..000000000000 --- a/cddl/contrib/dtracetoolkit/Locks/lockbyproc.d +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * lockbyproc.d - lock time by process name. DTrace OneLiner. - * - * This is a DTrace OneLiner from the DTraceToolkit. - * - * $Id: lockbyproc.d 3 2007-08-01 10:50:08Z brendan $ - */ - -lockstat:::adaptive-block { @time[execname] = sum(arg1); } diff --git a/cddl/contrib/dtracetoolkit/Man/Readme b/cddl/contrib/dtracetoolkit/Man/Readme deleted file mode 100644 index 31641230863b..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/Readme +++ /dev/null @@ -1,40 +0,0 @@ -Man - Man pages - - There are a number of ways you can read these man pages. Either, - - 1. Add this directory to your MANPATH, - - cd Man - MANPATH=$MANPATH:$PWD - man iosnoop - - 2. If the DTraceToolkit has been installed, and that dir to your MANPATH, - - MANPATH=$MANPATH:/opt/DTT/Man - man iosnoop - - 3. Set MANPATH to "." every time you read a script, - - cd Man - MANPATH=. man iosnoop - - 4. Use the -M option to "man", if your OS has it, - - man -M Man iosnoop - - 5. Prentend that you are /usr/bin/man, if your OS has nroff, - - nroff -man Man/man1m/iosnoop.1m | more - - 6. Pretend that you are /usr/bin/nroff, - - more Man/man1m/iosnoop.1m - - 7. Pretend that you have no pagers installed, - - while read line; do echo $line; done < Man/man1m/iosnoop.1m - - 8. Pretend that you can read hex, - - od -x Man/man1m/iosnoop.1m - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/anonpgpid.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/anonpgpid.d.1m deleted file mode 100644 index 9cafd4806269..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/anonpgpid.d.1m +++ /dev/null @@ -1,54 +0,0 @@ -.TH anonpgpid.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -anonpgpid.d \- anonymous memory paging info by PID on CPU. Uses DTrace. -.SH SYNOPSIS -.B anonpgpid.d -.SH DESCRIPTION -This scripts may help identify which processes are affected by a system -with low memory, which is paging to the physical swap device. A report -of the process on the CPU when paging occured is printed. - -This program is currently an approximation - often the process when writing -pages to swap will be "pageout" the pageout scanner, or "rcapd" the -resource capping daemon. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -unstable - this script uses fbt provider probes which may change for -future updates of the OS, invalidating this script. Please read -Docs/Notes/ALLfbt_notes.txt for further details about these fbt scripts. -.SH EXAMPLES -.TP -Print report after Ctrl-C is hit, -# -.B anonpgpid.d -.PP -.SH FIELDS -.TP -PID -process ID -.TP -CMD -command name for the process -.TP -D -direction, Read or Write -.TP -BYTES -total bytes during sample -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -anonpgpid.d will run forever until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/bitesize.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/bitesize.d.1m deleted file mode 100644 index 4ef13bec7d8c..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/bitesize.d.1m +++ /dev/null @@ -1,57 +0,0 @@ -.TH bitesize.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -bitesize.d \- analyse disk I/O size by process. Uses DTrace. -.SH SYNOPSIS -.B bitesize.d -.SH DESCRIPTION -This produces a report for the size of disk events caused by -processes. These are the disk events sent by the block I/O driver. - -If applications must use the disks, we generally prefer they do so -sequentially with large I/O sizes, or larger "bites". - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the io provider. -.SH EXAMPLES -.TP -Sample until Ctrl\-C is hit then print report, -# -.B bitesize.d -.PP -.SH FIELDS -.TP -PID -process ID -.TP -CMD -command and argument list -.TP -value -size in bytes -.TP -count -number of I/O operations -.PP -.SH NOTES -The application may be requesting smaller sized operations, which -are being rounded up to the nearest sector size or UFS block size. - -To analyse what the application is requesting, DTraceToolkit programs -such as Proc/fddist may help. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -bitesize.d will sample until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -iosnoop(1M), seeksize(1M), dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/connections.1m b/cddl/contrib/dtracetoolkit/Man/man1m/connections.1m deleted file mode 100644 index ea0285cc55ea..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/connections.1m +++ /dev/null @@ -1,77 +0,0 @@ -.TH connections 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -connections \- print inbound TCP connections by process. Uses DTrace. -.SH SYNOPSIS -.B connections -[\-htvZ] -.SH DESCRIPTION -This displays the PID and command name of the processes accepting -connections, along with the source IP address and destination port number - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -unstable - this script uses fbt provider probes which may change for -future updates of the OS, invalidating this script. Please read -Docs/Notes/ALLfbt_notes.txt for further details about these fbt scripts. -.SH OPTIONS -.TP -\-t -print timestamps, us -.TP -\-v -print timestamps, string -.TP -\-Z -print zonename -.PP -.SH EXAMPLES -.TP -snoop inbound connections -# -.B connections -.TP -snoop connections with time -# -.B connections -\-v -.PP -.SH FIELDS -.TP -UID -user ID of the server -.TP -PID -process ID of the server -.TP -CMD -server command name -.TP -TIME -timestamp, us -.TP -TIMESTR -timestamp, string -.TP -PORT -server port -.TP -IP_SOURCE -source IP of the client, written in IPv4 style -.TP -ZONE -zonename -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -connections will run until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M), snoop(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/cpudists.1m b/cddl/contrib/dtracetoolkit/Man/man1m/cpudists.1m deleted file mode 100644 index aeb29ca6a8f5..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/cpudists.1m +++ /dev/null @@ -1,86 +0,0 @@ -.TH cpudists 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -cpudists \- CPU distrib. by Kernel/Idle/Process. Uses DTrace. -.SH SYNOPSIS -.B cpudists -[\-ahV] [\-t top] [interval [count]] -.SH DESCRIPTION -cpudists prints the CPU time distributions consumed by the Kernel, -Idle threads and by Processes. - -This program is a variant on cputimes, and creates extra kernel load as -described in cputimes(1M). cpudists prints out a distribution report -(a quantize aggregation), such that the number of occurrences and -duration of each thread using the CPUs can be identified. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the sysinfo and sched providers. -.SH OPTIONS -.TP -\-a -print all processes -.TP -\-T -print totals -.TP -\-V -don't print timestamps -.TP -\-t num -print top num lines only -.SH EXAMPLES -.TP -Default, print Kernel/Idle/Process time, 1 x 1 second sample, -# -.B cpudists -.PP -.TP -Print every 1 second, -# -.B cpudists -1 -.PP -.TP -Print all processes every 10 seconds, -# -.B cpudists -\-a 10 -.PP -.TP -Print top 8 lines every 5 seconds, -# -.B cpudists -\-at 8 5 -.PP -.SH FIELDS -.TP -IDLE -Idle time - CPU running idle thread -.TP -KERNEL -Kernel time - Kernel servicing interrupts, ... -.TP -PROCESS -Process time - PIDs running on the system -.TP -value -Time in nanoseconds -.TP -count -Number of occurrences that were at least this duration (ns) -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -cpudists will run once, unless a count is specified. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M), vmstat(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/cputimes.1m b/cddl/contrib/dtracetoolkit/Man/man1m/cputimes.1m deleted file mode 100644 index bcafbb106589..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/cputimes.1m +++ /dev/null @@ -1,87 +0,0 @@ -.TH cputimes 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -cputimes \- print time by Kernel/Idle/Process. Uses DTrace. -.SH SYNOPSIS -.B cputimes -[\-ahTV] [\-t top] [interval [count]] -.SH DESCRIPTION -cputimes prints the CPU time consumed by the Kernel, Idle threads and -by Processes. - -This program accurately measures time consumed by the kernel, but in -doing so creates extra kernel load of it's own. This extra kernel -activity can be measured by running one cputimes and then another, and -comparing the difference in kernel consumed time. This method can be -used to estimate the load caused by other DTrace scripts. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the sysinfo and sched providers. -.SH OPTIONS -.TP -\-a -print all processes -.TP -\-T -print totals -.TP -\-V -don't print timestamps -.TP -\-t num -print top num lines only -.SH EXAMPLES -.TP -Default, print Kernel/Idle/Process time, 1 x 1 second sample, -# -.B cputimes -.PP -.TP -Print every 1 second, -# -.B cputimes -1 -.PP -.TP -Print all processes every 10 seconds, -# -.B cputimes -\-a 10 -.PP -.TP -Print top 8 lines every 5 seconds, -# -.B cputimes -\-at 8 5 -.PP -.SH FIELDS -.TP -THREADS -Either KERNEL, IDLE, PROCESS or process name. -.TP -IDLE -Idle time - CPU running idle thread -.TP -KERNEL -Kernel time - Kernel servicing interrupts, ... -.TP -PROCESS -Process time - PIDs running on the system -.TP -TIME (ns) -Sum of the CPU time, ns (nanoseconds) -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -cputimes will run once, unless a count is specified. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M), vmstat(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/cputypes.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/cputypes.d.1m deleted file mode 100644 index 82b6fecdccaa..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/cputypes.d.1m +++ /dev/null @@ -1,54 +0,0 @@ -.TH cputypes.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -cputypes.d \- list CPU types. Uses DTrace. -.SH SYNOPSIS -.B cputypes.d -.SH DESCRIPTION -This program lists CPU type information for the online CPUs -in the system. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable. -.SH EXAMPLES -.TP -List CPU types, -# -.B cputypes.d -.PP -.SH FIELDS -.TP -CPU -CPU ID -.TP -CHIP -chip ID -.TP -PSET -processor set ID -.TP -LGRP -latency group ID -.TP -CLOCK -clock speed, MHz -.TP -TYPE -CPU type -.TP -FPU -floating point identifier type -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -psrinfo(1M), dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/cpuwalk.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/cpuwalk.d.1m deleted file mode 100644 index 16874d988e39..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/cpuwalk.d.1m +++ /dev/null @@ -1,53 +0,0 @@ -.TH cpuwalk.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -cpuwalk.d \- Measure which CPUs a process runs on. Uses DTrace. -.SH SYNOPSIS -.B cpuwalk.d [duration] -.SH DESCRIPTION -This program is for multi-CPU servers, and can help identify if a process -is running on multiple CPUs concurrently or not. - -A duration may be specified in seconds. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Any -.SH STABILITY -stable. -.SH EXAMPLES -.TP -this runs until Ctrl\-C is hit, -# -.B cpuwalk.d -.PP -.TP -run for 5 seconds, -# -.B cpuwalk.d -5 -.PP -.SH FIELDS -.TP -PID -process ID -.TP -CMD -process name -.TP -value -CPU id -.TP -count -number of samples (sample at 100 hz) -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -cpuwalk.d will run until Ctrl\-C is hit, or the duration specified -is reached. -.SH SEE ALSO -threaded.d(1M), dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/crash.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/crash.d.1m deleted file mode 100644 index 368229b133ec..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/crash.d.1m +++ /dev/null @@ -1,81 +0,0 @@ -.TH crash.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -crash.d \- Crashed Application info. Uses DTrace. -.SH SYNOPSIS -.B crash.d -.SH DESCRIPTION -crash.d monitors for applications that crash. -When a crash via a SIGSEGV or SIGBUS is detected, a report of the -process state is printed out. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the proc provider, and uses /usr/bin/prun. -.SH FIELDS -.TP -Type -signal type -.TP -Program -execname of process -.TP -Args -argument listing of process -.TP -PID -process ID -.TP -TID -thread ID -.TP -LWPs -number of Light Weight Processes -.TP -PPID -parent process ID -.TP -UID -user ID -.TP -TaskID -task ID -.TP -ProjID -project ID -.TP -PoolID -pool ID -.TP -ZoneID -zone ID -.TP -zone -zone name -.TP -CWD -current working directory -.TP -errno -error number of last syscall -.PP -.SH EXAMPLES -.TP -Monitor for crashing applications. -# -.B crash.d -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -crash.d will run until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/creatbyproc.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/creatbyproc.d.1m deleted file mode 100644 index fe4f12363705..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/creatbyproc.d.1m +++ /dev/null @@ -1,55 +0,0 @@ -.TH creatbyproc.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -creatbyproc.d \- snoop creat()s by process name. Uses DTrace. -.SH SYNOPSIS -.B creatbyproc.d -.SH DESCRIPTION -creatbyproc.d is a DTrace OneLiner to print file creations as it -occurs, including the name of the process calling the open. - -This matches file creates from the creat() system call; not all -file creation occurs in this way, sometimes it is through open() -with a O_CREAT flag, this script will not monitor that activity. - -Docs/oneliners.txt and Docs/Examples/oneliners_examples.txt -in the DTraceToolkit contain this as a oneliner that can be cut-n-paste -to run. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the syscall provider. -.SH EXAMPLES -.TP -This prints process names and new pathnames until Ctrl\-C is hit. -# -.B creatbyproc.d -.PP -.SH FIELDS -.TP -CPU -The CPU that recieved the event -.TP -ID -A DTrace probe ID for the event -.TP -FUNCTION:NAME -The DTrace probe name for the event -.TP -remaining fields -The first is the name of the process, the second is the file pathname. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -creatbyproc.d will run forever until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/cswstat.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/cswstat.d.1m deleted file mode 100644 index 7256d5f315d9..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/cswstat.d.1m +++ /dev/null @@ -1,51 +0,0 @@ -.TH cswstat.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -cswstat.d \- context switch time stats. Uses DTrace. -.SH SYNOPSIS -.B cswstat.d -.SH DESCRIPTION -cswstat.d is a DTrace program to print context switch time -statistics. - -This program measures the time consumed during context switching, -and prints it with the number of context switches and the average -time. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the sched provider. -.SH EXAMPLES -.TP -Print statistics every second, -# -.B cswstat.d -.PP -.SH FIELDS -.TP -TIME -The current time -.TP -NUM -Number of context switches in this sample -.TP -CSWTIME -Total time consumed context switching, us -.TP -AVGTIME -Average time for each context switch, us -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -cswstat.d will run forever until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -mpstat(1M), dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/dappprof.1m b/cddl/contrib/dtracetoolkit/Man/man1m/dappprof.1m deleted file mode 100644 index de1b52a7fa2f..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/dappprof.1m +++ /dev/null @@ -1,98 +0,0 @@ -.TH dappprof 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -dappprof \- profile user and lib function usage. Uses DTrace. -.SH SYNOPSIS -.B dappprof -[\-acehoTU] [\-u lib] { \-p PID | command } -.SH DESCRIPTION -dappprof prints details on user and library call times for processes -as a summary style aggragation. By default the user fuctions are -traced, options can be used to trace library activity. Output can -include function counts, elapsed times and on cpu times. - -The elapsed times are interesting, to help identify functions -that take some time to complete (during which the process may -have slept). CPU time helps us identify syscalls that -are consuming CPU cycles to run. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the pid provider. -.SH OPTIONS -.TP -\-a -print all data -.TP -\-c -print function counts -.TP -\-e -print elapsed times, ns -.TP -\-o -print CPU times, ns -.TP -\-T -print totals -.TP -\-p PID -examine this PID -.TP -\-u lib -trace this library instead -.TP -\-U -trace all library and user functions -.PP -.SH EXAMPLES -.TP -run and examine the "df \-h" command, -# -.B dappprof -df \-h -.PP -.TP -print elapsed times, on-cpu times and counts for "df \-h", -# -.B dappprof --ceo df \-h -.TP -print elapsed times for PID 1871, -# -.B dappprof -\-p 1871 -.PP -.TP -print all data for PID 1871, -# -.B dappprof -\-ap 1871 -.PP -.SH FIELDS -.TP -CALL -Function call name -.TP -ELAPSED -Total elapsed time, nanoseconds -.TP -CPU -Total on-cpu time, nanoseconds -.TP -COUNT -Number of occurrences -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -dappprof will sample until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dapptrace(1M), dtrace(1M), apptrace(1) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/dapptrace.1m b/cddl/contrib/dtracetoolkit/Man/man1m/dapptrace.1m deleted file mode 100644 index c439f05380c8..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/dapptrace.1m +++ /dev/null @@ -1,112 +0,0 @@ -.TH dapptrace 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -dapptrace \- trace user and library function usage. Uses DTrace. -.SH SYNOPSIS -.B dapptrace -[\-acdeFlhoU] [\-u lib] { \-p PID | command } -.SH DESCRIPTION -dapptrace prints details on user and library function calls. By -default it traces user functions only, options can be used to -trace library activity. - -Of particular interest is the elapsed times and on cpu times, which -can identify both function calls that are slow to complete, and those -which are consuming CPU cycles. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the pid provider. -.SH OPTIONS -.TP -\-a -print all details -.TP -\-b bufsize -dynamic variable buffer size. Increase this if you notice dynamic -variable drop errors. The default is "4m" for 4 megabytes per CPU. -.TP -\-c -print function call counts -.TP -\-d -print relative timestamps, us -.TP -\-e -print elapsed times, us -.TP -\-F -print flow indentation -.TP -\-l -force printing of pid/lwpid per line -.TP -\-o -print on-cpu times, us -.TP -\-p PID -examine this PID -.TP -\-u lib -trace this library instead -.TP -\-U -trace all library and user functions -.PP -.SH EXAMPLES -.TP -run and examine the "df -h" command, -# -.B dapptrace -df -h -.PP -.TP -examine PID 1871, -# -.B dapptrace -\-p 1871 -.PP -.TP -print using flow indents, -# -.B dapptrace -\-Fp 1871 -.PP -.TP -print elapsed and CPU times, -# -.B dapptrace -\-eop 1871 -.PP -.SH FIELDS -.TP -PID/LWPID -Process ID / Lightweight Process ID -.TP -RELATIVE -relative timestamps to the start of the thread, us (microseconds) -.TP -ELAPSD -elapsed time for this system call, us -.TP -CPU -on-cpu time for this system call, us -.TP -CALL(args) -function call name, with some arguments in hexadecimal -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -dapptrace will run forever until Ctrl\-C is hit, or if a command was -executed dapptrace will finish when the command ends. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dappprof(1M), dtrace(1M), apptrace(1) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/dexplorer.1m b/cddl/contrib/dtracetoolkit/Man/man1m/dexplorer.1m deleted file mode 100644 index 10683a936542..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/dexplorer.1m +++ /dev/null @@ -1,64 +0,0 @@ -.TH dexplorer 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -dexplorer \- run a series of scripts and archive output. Uses DTrace. -.SH SYNOPSIS -.B dexplorer -.SH DESCRIPTION -This program automatically runs a collection of DTrace scripts to examine -many areas of the system, and places the output in a meaningful directory -structure that is tar'd and gzip'd. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -unstable - this script uses fbt provider probes which may change for -future updates of the OS, invalidating this script. Please read -Docs/Notes/ALLfbt_notes.txt for further details about these fbt scripts. -.SH OPTIONS -.TP -\-q -quiet mode -.TP -\-y -"yes", don't prompt for confirmation -.TP -\-D -don't delete output dir -.TP -\-T -don't create output tar.gz -.TP -\-d outputdir -output directory -.TP -\-i interval -interval for each sample -.PP -.SH EXAMPLES -.TP -Create output file in current directory, -# -.B dexplorer -.TP -Don't prompt -# -.B dexplorer -\-y -.TP -Leave expanded directories, don't archive and compress, -# -.B dexplorer -\-DT -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/diskhits.1m b/cddl/contrib/dtracetoolkit/Man/man1m/diskhits.1m deleted file mode 100644 index e8b9c57e1bcd..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/diskhits.1m +++ /dev/null @@ -1,46 +0,0 @@ -.TH diskhits 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -diskhits \- disk access by file offset. Uses DTrace. -.SH SYNOPSIS -.B diskhits pathname -.SH DESCRIPTION -This prints how a file was accessed, the locations on a distribution plot. -This is for the cache misses only - the file activity that resulted in -disk events. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the io provider. -.SH EXAMPLES -.TP -Sample /var/adm/messages disk activity, -# -.B diskhits /var/adm/messages -.PP -.SH FIELDS -.TP -Location (KB) -the file offset of the disk activity, Kbytes -.TP -Size (KB) -size of the disk activity, Kbytes -.TP -Total RW -Total disk activity, reads + writes -.PP -.SH BASED ON -/usr/demo/dtrace/applicat.d -.PP -.SH DOCUMENTATION -DTrace Guide "io Provider" chapter (docs.sun.com) - -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -diskhits will sample until Ctrl\-C is hit. -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/dispqlen.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/dispqlen.d.1m deleted file mode 100644 index dcc08200d8f9..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/dispqlen.d.1m +++ /dev/null @@ -1,36 +0,0 @@ -.TH dispqlen.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -dispqlen.d \- dispatcher queue length by CPU. Uses DTrace. -.SH SYNOPSIS -.B dispqlen.d -.SH DESCRIPTION -The dispatcher queue length is an indication of CPU saturation. -It is not an indicatior of utilisation - the CPUs may or may not be -utilised when the dispatcher queue reports a length of zero. - -This script measures this activity by sampling at 1000 Hertz per CPU. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -unstable - walks private kernel structs. -.SH EXAMPLES -.TP -Print dispatcher queue length by CPU. -# -.B dispqlen.d -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -dispqlen.d will sample until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -uptime(1), dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/dnlcps.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/dnlcps.d.1m deleted file mode 100644 index 482fd0747cc0..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/dnlcps.d.1m +++ /dev/null @@ -1,51 +0,0 @@ -.TH dnlcps.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -dnlcps.d \- DNLC stats by process. Uses DTrace. -.SH SYNOPSIS -.B dnlcps.d -.SH DESCRIPTION -The DNLC is the Directory Name Lookup Cache. Filename lookups often -return a hit from here, before needing to traverse the regular file -system cache or go to disk. - -dnlcps.d prints DNLC statistics by process. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -unstable - this script uses fbt provider probes which may change for -future updates of the OS, invalidating this script. Please read -Docs/Notes/ALLfbt_notes.txt for further details about these fbt scripts. -.SH EXAMPLES -.TP -Sample until Ctrl\-C is hit then print report, -# -.B dnlcps.d -.PP -.SH FIELDS -.TP -PID -process ID -.TP -CMD -command name -.TP -value -0 == miss, 1 == hit -.TP -count -number of occurrences -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -dnlcps.d will sample until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/dnlcsnoop.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/dnlcsnoop.d.1m deleted file mode 100644 index cd9ac7be9461..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/dnlcsnoop.d.1m +++ /dev/null @@ -1,52 +0,0 @@ -.TH dnlcsnoop.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -dnlcsnoop.d \- snoop DNLC activity. Uses DTrace. -.SH SYNOPSIS -.B dnlcsnoop.d -.SH DESCRIPTION -The DNLC is the Directory Name Lookup Cache. Filename lookups often -return a hit from here, before needing to traverse the regular file -system cache or go to disk. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -unstable - this script uses fbt provider probes which may change for -future updates of the OS, invalidating this script. Please read -Docs/Notes/ALLfbt_notes.txt for further details about these fbt scripts. -.SH EXAMPLES -.TP -Sample until Ctrl\-C is hit then print report, -# -.B dnlcsnoop.d -.PP -.SH FIELDS -.TP -PID -process ID -.TP -CMD -command name -.TP -TIME -Elapsed time for lookup, us -.TP -HIT -DNLC hit Y/N -.TP -PATH -Path for DNLC lookup -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -dnlcsnoop.d will sample until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/dnlcstat.1m b/cddl/contrib/dtracetoolkit/Man/man1m/dnlcstat.1m deleted file mode 100644 index 146c39dc1d96..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/dnlcstat.1m +++ /dev/null @@ -1,57 +0,0 @@ -.TH dnlcstat 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -dnlcstat \- DNLC statistics. Uses DTrace. -.SH SYNOPSIS -.B dnlcstat -[interval [count]] -.SH DESCRIPTION -The DNLC is the Directory Name Lookup Cache. Filename lookups often -return a hit from here, before needing to traverse the regular file -system cache or go to disk. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -unstable - this script uses fbt provider probes which may change for -future updates of the OS, invalidating this script. Please read -Docs/Notes/ALLfbt_notes.txt for further details about these fbt scripts. -.SH EXAMPLES -.TP -Print DNLC statistics every second, -# -.B dnlcstat -.TP -Print every 5 seconds, 6 times, -# -.B dnlcstat -5 6 -.PP -.SH FIELDS -.TP -%hit -hit percentage for this sample -.TP -hit -number of DNLC hits in this sample -.TP -miss -number of DNLC misses in this sample -.PP -.SH NOTES -See the CacheKit, http://www.brendangregg.com/cachekit.html for a version -of dnlcstat written in Perl (Kstat) that uses much less CPU. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -dnlcstat will run until Ctrl\-C is hit, or until the count argument -has been satisfied. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/dtruss.1m b/cddl/contrib/dtracetoolkit/Man/man1m/dtruss.1m deleted file mode 100644 index 7837f0e7b5ed..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/dtruss.1m +++ /dev/null @@ -1,123 +0,0 @@ -.TH dtruss 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -dtruss \- process syscall details. Uses DTrace. -.SH SYNOPSIS -.B dtruss -[\-acdeflhoLs] [\-t syscall] { \-p PID | \-n name | command } -.SH DESCRIPTION -dtruss prints details on process system calls. It is like a DTrace -version of truss, and has been designed to be less intrusive than -truss. - -Of particular interest is the elapsed times and on cpu times, which -can identify both system calls that are slow to complete, and those -which are consuming CPU cycles. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the syscall provider. -.SH OPTIONS -.TP -\-a -print all details -.TP -\-b bufsize -dynamic variable buffer size. Increase this if you notice dynamic -variable drop errors. The default is "4m" for 4 megabytes per CPU. -.TP -\-c -print system call counts -.TP -\-d -print relative timestamps, us -.TP -\-e -print elapsed times, us -.TP -\-f -follow children as they are forked -.TP -\-l -force printing of pid/lwpid per line -.TP -\-L -don't print pid/lwpid per line -.TP -\-n name -examine processes with this name -.TP -\-o -print on-cpu times, us -.TP -\-s -print stack backtraces -.TP -\-p PID -examine this PID -.TP -\-t syscall -examine this syscall only -.PP -.SH EXAMPLES -.TP -run and examine the "df -h" command -# -.B dtruss -df -h -.PP -.TP -examine PID 1871 -# -.B dtruss -\-p 1871 -.PP -.TP -examine all processes called "tar" -# -.B dtruss -\-n tar -.PP -.TP -run test.sh and follow children -# -.B dtruss -\-f test.sh -.TP -run the "date" command and print elapsed and on cpu times, -# -.B dtruss -\-eo date -.PP -.SH FIELDS -.TP -PID/LWPID -Process ID / Lightweight Process ID -.TP -RELATIVE -relative timestamps to the start of the thread, us (microseconds) -.TP -ELAPSD -elapsed time for this system call, us -.TP -CPU -on-cpu time for this system call, us -.TP -SYSCALL(args) -system call name, with arguments (some may be evaluated) -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -dtruss will run forever until Ctrl\-C is hit, or if a command was -executed dtruss will finish when the command ends. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -procsystime(1M), dtrace(1M), truss(1) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/dvmstat.1m b/cddl/contrib/dtracetoolkit/Man/man1m/dvmstat.1m deleted file mode 100644 index 20fa955e0d71..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/dvmstat.1m +++ /dev/null @@ -1,93 +0,0 @@ -.TH dvmstat 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -dvmstat \- vmstat by PID/name/command. Uses DTrace. -.SH SYNOPSIS -.B dvmstat -{ \-p PID | \-n name | command } -.SH DESCRIPTION -This program provides vmstat like data for one particular PID, a -process name, or when running a command. It prints statistics -every second. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the vminfo provider. -.SH OPTIONS -.TP -\-p PID -examine this Process ID -.TP -\-n name -examine processes with this name -.PP -.SH EXAMPLES -.TP -examine PID 1871, -# -.B dvmstat -\-p 1871 -.TP -examine processes called "tar", -# -.B dvmstat -\-n tar -.TP -run and examine "df -h", -# -.B dvmstat -df -h -.PP -.SH FIELDS -.TP -re -page reclaims, Kbytes -.TP -maj -major faults, Kbytes -.TP -mf -minor faults, Kbytes -.TP -fr -page frees, Kbytes -.TP -epi -executable page ins, Kbytes -.TP -epo -executable page outs, Kbytes -.TP -api -anonymous page ins, Kbytes -.TP -apo -anonymous page outs, Kbytes -.TP -fpi -filesystem page ins, Kbytes -.TP -fpo -filesystem page outs, Kbytes -.TP -sy -system calls, number -.PP -.SH NOTES -Most of the statistics are in units of kilobytes, unlike the -original vmstat command which sometimes uses pages. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -dvmstat will run until Ctrl\-C is hit, or the command it is -examining ends. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M), vmstat(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/errinfo.1m b/cddl/contrib/dtracetoolkit/Man/man1m/errinfo.1m deleted file mode 100644 index 6b63e5211192..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/errinfo.1m +++ /dev/null @@ -1,85 +0,0 @@ -.TH errinfo 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -errinfo \- print errno for syscall fails. Uses DTrace. -.SH SYNOPSIS -.B errinfo -[\-a|\-A|\-hsvZ] [\-c command] -.SH DESCRIPTION -errinfo snoops syscall failures and prints the errno value and -description of the error number. - -This program can help determine if applications are silently -failing, providing some details on the cause. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the syscall provider. -.SH OPTIONS -.TP -\-c -counts - print an aggregate style report containing a -frequency count of errors -.TP -\-p PID -examine this PID only -.TP -\-n name -examine processes with ths name only (eg, "ls") -.SH EXAMPLES -.TP -Default output, print errors as they occur, -# -.B errinfo -.PP -.TP -Print a frequency count report, -# -.B errinfo -\-c -.PP -.TP -Snoop errors as they occur for "ssh" processes, -# -.B errinfo -\-n ssh -PP -.TP -Snoop errors for PID 81 only, -# -.B errinfo -\-p 81 -.PP -.SH FIELDS -.TP -EXEC -Program name (truncated) -.TP -SYSCALL -System call name -.TP -ERR -Value of errno -.TP -DESC -Description of errno message -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -errinfo will run forever until Ctrl\-C is hit. -.SH FILES -.TP -/usr/include/sys/errno.h -Contains the full descriptions for the error numbers. -.PP -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M), truss(1) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/execsnoop.1m b/cddl/contrib/dtracetoolkit/Man/man1m/execsnoop.1m deleted file mode 100644 index a7114cec58d0..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/execsnoop.1m +++ /dev/null @@ -1,108 +0,0 @@ -.TH execsnoop 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -execsnoop \- snoop new process execution. Uses DTrace. -.SH SYNOPSIS -.B execsnoop -[\-a|\-A|\-ejhsvZ] [\-c command] -.SH DESCRIPTION -execsnoop prints details of new processes as they are executed. -Details such as UID, PID and argument listing are printed out. - -This program is very useful to examine short lived processes that would -not normally appear in a prstat or "ps -ef" listing. Sometimes -applications will run hundreds of short lived processes in their -normal startup cycle, a behaviour that is easily monitored with execsnoop. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the syscall provider. -.SH OPTIONS -.TP -\-a -print all data -.TP -\-A -dump all data, space delimited -.TP -\-e -safe output, parseable. This prevents the ARGS field containing "\\n"s, -to assist postprocessing. -.TP -\-j -print project ID -.TP -\-s -print start time, us -.TP -\-v -print start time, string -.TP -\-Z -print zonename -.TP -\-c command -command name to snoop -.SH EXAMPLES -.TP -Default output, print processes as they are executed, -# -.B execsnoop -.TP -Print human readable timestamps, -# -.B execsnoop -\-v -.TP -Print zonename, -# -.B execsnoop -\-Z -.TP -Snoop this command only, -# -.B execsnoop -\-f ls -.PP -.SH FIELDS -.TP -UID -User ID -.TP -PID -Process ID -.TP -PPID -Parent Process ID -.TP -COMM -command name for the process -.TP -ARGS -argument listing for the process -.TP -ZONE -zonename -.TP -PROJ -project ID -.TP -TIME -timestamp for the exec event, us -.TP -STRTIME -timestamp for the exec event, string -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -execsnoop will run forever until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M), truss(1) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/fddist.1m b/cddl/contrib/dtracetoolkit/Man/man1m/fddist.1m deleted file mode 100644 index 990d76174386..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/fddist.1m +++ /dev/null @@ -1,63 +0,0 @@ -.TH fddist 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -fddist \- file descriptor usage distributions. Uses DTrace. -.SH SYNOPSIS -.B fddist [\-r|\-w] -.SH DESCRIPTION -This prints distributions for read and write events by file descriptor, -by process. This can be used to determine which file descriptor a -process is doing the most I/O with. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the syscall provider. -.SH OPTIONS -.TP -\-r -reads only -.TP -\-w -writes only -.PP -.SH EXAMPLES -.TP -Sample both read and write activity, -# -.B fddist -.TP -Sample reads only, -# -.B fddist -\-r -.PP -.SH FIELDS -.TP -EXEC -process name -.TP -PID -process ID -.TP -value -file descriptor -.TP -count -number of events -.PP -.SH BASED ON -/usr/demo/dtrace/lquantize.d -.PP -.SH DOCUMENTATION -DTrace Guide "Aggregations" chapter (docs.sun.com) - -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -fddist will sample until Ctrl\-C is hit. -.SH SEE ALSO -dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/filebyproc.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/filebyproc.d.1m deleted file mode 100644 index 23b56481662b..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/filebyproc.d.1m +++ /dev/null @@ -1,56 +0,0 @@ -.TH filebyproc.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -filebyproc.d \- snoop opens by process name. Uses DTrace. -.SH SYNOPSIS -.B filebyproc.d -.SH DESCRIPTION -filebyproc.d is a DTrace OneLiner to print file pathnames as they are -opened, including the name of the process calling the open. -A line will be printed regardless of whether the open is actually -successful or not. - -This is useful to learn which files applications are attempting to -open, such as config files, database files, log files, etc. - -Docs/oneliners.txt and Docs/Examples/oneliners_examples.txt -in the DTraceToolkit contain this as a oneliner that can be cut-n-paste -to run. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the syscall provider. -.SH EXAMPLES -.TP -This prints new process name and pathnames until Ctrl\-C is hit. -# -.B filebyproc.d -.PP -.SH FIELDS -.TP -CPU -The CPU that recieved the event -.TP -ID -A DTrace probe ID for the event -.TP -FUNCTION:NAME -The DTrace probe name for the event -.TP -remaining fields -The first is the name of the process, the second is the file pathname. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -filebyproc.d will run forever until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -opensnoop(1M), dtrace(1M), truss(1) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/fspaging.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/fspaging.d.1m deleted file mode 100644 index 6911ac5582dd..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/fspaging.d.1m +++ /dev/null @@ -1,88 +0,0 @@ -.TH fspaging.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -fspaging.d \- file system read/write and paging tracing. Uses DTrace. -.SH SYNOPSIS -.B fspaging.d -.SH DESCRIPTION -This traces file related activity: system call reads and writes, -vnode logical read and writes (fop), vnode putpage and getpage activity, -and disk I/O. It can be used to examine the behaviour of each I/O -layer, from the syscall interface to what the disk is doing. Behaviour -such as read-ahead, and max I/O size breakup can be observed. - -This is a verbose version of fsrw.d, as this also traces paging activity. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -unstable - this script uses fbt provider probes which may change for -future updates of the OS, invalidating this script. Please read -Docs/Notes/ALLfbt_notes.txt for further details about these fbt scripts. -.SH EXAMPLES -.TP -Trace file system read/write/paging events, -# -.B fspaging.d -.PP -.SH FIELDS -.TP -Event -traced event (see EVENTS below) -.TP -Device -device, for disk I/O -.TP -RW -either Read or Write -.TP -Size -size of I/O in bytes -.TP -Offset -offset of I/O in kilobytes -.TP -Path -path to file on disk -.PP -.SH EVENTS -.TP -sc-read -system call read -.TP -sc-write -system call write -.TP -fop_read -logical read -.TP -fop_write -logical write -.TP -fop_getpage -logical get page -.TP -fop_putpage -logical put page -.TP -disk_io -physical disk I/O -.TP -disk_ra -physical disk I/O, read ahead -.PP -.SH IDEA -Richard McDougall, Solaris Internals 2nd Ed, FS Chapter. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -fspaging.d will trace until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -fsrw.d(1M), dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/fsrw.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/fsrw.d.1m deleted file mode 100644 index 4389c211f063..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/fsrw.d.1m +++ /dev/null @@ -1,80 +0,0 @@ -.TH fsrw.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -fsrw.d \- file system read/write event tracing. Uses DTrace. -.SH SYNOPSIS -.B fsrw.d -.SH DESCRIPTION -This traces file related activity: system call reads and writes, -vnode logical read and writes (fop), and disk I/O. It can be used -to examine the behaviour of each I/O layer, from the syscall -interface to what the disk is doing. Behaviour such as read-ahead, and -max I/O size breakup can be observed. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -unstable - this script uses fbt provider probes which may change for -future updates of the OS, invalidating this script. Please read -Docs/Notes/ALLfbt_notes.txt for further details about these fbt scripts. -.SH EXAMPLES -.TP -Trace file system read/write events, -# -.B fsrw.d -.PP -.SH FIELDS -.TP -Event -traced event (see EVENTS below) -.TP -Device -device, for disk I/O -.TP -RW -either Read or Write -.TP -Size -size of I/O in bytes -.TP -Offset -offset of I/O in kilobytes -.TP -Path -path to file on disk -.PP -.SH EVENTS -.TP -sc-read -system call read -.TP -sc-write -system call write -.TP -fop_read -logical read -.TP -fop_write -logical write -.TP -disk_io -physical disk I/O -.TP -disk_ra -physical disk I/O, read ahead -.PP -.SH IDEA -Richard McDougall, Solaris Internals 2nd Ed, FS Chapter. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -fsrw.d will trace until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -fspaging.d(1M), dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/guess.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/guess.d.1m deleted file mode 100644 index 4c6d2e2ea472..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/guess.d.1m +++ /dev/null @@ -1,37 +0,0 @@ -.TH guess.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -guess.d \- guessing game. Uses DTrace. -.SH SYNOPSIS -.B guess.d -.SH DESCRIPTION -This is written to demonstrate this language versus the same program -written in other languages. - -See http://www.brendangregg.com/guessinggame.html - -It exists in the DTraceToolkit as a curiosity, rather than something -actually useful. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the syscall provider. -.SH EXAMPLES -.TP -Play the game, -# -.B guess.d -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -guess.d will only exit when you win the game. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/hotkernel.1m b/cddl/contrib/dtracetoolkit/Man/man1m/hotkernel.1m deleted file mode 100644 index 49772b6ae1ee..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/hotkernel.1m +++ /dev/null @@ -1,39 +0,0 @@ -.TH hotkernel 1m "$Date:: 2007-09-24 #$" "USER COMMANDS" -.SH NAME -hotkernel - sample on-CPU kernel-level functions and modules. -.SH SYNOPSIS -.B hotkernel -[\-hm] -.SH DESCRIPTION -This samples the on-CPU function at 1001 Hertz, for a simple yet -effective kernel-level profiling tool for sampling exclusive function time. -The output will identify which function is on the CPU the most - which is -the hottest. See Notes/ALLexclusive_notes.txt for an explanation of -exclusive time. -.SH OS -Solaris -.SH STABILITY -stable - Written using Perl and DTrace (Solaris 10 03/05) -.SH EXAMPLES -.TP -Sample kernel functions, -# -.B hotkernel -.PP -.TP -Sample kernel modules, -# -.B hotkernel -\-m -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -hotkernel will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M), hotuser(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/hotspot.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/hotspot.d.1m deleted file mode 100644 index a99a589cc92d..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/hotspot.d.1m +++ /dev/null @@ -1,51 +0,0 @@ -.TH hotspot.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -hotspot.d \- print disk event by location. Uses DTrace. -.SH SYNOPSIS -.B hotspot.d -.SH DESCRIPTION -hotspot.d is a simple DTrace script to determine if disk activity is -occuring in the one place - a "hotspot". This helps us understand the -system's usage of a disk, it does not imply that the existance or not -of a hotspot is good or bad (often may be good, less seeking). - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the io provider. -.SH EXAMPLES -.TP -Sample until Ctrl\-C is hit then print report, -# -.B hotspot.d -.PP -.SH FIELDS -.TP -Disk -disk instance name -.TP -Major -driver major number -.TP -Minor -driver minor number -.TP -value -location of disk event, megabytes -.TP -count -number of events -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -hotspot.d will sample until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/hotuser.1m b/cddl/contrib/dtracetoolkit/Man/man1m/hotuser.1m deleted file mode 100644 index ab26523755cc..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/hotuser.1m +++ /dev/null @@ -1,44 +0,0 @@ -.TH hotuser 1m "$Date:: 2007-09-24 #$" "USER COMMANDS" -.SH NAME -hotuser - sample on-CPU user-level functions and libraries. -.SH SYNOPSIS -.B hotuser -[\-hl] { \-c command | \-p PID } -.SH DESCRIPTION -This samples the on-CPU function at 1001 Hertz, for a simple yet -effective user-level profiling tool for sampling exclusive function time. -The output will identify which function is on the CPU the most - which -is the hottest. See Notes/ALLexclusive_notes.txt for an explanation of -exclusive time. -.SH OS -Solaris -.SH STABILITY -stable - Written using Perl and DTrace (Solaris 10 03/05) -.SH EXAMPLES -.TP -Sample user functions from PID 81, -# -.B hotuser -\-p 81 -.TP -Sample user libraries from PID 81, -# -.B hotuser -\-lp 81 -.TP -Sample Xorg, -# -.B hotuser -`pgrep \-n Xorg` -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -hotuser will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M), hotkernel(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/httpdstat.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/httpdstat.d.1m deleted file mode 100644 index 5dd0a3fa96a9..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/httpdstat.d.1m +++ /dev/null @@ -1,67 +0,0 @@ -.TH httpdstat.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -httpdstat.d \- realtime httpd statistics. Uses DTrace. -.SH SYNOPSIS -.B httpdstat.d -[interval [count]] -.SH DESCRIPTION -This prints connection statistics for "httpd" processes, such as those -from an Apache web server. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the syscall provider. -.SH EXAMPLES -.TP -Print statistics every second, -# -.B httpdstat.d -.TP -Print every 5 seconds, 6 times, -# -.B httpdstat.d -5 6 -.PP -.SH FIELDS -.TP -TIME -time, string -.TP -NUM -number of connections -.TP -GET -number of GETs -.TP -POST -number of POSTs -.TP -HEAD -number of HEADs -.TP -TRACE -number of TRACEs -.PP -.SH NOTES -All statistics are printed as a value per interval. - -This version does not process subsequent operations on keepalives. -.PP -.SH IDEA -Ryan Matteson -(who first wrote a solution to this). -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -httpdstat.d will run until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/icmpstat.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/icmpstat.d.1m deleted file mode 100644 index be4b87ae9f97..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/icmpstat.d.1m +++ /dev/null @@ -1,47 +0,0 @@ -.TH icmpstat.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -icmpstat.d \- print ICMP statistics. Uses DTrace. -.SH SYNOPSIS -.B icmpstat.d -.SH DESCRIPTION -icmpstat.d is a DTrace program to print ICMP statistics every second, -retrieved from the MIB provider. This is a simple script to demonstrate the -ability to trace ICMP events. - -The ICMP statistics are documented in the mib2_icmp struct -in /usr/include/inet/mib2.h; and also in the mib provider -chapter of the DTrace Guide, found at -http://docs.sun.com/db/doc/817-6223. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the mib provider. -.SH EXAMPLES -.TP -Print statistics every second, -# -.B icmpstat.d -.PP -.SH FIELDS -.TP -STATISTIC -ICMP statistic name -.TP -VALUE -total of statistic during sample -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -icmpstat.d will run forever until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/intbycpu.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/intbycpu.d.1m deleted file mode 100644 index 79314dc4c268..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/intbycpu.d.1m +++ /dev/null @@ -1,48 +0,0 @@ -.TH intbycpu.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -intbycpu.d \- interrupts by CPU. Uses DTrace. -.SH SYNOPSIS -.B intbycpu.d -.SH DESCRIPTION -intbycpu.d is based on a DTrace OneLiner to a report of the number of -interrupts by CPU. - -The intrstat(1M) command can be used for further analysis -of interrputs. - -Docs/oneliners.txt and Docs/Examples/oneliners_examples.txt -in the DTraceToolkit contain this as a oneliner that can be cut-n-paste -to run. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the sdt provider interrupt probes. -.SH EXAMPLES -.TP -This samples until Ctrl\-C is hit. -# -.B intbycpu.d -.PP -.SH FIELDS -.TP -CPU -This is the CPU id. -.TP -INTERRUPTS -This is the number of interrputs received in the sample. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -intbycpu.d will sample until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -intrstat(1M), dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/intoncpu.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/intoncpu.d.1m deleted file mode 100644 index ec52b815236d..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/intoncpu.d.1m +++ /dev/null @@ -1,42 +0,0 @@ -.TH intoncpu.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -intoncpu.d \- print interrput on-cpu usage. Uses DTrace. -.SH SYNOPSIS -.B intoncpu.d -.SH DESCRIPTION -This prints a distribution of the on-cpu time for interrput threads. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the sdt provider interrupt probes. -.SH EXAMPLES -.TP -This samples until Ctrl\-C is hit. -# -.B intoncpu.d -.PP -.SH FIELDS -.TP -value -Time interrupt thread was on-cpu, ns -.TP -count -Number of occurrences of at least this time -.PP -.SH BASED ON -/usr/demo/dtrace/intr.d -.PP -.SH DOCUMENTATION -DTrace Guide "sdt Provider" chapter (docs.sun.com) - -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -intoncpu.d will sample until Ctrl\-C is hit. -.SH SEE ALSO -intrstat(1M), dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/inttimes.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/inttimes.d.1m deleted file mode 100644 index bc6d989aafdc..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/inttimes.d.1m +++ /dev/null @@ -1,43 +0,0 @@ -.TH inttimes.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -inttimes.d \- print interrput on-cpu time total. Uses DTrace. -.SH SYNOPSIS -.B inttimes.d -.SH DESCRIPTION -This prints the total time each driver instance has spent servicing -interrupts. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the sdt provider interrupt probes. -.SH EXAMPLES -.TP -This samples until Ctrl\-C is hit. -# -.B inttimes.d -.PP -.SH FIELDS -.TP -DEVICE -instance name of the device driver -.TP -TIME (ns) -sum of time spent servicing interrupt (nanoseconds) -.PP -.SH BASED ON -/usr/demo/dtrace/intr.d -.PP -.SH DOCUMENTATION -DTrace Guide "sdt Provider" chapter (docs.sun.com) - -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -inttimes.d will sample until Ctrl\-C is hit. -.SH SEE ALSO -intrstat(1M), dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/iofile.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/iofile.d.1m deleted file mode 100644 index fd3016dd5674..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/iofile.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH iofile.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -iofile.d \- I/O wait time by file and process. Uses DTrace. -.SH SYNOPSIS -.B iofile.d -.SH DESCRIPTION -This prints the total I/O wait times for each filename by process. -This can help determine why an application is performing poorly by -identifying which file they are waiting on, and the total times. -Both disk and NFS I/O are measured. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the io provider. -.SH EXAMPLES -.TP -Sample until Ctrl\-C is hit then print report, -# -.B iofile.d -.PP -.SH FIELDS -.TP -PID -process ID -.TP -CMD -process name -.TP -TIME -total wait time for disk events, us -.TP -FILE -file pathname -.PP -.SH BASED ON -/usr/demo/dtrace/iocpu.d -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -iofile.d will sample until Ctrl\-C is hit. -.SH SEE ALSO -iosnoop(1M), dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/iofileb.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/iofileb.d.1m deleted file mode 100644 index 56ca3acc83a2..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/iofileb.d.1m +++ /dev/null @@ -1,46 +0,0 @@ -.TH iofileb.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -iofileb.d \- I/O bytes by file and process. Uses DTrace. -.SH SYNOPSIS -.B iofileb.d -.SH DESCRIPTION -This prints a summary of requested disk activity by pathname, -providing totals of the I/O events in bytes. It is a companion to the -iofile.d script - which prints in terms of I/O wait time, not bytes. -I/O wait time is a better metric for understanding performance issues. -Both disk and NFS I/O are measured. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the io provider. -.SH EXAMPLES -.TP -Sample until Ctrl\-C is hit then print report, -# -.B iofileb.d -.PP -.SH FIELDS -.TP -PID -process ID -.TP -CMD -process name -.TP -KB -kilobytes of disk I/O -.TP -FILE -file pathname -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -iofileb.d will sample until Ctrl\-C is hit. -.SH SEE ALSO -iofile.d(1M), iosnoop(1M), dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/iopattern.1m b/cddl/contrib/dtracetoolkit/Man/man1m/iopattern.1m deleted file mode 100644 index 6898f82672a9..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/iopattern.1m +++ /dev/null @@ -1,112 +0,0 @@ -.TH iopattern 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -iopattern \- print disk I/O pattern. Uses DTrace. -.SH SYNOPSIS -.B iopattern -[\-v] [\-d device] [\-f filename] [\-m mount_point] [interval [count]] -.SH DESCRIPTION -This prints details on the I/O access pattern for the disks, such as -percentage of events that were of a random or sequential nature. -By default totals for all disks are printed. - -An event is considered random when the heads seek. This program prints -the percentage of events that are random. The size of the seek is not -measured - it's either random or not. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the io provider. -.SH OPTIONS -.TP -\-v -print timestamp, string -.TP -\-d device -instance name to snoop (eg, dad0) -.TP -\-f filename -full pathname of file to snoop -.TP -\-m mount_point -mountpoint for filesystem to snoop -.SH EXAMPLES -.TP -Default output, print I/O summary every 1 second, -# -.B iopattern -.PP -.TP -Print 10 second samples, -# -.B iopattern -10 -.PP -.TP -Print 12 x 5 second samples, -# -.B iopattern -5 12 -.PP -.TP -Snoop events on the root filesystem only, -# -.B iopattern -\-m / -.PP -.SH FIELDS -.TP -%RAN -percentage of events of a random nature -.TP -%SEQ -percentage of events of a sequential nature -.TP -COUNT -number of I/O events -.TP -MIN -minimum I/O event size -.TP -MAX -maximum I/O event size -.TP -AVG -average I/O event size -.TP -KR -total kilobytes read during sample -.TP -KW -total kilobytes written during sample -.TP -DEVICE -device name -.TP -MOUNT -mount point -.TP -FILE -filename (basename) for I/O operation -.TP -TIME -timestamp, string -.PP -.SH IDEA -Ryan Matteson -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -iopattern will run forever until Ctrl\-C is hit, or the -specified count is reached. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -iosnoop(1M), iotop(1M), dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/iopending.1m b/cddl/contrib/dtracetoolkit/Man/man1m/iopending.1m deleted file mode 100644 index c31d967e6eef..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/iopending.1m +++ /dev/null @@ -1,89 +0,0 @@ -.TH iopending 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -iopending \- plot number of pending disk events. Uses DTrace. -.SH SYNOPSIS -.B iopending -[\-c] [\-d device] [\-f filename] [\-m mount_point] [interval [count]] -.SH DESCRIPTION -This samples the number of disk events that are pending and plots a -distribution graph. By doing this the -"serialness" or "parallelness" of disk behaviour can be distinguished. -A high occurance of a pending value of more than 1 is an indication of -saturation. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the io provider. -.SH OPTIONS -.TP -\-c -clear screen -.TP -\-d device -instance name to snoop (eg, dad0) -.TP -\-f filename -full pathname of file to snoop -.TP -\-m mount_point -mountpoint for filesystem to snoop -.SH EXAMPLES -.TP -Default output, print I/O summary every 1 second, -# -.B iopending -.PP -.TP -Print 10 second samples, -# -.B iopending -10 -.PP -.TP -Print 12 x 5 second samples, -# -.B iopending -5 12 -.PP -.TP -Snoop events on the root filesystem only, -# -.B iopending -\-m / -.PP -.SH FIELDS -.TP -value -number of pending events, 0 == idle -.TP -count -number of samples @ 1000 Hz -.TP -load -1 min load average -.TP -disk_r -total disk read Kb for sample -.TP -disk_w -total disk write Kb for sample -.PP -.SH IDEA -Dr Rex di Bona -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -iopending will run forever until Ctrl\-C is hit, or the -specified count is reached. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -iosnoop(1M), iotop(1M), dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/iosnoop.1m b/cddl/contrib/dtracetoolkit/Man/man1m/iosnoop.1m deleted file mode 100644 index 6e9058dabf3a..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/iosnoop.1m +++ /dev/null @@ -1,167 +0,0 @@ -.TH iosnoop 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -iosnoop \- snoop I/O events as they occur. Uses DTrace. -.SH SYNOPSIS -.B iosnoop -[\-a|\-A|\-Deghinostv] [\-d device] [\-f filename] [\-m mount_point] -[\-n name] [\-p PID] -.SH DESCRIPTION -iosnoop prints I/O events as they happen, with useful details such -as UID, PID, block number, size, filename, etc. - -This is useful to determine the process responsible for -using the disks, as well as details on what activity the process -is requesting. Behaviour such as random or sequential I/O can -be observed by reading the block numbers. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the io provider. -.SH OPTIONS -.TP -\-a -print all data -.TP -\-A -dump all data, space delimited -.TP -\-D -print time delta, us (elapsed) -.TP -\-e -print device name -.TP -\-i -print device instance -.TP -\-n -print major and minor numbers -.TP -\-o -print disk delta time, us -.TP -\-s -print start time, us -.TP -\-t -print completion time, us -.TP -\-v -print completion time, string -.TP -\-d device -instance name to snoop (eg, dad0) -.TP -\-f filename -full pathname of file to snoop -.TP -\-m mount_point -mountpoint for filesystem to snoop -.TP -\-n name -process name -.TP -\-p PID -process ID -.PP -.SH EXAMPLES -.TP -Default output, print I/O activity as it occurs, -# -.B iosnoop -.PP -.TP -Print human readable timestamps, -# -.B iosnoop -\-v -.PP -.TP -Print major and minor numbers, -# -.B iosnoop -\-n -.PP -.TP -Snoop events on the root filesystem only, -# -.B iosnoop -\-m / -.PP -.SH FIELDS -.TP -UID -User ID -.TP -PID -Process ID -.TP -PPID -Parent Process ID -.TP -COMM -command name for the process -.TP -ARGS -argument listing for the process -.TP -SIZE -size of the operation, bytes -.TP -BLOCK -disk block for the operation (location. relative to this filesystem. -more useful with the -n option to print major and minor numbers) -.TP -STIME -timestamp for the disk request, us -.TP -TIME -timestamp for the disk completion, us -.TP -DELTA -elapsed time from request to completion, us (this is the elapsed -time from the disk request (strategy) to the disk completion (iodone)) -.TP -DTIME -time for disk to complete request, us (this is the time for the -disk to complete that event since it's last event (time between iodones), -or, the time to the strategy if the disk had been idle) -.TP -STRTIME -timestamp for the disk completion, string -.TP -DEVICE -device name -.TP -INS -device instance number -.TP -D -direction, Read or Write -.TP -MOUNT -mount point -.TP -FILE -filename (basename) for I/O operation -.PP -.SH NOTES -When filtering on PID or process name, be aware that poor disk event -times may be due to events that have been filtered away, for example -another process that may be seeking the disk heads elsewhere. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -iosnoop will run forever until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -iotop(1M), dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/iotop.1m b/cddl/contrib/dtracetoolkit/Man/man1m/iotop.1m deleted file mode 100644 index 80522436ec84..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/iotop.1m +++ /dev/null @@ -1,154 +0,0 @@ -.TH iotop 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -iotop \- display top disk I/O events by process. Uses DTrace. -.SH SYNOPSIS -.B iotop -[\-C] [\-D|\-o|\-P] [\-j|\-Z] [\-d device] [\-f filename] -[\-m mount_point] [\-t top] [interval [count]] -.SH DESCRIPTION -iotop tracks disk I/O by process, and prints a summary report that -is refreshed every interval. - -This is measuring disk events that have made it past system caches. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the io provider. -.SH OPTIONS -.TP -\-C -don't clear the screen -.TP -\-D -print delta times - elapsed, us -.TP -\-j -print project ID -.TP -\-o -print disk delta times, us -.TP -\-P -print %I/O (disk delta times) -.TP -\-Z -print zone ID -.TP -\-d device -instance name to snoop (eg, dad0) -.TP -\-f filename -full pathname of file to snoop -.TP -\-m mount_point -mountpoint for filesystem to snoop -.TP -\-t top -print top number only -.PP -.SH EXAMPLES -.TP -Default output, print summary every 5 seconds -# -.B iotop -.PP -.TP -One second samples, -# -.B iotop -1 -.PP -.TP -print %I/O (time based), -# -.B iotop -\-P -.PP -.TP -Snoop events on the root filesystem only, -# -.B iotop -\-m / -.TP -Print top 20 lines only, -# -.B iotop -\-t 20 -.TP -Print 12 x 5 second samples, scrolling, -# -.B iotop -\-C 5 12 -.PP -.SH FIELDS -.TP -UID -user ID -.TP -PID -process ID -.TP -PPID -parent process ID -.TP -PROJ -project ID -.TP -ZONE -zone ID -.TP -CMD -command name for the process -.TP -DEVICE -device name -.TP -MAJ -device major number -.TP -MIN -device minor number -.TP -D -direction, Read or Write -.TP -BYTES -total size of operations, bytes -.TP -ELAPSED -total elapsed times from request to completion, us (this is the elapsed -time from the disk request (strategy) to the disk completion (iodone)) -.TP -DISKTIME -total times for disk to complete request, us (this is the time for the -disk to complete that event since it's last event (time between iodones), -or, the time to the strategy if the disk had been idle) -.TP -%I/O -percent disk I/O, based on time (DISKTIME) -.TP -load -1 minute load average -.TP -disk_r -total disk read Kb for sample -.TP -disk_w -total disk write Kb for sample -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -iotop will run forever until Ctrl\-C is hit, or the specified -interval is reached. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -iosnoop(1M), dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/j_calldist.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/j_calldist.d.1m deleted file mode 100644 index d78ce8591b75..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/j_calldist.d.1m +++ /dev/null @@ -1,48 +0,0 @@ -.TH j_calldist.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -j_calldist.d - measure Java elapsed times for different types of operation. -.SH SYNOPSIS -.B j_calldist.d -[top] -.SH DESCRIPTION -This traces activity from all Java processes on the system with hotspot -provider support (1.6.0). Method calls are only visible when using the -flag "+ExtendedDTraceProbes". eg, java -XX:+ExtendedDTraceProbes classfile - -The "top" optional argument will truncate the output for each report -section to that many lines, with a default of 10. -.SH OS -Solaris -.SH STABILITY -Evolving - uses the DTrace hotspot provider, which may change -as additional features are introduced. Check Java/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B j_calldist.d -.PP -.SH FIELDS -.TP -1 -Process ID -.TP -2 -Type of call (method/gc) -.TP -3 -Name of call -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -j_calldist.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/j_calls.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/j_calls.d.1m deleted file mode 100644 index e89fb8e53961..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/j_calls.d.1m +++ /dev/null @@ -1,57 +0,0 @@ -.TH j_calls.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -j_calls.d - count Java calls (method/...) using DTrace. -.SH SYNOPSIS -.B j_calls.d - -.SH DESCRIPTION -This traces activity from all Java processes on the system with hotspot -provider support (1.6.0). Method calls and object allocation are only -visible when using the flag "+ExtendedDTraceProbes". eg, -java -XX:+ExtendedDTraceProbes classfile - -TYPEs: -cload class load -method method call -mcompile method compile -mload compiled method load -oalloc object alloc -thread thread start -.SH OS -Solaris -.SH STABILITY -Evolving - uses the DTrace hotspot provider, which may change -as additional features are introduced. Check Java/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B j_calls.d -.PP -.SH FIELDS -.TP -PID -Process ID -.TP -TYPE -Type of call (see below) -.TP -NAME -Name of call -.TP -COUNT -Number of calls during sample -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -j_calls.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/j_calltime.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/j_calltime.d.1m deleted file mode 100644 index 479dc5bfb48e..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/j_calltime.d.1m +++ /dev/null @@ -1,51 +0,0 @@ -.TH j_calltime.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -j_calltime.d - measure Java elapsed times for different types of operation. -.SH SYNOPSIS -.B j_calltime.d -[top] -.SH DESCRIPTION -This traces activity from all Java processes on the system with hotspot -provider support (1.6.0). Method calls are only visible when using the -flag "+ExtendedDTraceProbes". eg, java -XX:+ExtendedDTraceProbes classfile - -The "top" optional argument will truncate the output for each report -section to that many lines, with a default of 10. -.SH OS -Solaris -.SH STABILITY -Evolving - uses the DTrace hotspot provider, which may change -as additional features are introduced. Check Java/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B j_calltime.d -.PP -.SH FIELDS -.TP -PID -Process ID -.TP -TYPE -Type of call (method/gc/total) -.TP -NAME -Name of call -.TP -TOTAL -Total elapsed time for calls (us) -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -j_calltime.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/j_classflow.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/j_classflow.d.1m deleted file mode 100644 index af9d06c1a38b..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/j_classflow.d.1m +++ /dev/null @@ -1,63 +0,0 @@ -.TH j_classflow.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -j_classflow.d - trace a Java class method flow using DTrace. -.SH SYNOPSIS -.B j_classflow.d -classname -.SH DESCRIPTION -This traces activity from all Java processes on the system with hotspot -provider support (1.6.0) and the flag "+ExtendedDTraceProbes". eg, -java -XX:+ExtendedDTraceProbes classfile - -This watches Java method entries and returns, and indents child -method calls. -.SH OS -Solaris -.SH STABILITY -Evolving - uses the DTrace hotspot provider, which may change -as additional features are introduced. Check Java/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B j_classflow.d -.PP -.SH FIELDS -.TP -C -CPU-id -.TP -TIME(us) -Time since boot, us -.TP -PID -Process ID -.TP -CLASS.METHOD -Java class and method name -.SH LEGEND -.TP -\-> -method entry -.TP -<\- -method return -.SH WARNING -Watch the first column carefully, it prints the CPU-id. If it -changes, then it is very likely that the output has been shuffled. -Changes in TID will appear to shuffle output, as we change from one thread -depth to the next. See Docs/Notes/ALLjavaflow.txt for additional notes. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -j_classflow.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/j_cpudist.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/j_cpudist.d.1m deleted file mode 100644 index 37fe5f04fc3b..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/j_cpudist.d.1m +++ /dev/null @@ -1,48 +0,0 @@ -.TH j_cpudist.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -j_cpudist.d - measure Java on-CPU times for different types of operation. -.SH SYNOPSIS -.B j_cpudist.d -[top] -.SH DESCRIPTION -This traces activity from all Java processes on the system with hotspot -provider support (1.6.0). Method calls are only visible when using the -flag "+ExtendedDTraceProbes". eg, java -XX:+ExtendedDTraceProbes classfile - -The "top" optional argument will truncate the output for each report -section to that many lines, with a default of 10. -.SH OS -Solaris -.SH STABILITY -Evolving - uses the DTrace hotspot provider, which may change -as additional features are introduced. Check Java/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B j_cpudist.d -.PP -.SH FIELDS -.TP -1 -Process ID -.TP -2 -Type of call (method/gc) -.TP -3 -Name of call -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -j_cpudist.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/j_cputime.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/j_cputime.d.1m deleted file mode 100644 index a0e767aedccb..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/j_cputime.d.1m +++ /dev/null @@ -1,51 +0,0 @@ -.TH j_cputime.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -j_cputime.d - measure Java on-CPU times for different types of operation. -.SH SYNOPSIS -.B j_cputime.d -[top] -.SH DESCRIPTION -This traces activity from all Java processes on the system with hotspot -provider support (1.6.0). Method calls are only visible when using the -flag "+ExtendedDTraceProbes". eg, java -XX:+ExtendedDTraceProbes classfile - -The "top" optional argument will truncate the output for each report -section to that many lines, with a default of 10. -.SH OS -Solaris -.SH STABILITY -Evolving - uses the DTrace hotspot provider, which may change -as additional features are introduced. Check Java/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B j_cputime.d -.PP -.SH FIELDS -.TP -PID -Process ID -.TP -TYPE -Type of call (method/gc/total) -.TP -NAME -Name of call -.TP -TOTAL -Total on-CPU time for calls (us) -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -j_cputime.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/j_events.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/j_events.d.1m deleted file mode 100644 index 6df009b2a7a4..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/j_events.d.1m +++ /dev/null @@ -1,46 +0,0 @@ -.TH j_events.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -j_events.d - count Java events using DTrace. -.SH SYNOPSIS -.B j_events.d - -.SH DESCRIPTION -This traces activity from all Java processes on the system with hotspot -provider support (1.6.0). Some events such as method calls are only -visible when using the flag "+ExtendedDTraceProbes". eg, -java -XX:+ExtendedDTraceProbes classfile -.SH OS -Solaris -.SH STABILITY -Evolving - uses the DTrace hotspot provider, which may change -as additional features are introduced. Check Java/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B j_events.d -.PP -.SH FIELDS -.TP -PID -Process ID -.TP -EVENT -Event name (DTrace probe name) -.TP -COUNT -Number of calls during sample -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -j_events.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/j_flow.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/j_flow.d.1m deleted file mode 100644 index 579e68186c0a..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/j_flow.d.1m +++ /dev/null @@ -1,63 +0,0 @@ -.TH j_flow.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -j_flow.d - snoop Java execution showing method flow using DTrace. -.SH SYNOPSIS -.B j_flow.d - -.SH DESCRIPTION -This traces activity from all Java processes on the system with hotspot -provider support (1.6.0) and the flag "+ExtendedDTraceProbes". eg, -java -XX:+ExtendedDTraceProbes classfile - -This watches Java method entries and returns, and indents child -method calls. -.SH OS -Solaris -.SH STABILITY -Evolving - uses the DTrace hotspot provider, which may change -as additional features are introduced. Check Java/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B j_flow.d -.PP -.SH FIELDS -.TP -C -CPU-id -.TP -TIME(us) -Time since boot, us -.TP -PID -Process ID -.TP -CLASS.METHOD -Java class and method name -.SH LEGEND -.TP -\-> -method entry -.TP -<\- -method return -.SH WARNING -Watch the first column carefully, it prints the CPU-id. If it -changes, then it is very likely that the output has been shuffled. -Changes in TID will appear to shuffle output, as we change from one thread -depth to the next. See Docs/Notes/ALLjavaflow.txt for additional notes. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -j_flow.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/j_flowtime.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/j_flowtime.d.1m deleted file mode 100644 index e4334b23e5b3..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/j_flowtime.d.1m +++ /dev/null @@ -1,69 +0,0 @@ -.TH j_flowtime.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -j_flowtime.d - snoop Java execution with method flow and delta times. -.SH SYNOPSIS -.B j_flowtime.d - -.SH DESCRIPTION -This traces activity from all Java processes on the system with hotspot -provider support (1.6.0) and the flag "+ExtendedDTraceProbes". eg, -java -XX:+ExtendedDTraceProbes classfile - -This watches Java method entries and returns, and indents child -method calls. -.SH OS -Solaris -.SH STABILITY -Evolving - uses the DTrace hotspot provider, which may change -as additional features are introduced. Check Java/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B j_flowtime.d -.PP -.SH FIELDS -.TP -C -CPU-id -.TP -PID -Process ID -.TP -TID -Thread ID -.TP -TIME(us) -Time since boot (us) -.TP -DELTA(us) -Elapsed time from previous line to this line -.TP -CLASS.METHOD -Java class and method name -.SH LEGEND -.TP -\-> -method entry -.TP -<\- -method return -.SH WARNING -Watch the first column carefully, it prints the CPU-id. If it -changes, then it is very likely that the output has been shuffled. -Changes in TID will appear to shuffle output, as we change from one thread -depth to the next. See Docs/Notes/ALLjavaflow.txt for additional notes. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -j_flowtime.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/j_methodcalls.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/j_methodcalls.d.1m deleted file mode 100644 index a44aea76dbd3..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/j_methodcalls.d.1m +++ /dev/null @@ -1,45 +0,0 @@ -.TH j_methodcalls.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -j_methodcalls.d - count Java method calls DTrace. -.SH SYNOPSIS -.B j_methodcalls.d - -.SH DESCRIPTION -This traces activity from all Java processes on the system with hotspot -provider support (1.6.0) and the flag "+ExtendedDTraceProbes". eg, -java -XX:+ExtendedDTraceProbes classfile -.SH OS -Solaris -.SH STABILITY -Evolving - uses the DTrace hotspot provider, which may change -as additional features are introduced. Check Java/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B j_methodcalls.d -.PP -.SH FIELDS -.TP -PID -Process ID -.TP -COUNT -Number of calls during sample -.TP -CLASS.METHOD -Java class and method name -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -j_methodcalls.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/j_objnew.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/j_objnew.d.1m deleted file mode 100644 index 14a6b21a0535..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/j_objnew.d.1m +++ /dev/null @@ -1,45 +0,0 @@ -.TH j_objnew.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -j_objnew.d - report Java object allocation using DTrace. -.SH SYNOPSIS -.B j_objnew.d - -.SH DESCRIPTION -This traces activity from all Java processes on the system with hotspot -provider support (1.6.0) and the flag "+ExtendedDTraceProbes". eg, -java -XX:+ExtendedDTraceProbes classfile -.SH OS -Solaris -.SH STABILITY -Evolving - uses the DTrace hotspot provider, which may change -as additional features are introduced. Check Java/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B j_objnew.d -.PP -.SH FIELDS -.TP -PID -Process ID -.TP -OBJS -Number of objects created -.TP -CLASS.METHOD -Java class and method name -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -j_objnew.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/j_package.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/j_package.d.1m deleted file mode 100644 index 43f5b9b1623f..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/j_package.d.1m +++ /dev/null @@ -1,44 +0,0 @@ -.TH j_package.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -j_package.d - count Java class loads by package using DTrace. -.SH SYNOPSIS -.B j_package.d - -.SH DESCRIPTION -This traces activity from all Java processes on the system with hotspot -provider support (1.6.0). -.SH OS -Solaris -.SH STABILITY -Evolving - uses the DTrace hotspot provider, which may change -as additional features are introduced. Check Java/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B j_package.d -.PP -.SH FIELDS -.TP -PID -Process ID -.TP -LOADS -Class loads during trace -.TP -PACKAGE -Package name from class -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -j_package.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/j_profile.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/j_profile.d.1m deleted file mode 100644 index 7c1ca28f6b2b..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/j_profile.d.1m +++ /dev/null @@ -1,52 +0,0 @@ -.TH j_profile.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -j_profile.d - sample stack traces with Java translations using DTrace. -.SH SYNOPSIS -.SH DESCRIPTION -This samples stack traces for the process specified. This stack trace -will cross the JVM and system libraries, and insert translations for Java -stack frames where appropriate. This is best explained with an example -stack frame output, - -Func_loop.func_c()V -Func_loop.func_b()V -Func_loop.func_a()V -Func_loop.main([Ljava/lang/String;)V -StubRoutines (1) -libjvm.so`__1cJJavaCallsLcall_helper6FpnJJavaValue_pnMmethodHan -libjvm.so`__1cCosUos_exception_wrapper6FpFpnJJavaValue_pnMmetho -libjvm.so`__1cJJavaCallsEcall6FpnJJavaValue_nMmethodHandle_pnRJ -libjvm.so`__1cRjni_invoke_static6FpnHJNIEnv__pnJJavaValue_pnI_j -libjvm.so`jni_CallStaticVoidMethod+0x15d -java`JavaMain+0xd30 -libc.so.1`_thr_setup+0x52 -libc.so.1`_lwp_start -101 - -The lines at the top are Java frames, followed by the JVM (libjvm.so). -The JVM symbols may be translated by passing the output through c++filt. -.SH OS -Solaris -.SH STABILITY -Evolving - uses the DTrace hotspot provider, which may change -as additional features are introduced. Check Java/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B j_profile.d -.PP -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -j_profile.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/j_stat.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/j_stat.d.1m deleted file mode 100644 index ab1495e7b690..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/j_stat.d.1m +++ /dev/null @@ -1,68 +0,0 @@ -.TH j_stat.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -j_stat.d - Java operation stats using DTrace. -.SH SYNOPSIS -.B j_stat.d -[interval [count]] -.SH DESCRIPTION -This traces activity from all Java processes on the system with hotspot -provider support (1.6.0). Method calls and object allocation are only -visible when using the flag "+ExtendedDTraceProbes". eg, -java -XX:+ExtendedDTraceProbes classfile - -The numbers are counts for the interval specified. The default interval -is 1 second. - -If you see a count in "EXECS" but not in the other columns, then your -Java software is probably not running with the DTrace hotspot provider. - -If you see counts in "CLOAD" but not in "METHODS", then you Java -software probably isn't running with "+ExtendedDTraceProbes". -.SH OS -Solaris -.SH STABILITY -Evolving - uses the DTrace hotspot provider, which may change -as additional features are introduced. Check Java/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B j_stat.d -.PP -.SH FIELDS -.TP -EXEC/s -Java programs executed per second, including -those without Java provider support -.TP -METHOD/s -Methods called, per second -.TP -OBJNEW/s -Objects created, per second -.TP -CLOAD/s -Class loads, per second -.TP -EXCP/s -Exceptions raised, per second -.TP -RESC/s -Rescues, per second -.TP -GC/s -Garbage collects, per second -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -j_stat.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/j_syscalls.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/j_syscalls.d.1m deleted file mode 100644 index 854c9017e59a..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/j_syscalls.d.1m +++ /dev/null @@ -1,48 +0,0 @@ -.TH j_syscalls.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -j_syscalls.d - count Java methods and syscalls using DTrace. -.SH SYNOPSIS -.B j_syscalls.d -{ \-p PID | \-c cmd } -.SH DESCRIPTION -This traces Java methods if the hotspot provider exists (1.6.0) and -the flag "+ExtendedDTraceProbes" is used. eg, -java -XX:+ExtendedDTraceProbes classfile -.SH OS -Solaris -.SH STABILITY -Evolving - uses the DTrace hotspot provider, which may change -as additional features are introduced. Check Java/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B j_syscalls.d -.PP -.SH FIELDS -.TP -PID -Process ID -.TP -TYPE -Type of call (method/syscall) -.TP -NAME -Name of call -.TP -COUNT -Number of calls during sample -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -j_syscalls.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/j_syscolors.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/j_syscolors.d.1m deleted file mode 100644 index e6bdebee7d3f..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/j_syscolors.d.1m +++ /dev/null @@ -1,65 +0,0 @@ -.TH j_syscolors.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -j_syscolors.d - trace Java method flow plus syscalls, in color. -.SH SYNOPSIS -.B j_syscolors.d -{ \-p PID | \-c cmd } -.SH DESCRIPTION -This traces Java methods if the hotspot provider exists (1.6.0) and -the flag "+ExtendedDTraceProbes" is used. eg, -java -XX:+ExtendedDTraceProbes classfile - -This watches Java method entries and returns, and indents child -method calls. - -If the flow appears to jump, check the TID column - the JVM may have -switched to another thread. -.SH OS -Solaris -.SH STABILITY -Evolving - uses the DTrace hotspot provider, which may change -as additional features are introduced. Check Java/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B j_syscolors.d -.PP -.SH FIELDS -.TP -C -CPU-id -.TP -PID -Process ID -.TP -TID -Thread ID -.TP -DELTA(us) -Elapsed time from previous line to this line -.TP -TYPE -Type of call (func/syscall) -.TP -NAME -Java method or syscall name -.SH WARNING -Watch the first column carefully, it prints the CPU-id. If it -changes, then it is very likely that the output has been shuffled. -Changes in TID will appear to shuffle output, as we change from one thread -depth to the next. See Docs/Notes/ALLjavaflow.txt for additional notes. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -j_syscolors.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/j_thread.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/j_thread.d.1m deleted file mode 100644 index 97caf9ffc771..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/j_thread.d.1m +++ /dev/null @@ -1,54 +0,0 @@ -.TH j_thread.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -j_thread.d - snoop Java thread execution using DTrace. -.SH SYNOPSIS -.B j_thread.d - -.SH DESCRIPTION -This traces activity from all Java processes on the system with hotspot -provider support (1.6.0). -.SH OS -Solaris -.SH STABILITY -Evolving - uses the DTrace hotspot provider, which may change -as additional features are introduced. Check Java/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B j_thread.d -.PP -.SH FIELDS -.TP -TIME -Time string -.TP -PID -Process ID -.TP -TID -Thread ID -.TP -THREAD -Thread name -.SH LEGEND -.TP -=> -thread start -.TP -<= -thread end -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -j_thread.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/j_who.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/j_who.d.1m deleted file mode 100644 index 97d68e8baf5e..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/j_who.d.1m +++ /dev/null @@ -1,51 +0,0 @@ -.TH j_who.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -j_who.d - trace Java calls by process using DTrace. -.SH SYNOPSIS -.B j_who.d - -.SH DESCRIPTION -This traces activity from all Java processes on the system with hotspot -provider support (1.6.0). - -The argument list is truncated at 55 characters (up to 80 is easily -available). To easily read the full argument list, use other system tools; -on Solaris use "pargs PID". -.SH OS -Solaris -.SH STABILITY -Evolving - uses the DTrace hotspot provider, which may change -as additional features are introduced. Check Java/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B j_who.d -.PP -.SH FIELDS -.TP -PID -Process ID of Java -.TP -UID -User ID of the owner -.TP -CALLS -Number of calls made (a measure of activity) -.TP -ARGS -Process name and arguments -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -j_who.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/js_calldist.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/js_calldist.d.1m deleted file mode 100644 index fbd20fcfbb3b..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/js_calldist.d.1m +++ /dev/null @@ -1,46 +0,0 @@ -.TH js_calldist.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -js_calldist.d - measure JavaScript elapsed times for types of operation. -.SH SYNOPSIS -.B js_calldist.d - -.SH DESCRIPTION -This traces JavaScript activity from all browsers running on the system with -JavaScript provider support. - -Filename and function names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace JavaScript provider, which may change -as additional features are introduced. Check JavaScript/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B js_calldist.d -.PP -.SH FIELDS -.TP -1 -Filename of the JavaScript program -.TP -2 -Type of call (func/obj-new) -.TP -3 -Name of call -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -js_calldist.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/js_calls.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/js_calls.d.1m deleted file mode 100644 index c997293cdd01..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/js_calls.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH js_calls.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -js_calls.d - count JavaScript calls using DTrace. -.SH SYNOPSIS -.B js_calls.d - -.SH DESCRIPTION -This traces activity from all browsers on the system that are -running with JavaScript provider support. - -Filename and function names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace JavaScript provider, which may change -as additional features are introduced. Check JavaScript/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B js_calls.d -.PP -.SH FIELDS -.TP -FILE -Filename of the JavaScript program -.TP -TYPE -Type of call (func/obj-new/...) -.TP -NAME -Descriptive name of call -.TP -COUNT -Number of calls during sample -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -js_calls.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/js_calltime.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/js_calltime.d.1m deleted file mode 100644 index 785587b16c10..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/js_calltime.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH js_calltime.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -js_calltime.d - measure JavaScript elapsed times for types of operation. -.SH SYNOPSIS -.B js_calltime.d - -.SH DESCRIPTION -This traces JavaScript activity from all browsers running on the system with -JavaScript provider support. - -Filename and function names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace JavaScript provider, which may change -as additional features are introduced. Check JavaScript/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B js_calltime.d -.PP -.SH FIELDS -.TP -FILE -Filename of the JavaScript program -.TP -TYPE -Type of call (func/obj-new/gc/total) -.TP -NAME -Name of call -.TP -TOTAL -Total elapsed time for calls (us) -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -js_calltime.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/js_cpudist.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/js_cpudist.d.1m deleted file mode 100644 index 64a9aec98ec8..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/js_cpudist.d.1m +++ /dev/null @@ -1,46 +0,0 @@ -.TH js_cpudist.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -js_cpudist.d - measure JavaScript on-CPU times for types of operation. -.SH SYNOPSIS -.B js_cpudist.d - -.SH DESCRIPTION -This traces JavaScript activity from all browsers running on the system with -JavaScript provider support. - -Filename and function names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace JavaScript provider, which may change -as additional features are introduced. Check JavaScript/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B js_cpudist.d -.PP -.SH FIELDS -.TP -1 -Filename of the JavaScript program -.TP -2 -Type of call (func/obj-new) -.TP -3 -Name of call -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -js_cpudist.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/js_cputime.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/js_cputime.d.1m deleted file mode 100644 index 2aaefc13c8e1..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/js_cputime.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH js_cputime.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -js_cputime.d - measure JavaScript on-CPU times for types of operation. -.SH SYNOPSIS -.B js_cputime.d - -.SH DESCRIPTION -This traces JavaScript activity from all browsers running on the system with -JavaScript provider support. - -Filename and function names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace JavaScript provider, which may change -as additional features are introduced. Check JavaScript/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B js_cputime.d -.PP -.SH FIELDS -.TP -FILE -Filename of the JavaScript program -.TP -TYPE -Type of call (func/obj-new/gc/total) -.TP -NAME -Name of call -.TP -TOTAL -Total on-CPU time for calls (us) -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -js_cputime.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/js_execs.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/js_execs.d.1m deleted file mode 100644 index 61613c040053..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/js_execs.d.1m +++ /dev/null @@ -1,46 +0,0 @@ -.TH js_execs.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -js_execs.d - JavaScript execute snoop using DTrace. -.SH SYNOPSIS -.B js_execs.d - -.SH DESCRIPTION -This traces activity from all browsers on the system that are -running with JavaScript provider support. - -Filename and function names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace JavaScript provider, which may change -as additional features are introduced. Check JavaScript/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B js_execs.d -.PP -.SH FIELDS -.TP -TIME -Time of event -.TP -FILE -Filename of the JavaScript program -.TP -LINENO -Line number in filename -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -js_execs.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/js_flow.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/js_flow.d.1m deleted file mode 100644 index 5d4ba0d23e7b..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/js_flow.d.1m +++ /dev/null @@ -1,59 +0,0 @@ -.TH js_flow.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -js_flow.d - snoop JavaScript execution showing function flow using DTrace. -.SH SYNOPSIS -.B js_flow.d - -.SH DESCRIPTION -This traces activity from all browsers on the system that are running -with JavaScript provider support. - -Filename and function names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace JavaScript provider, which may change -as additional features are introduced. Check JavaScript/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B js_flow.d -.PP -.SH FIELDS -.TP -C -CPU-id -.TP -TIME(us) -Time since boot, us -.TP -FILE -Filename that this function belongs to -.TP -FUNC -Function name -.SH LEGEND -.TP -\-> -function entry -.TP -<\- -function return -.SH WARNING -Watch the first column carefully, it prints the CPU-id. If it -changes, then it is very likely that the output has been shuffled. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -js_flow.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/js_flowinfo.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/js_flowinfo.d.1m deleted file mode 100644 index 1531ce5b428f..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/js_flowinfo.d.1m +++ /dev/null @@ -1,68 +0,0 @@ -.TH js_flowinfo.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -js_flowinfo.d - JavaScript function flow with info using DTrace. -.SH SYNOPSIS -.B js_flowinfo.d - -.SH DESCRIPTION -This traces activity from all browsers on the system that are running -with JavaScript provider support. - -Filename and function names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace JavaScript provider, which may change -as additional features are introduced. Check JavaScript/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B js_flowinfo.d -.PP -.SH FIELDS -.TP -C -CPU-id -.TP -PID -Process ID -.TP -DELTA(us) -Elapsed time from previous line to this line -.TP -FILE -Filename of the JavScript program -.TP -LINE -Line number of filename -.TP -TYPE -Type of call (func) -.TP -FUNC -Function name -.SH LEGEND -.TP -\-> -function entry -.TP -<\- -function return -.SH WARNING -Watch the first column carefully, it prints the CPU-id. If it -changes, then it is very likely that the output has been shuffled. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -js_flowinfo.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/js_flowtime.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/js_flowtime.d.1m deleted file mode 100644 index f90c9998fb70..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/js_flowtime.d.1m +++ /dev/null @@ -1,62 +0,0 @@ -.TH js_flowtime.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -js_flowtime.d - JavaScript function flow with delta times using DTrace. -.SH SYNOPSIS -.B js_flowtime.d - -.SH DESCRIPTION -This traces activity from all browsers on the system that are running -with JavaScript provider support. - -Filename and function names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace JavaScript provider, which may change -as additional features are introduced. Check JavaScript/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B js_flowtime.d -.PP -.SH FIELDS -.TP -C -CPU-id -.TP -TIME(us) -Time since boot, us -.TP -FILE -Filename that this function belongs to -.TP -DELTA(us) -Elapsed time from previous line to this line -.TP -FUNC -Function name -.SH LEGEND -.TP -\-> -function entry -.TP -<\- -function return -.SH WARNING -Watch the first column carefully, it prints the CPU-id. If it -changes, then it is very likely that the output has been shuffled. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -js_flowtime.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/js_objcpu.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/js_objcpu.d.1m deleted file mode 100644 index 088fa06e70b6..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/js_objcpu.d.1m +++ /dev/null @@ -1,36 +0,0 @@ -.TH js_objcpu.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -js_objcpu.d - measure JavaScript object creation on-CPU time using DTrace. -.SH SYNOPSIS -.B js_objcpu.d - -.SH DESCRIPTION -This traces JavaScript activity from all browsers running on the system -with JavaScript provider support. - -Class names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace JavaScript provider, which may change -as additional features are introduced. Check JavaScript/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B js_objcpu.d -.PP -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -js_objcpu.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/js_objgc.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/js_objgc.d.1m deleted file mode 100644 index 691883e6dc6e..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/js_objgc.d.1m +++ /dev/null @@ -1,60 +0,0 @@ -.TH js_objgc.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -js_objgc.d - trace JavaScript Object GC using DTrace. -.SH SYNOPSIS -.B js_objgc.d - -.SH DESCRIPTION -This traces JavaScript activity from all running browers on the system -which support the JavaScript DTrace provider. - -This script provides information on which objects are not being garbage -collected, an issue which causes the browser to steadily leak memory. -We trace object creation (+1) and destruction (-1), and provide a -summary each second of the running tally of the object class and -originating filename. If over the period of several minutes an object -type is still steadily increasing, then that would be of interest. -Be patient, depending on the rate of object creation it can take over -ten minutes for garbage collect to kick in. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace JavaScript provider, which may change -as additional features are introduced. Check JavaScript/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B js_objgc.d -.PP -.SH FIELDS -.TP -FILE -Filename that contained the function -.TP -CLASS -Class to which this new object belongs -.TP -TOTAL -Object entropy (positive == uncollected) -.SH NOTES - -\- it is possible that you will see negative entropy. That happens -when you begin tracing after some objects have already been created, -and then trace their destruction. -\- there are other Things that GC handles, other than Objects; extra -probes can be added to trace them, should the need arise. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -js_objgc.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/js_objnew.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/js_objnew.d.1m deleted file mode 100644 index 83897b5dfbab..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/js_objnew.d.1m +++ /dev/null @@ -1,46 +0,0 @@ -.TH js_objnew.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -js_objnew.d - count JavaScript object creation using DTrace. -.SH SYNOPSIS -.B js_objnew.d - -.SH DESCRIPTION -This traces JavaScript activity from all browsers running on the system -with JavaScript provider support. - -Filename and class names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace JavaScript provider, which may change -as additional features are introduced. Check JavaScript/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B js_objnew.d -.PP -.SH FIELDS -.TP -FILE -Filename of the JavaScript program -.TP -CLASS -Class of new object -.TP -COUNT -Number of object creations during tracing -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -js_objnew.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/js_stat.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/js_stat.d.1m deleted file mode 100644 index 3234630a3022..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/js_stat.d.1m +++ /dev/null @@ -1,52 +0,0 @@ -.TH js_stat.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -js_stat.d - JavaScript operation stats using DTrace. -.SH SYNOPSIS -.B js_stat.d -[interval [count]] -.SH DESCRIPTION -This traces activity from all browsers on the system that are -running with JavaScript provider support. - -The numbers are counts for the interval specified. The default interval -is 1 second. - -Filename and function names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace JavaScript provider, which may change -as additional features are introduced. Check JavaScript/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B js_stat.d -.PP -.SH FIELDS -.TP -EXEC/s -JavaScript programs executed per second -.TP -FUNCS/s -Functions called, per second -.TP -OBJNEW/s -Objects created, per second -.TP -OBJFRE/s -Objects freed (finalize), per second -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -js_stat.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/js_who.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/js_who.d.1m deleted file mode 100644 index 119ea2626bd3..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/js_who.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH js_who.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -js_who.d - trace JavaScript function execution by process using DTrace. -.SH SYNOPSIS -.B js_who.d - -.SH DESCRIPTION -This traces JavaScript activity from all browsers on the system that are -running with JavaScript provider support. - -Filenames are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace JavaScript provider, which may change -as additional features are introduced. Check JavaScript/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B js_who.d -.PP -.SH FIELDS -.TP -PID -Process ID of JavaScript -.TP -UID -User ID of the owner -.TP -FUNCS -Number of function calls -.TP -FILE -Pathname of the JavaScript program -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -js_who.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/kill.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/kill.d.1m deleted file mode 100644 index e9e966a9c92b..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/kill.d.1m +++ /dev/null @@ -1,53 +0,0 @@ -.TH kill.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -kill.d \- snoop process signals as they occur. Uses DTrace. -.SH SYNOPSIS -.B kill.d -.SH DESCRIPTION -kill.d is a simple DTrace program to print details of process -signals as they are sent, such as the PID source and destination, -signal number and result. - -This program can be used to determine which process is sending -signals to which other process. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the syscall provider. -.SH EXAMPLES -.TP -Default output, print process signals as they are sent. -# -.B kill.d -.PP -.SH FIELDS -.TP -FROM -source PID -.TP -COMMAND -source command name -.TP -TO -destination PID -.TP -SIG -destination signal ("9" for a kill -9) -.TP -RESULT -result of signal (-1 is for failure) -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -kill.d will run forever until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M), truss(1) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/kstat_types.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/kstat_types.d.1m deleted file mode 100644 index 8a2d11952c45..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/kstat_types.d.1m +++ /dev/null @@ -1,50 +0,0 @@ -.TH kstat_types.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -kstat_types.d \- Trace kstat reads with type info. Uses DTrace. -.SH SYNOPSIS -.B kstat_types.d -.SH DESCRIPTION -kstat is the Kernel Statistics framework, which is used by tools -such as vmstat, iostat, mpstat and sar. Try running vmstat while -kstat_types.d is tracing - you should see details of the kstat -reads performed. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -unstable - this script uses fbt provider probes which may change for -future updates of the OS, invalidating this script. Please read -Docs/Notes/ALLfbt_notes.txt for further details about these fbt scripts. -.SH EXAMPLES -.TP -Trace kstat reads as they occur, -# -.B kstat_types.d -.PP -.SH FIELDS -.TP -CMD -command name -.TP -CLASS -kstat class (ks_class) -.TP -TYPE -kstat type as a string (ks_type) -.TP -MOD:INS:NAME -kstat module:instance:name -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -kstat_types.d will trace until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M), kstat(1M), kstat(3KSTAT) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/lastwords.1m b/cddl/contrib/dtracetoolkit/Man/man1m/lastwords.1m deleted file mode 100644 index 024234bf49f7..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/lastwords.1m +++ /dev/null @@ -1,56 +0,0 @@ -.TH lastwords 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -lastwords \- print syscalls before exit. Uses DTrace. -.SH SYNOPSIS -.B lastwords command -.SH DESCRIPTION -This prints the last few system calls for processes matching -the given name, when they exit. This makes use of a ring buffer -so that the impact on the system is minimised. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the syscall and proc providers. -.SH EXAMPLES -.TP -Catch last few syscalls for dying netscape processes, -# -.B lastwords netscape -.PP -.SH FIELDS -.TP -TIME -time of syscall return, ns -.TP -PID -process ID -.TP -EXEC -process name (execname) -.TP -SYSCALL -system call -.TP -RETURN -return value for the system call -.TP -ERR -errno for the system call -.PP -.SH BASED ON -/usr/demo/dtrace/ring.d -.PP -.SH DOCUMENTATION -DTrace Guide "Buffers and Buffering" chapter (docs.sun.com) - -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -lastwords will sample until a command with that name exits. -.SH SEE ALSO -dtruss(1M), dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/loads.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/loads.d.1m deleted file mode 100644 index f18d3b119507..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/loads.d.1m +++ /dev/null @@ -1,38 +0,0 @@ -.TH loads.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -loads.d \- print load averages. Uses DTrace. -.SH SYNOPSIS -.B loads.d -.SH DESCRIPTION -These are the same load averages that the "uptime" command prints. -The purpose of this script is to demonstrate fetching these values -from the DTrace language. - -The first field is the 1 minute average, the second is the 5 minute, -and the third is the 15 minute average. The value represents the average -number of runnable threads in the system, a value higher than your -CPU (core/hwthread) count may be a sign of CPU saturation. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -unstable - uses kernel symbols, which may change for a future version -of this OS. -.SH EXAMPLES -.TP -Print load averages, -# -.B loads.d -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -uptime(1), dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/lockbydist.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/lockbydist.d.1m deleted file mode 100644 index 188c5a4e5f40..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/lockbydist.d.1m +++ /dev/null @@ -1,54 +0,0 @@ -.TH lockbydist.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -lockbydist.d \- lock distrib. by process name. Uses DTrace. -.SH SYNOPSIS -.B lockbydist.d -.SH DESCRIPTION -lockbydist.d is a DTrace OneLiner to a report the time threads have -spent blocked on adaptive mutexes, by process name. - -A distribution is printed to illustrate the number of blocks at -different lengths in time. This helps us identify if there are many -short blocks, or fewer large blocks. - -Docs/oneliners.txt and Docs/Examples/oneliners_examples.txt -in the DTraceToolkit contain this as a oneliner that can be cut-n-paste -to run. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the lockstat provider. -.SH EXAMPLES -.TP -This samples until Ctrl\-C is hit. -# -.B lockbydist.d -.PP -.SH FIELDS -.TP -process name -The process name. There may be several PIDs that have the -same process name, for example with numerous instances of "bash". The -value reported will be the sum of them all. -.TP -value -The blocked time in nanoseconds -.TP -count -The number of occurrences that were at least this size -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -lockbydist.d will sample until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -lockstat(1M), dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/lockbyproc.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/lockbyproc.d.1m deleted file mode 100644 index af6c9114b71a..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/lockbyproc.d.1m +++ /dev/null @@ -1,47 +0,0 @@ -.TH lockbyproc.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -lockbyproc.d \- lock time by process name. Uses DTrace. -.SH SYNOPSIS -.B lockbyproc.d -.SH DESCRIPTION -lockbyproc.d is a DTrace OneLiner to a report the total time threads -have spent blocked on adaptive mutexes, by process name. - -Docs/oneliners.txt and Docs/Examples/oneliners_examples.txt -in the DTraceToolkit contain this as a oneliner that can be cut-n-paste -to run. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the lockstat provider. -.SH EXAMPLES -.TP -This samples until Ctrl\-C is hit. -# -.B lockbyproc.d -.PP -.SH FIELDS -.TP -first field -This is the process name. There may be several PIDs that have the -same process name, for example with numerous instances of "bash". The -value reported will be the sum of them all. -.TP -second field -This is the total length of time blocked, in nanoseconds. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -lockbyproc.d will sample until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -lockstat(1M), dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/minfbypid.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/minfbypid.d.1m deleted file mode 100644 index 45574f487ae0..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/minfbypid.d.1m +++ /dev/null @@ -1,46 +0,0 @@ -.TH minfbypid.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -minfbypid.d \- minor faults by process name. Uses DTrace. -.SH SYNOPSIS -.B minfbypid.d -.SH DESCRIPTION -minfbypid.d is a DTrace OneLiner to a report the number of minor -faults by process name. - -This is based on a script from DExplorer. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the vminfo provider. -.SH EXAMPLES -.TP -This samples until Ctrl\-C is hit. -# -.B minfbypid.d -.PP -.SH FIELDS -.TP -PID -process ID -.TP -CMD -process name -.TP -MINFAULTS -number of minor faults in this sample -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -minfbypid.d will sample until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/minfbyproc.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/minfbyproc.d.1m deleted file mode 100644 index 9045e48da762..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/minfbyproc.d.1m +++ /dev/null @@ -1,47 +0,0 @@ -.TH minfbyproc.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -minfbyproc.d \- minor faults by process name. Uses DTrace. -.SH SYNOPSIS -.B minfbyproc.d -.SH DESCRIPTION -minfbyproc.d is a DTrace OneLiner to a report the number of minor -faults by process name. - -Docs/oneliners.txt and Docs/Examples/oneliners_examples.txt -in the DTraceToolkit contain this as a oneliner that can be cut-n-paste -to run. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the vminfo provider. -.SH EXAMPLES -.TP -This samples until Ctrl\-C is hit. -# -.B minfbyproc.d -.PP -.SH FIELDS -.TP -first field -The process name. There may be several PIDs that have the -same process name, for example with numerous instances of "bash". The -value reported will be the sum of them all. -.TP -second field -The number minor faults -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -minfbyproc.d will sample until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M), truss(1) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/mmapfiles.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/mmapfiles.d.1m deleted file mode 100644 index e4bb2c89eaef..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/mmapfiles.d.1m +++ /dev/null @@ -1,42 +0,0 @@ -.TH mmapfiles.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -mmapfiles.d \- mmap'd files by process. Uses DTrace. -.SH SYNOPSIS -.B mmapfiles.d -.SH DESCRIPTION -This prints statistics on the pathnames that were mmap'd by processes. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the syscall provider. -.SH EXAMPLES -.TP -This samples until Ctrl\-C is hit. -# -.B mmapfiles.d -.PP -.SH FIELDS -.TP -MMAPS -number of mmaps -.TP -CMD -process name -.TP -PATHNAME -pathname of mmap'd file -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -mmapfiles.d will sample until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/modcalls.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/modcalls.d.1m deleted file mode 100644 index af7722b71c4c..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/modcalls.d.1m +++ /dev/null @@ -1,50 +0,0 @@ -.TH modcalls.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -modcalls.d \- kernel function calls by module. Uses DTrace. -.SH SYNOPSIS -.B modcalls.d -.SH DESCRIPTION -modcalls.d is a DTrace OneLiner to a report of the number of -kernel function calls by module. - -This script may be useful to determine whether drivers are "thinking" when -troubleshooting driver issues. - -Docs/oneliners.txt and Docs/Examples/oneliners_examples.txt -in the DTraceToolkit contain this as a oneliner that can be cut-n-paste -to run. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Any -.SH STABILITY -stable - while this script uses the unstable fbt provider, it does so -in a stable way. -.SH EXAMPLES -.TP -This samples until Ctrl\-C is hit. -# -.B modcalls.d -.PP -.SH FIELDS -.TP -first field -This is the module name, or kernel driver name. if a name is -unfamiliar to you there may be a man page to explain what it is. -.TP -second field -This is the number of function calls by this module. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -modcalls.d will sample until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/newproc.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/newproc.d.1m deleted file mode 100644 index b3b979b4e779..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/newproc.d.1m +++ /dev/null @@ -1,54 +0,0 @@ -.TH newproc.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -newproc.d \- snoop new processes. Uses DTrace. -.SH SYNOPSIS -.B newproc.d -.SH DESCRIPTION -newproc.d is a DTrace OneLiner to snoop new processes as they are run. -The argument listing is printed. - -This is useful to identify short lived processes that are usually -difficult to spot using traditional tools. - -Docs/oneliners.txt and Docs/Examples/oneliners_examples.txt -in the DTraceToolkit contain this as a oneliner that can be cut-n-paste -to run. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the proc provider. -.SH EXAMPLES -.TP -This prints new processes until Ctrl\-C is hit. -# -.B newproc.d -.PP -.SH FIELDS -.TP -CPU -The CPU that recieved the event -.TP -ID -A DTrace probe ID for the event -.TP -FUNCTION:NAME -The DTrace probe name for the event -.TP -remaining fields -These contains the argument listing for the new process -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -newproc.d will run forever until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -execsnoop(1M), dtrace(1M), truss(1) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/nfswizard.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/nfswizard.d.1m deleted file mode 100644 index 64d8e416e83f..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/nfswizard.d.1m +++ /dev/null @@ -1,36 +0,0 @@ -.TH nfswizard.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -nfswizard.d \- nfs client activity wizard. Uses DTrace. -.SH SYNOPSIS -.B nfswizard.d -.SH DESCRIPTION -This examines activity caused by NFS client processes on the same server -that you are running this script on. A detailed report is generated -to explain various details of NFS client activity, including response -times and file access. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.PP -.SH OS -Solaris -.SH STABILITY -stable - needs the io provider. -.SH EXAMPLES -.TP -Sample NFS client activity, then print a report after Ctrl\-C, -# -.B nfswizard.d -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -nfswizard.d will sample activity until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/opensnoop.1m b/cddl/contrib/dtracetoolkit/Man/man1m/opensnoop.1m deleted file mode 100644 index bc449c05b1b9..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/opensnoop.1m +++ /dev/null @@ -1,139 +0,0 @@ -.TH opensnoop 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -opensnoop \- snoop file opens as they occur. Uses DTrace. -.SH SYNOPSIS -.B opensnoop -[\-a|\-A|\-ceghsvxZ] [\-f pathname] [\-n name] [\-p PID] -.SH DESCRIPTION -opensnoop tracks file opens. As a process issues a file open, details -such as UID, PID and pathname are printed out. - -The returned file descriptor is printed, -a value of -1 indicates an error. This can be useful -for troubleshooting to determine if appliacions are attempting to -open files that do not exist. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the syscall provider. -.SH OPTIONS -.TP -\-a -print all data -.TP -\-A -dump all data, space delimited -.TP -\-c -print current working directory of process -.TP -\-e -print errno value -.TP -\-g -print full command arguments -.TP -\-s -print start time, us -.TP -\-v -print start time, string -.TP -\-x -only print failed opens -.TP -\-Z -print zonename -.TP -\-f pathname -file pathname to snoop -.TP -\-n name -process name to snoop -.TP -\-p PID -process ID to snoop -.PP -.SH EXAMPLES -.TP -Default output, print file opens by process as they occur, -# -.B opensnoop -.PP -.TP -Print human readable timestamps, -# -.B opensnoop -\-v -.PP -.TP -See error codes, -# -.B opensnoop -\-e -.PP -.TP -Snoop this file only, -# -.B opensnoop -\-f /etc/passwd -.PP -.SH FIELDS -.TP -ZONE -Zone name -.TP -UID -User ID -.TP -PID -Process ID -.TP -PPID -Parent Process ID -.TP -FD -File Descriptor (-1 is error) -.TP -ERR -errno value (see /usr/include/sys/errno.h) -.TP -CWD -current working directory of process -.TP -PATH -pathname for file open -.TP -COMM -command name for the process -.TP -ARGS -argument listing for the process -.TP -TIME -timestamp for the open event, us -.TP -STRTIME -timestamp for the open event, string -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -opensnoop will run forever until Ctrl\-C is hit. -.SH BUGS -occasionally the pathname for the file open cannot be read -and the following error will be seen, - -dtrace: error on enabled probe ID 6 (...): invalid address - -this is normal behaviour. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M), truss(1) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/pathopens.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/pathopens.d.1m deleted file mode 100644 index cf043bd1c3f6..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/pathopens.d.1m +++ /dev/null @@ -1,38 +0,0 @@ -.TH pathopens.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -pathopens.d \- full pathnames opened ok count. Uses DTrace. -.SH SYNOPSIS -.B pathopens.d -.SH DESCRIPTION -This program prints a count of the number of times files have been -successfully opened. This is somewhat special in that the full pathname -is calculated, even if the file open referred to a relative pathname. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the syscall provider. -.SH EXAMPLES -.TP -This samples until Ctrl\-C is hit. -# -.B pathopens.d -.PP -.SH FIELDS -.TP -PATHNAME -full pathname -.TP -COUNT -number of successful opens -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -pathopens.d will sample until Ctrl\-C is hit. -.SH SEE ALSO -opensnoop(1M), dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/pfilestat.1m b/cddl/contrib/dtracetoolkit/Man/man1m/pfilestat.1m deleted file mode 100644 index 8780c2e58e1c..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/pfilestat.1m +++ /dev/null @@ -1,87 +0,0 @@ -.TH pfilestat 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -pfilestat \- show I/O latency break down by FD. Uses DTrace. -.SH SYNOPSIS -.B pfilestat [\-r|\-w] pid -.SH DESCRIPTION -This prints I/O statistics for each file descriptor within a process. -In particular, the time break down during read() and write() events is -measured. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -unstable - this script uses fbt provider probes which may change for -future updates of the OS, invalidating this script. Please read -Docs/Notes/ALLfbt_notes.txt for further details about these fbt scripts. -.SH OPTIONS -.TP -\-r -reads only -.TP -\-w -writes only -.TP -pid -process ID to examine -.PP -.SH EXAMPLES -.TP -Sample both read and write activity for PID 81, -# -.B pfilestat 81 -.TP -Sample reads only for PID 81, -# -.B pfilestat -\-r 81 -.PP -.SH FIELDS -.TP -STATE -microstate. see STATES below. -.TP -FDUM -file Descriptor ID -.TP -Time -percentage of wallclock time in each STATE -.TP -File -Name of file, if known -.PP -.SH STATES -.TP -read -Time spent during the execution of the read() syscall. -.TP -write -Time spent during the execution of the write() syscall. -.TP -waitcpu -Latency spent waiting to be scheduled after becoming runnable. -.TP -running -Process running user-mode code. -.TP -sleep-r -Process sleeping on reads. -.TP -sleep-w -Process sleeping on writes. -.PP -.SH DOCUMENTATION -pfilestat is discussed and demonstrated in Solaris Internals 2nd edition, -volume 2. - -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -pfilestat will sample until Ctrl\-C is hit. -.SH AUTHOR -Richard McDougall -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/pgpginbypid.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/pgpginbypid.d.1m deleted file mode 100644 index fdaa297b51d0..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/pgpginbypid.d.1m +++ /dev/null @@ -1,47 +0,0 @@ -.TH pgpginbypid.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -pgpginbypid.d \- pages paged in by PID. Uses DTrace. -.SH SYNOPSIS -.B pgpginbypid.d -.SH DESCRIPTION -pgpginbypid.d reports the rumber of pages paged in from the disks -by process ID. This is an indicator that processes are reading -from the disks. - -This is based on a script from DExplorer. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the vminfo provider. -.SH EXAMPLES -.TP -This samples until Ctrl\-C is hit. -# -.B pgpginbypid.d -.PP -.SH FIELDS -.TP -PID -process ID -.TP -CMD -process name -.TP -PAGES -number of pages paged in -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -pgpginbypid.d will sample until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -iosnoop(1m), dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/pgpginbyproc.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/pgpginbyproc.d.1m deleted file mode 100644 index 413043af10e5..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/pgpginbyproc.d.1m +++ /dev/null @@ -1,50 +0,0 @@ -.TH pgpginbyproc.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -pgpginbyproc.d \- pages pagedin by process name. Uses DTrace. -.SH SYNOPSIS -.B pgpginbyproc.d -.SH DESCRIPTION -pgpginbyproc.d is a DTrace OneLiner to a report the number of pages -paged in by process name. - -This may be one way to help identify the process responsible for -causing heavy read traffic to the disks. - -Docs/oneliners.txt and Docs/Examples/oneliners_examples.txt -in the DTraceToolkit contain this as a oneliner that can be cut-n-paste -to run. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the vminfo provider. -.SH EXAMPLES -.TP -This samples until Ctrl\-C is hit. -# -.B pgpginbyproc.d -.PP -.SH FIELDS -.TP -first field -The process name. There may be several PIDs that have the -same process name, for example with numerous instances of "bash". The -value reported will be the sum of them all. -.TP -second field -The number of pages paged in -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -pgpginbyproc.d will sample until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -iosnoop(1m), dtrace(1M), truss(1) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/php_calldist.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/php_calldist.d.1m deleted file mode 100644 index 065d6db2d7d1..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/php_calldist.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH php_calldist.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -php_calldist.d - measure PHP elapsed times for functions. -.SH SYNOPSIS -.B php_calldist.d - -.SH DESCRIPTION -This traces PHP activity from all programs running on the system with -PHP provider support. - -This script prints distribution plots of elapsed time for PHP -operations. Use php_calltime.d for summary reports. - -Filename and function names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Php provider, which may change -as additional features are introduced. Check Php/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B php_calldist.d -.PP -.SH FIELDS -.TP -1 -Filename of the PHP program -.TP -2 -Type of call (func) -.TP -3 -Name of call -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -php_calldist.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/php_calltime.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/php_calltime.d.1m deleted file mode 100644 index f090b6e70160..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/php_calltime.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH php_calltime.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -php_calltime.d - measure PHP elapsed times for functions. -.SH SYNOPSIS -.B php_calltime.d - -.SH DESCRIPTION -This traces PHP activity from all programs running on the system with -PHP provider support. - -Filename and function names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Php provider, which may change -as additional features are introduced. Check Php/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B php_calltime.d -.PP -.SH FIELDS -.TP -FILE -Filename of the PHP program -.TP -TYPE -Type of call (func/total) -.TP -NAME -Name of call -.TP -TOTAL -Total elapsed time for calls (us) -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -php_calltime.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/php_cpudist.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/php_cpudist.d.1m deleted file mode 100644 index 54ea0d195b84..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/php_cpudist.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH php_cpudist.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -php_cpudist.d - measure PHP on-CPU times for functions. -.SH SYNOPSIS -.B php_cpudist.d - -.SH DESCRIPTION -This traces PHP activity from all programs running on the system with -PHP provider support. - -This script prints distribution plots of elapsed time for PHP -operations. Use php_cputime.d for summary reports. - -Filename and function names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Php provider, which may change -as additional features are introduced. Check Php/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B php_cpudist.d -.PP -.SH FIELDS -.TP -1 -Filename of the PHP program -.TP -2 -Type of call (func) -.TP -3 -Name of call -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -php_cpudist.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/php_cputime.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/php_cputime.d.1m deleted file mode 100644 index 2020969224f6..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/php_cputime.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH php_cputime.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -php_cputime.d - measure PHP on-CPU times for functions. -.SH SYNOPSIS -.B php_cputime.d - -.SH DESCRIPTION -This traces PHP activity from all programs running on the system with -PHP provider support. - -Filename and function names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Php provider, which may change -as additional features are introduced. Check Php/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B php_cputime.d -.PP -.SH FIELDS -.TP -FILE -Filename of the PHP program -.TP -TYPE -Type of call (func/total) -.TP -NAME -Name of call (function name) -.TP -TOTAL -Total on-CPU time for calls (us) -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -php_cputime.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/php_flow.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/php_flow.d.1m deleted file mode 100644 index bda09e3b24d6..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/php_flow.d.1m +++ /dev/null @@ -1,60 +0,0 @@ -.TH php_flow.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -php_flow.d - snoop PHP execution showing function flow. -.SH SYNOPSIS -.B php_flow.d - -.SH DESCRIPTION -This traces PHP activity from all PHP programs on the system -running with PHP provider support. - -This watches PHP function entries and returns, and indents child -function calls. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Php provider, which may change -as additional features are introduced. Check Php/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B php_flow.d -.PP -.SH FIELDS -.TP -C -CPU-id -.TP -TIME(us) -Time since boot, us -.TP -FILE -Filename that this function belongs to -.TP -FUNC -Function name -.SH LEGEND -.TP -\-> -function entry -.TP -<\- -function return -.SH WARNING -Watch the first column carefully, it prints the CPU-id. If it -changes, then it is very likely that the output has been shuffled. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -php_flow.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/php_flowinfo.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/php_flowinfo.d.1m deleted file mode 100644 index 2e9282e73035..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/php_flowinfo.d.1m +++ /dev/null @@ -1,68 +0,0 @@ -.TH php_flowinfo.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -php_flowinfo.d - snoop PHP function flow with info using DTrace. -.SH SYNOPSIS -.B php_flowinfo.d - -.SH DESCRIPTION -This traces activity from all PHP programs on the system that are -running with PHP provider support. - -Filename and function names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Php provider, which may change -as additional features are introduced. Check Php/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B php_flowinfo.d -.PP -.SH FIELDS -.TP -C -CPU-id -.TP -PID -Process ID -.TP -DELTA(us) -Elapsed time from previous line to this line -.TP -FILE -Filename of the PHP program -.TP -LINE -Line number of filename -.TP -TYPE -Type of call (func) -.TP -FUNC -PHP function -.SH LEGEND -.TP -\-> -function entry -.TP -<\- -function return -.SH WARNING -Watch the first column carefully, it prints the CPU-id. If it -changes, then it is very likely that the output has been shuffled. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -php_flowinfo.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/php_flowtime.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/php_flowtime.d.1m deleted file mode 100644 index f30c283e5476..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/php_flowtime.d.1m +++ /dev/null @@ -1,65 +0,0 @@ -.TH php_flowtime.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -php_flowtime.d - snoop PHP functions with flow and delta times. -.SH SYNOPSIS -.B php_flowtime.d - -.SH DESCRIPTION -This traces shell activity from PHP programs on the system that are -running with PHP provider support. - -This watches PHP function entries and returns, and indents child -function calls. - -Filename and function names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Php provider, which may change -as additional features are introduced. Check Php/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B php_flowtime.d -.PP -.SH FIELDS -.TP -C -CPU-id -.TP -TIME(us) -Time since boot, us -.TP -FILE -Filename that this function belongs to -.TP -DELTA(us) -Elapsed time from previous line to this line -.TP -FUNC -PHP function name -.SH LEGEND -.TP -\-> -function entry -.TP -<\- -function return -.SH WARNING -Watch the first column carefully, it prints the CPU-id. If it -changes, then it is very likely that the output has been shuffled. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -php_flowtime.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/php_funccalls.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/php_funccalls.d.1m deleted file mode 100644 index eb01963bb2fa..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/php_funccalls.d.1m +++ /dev/null @@ -1,43 +0,0 @@ -.TH php_funccalls.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -php_funccalls.d - measure PHP function calls using DTrace. -.SH SYNOPSIS -.B php_funccalls.d - -.SH DESCRIPTION -This traces PHP activity from all running programs on the system -which support the PHP DTrace provider. - -Filename and function names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Php provider, which may change -as additional features are introduced. Check Php/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B php_funccalls.d -.PP -.SH FIELDS -.TP -FUNC -PHP function name -.TP -CALLS -Function calls during this sample -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -php_funccalls.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/php_malloc.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/php_malloc.d.1m deleted file mode 100644 index a11944d9537c..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/php_malloc.d.1m +++ /dev/null @@ -1,39 +0,0 @@ -.TH php_malloc.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -php_malloc.d - PHP libc malloc analysis. -.SH SYNOPSIS -.B php_malloc.d -{ \-p PID | \-c cmd } -.SH DESCRIPTION -This is an expiremental script to identify who is calling malloc() for -memory allocation, and to print distribution plots of the requested bytes. -If a malloc() occured while in a PHP function, then that function is -identified as responsible; else the caller of malloc() is identified as -responsible - which will be a function from the PHP engine. - -Filename and function names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Php provider, which may change -as additional features are introduced. Check Php/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B php_malloc.d -.PP -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -php_malloc.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/php_syscalls.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/php_syscalls.d.1m deleted file mode 100644 index e2b10b0f84fa..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/php_syscalls.d.1m +++ /dev/null @@ -1,54 +0,0 @@ -.TH php_syscalls.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -php_syscalls.d - count PHP function calls and syscalls using DTrace. -.SH SYNOPSIS -.B php_syscalls.d - -.SH DESCRIPTION -This traces syscalls that occured during a PHP function call. - -Filename and function names are printed if available. -The filename for syscalls may be printed as "php", if the program -was invoked using the form "php filename" rather than running the -program with an interpreter line. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Php provider, which may change -as additional features are introduced. Check Php/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B php_syscalls.d -.PP -.SH FIELDS -.TP -PID -Process ID -.TP -FILE -Filename of the PHP program -.TP -TYPE -Type of call (func/syscall) -.TP -NAME -Name of call -.TP -COUNT -Number of calls during sample -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -php_syscalls.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/php_syscolors.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/php_syscolors.d.1m deleted file mode 100644 index 0a29ffb43913..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/php_syscolors.d.1m +++ /dev/null @@ -1,61 +0,0 @@ -.TH php_syscolors.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -php_syscolors.d - trace PHP function flow plus syscalls, in color. -.SH SYNOPSIS -.B php_syscolors.d - -.SH DESCRIPTION -This watches PHP function entries and returns, and indents child -function calls. - -Filename and function names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Php provider, which may change -as additional features are introduced. Check Php/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B php_syscolors.d -.PP -.SH FIELDS -.TP -C -CPU-id -.TP -PID -Process ID -.TP -DELTA(us) -Elapsed time from previous line to this line -.TP -FILE -Filename of the PHP program -.TP -LINE -Line number of filename -.TP -TYPE -Type of call (func/syscall) -.TP -NAME -PHP function or syscall name -.SH WARNING -Watch the first column carefully, it prints the CPU-id. If it -changes, then it is very likely that the output has been shuffled. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -php_syscolors.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/php_who.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/php_who.d.1m deleted file mode 100644 index 9aacba6221ef..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/php_who.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH php_who.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -php_who.d - trace PHP function execution by process using DTrace. -.SH SYNOPSIS -.B php_who.d - -.SH DESCRIPTION -This traces PHP activity from all PHP programs on the system that are -running with PHP provider support. - -Filenames are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Php provider, which may change -as additional features are introduced. Check Php/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B php_who.d -.PP -.SH FIELDS -.TP -PID -Process ID of PHP -.TP -UID -User ID of the owner -.TP -FUNCS -Number of function calls -.TP -FILE -Pathname of the PHP program -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -php_who.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/pidpersec.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/pidpersec.d.1m deleted file mode 100644 index 4040ae549f26..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/pidpersec.d.1m +++ /dev/null @@ -1,42 +0,0 @@ -.TH pidpersec.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -pidpersec.d \- print new PIDs per sec. Uses DTrace. -.SH SYNOPSIS -.B pidpersec.d -.SH DESCRIPTION -This script prints the number of new processes created per second. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the proc provider. -.SH EXAMPLES -.TP -Print PID statistics per second, -# -.B pidpersec.d -.PP -.SH FIELDS -.TP -TIME -time, as a string -.TP -LASTPID -last PID created -.TP -PID/s -Number of processes created per second -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -pidpersec.d will run until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -execsnoop(1M), dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/pl_calldist.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/pl_calldist.d.1m deleted file mode 100644 index ad2d1b83d184..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/pl_calldist.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH pl_calldist.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -pl_calldist.d - measure Perl elapsed times for subroutines. -.SH SYNOPSIS -.B pl_calldist.d - -.SH DESCRIPTION -This traces Perl activity from all programs running on the system with -Perl provider support. - -This script prints distribution plots of elapsed time for Perl subroutines. -Use pl_calltime.d for summary reports. - -Filename and subroutine names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Perl provider, which may change -as additional features are introduced. Check Perl/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B pl_calldist.d -.PP -.SH FIELDS -.TP -1 -Filename of the Perl program -.TP -2 -Type of call (sub) -.TP -3 -Name of call -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -pl_calldist.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/pl_calltime.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/pl_calltime.d.1m deleted file mode 100644 index 7de6eaf7a7c1..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/pl_calltime.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH pl_calltime.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -pl_calltime.d - measure Perl elapsed times for subroutines. -.SH SYNOPSIS -.B pl_calltime.d - -.SH DESCRIPTION -This traces Perl activity from all programs running on the system with -Perl provider support. - -Filename and subroutine names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Perl provider, which may change -as additional features are introduced. Check Perl/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B pl_calltime.d -.PP -.SH FIELDS -.TP -FILE -Filename of the Perl program -.TP -TYPE -Type of call (sub/total) -.TP -NAME -Name of call -.TP -TOTAL -Total elapsed time for calls (us) -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -pl_calltime.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/pl_cpudist.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/pl_cpudist.d.1m deleted file mode 100644 index 6df61f1bb4de..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/pl_cpudist.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH pl_cpudist.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -pl_cpudist.d - measure Perl on-CPU times for subroutines. -.SH SYNOPSIS -.B pl_cpudist.d - -.SH DESCRIPTION -This traces Perl activity from all programs running on the system with -Perl provider support. - -This script prints distribution plots of elapsed time for Perl subrotines. -Use pl_cputime.d for summary reports. - -Filename and subroutine names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Perl provider, which may change -as additional features are introduced. Check Perl/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B pl_cpudist.d -.PP -.SH FIELDS -.TP -1 -Filename of the Perl program -.TP -2 -Type of call (sub) -.TP -3 -Name of call -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -pl_cpudist.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/pl_cputime.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/pl_cputime.d.1m deleted file mode 100644 index f8cf75aed423..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/pl_cputime.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH pl_cputime.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -pl_cputime.d - measure Perl on-CPU times for subroutines. -.SH SYNOPSIS -.B pl_cputime.d - -.SH DESCRIPTION -This traces Perl activity from all programs running on the system with -Perl provider support. - -Filename and subroutine names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Perl provider, which may change -as additional features are introduced. Check Perl/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B pl_cputime.d -.PP -.SH FIELDS -.TP -FILE -Filename of the Perl program -.TP -TYPE -Type of call (sub/total) -.TP -NAME -Name of call (subroutine name) -.TP -TOTAL -Total on-CPU time for calls (us) -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -pl_cputime.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/pl_flow.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/pl_flow.d.1m deleted file mode 100644 index d66e49363069..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/pl_flow.d.1m +++ /dev/null @@ -1,60 +0,0 @@ -.TH pl_flow.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -pl_flow.d - snoop Perl execution showing subroutine flow. -.SH SYNOPSIS -.B pl_flow.d - -.SH DESCRIPTION -This traces Perl activity from all Perl programs on the system -running with Perl provider support. - -This watches Perl subroutine entries and returns, and indents child -subroutine calls. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Perl provider, which may change -as additional features are introduced. Check Perl/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B pl_flow.d -.PP -.SH FIELDS -.TP -C -CPU-id -.TP -TIME(us) -Time since boot, us -.TP -FILE -Filename that this subroutine belongs to -.TP -SUB -Subroutine name -.SH LEGEND -.TP -\-> -subroutine entry -.TP -<\- -subroutine return -.SH WARNING -Watch the first column carefully, it prints the CPU-id. If it -changes, then it is very likely that the output has been shuffled. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -pl_flow.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/pl_flowinfo.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/pl_flowinfo.d.1m deleted file mode 100644 index 0bf1384bfdbf..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/pl_flowinfo.d.1m +++ /dev/null @@ -1,68 +0,0 @@ -.TH pl_flowinfo.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -pl_flowinfo.d - snoop Perl subroutine flow with info using DTrace. -.SH SYNOPSIS -.B pl_flowinfo.d - -.SH DESCRIPTION -This traces activity from all Perl programs on the system that are -running with Perl provider support. - -Filename and subroutine names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Perl provider, which may change -as additional features are introduced. Check Perl/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B pl_flowinfo.d -.PP -.SH FIELDS -.TP -C -CPU-id -.TP -PID -Process ID -.TP -DELTA(us) -Elapsed time from previous line to this line -.TP -FILE -Filename of the Perl program -.TP -LINE -Line number of filename -.TP -TYPE -Type of call (sub) -.TP -SUB -Perl subroutine -.SH LEGEND -.TP -\-> -subroutine entry -.TP -<\- -subroutine return -.SH WARNING -Watch the first column carefully, it prints the CPU-id. If it -changes, then it is very likely that the output has been shuffled. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -pl_flowinfo.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/pl_flowtime.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/pl_flowtime.d.1m deleted file mode 100644 index 59acddf363ed..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/pl_flowtime.d.1m +++ /dev/null @@ -1,65 +0,0 @@ -.TH pl_flowtime.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -pl_flowtime.d - snoop Perl subroutines with flow and delta times. -.SH SYNOPSIS -.B pl_flowtime.d - -.SH DESCRIPTION -This traces shell activity from Perl programs on the system that are -running with Perl provider support. - -This watches Perl subroutine entries and returns, and indents child -subroutine calls. - -Filename and subroutine names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Perl provider, which may change -as additional features are introduced. Check Perl/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B pl_flowtime.d -.PP -.SH FIELDS -.TP -C -CPU-id -.TP -TIME(us) -Time since boot, us -.TP -FILE -Filename that this subroutine belongs to -.TP -DELTA(us) -Elapsed time from previous line to this line -.TP -SUB -Perl subroutine name -.SH LEGEND -.TP -\-> -method entry -.TP -<\- -method return -.SH WARNING -Watch the first column carefully, it prints the CPU-id. If it -changes, then it is very likely that the output has been shuffled. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -pl_flowtime.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/pl_malloc.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/pl_malloc.d.1m deleted file mode 100644 index babee557d35d..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/pl_malloc.d.1m +++ /dev/null @@ -1,39 +0,0 @@ -.TH pl_malloc.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -pl_malloc.d - Perl libc malloc analysis. -.SH SYNOPSIS -.B pl_malloc.d -{ \-p PID | \-c cmd } -.SH DESCRIPTION -This is an expiremental script to identify who is calling malloc() for -memory allocation, and to print distribution plots of the requested bytes. -If a malloc() occured while in a Perl subroutine, then that subroutine is -identified as responsible; else the caller of malloc() is identified as -responsible - which will be a function from the Perl engine. - -Filename and subroutine names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Perl provider, which may change -as additional features are introduced. Check Perl/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B pl_malloc.d -.PP -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -pl_malloc.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/pl_subcalls.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/pl_subcalls.d.1m deleted file mode 100644 index 710b39dde66d..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/pl_subcalls.d.1m +++ /dev/null @@ -1,43 +0,0 @@ -.TH pl_subcalls.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -pl_subcalls.d - measure Perl subroutine calls using DTrace. -.SH SYNOPSIS -.B pl_subcalls.d - -.SH DESCRIPTION -This traces Perl activity from all running programs on the system -which support the Perl DTrace provider. - -Filename and subroutine names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Perl provider, which may change -as additional features are introduced. Check Perl/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B pl_subcalls.d -.PP -.SH FIELDS -.TP -SUB -Perl subroutine name -.TP -CALLS -Subroutine calls during this sample -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -pl_subcalls.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/pl_syscalls.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/pl_syscalls.d.1m deleted file mode 100644 index bd35e5c685bc..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/pl_syscalls.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH pl_syscalls.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -pl_syscalls.d - count Perl subroutine calls and syscalls using DTrace. -.SH SYNOPSIS -.B pl_syscalls.d -{ \-p PID | \-c cmd } -.SH DESCRIPTION -Filename and subroutine names are printed if available. -The filename for syscalls may be printed as "perl", if the program -was invoked using the form "perl filename" rather than running the -program with an interpreter line. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Perl provider, which may change -as additional features are introduced. Check Perl/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B pl_syscalls.d -.PP -.SH FIELDS -.TP -FILE -Filename of the Perl program -.TP -TYPE -Type of call (sub/syscall) -.TP -NAME -Name of call -.TP -COUNT -Number of calls during sample -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -pl_syscalls.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/pl_syscolors.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/pl_syscolors.d.1m deleted file mode 100644 index 5c4c4bac1dbe..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/pl_syscolors.d.1m +++ /dev/null @@ -1,61 +0,0 @@ -.TH pl_syscolors.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -pl_syscolors.d - trace Perl subroutine flow plus syscalls, in color. -.SH SYNOPSIS -.B pl_syscolors.d -{ \-p PID | \-c cmd } -.SH DESCRIPTION -This watches Perl subroutine entries and returns, and indents child -subroutine calls. - -Filename and subroutine names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Perl provider, which may change -as additional features are introduced. Check Perl/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B pl_syscolors.d -.PP -.SH FIELDS -.TP -C -CPU-id -.TP -PID -Process ID -.TP -DELTA(us) -Elapsed time from previous line to this line -.TP -FILE -Filename of the Perl program -.TP -LINE -Line number of filename -.TP -TYPE -Type of call (sub/syscall) -.TP -NAME -Perl subroutine or syscall name -.SH WARNING -Watch the first column carefully, it prints the CPU-id. If it -changes, then it is very likely that the output has been shuffled. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -pl_syscolors.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/pl_who.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/pl_who.d.1m deleted file mode 100644 index 9239a7023849..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/pl_who.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH pl_who.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -pl_who.d - trace Perl subroutine execution by process using DTrace. -.SH SYNOPSIS -.B pl_who.d - -.SH DESCRIPTION -This traces Perl activity from all Perl programs on the system that are -running with Perl provider support. - -Filenames are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Perl provider, which may change -as additional features are introduced. Check Perl/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B pl_who.d -.PP -.SH FIELDS -.TP -PID -Process ID of Perl -.TP -UID -User ID of the owner -.TP -SUBS -Number of subroutine calls -.TP -FILE -Pathname of the Perl program -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -pl_who.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/priclass.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/priclass.d.1m deleted file mode 100644 index d726ac2588f1..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/priclass.d.1m +++ /dev/null @@ -1,66 +0,0 @@ -.TH priclass.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -priclass.d \- priority distribution by scheduling class. Uses DTrace. -.SH SYNOPSIS -.B priclass.d -.SH DESCRIPTION -This is a simple DTrace script that samples at 1000 Hz the current -thread's scheduling class and priority. A distribution plot is printed. - -With priorities, the higher the priority the better chance the thread -has of being scheduled. - -This idea came from the script /usr/demo/dtrace/pri.d, which -produces similar output for priority changes, not samples. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable. -.SH EXAMPLES -.TP -This samples until Ctrl\-C is hit. -# -.B priclass.d -.PP -.SH FIELDS -.TP -value -process priority -.TP -count -number of samples of at least this priority -.PP -.SH SCHEDULING CLASSES -.TP -TS -time sharing -.TP -IA -interactive -.TP -RT -real time -.TP -SYS -system -.TP -FSS -fair share scheduler -.PP -.SH BASED ON -/usr/demo/dtrace/pri.d -.PP -.SH DOCUMENTATION -DTrace Guide "profile Provider" chapter (docs.sun.com) - -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -priclass.d will sample until Ctrl\-C is hit. -.SH SEE ALSO -pridist.d(1M), dispadmin(1M), dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/pridist.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/pridist.d.1m deleted file mode 100644 index 1e7aba625442..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/pridist.d.1m +++ /dev/null @@ -1,55 +0,0 @@ -.TH pridist.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -pridist.d \- process priority distribution. Uses DTrace. -.SH SYNOPSIS -.B pridist.d -.SH DESCRIPTION -This is a simple DTrace script that samples at 1000 Hz which process -is on the CPUs, and what the priority is. A distribution plot is printed. - -With priorities, the higher the priority the better chance the process -(actually, thread) has of being scheduled. - -This idea came from the script /usr/demo/dtrace/profpri.d, which -produces similar output for one particular PID. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable. -.SH EXAMPLES -.TP -This samples until Ctrl\-C is hit. -# -.B pridist.d -.PP -.SH FIELDS -.TP -CMD -process name -.TP -PID -process ID -.TP -value -process priority -.TP -count -number of samples of at least this priority -.PP -.SH BASED ON -/usr/demo/dtrace/profpri.d -.PP -.SH DOCUMENTATION -DTrace Guide "profile Provider" chapter (docs.sun.com) - -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -pridist.d will sample until Ctrl\-C is hit. -.SH SEE ALSO -dispadmin(1M), dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/procsystime.1m b/cddl/contrib/dtracetoolkit/Man/man1m/procsystime.1m deleted file mode 100644 index 0df87cf78832..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/procsystime.1m +++ /dev/null @@ -1,108 +0,0 @@ -.TH procsystime 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -procsystime \- analyse system call times. Uses DTrace. -.SH SYNOPSIS -.B procsystime -[\-acehoT] [ -p PID | -n name | command ] -.SH DESCRIPTION -procsystime prints details on system call times for processes, -both the elapsed times and on-cpu times can be printed. - -The elapsed times are interesting, to help identify syscalls -that take some time to complete (during which the process may -have slept). CPU time helps us identify syscalls that -are consuming CPU cycles to run. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the syscall provider. -.SH OPTIONS -.TP -\-a -print all data -.TP -\-c -print syscall counts -.TP -\-e -print elapsed times, ns -.TP -\-o -print CPU times, ns -.TP -\-T -print totals -.TP -\-p PID -examine this PID -.TP -\-n name -examine processes which have this name -.SH EXAMPLES -.TP -Print elapsed times for PID 1871, -# -.B procsystime -\-p 1871 -.PP -.TP -Print elapsed times for processes called "tar", -# -.B procsystime -\-n tar -.PP -.TP -Print CPU times for "tar" processes, -# -.B procsystime -\-on tar -.PP -.TP -Print syscall counts for "tar" processes, -# -.B procsystime -\-cn tar -.PP -.TP -Print elapsed and CPU times for "tar" processes, -# -.B procsystime -\-eon tar -.PP -.TP -print all details for "bash" processes, -# -.B procsystime -\-aTn bash -.PP -.TP -run and print details for "df -h", -# -.B procsystime -df \-h -.PP -.SH FIELDS -.TP -SYSCALL -System call name -.TP -TIME (ns) -Total time, nanoseconds -.TP -COUNT -Number of occurrences -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -procsystime will sample until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtruss(1M), dtrace(1M), truss(1) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/putnexts.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/putnexts.d.1m deleted file mode 100644 index 59335673299d..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/putnexts.d.1m +++ /dev/null @@ -1,27 +0,0 @@ -.TH putnexts.d 1m "$Date:: 2007-09-12 #$" "USER COMMANDS" -.SH NAME -putnexts.d - -.SH SYNOPSIS -.SH DESCRIPTION - -.SH OS -Solaris -.SH STABILITY -stable - -.SH EXAMPLES -.TP -Default output, -# -.B putnexts.d -.PP -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -putnexts.d will run until Ctrl-C is hit. -.SH AUTHOR - -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/py_calldist.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/py_calldist.d.1m deleted file mode 100644 index 1592af5e8223..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/py_calldist.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH py_calldist.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -py_calldist.d - measure Python elapsed times for functions. -.SH SYNOPSIS -.B py_calldist.d - -.SH DESCRIPTION -This traces Python activity from all programs running on the system with -Python provider support. - -This script prints distribution plots of elapsed time for Python -operations. Use py_calltime.d for summary reports. - -Filename and function names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Python provider, which may change -as additional features are introduced. Check Python/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B py_calldist.d -.PP -.SH FIELDS -.TP -1 -Filename of the Python program -.TP -2 -Type of call (func) -.TP -3 -Name of call -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -py_calldist.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/py_calltime.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/py_calltime.d.1m deleted file mode 100644 index e055eb33366f..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/py_calltime.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH py_calltime.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -py_calltime.d - measure Python elapsed times for functions. -.SH SYNOPSIS -.B py_calltime.d - -.SH DESCRIPTION -This traces Python activity from all programs running on the system with -Python provider support. - -Filename and function names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Python provider, which may change -as additional features are introduced. Check Python/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B py_calltime.d -.PP -.SH FIELDS -.TP -FILE -Filename of the Python program -.TP -TYPE -Type of call (func/total) -.TP -NAME -Name of call -.TP -TOTAL -Total elapsed time for calls (us) -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -py_calltime.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/py_cpudist.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/py_cpudist.d.1m deleted file mode 100644 index 825fc6401288..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/py_cpudist.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH py_cpudist.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -py_cpudist.d - measure Python on-CPU times for functions. -.SH SYNOPSIS -.B py_cpudist.d - -.SH DESCRIPTION -This traces Python activity from all programs running on the system with -Python provider support. - -This script prints distribution plots of elapsed time for Python -operations. Use py_cputime.d for summary reports. - -Filename and function names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Python provider, which may change -as additional features are introduced. Check Python/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B py_cpudist.d -.PP -.SH FIELDS -.TP -1 -Filename of the Python program -.TP -2 -Type of call (func) -.TP -3 -Name of call -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -py_cpudist.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/py_cputime.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/py_cputime.d.1m deleted file mode 100644 index f926204bb2bc..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/py_cputime.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH py_cputime.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -py_cputime.d - measure Python on-CPU times for functions. -.SH SYNOPSIS -.B py_cputime.d - -.SH DESCRIPTION -This traces Python activity from all programs running on the system with -Python provider support. - -Filename and function names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Python provider, which may change -as additional features are introduced. Check Python/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B py_cputime.d -.PP -.SH FIELDS -.TP -FILE -Filename of the Python program -.TP -TYPE -Type of call (func/total) -.TP -NAME -Name of call (function name) -.TP -TOTAL -Total on-CPU time for calls (us) -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -py_cputime.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/py_flow.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/py_flow.d.1m deleted file mode 100644 index 3659e0f63706..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/py_flow.d.1m +++ /dev/null @@ -1,60 +0,0 @@ -.TH py_flow.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -py_flow.d - snoop Python execution showing function flow. -.SH SYNOPSIS -.B py_flow.d - -.SH DESCRIPTION -This traces Python activity from all Python programs on the system -running with Python provider support. - -This watches Python function entries and returns, and indents child -function calls. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Python provider, which may change -as additional features are introduced. Check Python/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B py_flow.d -.PP -.SH FIELDS -.TP -C -CPU-id -.TP -TIME(us) -Time since boot, us -.TP -FILE -Filename that this function belongs to -.TP -FUNC -Function name -.SH LEGEND -.TP -\-> -function entry -.TP -<\- -function return -.SH WARNING -Watch the first column carefully, it prints the CPU-id. If it -changes, then it is very likely that the output has been shuffled. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -py_flow.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/py_flowinfo.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/py_flowinfo.d.1m deleted file mode 100644 index 4a25d0db2bdb..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/py_flowinfo.d.1m +++ /dev/null @@ -1,68 +0,0 @@ -.TH py_flowinfo.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -py_flowinfo.d - snoop Python function flow with info using DTrace. -.SH SYNOPSIS -.B py_flowinfo.d - -.SH DESCRIPTION -This traces activity from all Python programs on the system that are -running with Python provider support. - -Filename and function names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Python provider, which may change -as additional features are introduced. Check Python/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B py_flowinfo.d -.PP -.SH FIELDS -.TP -C -CPU-id -.TP -PID -Process ID -.TP -DELTA(us) -Elapsed time from previous line to this line -.TP -FILE -Filename of the Python program -.TP -LINE -Line number of filename -.TP -TYPE -Type of call (func) -.TP -FUNC -Python function -.SH LEGEND -.TP -\-> -function entry -.TP -<\- -function return -.SH WARNING -Watch the first column carefully, it prints the CPU-id. If it -changes, then it is very likely that the output has been shuffled. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -py_flowinfo.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/py_flowtime.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/py_flowtime.d.1m deleted file mode 100644 index 67882957e5ce..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/py_flowtime.d.1m +++ /dev/null @@ -1,65 +0,0 @@ -.TH py_flowtime.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -py_flowtime.d - snoop Python functions with flow and delta times. -.SH SYNOPSIS -.B py_flowtime.d - -.SH DESCRIPTION -This traces shell activity from Python programs on the system that are -running with Python provider support. - -This watches Python function entries and returns, and indents child -function calls. - -Filename and function names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Python provider, which may change -as additional features are introduced. Check Python/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B py_flowtime.d -.PP -.SH FIELDS -.TP -C -CPU-id -.TP -TIME(us) -Time since boot, us -.TP -FILE -Filename that this function belongs to -.TP -DELTA(us) -Elapsed time from previous line to this line -.TP -FUNC -Python function name -.SH LEGEND -.TP -\-> -function entry -.TP -<\- -function return -.SH WARNING -Watch the first column carefully, it prints the CPU-id. If it -changes, then it is very likely that the output has been shuffled. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -py_flowtime.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/py_funccalls.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/py_funccalls.d.1m deleted file mode 100644 index 8a54976199eb..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/py_funccalls.d.1m +++ /dev/null @@ -1,43 +0,0 @@ -.TH py_funccalls.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -py_funccalls.d - measure Python function calls using DTrace. -.SH SYNOPSIS -.B py_funccalls.d - -.SH DESCRIPTION -This traces Python activity from all running programs on the system -which support the Python DTrace provider. - -Filename and function names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Python provider, which may change -as additional features are introduced. Check Python/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B py_funccalls.d -.PP -.SH FIELDS -.TP -FUNC -Python function name -.TP -CALLS -Function calls during this sample -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -py_funccalls.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/py_malloc.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/py_malloc.d.1m deleted file mode 100644 index 4468da8ae2b9..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/py_malloc.d.1m +++ /dev/null @@ -1,39 +0,0 @@ -.TH py_malloc.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -py_malloc.d - Python libc malloc analysis. -.SH SYNOPSIS -.B py_malloc.d -{ \-p PID | \-c cmd } -.SH DESCRIPTION -This is an expiremental script to identify who is calling malloc() for -memory allocation, and to print distribution plots of the requested bytes. -If a malloc() occured while in a Python function, then that function is -identified as responsible; else the caller of malloc() is identified as -responsible - which will be a function from the Python engine. - -Filename and function names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Python provider, which may change -as additional features are introduced. Check Python/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B py_malloc.d -.PP -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -py_malloc.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/py_mallocstk.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/py_mallocstk.d.1m deleted file mode 100644 index fac0a1789b54..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/py_mallocstk.d.1m +++ /dev/null @@ -1,33 +0,0 @@ -.TH py_mallocstk.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -py_mallocstk.d - Python libc malloc analysis with full stack traces. -.SH SYNOPSIS -.B py_mallocstk.d -{ \-p PID | \-c cmd } -.SH DESCRIPTION - -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Python provider, which may change -as additional features are introduced. Check Python/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B py_mallocstk.d -.PP -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -py_mallocstk.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/py_profile.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/py_profile.d.1m deleted file mode 100644 index 282bf48104fc..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/py_profile.d.1m +++ /dev/null @@ -1,54 +0,0 @@ -.TH py_profile.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -py_profile.d - sample stack traces with Python translations using DTrace. -.SH SYNOPSIS -.B py_profile.d -{ \-p PID | \-c cmd } -.SH DESCRIPTION -This samples stack traces for the process specified. This stack trace -will cross the Python engine and system libraries, and insert -translations for Python stack frames where appropriate. This is best -explained with an example stack frame output, - -libpython2.4.so.1.0`PyEval_EvalFrame+0x2fbf -[ ./func_loop.py:5 (func_c) ] -libpython2.4.so.1.0`fast_function+0xa8 -libpython2.4.so.1.0`call_function+0xda -libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf -[ ./func_loop.py:11 (func_b) ] -libpython2.4.so.1.0`fast_function+0xa8 -libpython2.4.so.1.0`call_function+0xda -libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf -[ ./func_loop.py:14 (func_a) ] -libpython2.4.so.1.0`fast_function+0xa8 -libpython2.4.so.1.0`call_function+0xda -libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf -[ ./func_loop.py:16 (?) ] - -The lines in square brackets are the native Python frames, the rest -are the Python engine. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Python provider, which may change -as additional features are introduced. Check Python/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B py_profile.d -.PP -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -py_profile.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/py_syscalls.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/py_syscalls.d.1m deleted file mode 100644 index cd4712349714..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/py_syscalls.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH py_syscalls.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -py_syscalls.d - count Python function calls and syscalls using DTrace. -.SH SYNOPSIS -.B py_syscalls.d -{ \-p PID | \-c cmd } -.SH DESCRIPTION -Filename and function names are printed if available. -The filename for syscalls may be printed as "python", if the program -was invoked using the form "python filename" rather than running the -program with an interpreter line. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Python provider, which may change -as additional features are introduced. Check Python/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B py_syscalls.d -.PP -.SH FIELDS -.TP -FILE -Filename of the Python program -.TP -TYPE -Type of call (func/syscall) -.TP -NAME -Name of call -.TP -COUNT -Number of calls during sample -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -py_syscalls.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/py_syscolors.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/py_syscolors.d.1m deleted file mode 100644 index 210fa1b61f73..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/py_syscolors.d.1m +++ /dev/null @@ -1,61 +0,0 @@ -.TH py_syscolors.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -py_syscolors.d - trace Python function flow plus syscalls, in color. -.SH SYNOPSIS -.B py_syscolors.d -{ \-p PID | \-c cmd } -.SH DESCRIPTION -This watches Python function entries and returns, and indents child -function calls. - -Filename and function names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Python provider, which may change -as additional features are introduced. Check Python/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B py_syscolors.d -.PP -.SH FIELDS -.TP -C -CPU-id -.TP -PID -Process ID -.TP -DELTA(us) -Elapsed time from previous line to this line -.TP -FILE -Filename of the Python program -.TP -LINE -Line number of filename -.TP -TYPE -Type of call (func/syscall) -.TP -NAME -Python function or syscall name -.SH WARNING -Watch the first column carefully, it prints the CPU-id. If it -changes, then it is very likely that the output has been shuffled. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -py_syscolors.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/py_who.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/py_who.d.1m deleted file mode 100644 index e88190e6462f..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/py_who.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH py_who.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -py_who.d - trace Python function execution by process using DTrace. -.SH SYNOPSIS -.B py_who.d - -.SH DESCRIPTION -This traces Python activity from all Python programs on the system that are -running with Python provider support. - -Filenames are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Python provider, which may change -as additional features are introduced. Check Python/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B py_who.d -.PP -.SH FIELDS -.TP -PID -Process ID of Python -.TP -UID -User ID of the owner -.TP -FUNCS -Number of function calls -.TP -FILE -Pathname of the Python program -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -py_who.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/rb_calldist.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/rb_calldist.d.1m deleted file mode 100644 index 57a975620198..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/rb_calldist.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH rb_calldist.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -rb_calldist.d - measure Ruby elapsed times for types of operation. -.SH SYNOPSIS -.B rb_calldist.d - -.SH DESCRIPTION -This traces Ruby activity from all programs running on the system with -Ruby provider support. - -This script prints distribution plots of elapsed time for Ruby -operations. Use rb_calltime.d for summary reports. - -Filename and method names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Ruby provider, which may change -as additional features are introduced. Check Ruby/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B rb_calldist.d -.PP -.SH FIELDS -.TP -1 -Filename of the Ruby program -.TP -2 -Type of call (method/obj-new/gc) -.TP -3 -Name of call -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -rb_calldist.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/rb_calls.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/rb_calls.d.1m deleted file mode 100644 index 3e328f3ce7cf..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/rb_calls.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH rb_calls.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -rb_calls.d - count Ruby calls using DTrace. -.SH SYNOPSIS -.B rb_calls.d - -.SH DESCRIPTION -This traces activity from all Ruby programs on the system that are -running with Ruby provider support. - -Filename and method names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Ruby provider, which may change -as additional features are introduced. Check Ruby/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B rb_calls.d -.PP -.SH FIELDS -.TP -FILE -Filename of the Ruby program -.TP -TYPE -Type of call (method/obj-new/...) -.TP -NAME -Descriptive name of call -.TP -COUNT -Number of calls during sample -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -rb_calls.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/rb_calltime.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/rb_calltime.d.1m deleted file mode 100644 index 0787a93aa50d..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/rb_calltime.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH rb_calltime.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -rb_calltime.d - measure Ruby elapsed times for types of operation. -.SH SYNOPSIS -.B rb_calltime.d - -.SH DESCRIPTION -This traces Ruby activity from all programs running on the system with -Ruby provider support. - -Filename and method names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Ruby provider, which may change -as additional features are introduced. Check Ruby/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B rb_calltime.d -.PP -.SH FIELDS -.TP -FILE -Filename of the Ruby program -.TP -TYPE -Type of call (method/obj-new/gc/total) -.TP -NAME -Name of call -.TP -TOTAL -Total elapsed time for calls (us) -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -rb_calltime.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/rb_cpudist.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/rb_cpudist.d.1m deleted file mode 100644 index ff4f283bbf3b..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/rb_cpudist.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH rb_cpudist.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -rb_cpudist.d - measure Ruby on-CPU times for types of operation. -.SH SYNOPSIS -.B rb_cpudist.d - -.SH DESCRIPTION -This traces Ruby activity from all programs running on the system with -Ruby provider support. - -This script prints distribution plots of elapsed time for Ruby -operations. Use rb_cputime.d for summary reports. - -Filename and method names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Ruby provider, which may change -as additional features are introduced. Check Ruby/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B rb_cpudist.d -.PP -.SH FIELDS -.TP -1 -Filename of the Ruby program -.TP -2 -Type of call (method/obj-new/gc) -.TP -3 -Name of call -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -rb_cpudist.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/rb_cputime.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/rb_cputime.d.1m deleted file mode 100644 index 7e8302b895a4..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/rb_cputime.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH rb_cputime.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -rb_cputime.d - measure Ruby on-CPU times for types of operation. -.SH SYNOPSIS -.B rb_cputime.d - -.SH DESCRIPTION -This traces Ruby activity from all programs running on the system with -Ruby provider support. - -Filename and method names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Ruby provider, which may change -as additional features are introduced. Check Ruby/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B rb_cputime.d -.PP -.SH FIELDS -.TP -FILE -Filename of the Ruby program -.TP -TYPE -Type of call (method/obj-new/gc/total) -.TP -NAME -Name of call -.TP -TOTAL -Total on-CPU time for calls (us) -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -rb_cputime.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/rb_flow.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/rb_flow.d.1m deleted file mode 100644 index fa1f51834cfd..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/rb_flow.d.1m +++ /dev/null @@ -1,59 +0,0 @@ -.TH rb_flow.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -rb_flow.d - snoop Ruby execution showing method flow using DTrace. -.SH SYNOPSIS -.B rb_flow.d - -.SH DESCRIPTION -This traces activity from all Ruby programs on the system that are -running with Ruby provider support. - -Filename and method names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Ruby provider, which may change -as additional features are introduced. Check Ruby/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B rb_flow.d -.PP -.SH FIELDS -.TP -C -CPU-id -.TP -TIME(us) -Time since boot, us -.TP -FILE -Filename that this method belongs to -.TP -CLASS::METHOD -Ruby classname and method -.SH LEGEND -.TP -\-> -method entry -.TP -<\- -method return -.SH WARNING -Watch the first column carefully, it prints the CPU-id. If it -changes, then it is very likely that the output has been shuffled. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -rb_flow.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/rb_flowinfo.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/rb_flowinfo.d.1m deleted file mode 100644 index 08e124fbfa25..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/rb_flowinfo.d.1m +++ /dev/null @@ -1,68 +0,0 @@ -.TH rb_flowinfo.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -rb_flowinfo.d - snoop Ruby function (method) flow with info using DTrace. -.SH SYNOPSIS -.B rb_flowinfo.d - -.SH DESCRIPTION -This traces activity from all Ruby programs on the system that are -running with Ruby provider support. - -Filename and method names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Ruby provider, which may change -as additional features are introduced. Check Ruby/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B rb_flowinfo.d -.PP -.SH FIELDS -.TP -C -CPU-id -.TP -PID -Process ID -.TP -DELTA(us) -Elapsed time from previous line to this line -.TP -FILE -Filename of the Ruby program -.TP -LINE -Line number of filename -.TP -TYPE -Type of call (method) -.TP -NAME -Ruby class and method name -.SH LEGEND -.TP -\-> -method entry -.TP -<\- -method return -.SH WARNING -Watch the first column carefully, it prints the CPU-id. If it -changes, then it is very likely that the output has been shuffled. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -rb_flowinfo.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/rb_flowtime.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/rb_flowtime.d.1m deleted file mode 100644 index 64425b37f7be..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/rb_flowtime.d.1m +++ /dev/null @@ -1,62 +0,0 @@ -.TH rb_flowtime.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -rb_flowtime.d - snoop Ruby function (method) flow using DTrace. -.SH SYNOPSIS -.B rb_flowtime.d - -.SH DESCRIPTION -This traces activity from all Ruby programs on the system that are -running with Ruby provider support. - -Filename and method names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Ruby provider, which may change -as additional features are introduced. Check Ruby/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B rb_flowtime.d -.PP -.SH FIELDS -.TP -C -CPU-id -.TP -TIME(us) -Time since boot, us -.TP -FILE -Filename that this method belongs to -.TP -DELTA(us) -Elapsed time from previous line to this line -.TP -CLASS::METHOD -Ruby class and method name -.SH LEGEND -.TP -\-> -method entry -.TP -<\- -method return -.SH WARNING -Watch the first column carefully, it prints the CPU-id. If it -changes, then it is very likely that the output has been shuffled. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -rb_flowtime.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/rb_funccalls.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/rb_funccalls.d.1m deleted file mode 100644 index c4fe9fad2516..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/rb_funccalls.d.1m +++ /dev/null @@ -1,46 +0,0 @@ -.TH rb_funccalls.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -rb_funccalls.d - count Ruby function (method) calls using DTrace. -.SH SYNOPSIS -.B rb_funccalls.d - -.SH DESCRIPTION -This traces activity from all Ruby programs on the system that are -running with Ruby provider support. - -Filename and method names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Ruby provider, which may change -as additional features are introduced. Check Ruby/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B rb_funccalls.d -.PP -.SH FIELDS -.TP -FILE -Filename of the Ruby program -.TP -METHOD -Method name -.TP -COUNT -Number of calls during sample -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -rb_funccalls.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/rb_lines.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/rb_lines.d.1m deleted file mode 100644 index 4bdbabcafb57..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/rb_lines.d.1m +++ /dev/null @@ -1,46 +0,0 @@ -.TH rb_lines.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -rb_lines.d - trace Ruby line execution by process using DTrace. -.SH SYNOPSIS -.B rb_who.d - -.SH DESCRIPTION -This traces Ruby activity from all Ruby programs on the system that are -running with Ruby provider support. - -Filenames are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Ruby provider, which may change -as additional features are introduced. Check Ruby/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B rb_lines.d -.PP -.SH FIELDS -.TP -FILE -Filename of the Ruby program -.TP -LINE -Line number -.TP -COUNT -Number of times a line was executed -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -rb_lines.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/rb_malloc.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/rb_malloc.d.1m deleted file mode 100644 index d86bc46d14b7..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/rb_malloc.d.1m +++ /dev/null @@ -1,47 +0,0 @@ -.TH rb_malloc.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -rb_malloc.d - Ruby operations and libc malloc statistics. -.SH SYNOPSIS -.B rb_malloc.d -{ \-p PID | \-c cmd } -.SH DESCRIPTION -Filename and method names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Ruby provider, which may change -as additional features are introduced. Check Ruby/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B rb_malloc.d -.PP -.SH FIELDS -.TP -1 -Filename of the Ruby program -.TP -2 -Type of operation (method/objnew/startup) -.TP -3 -Name of operation -.SH WARNING -This script is not 100% accurate; This prints libc malloc() byte -distributions by "recent" Ruby operation, which we hope will be usually -relevant. This is an experimental script that may be improved over time. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -rb_malloc.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/rb_objcpu.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/rb_objcpu.d.1m deleted file mode 100644 index 6d1d8b1e2928..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/rb_objcpu.d.1m +++ /dev/null @@ -1,36 +0,0 @@ -.TH rb_objcpu.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -rb_objcpu.d - measure Ruby object creation on-CPU time using DTrace. -.SH SYNOPSIS -.B rb_objcpu.d - -.SH DESCRIPTION -This traces Ruby activity from all programs running on the system with -Ruby provider support. - -Class names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Ruby provider, which may change -as additional features are introduced. Check Ruby/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B rb_objcpu.d -.PP -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -rb_objcpu.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/rb_objnew.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/rb_objnew.d.1m deleted file mode 100644 index e40f493a4998..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/rb_objnew.d.1m +++ /dev/null @@ -1,46 +0,0 @@ -.TH rb_objnew.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -rb_objnew.d - count Ruby object creation using DTrace. -.SH SYNOPSIS -.B rb_objnew.d - -.SH DESCRIPTION -This traces Ruby activity from all programs running on the system with -Ruby provider support. - -Filename and class names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Ruby provider, which may change -as additional features are introduced. Check Ruby/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B rb_objnew.d -.PP -.SH FIELDS -.TP -FILE -Filename of the Ruby program -.TP -CLASS -Class of new object -.TP -COUNT -Number of object creations during tracing -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -rb_objnew.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/rb_stat.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/rb_stat.d.1m deleted file mode 100644 index 070faf42781d..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/rb_stat.d.1m +++ /dev/null @@ -1,66 +0,0 @@ -.TH rb_stat.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -rb_stat.d - Ruby operation stats using DTrace. -.SH SYNOPSIS -.B rb_stat.d -[interval [count]] -.SH DESCRIPTION -This traces activity from all Ruby programs on the system that are -running with Ruby provider support. - -The numbers are counts for the interval specified. The default interval -is 1 second. - -If you see a count in "EXECS" but not in the other columns, then your -Ruby software is probably not running with the DTrace Ruby provider. -See Ruby/Readme. - -Filename and method names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Ruby provider, which may change -as additional features are introduced. Check Ruby/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B rb_stat.d -.PP -.SH FIELDS -.TP -EXEC/s -Ruby programs executed per second, including -those without Ruby provider support -.TP -METHOD/s -Methods called, per second -.TP -OBJNEW/s -Objects created, per second -.TP -OBJFRE/s -Objects freed, per second -.TP -RAIS/s -Raises, per second -.TP -RESC/s -Rescues, per second -.TP -GC/s -Garbage collects, per second -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -rb_stat.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/rb_syscalls.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/rb_syscalls.d.1m deleted file mode 100644 index 9fbe81d3f10b..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/rb_syscalls.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH rb_syscalls.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -rb_syscalls.d - count Ruby calls and syscalls using DTrace. -.SH SYNOPSIS -.B rb_syscalls.d -{ \-p PID | \-c cmd } -.SH DESCRIPTION -Filename and method names are printed if available. -The filename for syscalls may be printed as "ruby", if the program -was invoked using the form "ruby filename" rather than running the -program with an interpreter line. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Ruby provider, which may change -as additional features are introduced. Check Ruby/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B rb_syscalls.d -.PP -.SH FIELDS -.TP -FILE -Filename of the Ruby program -.TP -TYPE -Type of call (method/syscall) -.TP -NAME -Name of call -.TP -COUNT -Number of calls during sample -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -rb_syscalls.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/rb_syscolors.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/rb_syscolors.d.1m deleted file mode 100644 index bd18be9ea7d3..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/rb_syscolors.d.1m +++ /dev/null @@ -1,61 +0,0 @@ -.TH rb_syscolors.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -rb_syscolors.d - trace Ruby method flow plus syscalls, in color. -.SH SYNOPSIS -.B rb_syscolors.d -{ \-p PID | \-c cmd } -.SH DESCRIPTION -This watches Ruby method entries and returns, and indents child -function calls. - -Filename and method names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Ruby provider, which may change -as additional features are introduced. Check Ruby/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B rb_syscolors.d -.PP -.SH FIELDS -.TP -C -CPU-id -.TP -PID -Process ID -.TP -DELTA(us) -Elapsed time from previous line to this line -.TP -FILE -Filename of the Ruby program -.TP -LINE -Line number of filename -.TP -TYPE -Type of call (method/line/syscall) -.TP -NAME -Ruby method or syscall name -.SH WARNING -Watch the first column carefully, it prints the CPU-id. If it -changes, then it is very likely that the output has been shuffled. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -rb_syscolors.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/rb_who.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/rb_who.d.1m deleted file mode 100644 index 5dd13d5e7275..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/rb_who.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH rb_who.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -rb_who.d - trace Ruby line execution by process using DTrace. -.SH SYNOPSIS -.B rb_who.d - -.SH DESCRIPTION -This traces Ruby activity from all Ruby programs on the system that are -running with Ruby provider support. - -Filenames are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Ruby provider, which may change -as additional features are introduced. Check Ruby/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B rb_who.d -.PP -.SH FIELDS -.TP -PID -Process ID of Ruby -.TP -UID -User ID of the owner -.TP -LINES -Number of times a line was executed -.TP -FILE -Pathname of the Ruby program -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -rb_who.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/readbytes.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/readbytes.d.1m deleted file mode 100644 index 697339d493e1..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/readbytes.d.1m +++ /dev/null @@ -1,47 +0,0 @@ -.TH readbytes.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -readbytes.d \- read bytes by process name. Uses DTrace. -.SH SYNOPSIS -.B readbytes.d -.SH DESCRIPTION -readbytes.d is a DTrace OneLiner to a report of the number of -bytes read by process name. - -Docs/oneliners.txt and Docs/Examples/oneliners_examples.txt -in the DTraceToolkit contain this as a oneliner that can be cut-n-paste -to run. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the sysinfo provider. -.SH EXAMPLES -.TP -This samples until Ctrl\-C is hit. -# -.B readbytes.d -.PP -.SH FIELDS -.TP -first field -This is the process name. There may be several PIDs that have the -same process name, for example with numerous instances of "bash". The -value reported will be the sum of them all. -.TP -second field -This is the number of bytes read. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -readbytes.d will sample until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M), truss(1) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/readdist.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/readdist.d.1m deleted file mode 100644 index e11b21c7b0b7..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/readdist.d.1m +++ /dev/null @@ -1,54 +0,0 @@ -.TH readdist.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -readdist.d \- read distrib. by process name. Uses DTrace. -.SH SYNOPSIS -.B readdist.d -.SH DESCRIPTION -readdist.d is a DTrace OneLiner to a report the read size and -number of occurrences as a frequency distribution by process name. - -This can be useful to identify the behaviour of processes -that are doing reads. Are they using many small reads, or -fewer large reads. - -Docs/oneliners.txt and Docs/Examples/oneliners_examples.txt -in the DTraceToolkit contain this as a oneliner that can be cut-n-paste -to run. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the sysinfo provider. -.SH EXAMPLES -.TP -This samples until Ctrl\-C is hit. -# -.B readdist.d -.PP -.SH FIELDS -.TP -process name -The process name. There may be several PIDs that have the -same process name, for example with numerous instances of "bash". The -value reported will be the sum of them all. -.TP -value -The size in bytes -.TP -count -The number of occurrences that were at least this size -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -readdist.d will sample until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M), truss(1) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/rfileio.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/rfileio.d.1m deleted file mode 100644 index 08c25e9d4de2..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/rfileio.d.1m +++ /dev/null @@ -1,41 +0,0 @@ -.TH rfileio.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -rfileio.d \- read file I/O stats, with cache miss rate. Uses DTrace. -.SH SYNOPSIS -.B rfileio.d -.SH DESCRIPTION -This script provides statistics on the number of reads and the bytes -read from filesystems (logical), and the number of bytes read from -disk (physical). A summary is printed every five seconds by file. - -A total miss-rate is also provided for the file system cache. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -unstable - this script uses fbt provider probes which may change for -future updates of the OS, invalidating this script. Please read -Docs/Notes/ALLfbt_notes.txt for further details about these fbt scripts. -.SH EXAMPLES -.TP -Print a summary of activity every five seconds. -# -.B rfileio.d -.PP -.SH IDEA -Richard McDougall, Solaris Internals 2nd Ed, FS Chapter. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -rfileio.d will run until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -rfsio.d(1M), dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/rfsio.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/rfsio.d.1m deleted file mode 100644 index ecbb786a84e6..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/rfsio.d.1m +++ /dev/null @@ -1,41 +0,0 @@ -.TH rfsio.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -rfsio.d \- read FS I/O stats, with cache miss rate. Uses DTrace. -.SH SYNOPSIS -.B rfsio.d -.SH DESCRIPTION -This script provides statistics on the number of reads and the bytes -read from filesystems (logical), and the number of bytes read from -disk (physical). A summary is printed every five seconds by filesystem. - -A total miss-rate is also provided for the file system cache. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -unstable - this script uses fbt provider probes which may change for -future updates of the OS, invalidating this script. Please read -Docs/Notes/ALLfbt_notes.txt for further details about these fbt scripts. -.SH EXAMPLES -.TP -Print a summary of activity every five seconds. -# -.B rfsio.d -.PP -.SH IDEA -Richard McDougall, Solaris Internals 2nd Ed, FS Chapter. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -rfsio.d will run until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -rfileio.d(1M), dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/runocc.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/runocc.d.1m deleted file mode 100644 index 0ba529ffcd8e..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/runocc.d.1m +++ /dev/null @@ -1,46 +0,0 @@ -.TH runocc.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -runocc.d \- run queue occupancy by CPU. Uses DTrace. -.SH SYNOPSIS -.B runocc.d -.SH DESCRIPTION -This prints the dispatcher run queue occupancy by CPU each second. -A consistant run queue occupancy is a sign of CPU saturation. - -The value is similar to that seen in "sar -q", however this is -calculated in a more accurate manner - sampling at 1000 Hertz. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable. -.SH EXAMPLES -.TP -Print %runocc by CPU every second, -# -.B runocc.d -.PP -.SH FIELDS -.TP -CPU -cpu ID -.TP -%runocc -percent run queue occupancy, sampled at 1000 Hertz -.PP -.SH SEE ALSO -Solaris Internals 2nd Ed, vol 2, CPU chapter -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -runocc.d will sample until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/rwbbypid.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/rwbbypid.d.1m deleted file mode 100644 index 36ab3f24ed0a..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/rwbbypid.d.1m +++ /dev/null @@ -1,48 +0,0 @@ -.TH rwbbypid.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -rwbbypid.d \- read/write bytes by PID. Uses DTrace. -.SH SYNOPSIS -.B rwbbypid.d -.SH DESCRIPTION -This script tracks the bytes read and written at the syscall level -by processes, printing the totals in a report. This is tracking the -successful number of bytes read or written. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the sysinfo provider. -.SH EXAMPLES -.TP -This samples until Ctrl\-C is hit. -# -.B rwbbypid.d -.PP -.SH FIELDS -.TP -PID -process ID -.TP -CMD -process name -.TP -DIR -direction, Read or Write -.TP -BYTES -total bytes -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -rwbbypid.d will sample until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -rwbypid.d(1M), dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/rwbypid.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/rwbypid.d.1m deleted file mode 100644 index 869eb80e8557..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/rwbypid.d.1m +++ /dev/null @@ -1,48 +0,0 @@ -.TH rwbypid.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -rwbypid.d \- read/write calls by PID. Uses DTrace. -.SH SYNOPSIS -.B rwbypid.d -.SH DESCRIPTION -This script tracks the number of reads and writes at the syscall level -by processes, printing the totals in a report. This matches reads -and writes whether they succeed or not. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the syscall provider. -.SH EXAMPLES -.TP -This samples until Ctrl\-C is hit. -# -.B rwbypid.d -.PP -.SH FIELDS -.TP -PID -process ID -.TP -CMD -process name -.TP -DIR -direction, Read or Write -.TP -COUNT -total calls -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -rwbypid.d will sample until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -rwbbypid.d(1M), dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/rwbytype.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/rwbytype.d.1m deleted file mode 100644 index 85c8194baa9b..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/rwbytype.d.1m +++ /dev/null @@ -1,54 +0,0 @@ -.TH rwbytype.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -rwbytype.d \- read/write bytes by vnode type. Uses DTrace. -.SH SYNOPSIS -.B rwbytype.d -.SH DESCRIPTION -This program identifies the vnode type of read/write activity - whether -that is for regular files, sockets, character special devices, etc. This -is measuring at the application level, so file activity may well be -cached by the system. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -unstable - this script uses fbt provider probes which may change for -future updates of the OS, invalidating this script. Please read -Docs/Notes/ALLfbt_notes.txt for further details about these fbt scripts. -.SH EXAMPLES -.TP -This samples until Ctrl\-C is hit. -# -.B rwbytype.d -.PP -.SH FIELDS -.TP -PID -process ID -.TP -CMD -process name -.TP -VNODE -vnode type (describes I/O type) -.TP -DIR -direction, Read or Write -.TP -BYTES -total bytes -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -rwbytype.d will sample until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -rwbypid.d(1M), rwbbypid.d(1M), dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/rwsnoop.1m b/cddl/contrib/dtracetoolkit/Man/man1m/rwsnoop.1m deleted file mode 100644 index d6e544169ce5..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/rwsnoop.1m +++ /dev/null @@ -1,104 +0,0 @@ -.TH rwsnoop 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -rwsnoop \- snoop read/write events. Uses DTrace. -.SH SYNOPSIS -.B rwsnoop -[\-jPtvZ] [\-n name] [\-p PID] -.SH DESCRIPTION -This is measuring reads and writes at the application level. This -matches the syscalls read, write, pread and pwrite. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the syscall provider. -.SH OPTIONS -.TP -\-j -print project ID -.TP -\-P -print parent process ID -.TP -\-t -print timestamp, us -.TP -\-v -print time, string -.TP -\-Z -print zone ID -.TP -\-n name -process name to track -.TP -\-p PID -PID to track -.PP -.SH EXAMPLES -.TP -Default output, -# -.B rwsnoop -.TP -Print zone ID, -# -.B rwsnoop --\Z -.TP -Monitor processes named "bash", -# -.B rwsnoop -\-n bash -.PP -.SH FIELDS -.TP -TIME -timestamp, us -.TP -TIMESTR -time, string -.TP -ZONE -zone ID -.TP -PROJ -project ID -.TP -UID -user ID -.TP -PID -process ID -.TP -PPID -parent process ID -.TP -CMD -command name for the process -.TP -D -direction, Read or Write -.TP -BYTES -total bytes during sample -.TP -FILE -filename, if file based. -Reads and writes that are not file based, for example with sockets, will -print "" as the filename. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -rwsnoop will run forever until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -rwtop(1M), dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/rwtop.1m b/cddl/contrib/dtracetoolkit/Man/man1m/rwtop.1m deleted file mode 100644 index 82af043462b0..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/rwtop.1m +++ /dev/null @@ -1,115 +0,0 @@ -.TH rwtop 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -rwtop \- display top read/write bytes process. Uses DTrace. -.SH SYNOPSIS -.B rwtop -[\-Cc] [\-j|\-Z] [\-n name] [\-p PID] -[\-t top] [interval [count]] -.SH DESCRIPTION -This is measuring reads and writes at the application level. -This matches read and write system calls. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the sysinfo provider. -.SH OPTIONS -.TP -\-C -don't clear the screen -.TP -\-c -print counts -.TP -\-j -print project ID -.TP -\-Z -print zone ID -.TP -\-n name -process name to track -.TP -\-p PID -PID to track -.TP -\-t top -print top number only -.PP -.SH EXAMPLES -.TP -Default output, print summary every 5 seconds -# -.B rwtop -.PP -.TP -One second samples, -# -.B rwtop -1 -.TP -Print top 10 lines only, -# -.B rwtop -\-t 10 -.TP -Monitor processes named "bash", -# -.B rwtop -\-n bash -.TP -Print 12 x 5 second samples, scrolling, -# -.B rwtop -\-C 5 12 -.PP -.SH FIELDS -.TP -PROJ -project ID -.TP -ZONE -zone ID -.TP -UID -user ID -.TP -PID -process ID -.TP -PPID -parent process ID -.TP -CMD -command name for the process -.TP -D -direction, Read or Write -.TP -BYTES -total bytes during sample -.TP -load -1 minute load average -.TP -app_r -total read Kb for sample -.TP -app_w -total write Kb for sample -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -rwtop will run forever until Ctrl\-C is hit, or the specified -interval is reached. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -iotop(1M), dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/sampleproc.1m b/cddl/contrib/dtracetoolkit/Man/man1m/sampleproc.1m deleted file mode 100644 index 0ae3a2de9009..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/sampleproc.1m +++ /dev/null @@ -1,55 +0,0 @@ -.TH sampleproc 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -sampleproc \- sample processes on the CPUs. Uses DTrace. -.SH SYNOPSIS -.B sampleproc [hertz] -.SH DESCRIPTION -This program samples which process is on each CPU, at a particular -configurable rate. This can be used as an estimate for which process -is consuming the most CPU time. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -unstable - uses the ncpus_online kernel symbol. -.SH EXAMPLES -.TP -Sample at 100 hertz, -# -.B sampleproc -.TP -Sample at 400 hertz, -# -.B sampleproc -400 -.PP -.SH FIELDS -.TP -PID -process ID -.TP -COMMAND -command name -.TP -COUNT -number of samples -.TP -PERCENT -percent of CPU usage -.PP -.SH BASED ON -/usr/demo/dtrace/prof.d -.PP -.SH DOCUMENTATION -DTrace Guide "profile Provider" chapter (docs.sun.com) - -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -sampleproc will sample until Ctrl\-C is hit. -.SH SEE ALSO -dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/sar-c.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/sar-c.d.1m deleted file mode 100644 index 10192fb48753..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/sar-c.d.1m +++ /dev/null @@ -1,62 +0,0 @@ -.TH sar\-c.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -sar\-c.d \- sar \-c demo in DTrace. Uses DTrace. -.SH SYNOPSIS -.B sar\-c.d -.SH DESCRIPTION -This has been written to demonstrate fetching the same data as sar \-c -from DTrace. This program is intended as a starting point for other -DTrace scripts, by beginning with familiar statistics. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the syscall and sysinfo providers. -.SH EXAMPLES -.TP -Print system call counts every second, -# -.B sar\-c.d -.PP -.SH FIELDS -.TP -scall/s -System calls -.TP -sread/s -reads -.TP -swrit/s -writes -.TP -fork/s -forks -.TP -exec/s -execs -.TP -rchar/s -read characters -.TP -wchar/s -write characters -.PP -.SH IDEA -David Rubio, who also wrote the original. -.PP -.SH NOTES -As this program does not use Kstat, there is no summary since boot line. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -sar\-c.d will run until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -sar(1M), dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/seeksize.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/seeksize.d.1m deleted file mode 100644 index f15743d1e197..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/seeksize.d.1m +++ /dev/null @@ -1,51 +0,0 @@ -.TH seeksize.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -seeksize.d \- print disk event seek report. Uses DTrace. -.SH SYNOPSIS -.B seeksize.d -.SH DESCRIPTION -seeksize.d is a simple DTrace program to print a report of disk -event seeks by process. - -This can be used to identify whether processes are accessing the -disks in a "random" or "sequential" manner. Sequential is often -desirable, indicated by mostly zero length seeks. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the io provider. -.SH EXAMPLES -.TP -Sample until Ctrl\-C is hit then print report, -# -.B seeksize.d -.PP -.SH FIELDS -.TP -PID -process ID -.TP -CMD -command and argument list -.TP -value -distance in disk blocks (sectors) -.TP -count -number of I/O operations -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -seeksize.d will sample until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -iosnoop(1M), bitesize.d(1M), dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/setuids.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/setuids.d.1m deleted file mode 100644 index 50d131cf551d..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/setuids.d.1m +++ /dev/null @@ -1,53 +0,0 @@ -.TH setuids.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -setuids.d \- snoop setuid calls as they occur. Uses DTrace. -.SH SYNOPSIS -.B setuids.d -.SH DESCRIPTION -setuids.d is a simple DTrace program to print details of setuid -calls, where a process assumes a different UID. These are usually -related to login events. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the syscall provider. -.SH EXAMPLES -.TP -Default output, print setuids as they occur, -# -.B setuids.d -.PP -.SH FIELDS -.TP -UID -user ID (from) -.TP -SUID -set user ID (to) -.TP -PPID -parent process ID -.TP -PID -process ID -.TP -PCMD -parent command -.TP -CMD -command (with arguments) -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -setuids.d will run forever until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M), bsmconv(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/sh_calldist.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/sh_calldist.d.1m deleted file mode 100644 index 760e699c0e49..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/sh_calldist.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH sh_calldist.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -sh_calldist.d - measure Bourne shell elapsed times for types of operation. -.SH SYNOPSIS -.B sh_calldist.d - -.SH DESCRIPTION -This traces shell activity from all Bourne shells on the system that are -running with sh provider support. - -This script prints distribution plots of elapsed time for shell -operations. Use sh_calltime.d for summary reports. - -Filename and call names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Shell provider, which may change -as additional features are introduced. Check Shell/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B sh_calldist.d -.PP -.SH FIELDS -.TP -1 -Filename of the shell or shellscript -.TP -2 -Type of call (func/builtin/cmd) -.TP -3 -Name of call -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -sh_calldist.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/sh_calls.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/sh_calls.d.1m deleted file mode 100644 index 0afeaab6883f..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/sh_calls.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH sh_calls.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -sh_calls.d - count Bourne calls (func/builtin/cmd/subsh) using DTrace. -.SH SYNOPSIS -.B sh_calls.d - -.SH DESCRIPTION -This traces shell activity from all Bourne shells on the system that are -running with sh provider support. - -Filename and function names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Shell provider, which may change -as additional features are introduced. Check Shell/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B sh_calls.d -.PP -.SH FIELDS -.TP -FILE -Filename of the shell or shellscript -.TP -TYPE -Type of call (func/builtin/cmd/subsh) -.TP -NAME -Name of call -.TP -COUNT -Number of calls during sample -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -sh_calls.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/sh_calltime.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/sh_calltime.d.1m deleted file mode 100644 index 6863d870a332..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/sh_calltime.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH sh_calltime.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -sh_calltime.d - measure Bourne shell elapsed times for types of operation. -.SH SYNOPSIS -.B sh_calltime.d - -.SH DESCRIPTION -This traces shell activity from all Bourne shells on the system that are -running with sh provider support. - -Filename and call names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Shell provider, which may change -as additional features are introduced. Check Shell/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B sh_calltime.d -.PP -.SH FIELDS -.TP -FILE -Filename of the shell or shellscript -.TP -TYPE -Type of call (func/builtin/cmd/total) -.TP -NAME -Name of call -.TP -TOTAL -Total elapsed time for calls (us) -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -sh_calltime.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/sh_cpudist.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/sh_cpudist.d.1m deleted file mode 100644 index 998e6ee8a422..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/sh_cpudist.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH sh_cpudist.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -sh_cpudist.d - measure Bourne shell on-CPU times for types of operation. -.SH SYNOPSIS -.B sh_cpudist.d - -.SH DESCRIPTION -This traces shell activity from all Bourne shells on the system that are -running with sh provider support. - -This script prints distribution plots of on-CPU time for shell -operations. Use sh_cputime.d for summary reports. - -Filename and call names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Shell provider, which may change -as additional features are introduced. Check Shell/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B sh_cpudist.d -.PP -.SH FIELDS -.TP -1 -Filename of the shell or shellscript -.TP -2 -Type of call (func/builtin/cmd) -.TP -3 -Name of call -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -sh_cpudist.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/sh_cputime.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/sh_cputime.d.1m deleted file mode 100644 index 3c98f94e213a..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/sh_cputime.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH sh_cputime.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -sh_cputime.d - measure Bourne shell on-CPU times for types of operation. -.SH SYNOPSIS -.B sh_cputime.d - -.SH DESCRIPTION -This traces shell activity from all Bourne shells on the system that are -running with sh provider support. - -Filename and call names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Shell provider, which may change -as additional features are introduced. Check Shell/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B sh_cputime.d -.PP -.SH FIELDS -.TP -FILE -Filename of the shell or shellscript -.TP -TYPE -Type of call (func/builtin/cmd/total) -.TP -NAME -Name of call -.TP -TOTAL -Total on-CPU time for calls (us) -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -sh_cputime.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/sh_flow.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/sh_flow.d.1m deleted file mode 100644 index 42dc5cc4206b..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/sh_flow.d.1m +++ /dev/null @@ -1,66 +0,0 @@ -.TH sh_flow.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -sh_flow.d - snoop Bourne shell execution showing function flow using DTrace. -.SH SYNOPSIS -.B sh_flow.d - -.SH DESCRIPTION -This traces shell activity from all Bourne shells on the system that are -running with sh provider support. - -This watches shell function entries and returns, and indents child -function calls. Shell builtins are also printed. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Shell provider, which may change -as additional features are introduced. Check Shell/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B sh_flow.d -.PP -.SH FIELDS -.TP -C -CPU-id -.TP -TIME(us) -Time since boot, us -.TP -FILE -Filename that this function belongs to -.TP -NAME -Shell function, builtin or command name -.SH LEGEND -.TP -\-> -function entry -.TP -<\- -function return -.TP -> -builtin -.TP -| -external command -.SH WARNING -Watch the first column carefully, it prints the CPU-id. If it -changes, then it is very likely that the output has been shuffled. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -sh_flow.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/sh_flowinfo.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/sh_flowinfo.d.1m deleted file mode 100644 index 6fa150078214..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/sh_flowinfo.d.1m +++ /dev/null @@ -1,62 +0,0 @@ -.TH sh_flowinfo.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -sh_flowinfo.d - snoop Bourne shell flow with additional info. -.SH SYNOPSIS -.B sh_flowinfo.d - -.SH DESCRIPTION -This traces shell activity from all Bourne shells on the system that are -running with sh provider support. - -This watches shell function entries and returns, and indents child -function calls. Shell builtins and external commands are also printed. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Shell provider, which may change -as additional features are introduced. Check Shell/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B sh_flowinfo.d -.PP -.SH FIELDS -.TP -C -CPU-id -.TP -PID -Process ID -.TP -DELTA(us) -Elapsed time from previous line to this line -.TP -FILE -Filename of the shell script -.TP -LINE -Line number of filename -.TP -TYPE -Type of call (func/builtin/cmd/subsh) -.TP -NAME -Shell function, builtin or command name -.SH WARNING -Watch the first column carefully, it prints the CPU-id. If it -changes, then it is very likely that the output has been shuffled. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -sh_flowinfo.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/sh_flowtime.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/sh_flowtime.d.1m deleted file mode 100644 index 87906b6afebc..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/sh_flowtime.d.1m +++ /dev/null @@ -1,76 +0,0 @@ -.TH sh_flowtime.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -sh_flowtime.d - snoop Bourne shell execution with flow and delta times. -.SH SYNOPSIS -.B sh_flowtime.d - -.SH DESCRIPTION -This traces shell activity from all Bourne shells on the system that are -running with sh provider support. - -This watches shell function entries and returns, and indents child -function calls. Shell builtins are also printed. - -DELTAs: --> previous line to the start of this function -<- previous line to the end of this function -> previous line to the end of this builtin -| previous line to the end of this command - -See sh_flowinfo.d for more verbose and more straightforward delta times. - -Filename and function names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Shell provider, which may change -as additional features are introduced. Check Shell/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B sh_flowtime.d -.PP -.SH FIELDS -.TP -C -CPU-id -.TP -TIME(us) -Time since boot, us -.TP -FILE -Filename that this function belongs to -.TP -NAME -Shell function or builtin name -.SH LEGEND -.TP -\-> -function entry -.TP -<\- -function return -.TP -> -builtin -.TP -| -external command -.SH WARNING -Watch the first column carefully, it prints the CPU-id. If it -changes, then it is very likely that the output has been shuffled. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -sh_flowtime.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/sh_lines.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/sh_lines.d.1m deleted file mode 100644 index e3d85081ddf2..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/sh_lines.d.1m +++ /dev/null @@ -1,46 +0,0 @@ -.TH sh_lines.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -sh_lines.d - trace Bourne shell line execution using DTrace. -.SH SYNOPSIS -.B sh_lines.d - -.SH DESCRIPTION -This traces shell activity from all Bourne shells on the system that are -running with sh provider support. - -Filenames are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Shell provider, which may change -as additional features are introduced. Check Shell/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B sh_lines.d -.PP -.SH FIELDS -.TP -FILE -Filename of the shell or shellscript -.TP -LINE -Line number -.TP -COUNT -Number of times a line was executed -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -sh_lines.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/sh_pidcolors.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/sh_pidcolors.d.1m deleted file mode 100644 index 3f6380ac041f..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/sh_pidcolors.d.1m +++ /dev/null @@ -1,70 +0,0 @@ -.TH sh_pidcolors.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -sh_pidcolors.d - Demonstration of deeper DTrace Bourne shell analysis. -.SH SYNOPSIS -.B sh_pidcolors.d -{ \-p PID | \-c cmd } -.SH DESCRIPTION -This extends sh_syscolors.d by including some "pid" provider tracing -as a starting point for deeper analysis. Currently it adds the probes, - -pid$target:a.out:e*:entry, -pid$target:a.out:e*:return - -which means, all functions from the /usr/bin/sh binary that begin with -the letter "e". This adds about 34 probes. Customise it to whichever -parts of /usr/bin/sh or the system libraries you are interested in. - -The filename for syscalls may be printed as the shell name, if the -script was invoked using the form "shell filename" rather than running -the script with an interpreter line. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Shell provider, which may change -as additional features are introduced. Check Shell/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B sh_pidcolors.d -.PP -.SH FIELDS -.TP -C -CPU-id -.TP -PID -Process ID -.TP -DELTA(us) -Elapsed time from previous line to this line -.TP -FILE -Filename of the shell script -.TP -LINE -Line number of filename -.TP -TYPE -Type of call (func/builtin/cmd/line/shell) -.TP -NAME -Shell function, builtin or command name -.SH WARNING -Watch the first column carefully, it prints the CPU-id. If it -changes, then it is very likely that the output has been shuffled. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -sh_pidcolors.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/sh_stat.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/sh_stat.d.1m deleted file mode 100644 index 40624f949555..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/sh_stat.d.1m +++ /dev/null @@ -1,59 +0,0 @@ -.TH sh_stat.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -sh_stat.d - Bourne shell operation stats using DTrace. -.SH SYNOPSIS -.B sh_stat.d -[interval [count]] -.SH DESCRIPTION -This traces activity from all sh processes on the system that are running -with sh provider support. - -The numbers are counts for the interval specified. The default interval -is 1 second. - -If you see a count in "EXECS" but not in the other columns, then sh -scripts may be running without the DTrace sh provider. See Shell/Readme. - -Filename and function names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Shell provider, which may change -as additional features are introduced. Check Shell/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B sh_stat.d -.PP -.SH FIELDS -.TP -EXEC/s -Bourne shells executed per second, including -those without sh provider support -.TP -FUNC/s -Functions called, per second -.TP -BLTIN/s -Builtins called, per second -.TP -SUB-SH/s -Sub-shells called, per second -.TP -CMD/s -External commands called, per second -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -sh_stat.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/sh_syscalls.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/sh_syscalls.d.1m deleted file mode 100644 index 67d74a3ff424..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/sh_syscalls.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH sh_syscalls.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -sh_syscalls.d - count Bourne calls and syscalls using DTrace. -.SH SYNOPSIS -.B sh_syscalls.d -{ \-p PID | \-c cmd } -.SH DESCRIPTION -Filename and function names are printed if available. -The filename for syscalls may be printed as the shell name, if the -script was invoked using the form "shell filename" rather than running -the script with an interpreter line. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Shell provider, which may change -as additional features are introduced. Check Shell/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B sh_syscalls.d -.PP -.SH FIELDS -.TP -FILE -Filename of the shell or shellscript -.TP -TYPE -Type of call (func/builtin/cmd/syscall) -.TP -NAME -Name of call -.TP -COUNT -Number of calls during sample -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -sh_syscalls.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/sh_syscolors.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/sh_syscolors.d.1m deleted file mode 100644 index bfd1de5e8630..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/sh_syscolors.d.1m +++ /dev/null @@ -1,63 +0,0 @@ -.TH sh_syscolors.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -sh_syscolors.d - trace Bourne shell flow plus syscalls, in color. -.SH SYNOPSIS -.B sh_syscolors.d -{ \-p PID | \-c cmd } -.SH DESCRIPTION -This watches shell function entries and returns, and indents child -function calls. Shell builtins, commands and lines are also printed. - -The filename for syscalls may be printed as the shell name, if the -script was invoked using the form "shell filename" rather than running -the script with an interpreter line. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Shell provider, which may change -as additional features are introduced. Check Shell/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B sh_syscolors.d -.PP -.SH FIELDS -.TP -C -CPU-id -.TP -PID -Process ID -.TP -DELTA(us) -Elapsed time from previous line to this line -.TP -FILE -Filename of the shell script -.TP -LINE -Line number of filename -.TP -TYPE -Type of call (func/builtin/cmd/line/shell) -.TP -NAME -Shell function, builtin or command name -.SH WARNING -Watch the first column carefully, it prints the CPU-id. If it -changes, then it is very likely that the output has been shuffled. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -sh_syscolors.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/sh_wasted.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/sh_wasted.d.1m deleted file mode 100644 index 1b983891b049..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/sh_wasted.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH sh_wasted.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -sh_wasted.d - measure Bourne shell elapsed times for "wasted" commands. -.SH SYNOPSIS -.B sh_wasted.d -{ \-p PID | \-c cmd } -.SH DESCRIPTION -This script measures "wasted" commands - those which are called externally -but are in fact builtins to the shell. Ever seen a script which calls -/usr/bin/echo needlessly? This script measures that cost. - -Filename and call names are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Shell provider, which may change -as additional features are introduced. Check Shell/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B sh_wasted.d -.PP -.SH FIELDS -.TP -FILE -Filename of the shell or shellscript -.TP -NAME -Name of call -.TP -TIME -Total elapsed time for calls (us) -.SH IDEA -Mike Shapiro -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -sh_wasted.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/sh_who.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/sh_who.d.1m deleted file mode 100644 index f98bef83b221..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/sh_who.d.1m +++ /dev/null @@ -1,49 +0,0 @@ -.TH sh_who.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -sh_who.d - trace Bourne shell line execution by process using DTrace. -.SH SYNOPSIS -.B sh_who.d - -.SH DESCRIPTION -This traces shell activity from all Bourne shells on the system that are -running with sh provider support. - -Filenames are printed if available. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Shell provider, which may change -as additional features are introduced. Check Shell/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B sh_who.d -.PP -.SH FIELDS -.TP -PID -Process ID of the shell -.TP -UID -User ID of the owner -.TP -LINES -Number of times a line was executed -.TP -FILE -Pathname of the shell or shellscript -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -sh_who.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/shellsnoop.1m b/cddl/contrib/dtracetoolkit/Man/man1m/shellsnoop.1m deleted file mode 100644 index a533ab0e1c1f..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/shellsnoop.1m +++ /dev/null @@ -1,99 +0,0 @@ -.TH shellsnoop 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -shellsnoop \- snoop live shell activity. Uses DTrace. -.SH SYNOPSIS -.B shellsnoop -[\-hqsv] [\-p PID] [\-u UID] -.SH DESCRIPTION -A program to print read/write details from shells, -such as keystrokes and command outputs. - -This program sounds somewhat dangerous (snooping keystrokes), but is -no more so than /usr/bin/truss, and both need root or dtrace privileges to -run. In fact, less dangerous, as we only print visible text (not password -text, for example). Having said that, it goes without saying that this -program shouldn't be used for breeching privacy of other users. - -This was written as a tool to demonstrate the capabilities of DTrace. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - this script uses the syscall provider. -.SH OPTIONS -.TP -\-q -quiet, only print data -.TP -\-s -include start time, us -.TP -\-v -include start time, string -.TP -\-p PID -PID to snoop -.TP -\-u UID -user ID to snoop -.PP -.SH EXAMPLES -.TP -Default output, -# -.B shellsnoop -.TP -human readable timestamps, -# -.B shellsnoop -\-v -.TP -watch this PID only, -# -.B shellsnoop -\-p 1892 -.TP -watch this PID data only, -# -.B shellsnoop -\-qp 1892 -.PP -.SH FIELDS -.TP -UID -user ID -.TP -PID -process ID -.TP -PPID -parent process ID -.TP -COMM -command name -.TP -DIR -direction (R read, W write) -.TP -TEXT -text contained in the read/write -.TP -TIME -timestamp for the command, us -.TP -STRTIME -timestamp for the command, string -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -shellsnoop will run forever until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/shortlived.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/shortlived.d.1m deleted file mode 100644 index cb4950726f86..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/shortlived.d.1m +++ /dev/null @@ -1,37 +0,0 @@ -.TH shortlived.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -shortlived.d \- check short lived process time. Uses DTrace. -.SH SYNOPSIS -.B shortlived.d -.SH DESCRIPTION -shortlived.d is a DTrace program to measure the time consumed by -short lived processes. - -Many short lived processes can be a burden on the system, and may be -the cause of performance problems. This program can help identify -that case. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the syscall and proc providers. -.SH EXAMPLES -.TP -This prints a report after Ctrl\-C has been hit, -# -.B shortlived.d -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -shortlived.d will run until Ctrl\-C is hit to end the sample. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M), truss(1) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/sigdist.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/sigdist.d.1m deleted file mode 100644 index f9f02fee9a43..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/sigdist.d.1m +++ /dev/null @@ -1,50 +0,0 @@ -.TH sigdist.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -sigdist.d \- signal distribution by process. Uses DTrace. -.SH SYNOPSIS -.B sigdist.d -.SH DESCRIPTION -This is a simple DTrace script that prints the number of signals -recieved by process and signal number. This script is also available -as /usr/demo/dtrace/sig.d, where it originates. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the proc provider. -.SH EXAMPLES -.TP -This samples until Ctrl\-C is hit. -# -.B sigdist.d -.PP -.SH FIELDS -.TP -SENDER -process name of sender -.TP -RECIPIENT -process name of target -.TP -SIG -signal number, see signal(3head) -.TP -COUNT -number of signals sent -.PP -.SH BASED ON -/usr/demo/dtrace/sig.d -.PP -.SH DOCUMENTATION -DTrace Guide "proc Provider" chapter (docs.sun.com) - -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -sigdist.d will sample until Ctrl\-C is hit. -.SH SEE ALSO -kill.d(1M), dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/stacksize.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/stacksize.d.1m deleted file mode 100644 index 5b5a916ed397..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/stacksize.d.1m +++ /dev/null @@ -1,42 +0,0 @@ -.TH stacksize.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -stacksize.d \- measure stack size for running threads. Uses DTrace. -.SH SYNOPSIS -.B stacksize.d -.SH DESCRIPTION -This samples the user stack size by process name, and prints a -distribution plot so that the average stack size can be easily -identified. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the sched provider. -.SH EXAMPLES -.TP -This samples until Ctrl\-C is hit. -# -.B stacksize.d -.PP -.SH FIELDS -.TP -value -size of the user stack -.TP -count -number of samples at this size -.PP -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -stacksize.d will sample until Ctrl\-C is hit. -.SH AUTHOR -Jonathan Adams -.SH SEE ALSO -pmap(1), dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/statsnoop.1m b/cddl/contrib/dtracetoolkit/Man/man1m/statsnoop.1m deleted file mode 100644 index 9a1011dac67a..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/statsnoop.1m +++ /dev/null @@ -1,140 +0,0 @@ -.TH statsnoop 1m "$Date:: 2007-09-23 #$" "USER COMMANDS" -.SH NAME -statsnoop \- snoop file stats as they occur. Uses DTrace. -.SH SYNOPSIS -.B statsnoop -[\-a|\-A|\-ceghsvxZ] [\-f pathname] [\-n name] [\-p PID] -.SH DESCRIPTION -statsnoop traces the stat variety of syscalls. -As a process issues a file stat, details -such as UID, PID and pathname are printed out. - -The returned file descriptor is printed, -a value of -1 indicates an error. This can be useful -for troubleshooting to determine if appliacions are attempting to -stat files that do not exist. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the syscall provider. -.SH OPTIONS -.TP -\-a -print all data -.TP -\-A -dump all data, space delimited -.TP -\-c -print current working directory of process -.TP -\-e -print errno value -.TP -\-g -print full command arguments -.TP -\-s -print start time, us -.TP -\-v -print start time, string -.TP -\-x -only print failed stats -.TP -\-Z -print zonename -.TP -\-f pathname -file pathname to snoop -.TP -\-n name -process name to snoop -.TP -\-p PID -process ID to snoop -.PP -.SH EXAMPLES -.TP -Default output, print file stats by process as they occur, -# -.B statsnoop -.PP -.TP -Print human readable timestamps, -# -.B statsnoop -\-v -.PP -.TP -See error codes, -# -.B statsnoop -\-e -.PP -.TP -Snoop this file only, -# -.B statsnoop -\-f /etc/passwd -.PP -.SH FIELDS -.TP -ZONE -Zone name -.TP -UID -User ID -.TP -PID -Process ID -.TP -PPID -Parent Process ID -.TP -FD -File Descriptor (-1 is error) -.TP -ERR -errno value (see /usr/include/sys/errno.h) -.TP -CWD -current working directory of process -.TP -PATH -pathname for file stat -.TP -COMM -command name for the process -.TP -ARGS -argument listing for the process -.TP -TIME -timestamp for the stat event, us -.TP -STRTIME -timestamp for the stat event, string -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -statsnoop will run forever until Ctrl\-C is hit. -.SH BUGS -occasionally the pathname for the file stat cannot be read -and the following error will be seen, - -dtrace: error on enabled probe ID 6 (...): invalid address - -this is normal behaviour. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M), truss(1) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/swapinfo.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/swapinfo.d.1m deleted file mode 100644 index 322d29d1608d..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/swapinfo.d.1m +++ /dev/null @@ -1,88 +0,0 @@ -.TH swapinfo.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -swapinfo.d \- print virtual memory info. Uses DTrace. -.SH SYNOPSIS -.B swapinfo.d -.SH DESCRIPTION -Prints swap usage details for RAM and disk based swap. - -This script is UNDER CONSTRUCTION, check for newer versions. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -unstable - uses various kernel symbols. -.SH FIELDS -.TP -RAM Total -Total RAM installed -.TP -RAM Unusable -RAM consumed by the OBP and TSBs -.TP -RAM Kernel -Kernel resident in RAM (and usually locked) -.TP -RAM Locked -Locked memory pages from swap (Anon) -.TP -RAM Used -anon + exec + file pages used -.TP -RAM Free -free memory + page cache free -.TP -Disk Total -Total disk swap configured -.TP -Disk Resv -Disk swap allocated + reserved -.TP -Disk Avail -Disk swap available for reservation -.TP -Swap Total -Total Virtual Memory usable -.TP -Swap Resv -VM allocated + reserved -.TP -Swap Avail -VM available for reservation -.TP -Swap MinFree -VM kept free from reservations -.PP -.SH EXAMPLES -.TP -Print info, -# -.B swapinfo.d -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH ADDITIONAL RESOURCES -swapstat - K9Toolkit - -vmstat 1 2; swap -s; echo ::memstat | mdb -k - -RMCmem - The MemTool Package - -RICHPse - The SE Toolkit - -"Clearing up swap space confusion" Unix Insider, Adrian Cockcroft - -"Solaris Internals", Jim Mauro, Richard McDougall - -/usr/include/vm/anon.h, /usr/include/sys/systm.h - -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/sysbypid.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/sysbypid.d.1m deleted file mode 100644 index b956f1243db3..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/sysbypid.d.1m +++ /dev/null @@ -1,50 +0,0 @@ -.TH sysbypid.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -sysbypid.d \- system stats by PID. Uses DTrace. -.SH SYNOPSIS -.B sysbypid.d -.SH DESCRIPTION -sysbypid.d is a simple DTrace program to print System -statistics by process. - -The system statistics are documented in the cpu_sysinfo struct -in the /usr/include/sys/sysinfo.h file; and also in the sysinfo provider -chapter of the DTrace Guide, http://docs.sun.com/db/doc/817-6223. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the sysinfo provider. -.SH EXAMPLES -.TP -Sample until Ctrl\-C is hit then print report, -# -.B sysbypid.d -.PP -.SH FIELDS -.TP -EXEC -process name -.TP -PID -process ID -.TP -VM -Virtual Memory statistic -.TP -VALUE -Value by which statistic was incremented -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -sysbypid.d will sample until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M), vmstat(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/syscallbypid.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/syscallbypid.d.1m deleted file mode 100644 index e799dba9ebfe..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/syscallbypid.d.1m +++ /dev/null @@ -1,50 +0,0 @@ -.TH syscallbypid.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -syscallbypid.d \- syscalls by process ID. Uses DTrace. -.SH SYNOPSIS -.B syscallbypid.d -.SH DESCRIPTION -This reports the number of each type of system call made by PID. -This is useful to identify which process is causing the most -system calls. - -This is based on a script from DExplorer. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the syscall provider. -.SH EXAMPLES -.TP -This samples until Ctrl\-C is hit. -# -.B syscallbypid.d -.PP -.SH FIELDS -.TP -PID -process ID -.TP -CMD -process name -.TP -SYSCALL -system call name -.TP -COUNT -number of system calls made in this sample -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -syscallbypid.d will sample until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -procsystime(1M), dtrace(1M), truss(1) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/syscallbyproc.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/syscallbyproc.d.1m deleted file mode 100644 index bb3234824826..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/syscallbyproc.d.1m +++ /dev/null @@ -1,50 +0,0 @@ -.TH syscallbyproc.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -syscallbyproc.d \- syscalls by process name. Uses DTrace. -.SH SYNOPSIS -.B syscallbyproc.d -.SH DESCRIPTION -syscallbyproc.d is a DTrace OneLiner to a report of the number of -system calls made by process name. - -This is useful to identify which process is causing the most -system calls. - -Docs/oneliners.txt and Docs/Examples/oneliners_examples.txt -in the DTraceToolkit contain this as a oneliner that can be cut-n-paste -to run. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Any -.SH STABILITY -stable - needs the syscall provider. -.SH EXAMPLES -.TP -This samples until Ctrl\-C is hit. -# -.B syscallbyproc.d -.PP -.SH FIELDS -.TP -first field -This is the process name. There may be several PIDs that have the -same process name, for example with numerous instances of "bash". The -value reported will be the sum of them all. -.TP -second field -This is the count, the number of system calls made. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -syscallbyproc.d will sample until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -procsystime(1M), dtrace(1M), truss(1) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/syscallbysysc.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/syscallbysysc.d.1m deleted file mode 100644 index c8f34f2d047c..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/syscallbysysc.d.1m +++ /dev/null @@ -1,47 +0,0 @@ -.TH syscallbysysc.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -syscallbysysc.d \- syscalls by syscall. Uses DTrace. -.SH SYNOPSIS -.B syscallbysysc.d -.SH DESCRIPTION -syscallbysysc.d is a DTrace OneLiner to a report of the number of -each type of system call made. - -This is useful to identify which system call is the most common. - -Docs/oneliners.txt and Docs/Examples/oneliners_examples.txt -in the DTraceToolkit contain this as a oneliner that can be cut-n-paste -to run. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Any -.SH STABILITY -stable - needs the syscall provider. -.SH EXAMPLES -.TP -This samples until Ctrl\-C is hit. -# -.B syscallbysysc.d -.PP -.SH FIELDS -.TP -first field -This is the system call type. Most have man pages in section 2. -.TP -second field -This is the count, the number of occurrances for this system call. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -syscallbysysc.d will sample until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -procsystime(1M), dtrace(1M), truss(1) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/tcl_calldist.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/tcl_calldist.d.1m deleted file mode 100644 index 351a3f431eee..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/tcl_calldist.d.1m +++ /dev/null @@ -1,47 +0,0 @@ -.TH tcl_calldist.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -tcl_calldist.d - measure Tcl elapsed time for different types of operation. -.SH SYNOPSIS -.B tcl_calldist.d -[top] -eg, -tcl_calldist.d # default, truncate to 10 lines -tcl_calldist.d 25 # truncate each report section to 25 lines -.SH DESCRIPTION -This traces activity from all Tcl processes on the system with DTrace -provider support (tcl8.4.16). -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Tcl provider, which may change -as additional features are introduced. Check Tcl/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B tcl_calldist.d -.PP -.SH FIELDS -.TP -1 -Process ID -.TP -2 -Type of call (proc/cmd/total) -.TP -3 -Name of call -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -tcl_calldist.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/tcl_calls.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/tcl_calls.d.1m deleted file mode 100644 index df65cde58745..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/tcl_calls.d.1m +++ /dev/null @@ -1,68 +0,0 @@ -.TH tcl_calls.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -tcl_calls.d - count Tcl calls (proc/cmd) using DTrace. -.SH SYNOPSIS -.B tcl_calls.d - -.SH DESCRIPTION -This traces activity from all Tcl processes on the system with DTrace -provider support (tcl8.4.16). - -TYPEs: -proc procedure -cmd command - -PORTIONS: Copyright (c) 2007 Brendan Gregg. - -CDDL HEADER START - -The contents of this file are subject to the terms of the -Common Development and Distribution License, Version 1.0 only -(the "License"). You may not use this file except in compliance -with the License. - -You can obtain a copy of the license at Docs/cddl1.txt -or http://www.opensolaris.org/os/licensing. -See the License for the specific language governing permissions -and limitations under the License. - -CDDL HEADER END - -09-Sep-2007 Brendan Gregg Created this. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Tcl provider, which may change -as additional features are introduced. Check Tcl/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B tcl_calls.d -.PP -.SH FIELDS -.TP -PID -Process ID -.TP -TYPE -Type of call (see below) -.TP -NAME -Name of proc or cmd call -.TP -COUNT -Number of calls during sample -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -tcl_calls.d will run until Ctrl-C is hit. -.SH AUTHOR - -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/tcl_calltime.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/tcl_calltime.d.1m deleted file mode 100644 index 14074af76cbd..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/tcl_calltime.d.1m +++ /dev/null @@ -1,50 +0,0 @@ -.TH tcl_calltime.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -tcl_calltime.d - measure Tcl elapsed times for different types of operation. -.SH SYNOPSIS -.B tcl_calltime.d -[top] -eg, -tcl_calltime.d # default, truncate to 10 lines -tcl_calltime.d 25 # truncate each report section to 25 lines -.SH DESCRIPTION -This traces activity from all Tcl processes on the system with DTrace -provider support (tcl8.4.16). -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Tcl provider, which may change -as additional features are introduced. Check Tcl/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B tcl_calltime.d -.PP -.SH FIELDS -.TP -PID -Process ID -.TP -TYPE -Type of call (proc/cmd/total) -.TP -NAME -Name of call -.TP -TOTAL -Total elapsed time for calls (us) -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -tcl_calltime.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/tcl_cpudist.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/tcl_cpudist.d.1m deleted file mode 100644 index 7ae55d865885..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/tcl_cpudist.d.1m +++ /dev/null @@ -1,47 +0,0 @@ -.TH tcl_cpudist.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -tcl_cpudist.d - measure Tcl on-CPU time for different types of operation. -.SH SYNOPSIS -.B tcl_cpudist.d -[top] -eg, -tcl_cpudist.d # default, truncate to 10 lines -tcl_cpudist.d 25 # truncate each report section to 25 lines -.SH DESCRIPTION -This traces activity from all Tcl processes on the system with DTrace -provider support (tcl8.4.16). -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Tcl provider, which may change -as additional features are introduced. Check Tcl/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B tcl_cpudist.d -.PP -.SH FIELDS -.TP -1 -Process ID -.TP -2 -Type of call (proc/cmd/total) -.TP -3 -Name of call -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -tcl_cpudist.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/tcl_cputime.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/tcl_cputime.d.1m deleted file mode 100644 index efbac89f7822..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/tcl_cputime.d.1m +++ /dev/null @@ -1,50 +0,0 @@ -.TH tcl_cputime.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -tcl_cputime.d - measure Tcl on-CPU times for different types of operation. -.SH SYNOPSIS -.B tcl_cputime.d -[top] -eg, -tcl_cputime.d # default, truncate to 10 lines -tcl_cputime.d 25 # truncate each report section to 25 lines -.SH DESCRIPTION -This traces activity from all Tcl processes on the system with DTrace -provider support (tcl8.4.16). -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Tcl provider, which may change -as additional features are introduced. Check Tcl/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B tcl_cputime.d -.PP -.SH FIELDS -.TP -PID -Process ID -.TP -TYPE -Type of call (proc/cmd/total) -.TP -NAME -Name of call -.TP -TOTAL -Total on-CPU time for calls (us) -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -tcl_cputime.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/tcl_flow.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/tcl_flow.d.1m deleted file mode 100644 index bba2e3a17780..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/tcl_flow.d.1m +++ /dev/null @@ -1,66 +0,0 @@ -.TH tcl_flow.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -tcl_flow.d - snoop Tcl execution showing procedure flow using DTrace. -.SH SYNOPSIS -.B tcl_flow.d - -.SH DESCRIPTION -This traces activity from all Tcl processes on the system with DTrace -provider support (tcl8.4.16). - -This watches Tcl method entries and returns, and indents child -method calls. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Tcl provider, which may change -as additional features are introduced. Check Tcl/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B tcl_flow.d -.PP -.SH FIELDS -.TP -C -CPU-id -.TP -TIME(us) -Time since boot, us -.TP -PID -Process ID -.TP -CALL -Tcl command or procedure name -.SH LEGEND -.TP -\-> -procedure entry -.TP -<\- -procedure return -.TP -> -command entry -.TP -< -command return -.SH WARNING -Watch the first column carefully, it prints the CPU-id. If it -changes, then it is very likely that the output has been shuffled. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -tcl_flow.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/tcl_flowtime.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/tcl_flowtime.d.1m deleted file mode 100644 index 56194d2d9ce6..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/tcl_flowtime.d.1m +++ /dev/null @@ -1,69 +0,0 @@ -.TH tcl_flowtime.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -tcl_flowtime.d - snoop Tcl execution showing procedure flow and delta times. -.SH SYNOPSIS -.B tcl_flowtime.d - -.SH DESCRIPTION -This traces activity from all Tcl processes on the system with DTrace -provider support (tcl8.4.16). - -This watches Tcl method entries and returns, and indents child -method calls. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Tcl provider, which may change -as additional features are introduced. Check Tcl/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B tcl_flowtime.d -.PP -.SH FIELDS -.TP -C -CPU-id -.TP -PID -Process ID -.TP -TIME(us) -Time since boot, us -.TP -DELTA(us) -Elapsed time from previous line to this line -.TP -CALL -Tcl command or procedure name -.SH LEGEND -.TP -\-> -procedure entry -.TP -<\- -procedure return -.TP -> -command entry -.TP -< -command return -.SH WARNING -Watch the first column carefully, it prints the CPU-id. If it -changes, then it is very likely that the output has been shuffled. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -tcl_flowtime.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/tcl_ins.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/tcl_ins.d.1m deleted file mode 100644 index f3ab7feb99bc..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/tcl_ins.d.1m +++ /dev/null @@ -1,50 +0,0 @@ -.TH tcl_calls.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -tcl_calls.d - count Tcl calls (method/...) using DTrace. -.SH SYNOPSIS -.B tcl_calls.d - -.SH DESCRIPTION -This traces activity from all Tcl processes on the system with DTrace -provider support (tcl8.4.16). - -TYPEs: -inst instruction -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Tcl provider, which may change -as additional features are introduced. Check Tcl/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B tcl_calls.d -.PP -.SH FIELDS -.TP -PID -Process ID -.TP -TYPE -Type of call (see below) -.TP -NAME -Name of call -.TP -COUNT -Number of calls during sample -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -tcl_calls.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/tcl_insflow.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/tcl_insflow.d.1m deleted file mode 100644 index 877757d2291c..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/tcl_insflow.d.1m +++ /dev/null @@ -1,69 +0,0 @@ -.TH tcl_insflow.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -tcl_insflow.d - snoop Tcl execution showing procedure flow and delta times. -.SH SYNOPSIS -.B tcl_insflow.d - -.SH DESCRIPTION -This traces activity from all Tcl processes on the system with DTrace -provider support (tcl8.4.16). - -This watches Tcl method entries and returns, and indents child -method calls. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Tcl provider, which may change -as additional features are introduced. Check Tcl/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B tcl_insflow.d -.PP -.SH FIELDS -.TP -C -CPU-id -.TP -PID -Process ID -.TP -TIME(us) -Time since boot, us -.TP -DELTA(us) -Elapsed time from previous line to this line -.TP -TYPE -Type of call (proc/cmd/inst) -.TP -CALL -Tcl command or procedure name -.SH LEGEND -.TP -proc -procedure -.TP -cmd -command -.TP -inst -instruction -.SH WARNING -Watch the first column carefully, it prints the CPU-id. If it -changes, then it is very likely that the output has been shuffled. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -tcl_insflow.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/tcl_proccalls.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/tcl_proccalls.d.1m deleted file mode 100644 index 9fda802351fd..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/tcl_proccalls.d.1m +++ /dev/null @@ -1,44 +0,0 @@ -.TH tcl_methodcalls.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -tcl_methodcalls.d - count Tcl method calls DTrace. -.SH SYNOPSIS -.B tcl_methodcalls.d - -.SH DESCRIPTION -This traces activity from all Tcl processes on the system with DTrace -provider support (tcl8.4.16). -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Tcl provider, which may change -as additional features are introduced. Check Tcl/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B tcl_methodcalls.d -.PP -.SH FIELDS -.TP -PID -Process ID -.TP -COUNT -Number of calls during sample -.TP -PROCEDURE -Tcl procedure name -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -tcl_methodcalls.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/tcl_procflow.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/tcl_procflow.d.1m deleted file mode 100644 index aa79e913b0ca..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/tcl_procflow.d.1m +++ /dev/null @@ -1,60 +0,0 @@ -.TH tcl_procflow.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -tcl_procflow.d - snoop Tcl execution showing procedure flow using DTrace. -.SH SYNOPSIS -.B tcl_procflow.d - -.SH DESCRIPTION -This traces activity from all Tcl processes on the system with DTrace -provider support (tcl8.4.16). - -This watches Tcl method entries and returns, and indents child -method calls. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Tcl provider, which may change -as additional features are introduced. Check Tcl/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B tcl_procflow.d -.PP -.SH FIELDS -.TP -C -CPU-id -.TP -TIME(us) -Time since boot, us -.TP -PID -Process ID -.TP -PROCEDURE -Tcl procedure name -.SH LEGEND -.TP -\-> -proc entry -.TP -<\- -proc return -.SH WARNING -Watch the first column carefully, it prints the CPU-id. If it -changes, then it is very likely that the output has been shuffled. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -tcl_procflow.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/tcl_stat.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/tcl_stat.d.1m deleted file mode 100644 index 280b8c0d2acc..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/tcl_stat.d.1m +++ /dev/null @@ -1,61 +0,0 @@ -.TH tcl_stat.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -tcl_stat.d - Tcl operation stats using DTrace. -.SH SYNOPSIS -.B tcl_stat.d -[interval [count]] -.SH DESCRIPTION -This traces activity from all Tcl processes on the system with DTrace -provider support (tcl8.4.16). - -The numbers are counts for the interval specified. The default interval -is 1 second. - -If you see a count in "EXECS" but not in the other columns, then you -may have older Tcl software that does not have the integrated DTrace -provider (or newer software where the provider has changed). -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Tcl provider, which may change -as additional features are introduced. Check Tcl/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B tcl_stat.d -.PP -.SH FIELDS -.TP -EXEC/s -Tcl programs executed per second, including -those without Tcl provider support -.TP -PROC/s -Procedures called, per second -.TP -CMD/s -Commands created, per second -.TP -OBJNEW/s -Objects created, per second -.TP -OBJFRE/s -Objects freed, per second -.TP -OP/s -Bytecode operations, per second -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -tcl_stat.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/tcl_syscalls.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/tcl_syscalls.d.1m deleted file mode 100644 index ef4e5fe1f506..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/tcl_syscalls.d.1m +++ /dev/null @@ -1,47 +0,0 @@ -.TH tcl_syscalls.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -tcl_syscalls.d - count Tcl calls and syscalls using DTrace. -.SH SYNOPSIS -.B tcl_syscalls.d -{ \-p PID | \-c cmd } -.SH DESCRIPTION -This traces activity from all Tcl processes on the system with DTrace -provider support (tcl8.4.16). -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Tcl provider, which may change -as additional features are introduced. Check Tcl/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B tcl_syscalls.d -.PP -.SH FIELDS -.TP -PID -Process ID -.TP -TYPE -Type of call (method/syscall) -.TP -NAME -Name of call -.TP -COUNT -Number of calls during sample -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -tcl_syscalls.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/tcl_syscolors.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/tcl_syscolors.d.1m deleted file mode 100644 index 4b920d55e327..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/tcl_syscolors.d.1m +++ /dev/null @@ -1,59 +0,0 @@ -.TH tcl_syscolors.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -tcl_syscolors.d - trace Tcl program flow plus syscalls, in color. -.SH SYNOPSIS -.B tcl_syscolors.d -{ \-p PID | \-c cmd } -.SH DESCRIPTION -This traces activity from all Tcl processes on the system with DTrace -provider support (tcl8.4.16). - -This watches Tcl method entries and returns, and indents child -method calls. -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Tcl provider, which may change -as additional features are introduced. Check Tcl/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B tcl_syscolors.d -.PP -.SH FIELDS -.TP -C -CPU-id -.TP -PID -Process ID -.TP -TID -Thread ID -.TP -DELTA(us) -Elapsed time from previous line to this line -.TP -TYPE -Type of call (proc/cmd/syscall) -.TP -NAME -Tcl proc/cmd or syscall name -.SH WARNING -Watch the first column carefully, it prints the CPU-id. If it -changes, then it is very likely that the output has been shuffled. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -tcl_syscolors.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/tcl_who.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/tcl_who.d.1m deleted file mode 100644 index f6a69944ea29..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/tcl_who.d.1m +++ /dev/null @@ -1,54 +0,0 @@ -.TH tcl_who.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS" -.SH NAME -tcl_who.d - trace Tcl calls by process using DTrace. -.SH SYNOPSIS -.B tcl_who.d - -.SH DESCRIPTION -This traces activity from all Tcl processes on the system with DTrace -provider support (tcl8.4.16). - -Calls is a measure of activity, and is a count of the procedures and -commands that Tcl called. - -The argument list is truncated at 55 characters (up to 80 is easily -available). To easily read the full argument list, use other system tools; -on Solaris use "pargs PID". -.SH OS -Any -.SH STABILITY -Evolving - uses the DTrace Tcl provider, which may change -as additional features are introduced. Check Tcl/Readme -to see what version these scripts are based on. -.SH EXAMPLES -.TP -Default output, -# -.B tcl_who.d -.PP -.SH FIELDS -.TP -PID -Process ID of Tcl -.TP -UID -User ID of the owner -.TP -CALLS -Number of calls made (proc + cmd) -.TP -ARGS -Process name and arguments -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Examples, Notes and Docs directories. The example files may be -especially useful as they aim to demonstrate how to interpret -the output. -.SH EXIT -tcl_who.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/tcpsnoop.1m b/cddl/contrib/dtracetoolkit/Man/man1m/tcpsnoop.1m deleted file mode 100644 index 7fff62c535c6..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/tcpsnoop.1m +++ /dev/null @@ -1,116 +0,0 @@ -.TH tcpsnoop 1m "$Date:: 2007-10-04 #$" "USER COMMANDS" -.SH NAME -tcpsnoop \- snoop TCP network packets by process. Uses DTrace. -.SH SYNOPSIS -.B tcpsnoop -[\-a|hjsvZ] [\-n name] [\-p pid] -.SH DESCRIPTION -This analyses TCP network packets and prints the responsible PID and UID, -plus standard details such as IP address and port. This captures traffic -of newly created TCP connections that were established while this program -was running. It can help identify which processes is causing TCP traffic. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris 10 3/05 -.SH STABILITY -unstable - this script uses fbt provider probes which may change for -future updates of the OS, invalidating this script. Please read -Docs/Notes/ALLfbt_notes.txt for further details about these fbt scripts. -.SH OPTIONS -.TP -\-a -print all data -.TP -\-j -print project ID -.TP -\-s -print time, us -.TP -\-v -print time, string -.TP -\-Z -print zone ID -.TP -\-n name -command name to snoop -.TP -\-p PID -process ID to snoop -.PP -.SH EXAMPLES -.TP -Default output, snoop TCP network packets with details, -# -.B tcpsnoop -.TP -Print human readable timestamps, -# -.B tcpsnoop -\-v -.TP -Print zonename, -# -.B tcpsnoop -\-Z -.TP -Print sshd traffic only, -# -.B tcpsnoop -\-n sshd -.PP -.SH FIELDS -.TP -UID -user ID -.TP -PID -process ID -.TP -CMD -command name -.TP -LADDR -local IP address -.TP -RADDR -remote IP address -.TP -LPORT -local port number -.TP -RPORT -remote port number -.TP -DR -direction -.TP -SIZE -packet size, bytes -.TP -TIME -timestamp, us -.TP -STRTIME -human readable timestamp, string -.TP -ZONE -zone ID -.TP -PROJ -project ID -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -tcpsnoop will print traffic until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -tcptop(1M), dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/tcpsnoop.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/tcpsnoop.d.1m deleted file mode 100644 index e1cfd3c13f4d..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/tcpsnoop.d.1m +++ /dev/null @@ -1,68 +0,0 @@ -.TH tcpsnoop.d 1m "$Date:: 2007-10-04 #$" "USER COMMANDS" -.SH NAME -tcpsnoop.d \- snoop TCP network packets by process. DTrace. -.SH SYNOPSIS -.B tcpsnoop.d -.SH DESCRIPTION -This analyses TCP network packets and prints the responsible PID and UID, -plus standard details such as IP address and port. This captures traffic -of newly created TCP connections that were established while this program -was running. It can help identify which processes is causing TCP traffic. - -This is a DTrace only version of "tcpsnoop" - an enhanced program that -provides command line options. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris 10 3/05 -.SH STABILITY -unstable - this script uses fbt provider probes which may change for -future updates of the OS, invalidating this script. Please read -Docs/Notes/ALLfbt_notes.txt for further details about these fbt scripts. -.SH EXAMPLES -.TP -Default output, snoop TCP network packets with details, -# -.B tcpsnoop.d -.PP -.SH FIELDS -.TP -UID -user ID -.TP -PID -process ID -.TP -CMD -command name -.TP -LADDR -local IP address -.TP -RADDR -remote IP address -.TP -LPORT -local port number -.TP -RPORT -remote port number -.TP -DR -direction -.TP -SIZE -packet size, bytes -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -tcpsnoop.d will print traffic until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -tcpsnoop(1M), tcptop(1M), dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/tcpsnoop_snv.1m b/cddl/contrib/dtracetoolkit/Man/man1m/tcpsnoop_snv.1m deleted file mode 100644 index 36e880d78317..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/tcpsnoop_snv.1m +++ /dev/null @@ -1,116 +0,0 @@ -.TH tcpsnoop 1m "$Date:: 2007-10-04 #$" "USER COMMANDS" -.SH NAME -tcpsnoop \- snoop TCP network packets by process. Uses DTrace. -.SH SYNOPSIS -.B tcpsnoop -[\-a|hjsvZ] [\-n name] [\-p pid] -.SH DESCRIPTION -This analyses TCP network packets and prints the responsible PID and UID, -plus standard details such as IP address and port. This captures traffic -of newly created TCP connections that were established while this program -was running. It can help identify which processes is causing TCP traffic. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris Nevada / OpenSolaris, circa late 2007 -.SH STABILITY -unstable - this script uses fbt provider probes which may change for -future updates of the OS, invalidating this script. Please read -Docs/Notes/ALLfbt_notes.txt for further details about these fbt scripts. -.SH OPTIONS -.TP -\-a -print all data -.TP -\-j -print project ID -.TP -\-s -print time, us -.TP -\-v -print time, string -.TP -\-Z -print zone ID -.TP -\-n name -command name to snoop -.TP -\-p PID -process ID to snoop -.PP -.SH EXAMPLES -.TP -Default output, snoop TCP network packets with details, -# -.B tcpsnoop -.TP -Print human readable timestamps, -# -.B tcpsnoop -\-v -.TP -Print zonename, -# -.B tcpsnoop -\-Z -.TP -Print sshd traffic only, -# -.B tcpsnoop -\-n sshd -.PP -.SH FIELDS -.TP -UID -user ID -.TP -PID -process ID -.TP -CMD -command name -.TP -LADDR -local IP address -.TP -RADDR -remote IP address -.TP -LPORT -local port number -.TP -RPORT -remote port number -.TP -DR -direction -.TP -SIZE -packet size, bytes -.TP -TIME -timestamp, us -.TP -STRTIME -human readable timestamp, string -.TP -ZONE -zone ID -.TP -PROJ -project ID -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -tcpsnoop will print traffic until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -tcptop(1M), dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/tcpsnoop_snv.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/tcpsnoop_snv.d.1m deleted file mode 100644 index 79bfda36285c..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/tcpsnoop_snv.d.1m +++ /dev/null @@ -1,68 +0,0 @@ -.TH tcpsnoop.d 1m "$Date:: 2007-10-04 #$" "USER COMMANDS" -.SH NAME -tcpsnoop.d \- snoop TCP network packets by process. DTrace. -.SH SYNOPSIS -.B tcpsnoop.d -.SH DESCRIPTION -This analyses TCP network packets and prints the responsible PID and UID, -plus standard details such as IP address and port. This captures traffic -of newly created TCP connections that were established while this program -was running. It can help identify which processes is causing TCP traffic. - -This is a DTrace only version of "tcpsnoop" - an enhanced program that -provides command line options. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris Nevada / OpenSolaris, circa late 2007 -.SH STABILITY -unstable - this script uses fbt provider probes which may change for -future updates of the OS, invalidating this script. Please read -Docs/Notes/ALLfbt_notes.txt for further details about these fbt scripts. -.SH EXAMPLES -.TP -Default output, snoop TCP network packets with details, -# -.B tcpsnoop.d -.PP -.SH FIELDS -.TP -UID -user ID -.TP -PID -process ID -.TP -CMD -command name -.TP -LADDR -local IP address -.TP -RADDR -remote IP address -.TP -LPORT -local port number -.TP -RPORT -remote port number -.TP -DR -direction -.TP -SIZE -packet size, bytes -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -tcpsnoop.d will print traffic until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -tcpsnoop(1M), tcptop(1M), dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/tcpstat.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/tcpstat.d.1m deleted file mode 100644 index 4db577c446a5..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/tcpstat.d.1m +++ /dev/null @@ -1,58 +0,0 @@ -.TH tcpstat.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -tcpstat.d \- print TCP statistics. Uses DTrace. -.SH SYNOPSIS -.B tcpstat.d -.SH DESCRIPTION -tcpstat.d is a DTrace program to print TCP statistics every second, -retrieved from the MIB provider. - -This program can be used to help identify how utilised the network -interfaces may be, as well as TCP transmission errors. - -The TCP statistics are documented in the mib2_tcp struct -in /usr/include/inet/mib2.h; and also in the mib provider -chapter of the DTrace Guide, found at -http://docs.sun.com/db/doc/817-6223. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the mib provider. -.SH EXAMPLES -.TP -Print statistics every second, -# -.B tcpstat.d -.PP -.SH FIELDS -.TP -TCP_out -TCP bytes sent -.TP -TCP_outRe -TCP bytes retransmitted -.TP -TCP_in -TCP bytes received -.TP -TCP_inDup -TCP bytes received duplicated -.TP -TCP_inUn -TCP bytes received out of order -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -tcpstat.d will run forever until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -nicstat(1M), dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/tcptop.1m b/cddl/contrib/dtracetoolkit/Man/man1m/tcptop.1m deleted file mode 100644 index 156aaf50fc69..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/tcptop.1m +++ /dev/null @@ -1,111 +0,0 @@ -.TH tcptop 1m "$Date:: 2007-10-04 #$" "USER COMMANDS" -.SH NAME -tcptop \- display top TCP network packets by process. Uses DTrace. -.SH SYNOPSIS -.B tcptop -[-Ch] [-j|-Z] [interval [count]] -.SH DESCRIPTION -This analyses TCP network packets and prints the responsible PID and UID, -plus standard details such as IP address and port. This captures traffic -of newly created TCP connections that were established while this program -was running. It can help identify which processes is causing TCP traffic. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris 10 3/05 -.SH STABILITY -unstable - this script uses fbt provider probes which may change for -future updates of the OS, invalidating this script. Please read -Docs/Notes/ALLfbt_notes.txt for further details about these fbt scripts. -.SH OPTIONS -.TP -\-C -don't clear the screen -.TP -\-j -print project IDs -.TP -\-Z -print zone IDs -.TP -interval -sample seconds between refreshing the screen -.TP -count -number of samples -.PP -.SH EXAMPLES -.TP -Print a report every 5 seconds, -# -.B tcptop -.TP -Don't clear the screen, scrolling output, -# -.B tcptop -\-C -.TP -Print project IDs, -# -.B tcptop -\-j -.TP -Print zone IDs, -# -.B tcptop -\-Z -.PP -.SH FIELDS -.TP -UID -user ID -.TP -PID -process ID -.TP -CMD -command name -.TP -LADDR -local IP address -.TP -RADDR -remote IP address -.TP -LPORT -local port number -.TP -RPORT -remote port number -.TP -SIZE -packet size, bytes -.TP -load -1 minute load average -.TP -TCPin -total TCP inbound payload data -.TP -TCPout -total TCP outbound payload data -.TP -ZONE -zone ID -.TP -PROJ -project ID -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -tcptop will print reports until Ctrl\-C is hit, or the specified -count is reached. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -tcpsnoop(1M), dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/tcptop_snv.1m b/cddl/contrib/dtracetoolkit/Man/man1m/tcptop_snv.1m deleted file mode 100644 index 9ac14ac3a427..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/tcptop_snv.1m +++ /dev/null @@ -1,111 +0,0 @@ -.TH tcptop 1m "$Date:: 2007-10-04 #$" "USER COMMANDS" -.SH NAME -tcptop \- display top TCP network packets by process. Uses DTrace. -.SH SYNOPSIS -.B tcptop -[-Ch] [-j|-Z] [interval [count]] -.SH DESCRIPTION -This analyses TCP network packets and prints the responsible PID and UID, -plus standard details such as IP address and port. This captures traffic -of newly created TCP connections that were established while this program -was running. It can help identify which processes is causing TCP traffic. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris Nevada / OpenSolaris, circa late 2007 -.SH STABILITY -unstable - this script uses fbt provider probes which may change for -future updates of the OS, invalidating this script. Please read -Docs/Notes/ALLfbt_notes.txt for further details about these fbt scripts. -.SH OPTIONS -.TP -\-C -don't clear the screen -.TP -\-j -print project IDs -.TP -\-Z -print zone IDs -.TP -interval -sample seconds between refreshing the screen -.TP -count -number of samples -.PP -.SH EXAMPLES -.TP -Print a report every 5 seconds, -# -.B tcptop -.TP -Don't clear the screen, scrolling output, -# -.B tcptop -\-C -.TP -Print project IDs, -# -.B tcptop -\-j -.TP -Print zone IDs, -# -.B tcptop -\-Z -.PP -.SH FIELDS -.TP -UID -user ID -.TP -PID -process ID -.TP -CMD -command name -.TP -LADDR -local IP address -.TP -RADDR -remote IP address -.TP -LPORT -local port number -.TP -RPORT -remote port number -.TP -SIZE -packet size, bytes -.TP -load -1 minute load average -.TP -TCPin -total TCP inbound payload data -.TP -TCPout -total TCP outbound payload data -.TP -ZONE -zone ID -.TP -PROJ -project ID -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -tcptop will print reports until Ctrl\-C is hit, or the specified -count is reached. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -tcpsnoop(1M), dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/tcpwdist.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/tcpwdist.d.1m deleted file mode 100644 index 626d66e74f25..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/tcpwdist.d.1m +++ /dev/null @@ -1,60 +0,0 @@ -.TH tcpwdist.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -tcpwdist.d \- simple TCP write dist by process. Uses DTrace. -.SH SYNOPSIS -.B tcpwdist.d -.SH DESCRIPTION -This measures the size of writes from applications to the TCP level, which -may well be much larger than the MTU size (this is application writes not -packet writes). It can help identify which process is creating network -traffic, and the size of the writes by that application. It uses a simple -probe that produces meaningful output for most protocols. - -Tracking TCP activity by process is complex for a number of reasons, -the greatest is that inbound TCP traffic is asynchronous to the process. -The easiest TCP traffic to match is writes, which this script demonstrates. -However there are still issues - for an inbound telnet connection the -writes are associated with the command, for example "ls -l", not something -meaningful such as "in.telnetd". - -Scripts that match TCP traffic properly include tcpsnoop and tcptop. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -unstable - this script uses fbt provider probes which may change for -future updates of the OS, invalidating this script. Please read -Docs/Notes/ALLfbt_notes.txt for further details about these fbt scripts. -.SH EXAMPLES -.TP -Sample until Ctrl\-C is hit then print report, -# -.B tcpwdist.d -.PP -.SH FIELDS -.TP -PID -process ID -.TP -CMD -command and argument list -.TP -value -TCP write payload size in bytes -.TP -count -number of writes -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -tcpwdist.d will sample until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -tcpsnoop(1M), tcptop(1M), dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/threaded.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/threaded.d.1m deleted file mode 100644 index c17ad9acc9de..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/threaded.d.1m +++ /dev/null @@ -1,50 +0,0 @@ -.TH threaded.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -threaded.d \- sample multi-threaded CPU usage. Uses DTrace. -.SH SYNOPSIS -.B threaded.d -.SH DESCRIPTION -This measures thread IDs as a process runs across multiple CPUs. -It is a simple script that can help determine if a multi-threaded -application is effectively using it's threads, or if the threads have -serialised. See the example file in Docs/Examples/threaded_example.txt -for a demonstration. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Any -.SH STABILITY -stable. -.SH EXAMPLES -.TP -This runs until Ctrl\-C is hit. -# -.B threaded.d -.PP -.SH FIELDS -.TP -PID -process ID -.TP -CMD -process name -.TP -value -thread ID -.TP -count -number of samples -.PP -.SH SEE ALSO -prstat \-L -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -threaded.d will run until Ctrl\-C is hit. -.SH SEE ALSO -dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/topsyscall.1m b/cddl/contrib/dtracetoolkit/Man/man1m/topsyscall.1m deleted file mode 100644 index 34734546ac34..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/topsyscall.1m +++ /dev/null @@ -1,73 +0,0 @@ -.TH topsyscall 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -topsyscall \- top syscalls by syscall name. Uses DTrace. -.SH SYNOPSIS -.B topsyscall -[-Cs] [interval [count]] -.SH DESCRIPTION -This program continually prints a report of the top system calls, -and refreshes the display every 1 second or as specified at the -command line. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -unstable - uses the hp_avenrun kernel symbol. -.SH OPTIONS -.TP -\-C -don't clear the screen -.TP -\-s -print per second values -.PP -.SH EXAMPLES -.TP -Default output, 1 second updates, -# -.B topsyscall -.TP -Print every 5 seconds, -# -.B topsyscall -5 -.TP -Print a scrolling output, -# -.B topsyscall -\-C -.PP -.SH FIELDS -.TP -load avg -load averages, see uptime(1) -.TP -syscalls -total syscalls in this interval -.TP -syscalls/s -syscalls per second -.TP -SYSCALL -system call name -.TP -COUNT -total syscalls in this interval -.TP -COUNT/s -syscalls per second -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -topsyscall will run until Ctrl\-C is hit, or the specified -interval is reached. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M), prstat(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/topsysproc.1m b/cddl/contrib/dtracetoolkit/Man/man1m/topsysproc.1m deleted file mode 100644 index 2f5e1c39d2ce..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/topsysproc.1m +++ /dev/null @@ -1,75 +0,0 @@ -.TH topsysproc 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -topsysproc \- top syscalls by process name. Uses DTrace. -.SH SYNOPSIS -.B topsysproc -[-Cs] [interval [count]] -.SH DESCRIPTION -This program continually prints a report of the number of system calls -by process name, and refreshes the display every 1 second or as specified -at the command line. Similar data can be fetched with "prstat -m". - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -unstable - uses the hp_avenrun kernel symbol. -.SH OPTIONS -.TP -\-C -don't clear the screen -.TP -\-s -print per second values -.PP -.SH EXAMPLES -.TP -Default output, 1 second updates, -# -.B topsysproc -.TP -Print every 5 seconds, -# -.B topsysproc -5 -.TP -Print a scrolling output, -# -.B topsysproc -\-C -.PP -.SH FIELDS -.TP -load avg -load averages, see uptime(1) -.TP -syscalls -total syscalls in this interval -.TP -syscalls/s -syscalls per second -.TP -PROCESS -process name -.TP -COUNT -total syscalls in this interval -.TP -COUNT/s -syscalls per second -.PP -.SH NOTES -There may be several PIDs with the same process name. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -topsysproc will run until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M), prstat(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/udpstat.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/udpstat.d.1m deleted file mode 100644 index 340f659d06bc..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/udpstat.d.1m +++ /dev/null @@ -1,55 +0,0 @@ -.TH udpstat.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -udpstat.d \- print UDP statistics. Uses DTrace. -.SH SYNOPSIS -.B udpstat.d -.SH DESCRIPTION -udpstat.d is a DTrace program to print UDP statistics every second, -retrieved from the MIB provider. - -The UDP statistics are documented in the mib2_tcp struct -in /usr/include/inet/mib2.h; and also in the mib provider -chapter of the DTrace Guide, found at -http://docs.sun.com/db/doc/817-6223. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the mib provider. -.SH EXAMPLES -.TP -Print statistics every second, -# -.B udpstat.d -.PP -.SH FIELDS -.TP -UDP_out -UDP datagrams sent -.TP -UDP_outErr -UDP datagrams errored on send -.TP -UDP_in -UDP datagrams received -.TP -UDP_inErr -UDP datagrams undeliverable -.TP -UDP_noPort -UDP datagrams received to closed ports -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -udpstat.d will run forever until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/uname-a.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/uname-a.d.1m deleted file mode 100644 index 60d10f700fe7..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/uname-a.d.1m +++ /dev/null @@ -1,35 +0,0 @@ -.TH uname\-a.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -uname\-a.d \- "uname \-a" demo in DTrace. Uses DTrace. -.SH SYNOPSIS -.B uname\-a.d -.SH DESCRIPTION -This has been written to demonstrate fetching the "uname -a" info -from a DTrace script, which turns out to be all kernel variables. -This is intended as a starting point for other DTrace scripts, by -beginning with familiar statistics. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -unstable - uses various kernel symbols. -.SH EXAMPLES -.TP -Print system call counts every second, -# -.B uname\-c.d -.PP -.SH FIELDS -See uname(1) manpage for documentation. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -uname(1), dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/vmbypid.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/vmbypid.d.1m deleted file mode 100644 index 3c8b8759071a..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/vmbypid.d.1m +++ /dev/null @@ -1,50 +0,0 @@ -.TH vmbypid.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -vmbypid.d \- virtual memory stats by PID. Uses DTrace. -.SH SYNOPSIS -.B vmbypid.d -.SH DESCRIPTION -vmbypid.d is a simple DTrace program to print Virtual Memory -statistics by process. - -The virtual memory statistics are documented in the cpu_vminfo struct -in the /usr/include/sys/sysinfo.h file; and also in the vminfo provider -chapter of the DTrace Guide, http://docs.sun.com/db/doc/817-6223. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the vminfo provider. -.SH EXAMPLES -.TP -Sample until Ctrl\-C is hit then print report, -# -.B vmbypid.d -.PP -.SH FIELDS -.TP -EXEC -process name -.TP -PID -process ID -.TP -VM -Virtual Memory statistic -.TP -VALUE -Value by which statistic was incremented -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -vmbypid.d will sample until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M), vmstat(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/vmstat-p.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/vmstat-p.d.1m deleted file mode 100644 index 8198f3d55fee..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/vmstat-p.d.1m +++ /dev/null @@ -1,85 +0,0 @@ -.TH vmstat-p.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -vmstat-p.d \- vmstat -p demo in DTrace. Uses DTrace. -.SH SYNOPSIS -.B vmstat-p.d -.SH DESCRIPTION -This has been written to demonstrate fetching similar data as vmstat -from DTrace. This program is intended as a starting point for other -DTrace scripts, by beginning with familiar statistics. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -unstable - uses various kernel symbols. -.SH EXAMPLES -.TP -Print virtual memory statistics every second, -# -.B vmstat-p.d -.PP -.SH FIELDS -.TP -swap -virtual memory free, Kbytes -.TP -free -free RAM, Kbytes -.TP -re -page reclaims, Kbytes -.TP -mf -minor faults, Kbytes -.TP -sr -scan rate, pages -.TP -epi -executable page ins, Kbytes -.TP -epo -executable page outs, Kbytes -.TP -epf -executable frees, Kbytes -.TP -api -anonymous page ins, Kbytes -.TP -apo -anonymous page outs, Kbytes -.TP -apf -anonymous frees, Kbytes -.TP -fpi -filesystem page ins, Kbytes -.TP -fpo -filesystem page outs, Kbytes -.TP -fpf -filesystem frees, Kbytes -.PP -.SH NOTES -Most of the statistics are in units of kilobytes, unlike the -original vmstat command which sometimes uses page counts. - -As this program does not use Kstat, there is no summary since boot line. - -Free RAM is both free free + cache free. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -vmstat-p.d will run until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -vmstat(1M), dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/vmstat.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/vmstat.d.1m deleted file mode 100644 index dfbc3605c520..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/vmstat.d.1m +++ /dev/null @@ -1,79 +0,0 @@ -.TH vmstat.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -vmstat.d \- vmstat demo in DTrace. Uses DTrace. -.SH SYNOPSIS -.B vmstat.d -.SH DESCRIPTION -This has been written to demonstrate fetching the same data as vmstat -from DTrace. This program is intended as a starting point for other -DTrace scripts, by beginning with familiar statistics. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -unstable - uses various kernel symbols. -.SH EXAMPLES -.TP -Print virtual memory statistics every second, -# -.B vmstat.d -.PP -.SH FIELDS -.TP -w -swapped out light weight processes -.TP -swap -virtual memory free, Kbytes -.TP -free -free RAM, Kbytes -.TP -re -page reclaims, Kbytes -.TP -mf -minor faults, Kbytes -.TP -pi -page ins, Kbytes -.TP -po -page outs, Kbytes -.TP -fr -pages freed, Kbytes -.TP -sr -scan rate, pages -.TP -in -interrupts, number -.TP -sy -system calls, number -.TP -cs -context switches, number -.PP -.SH NOTES -Most of the statistics are in units of kilobytes, unlike the -original vmstat command which sometimes uses page counts. - -As this program does not use Kstat, there is no summary since boot line. - -Free RAM is both free free + cache free. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -vmstat.d will run until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -vmstat(1M), dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/vopstat.1m b/cddl/contrib/dtracetoolkit/Man/man1m/vopstat.1m deleted file mode 100644 index fa81cc1e9820..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/vopstat.1m +++ /dev/null @@ -1,77 +0,0 @@ -.TH vopstat 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -vopstat \- vnode interface statistics. Uses DTrace. -.SH SYNOPSIS -.B vopstat [\-t] [/mountname] -.SH DESCRIPTION -This will either produce summary reports of vnode statistics, or -trace activity. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -unstable - this script uses fbt provider probes which may change for -future updates of the OS, invalidating this script. Please read -Docs/Notes/ALLfbt_notes.txt for further details about these fbt scripts. -.SH OPTIONS -.TP -\-t -trace activity as it occurs -.TP -/mountname -examine this FS only -.PP -.SH EXAMPLES -.TP -default output, summary each 5 secs, -# -.B vopstat -.TP -only examine /var, -# -.B vopstat -/var -.TP -trace activity to /var, -# -.B vopstat -\-t /var -.PP -.SH FIELDS -.TP -Count -number of calls -.TP -mSeconds -total of elapsed times -.TP -Event -vop call name -.TP -Device -device instance name -.TP -Path -full pathname to file -.TP -RW -Read or Write -.TP -Size -size in bytes, if available -.TP -Offset -offset in bytes, if available -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -vopstat will sample until Ctrl\-C is hit. -.SH AUTHOR -Richard McDougall -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/weblatency.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/weblatency.d.1m deleted file mode 100644 index c7ff3d38870a..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/weblatency.d.1m +++ /dev/null @@ -1,63 +0,0 @@ -.TH weblatency.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -weblatency.d \- website latency statistics. Uses DTrace. -.SH SYNOPSIS -.B weblatency.d -.SH DESCRIPTION -This prints statistics for hostnames that browers have set GET requests -for, in particular latency by hostname. - -The latency measured is from the browser sending the GET -request to when the browser begins to recieve the response. It -is an overall response time for the client, and encompasses -connection speed delays, DNS lookups, proxy delays, and web server -response time. - -This is written as an experimental tool, and may not work at all with -your browser. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -unstable - depends on browser implementation. -.SH EXAMPLES -.TP -Print report after Ctrl-C is hit, -# -.B weblatency.d -.PP -.SH FIELDS -.TP -HOST -hostname from URL -.TP -NUM -number of GETs -.TP -AVGTIME(ms) -Average time for response, ms -.TP -MAXTIME(ms) -Maximum time for response, ms -.PP -.SH NOTES -See the source code for the "BROWSER" variable, which sets the browser -to trace (currently set to "mozilla-bin"). -.PP -.SH IDEA -Bryan Cantrill (who wrote an elegant version for Sol 10 update 1) -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -weblatency.d will sample until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/whatexec.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/whatexec.d.1m deleted file mode 100644 index 9c29b8ed5f20..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/whatexec.d.1m +++ /dev/null @@ -1,53 +0,0 @@ -.TH whatexec.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -whatexec.d \- Examine the type of files exec'd. Uses DTrace. -.SH SYNOPSIS -.B whatexec.d -.SH DESCRIPTION -This prints the first four chacacters of files that are executed. -This traces the kernel function findexec_by_hdr(), which checks for -a known magic number in the file's header. - -The idea came from a demo I heard about from the UK, where a -"blue screen of death" was displayed for "MZ" files (although I -haven't seen the script or the demo). - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -unstable - this script uses fbt provider probes which may change for -future updates of the OS, invalidating this script. Please read -Docs/Notes/ALLfbt_notes.txt for further details about these fbt scripts. -.SH EXAMPLES -.TP -Trace execs as they occur, -# -.B whatexec.d -.PP -.SH FIELDS -.TP -PEXEC -parent command name -.TP -EXEC -pathname to file exec'd -.TP -OK -is type runnable, Y/N -.TP -TYPE -first four characters from file -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -whatexec.d will trace until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/woof.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/woof.d.1m deleted file mode 100644 index 212346d6973d..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/woof.d.1m +++ /dev/null @@ -1,46 +0,0 @@ -.TH woof.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -woof.d \- Bark for new processes. Needs /dev/audio. Uses DTrace. -.SH SYNOPSIS -.B woof.d & -.SH DESCRIPTION -This is an audio alert daemon for process creation. It is a virtual dog which -barks when it sees new processes. If many processes are being created -quickly, it will bark a lot (and become a nuisance - not just the noise, -but also from consuming too much CPU). - -This exists in the DTraceToolkit more for entertainment than -practicality. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the proc provider, /usr/bin/audioplay, and bark.au. -.SH EXAMPLES -.TP -Run the dog, -# -.B woof.d & -.TP -Hear the dog, -$ find /etc -type f -exec grep localhost {} + -.TP -Drive the dog crazy, -$ find /etc -type f -exec grep localhost {} \\; -.PP -.SH NOTES -Beware of the dog! -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -woof.d will exit on Ctrl-C. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -sdtaudiocontrol(1), dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/wpm.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/wpm.d.1m deleted file mode 100644 index 8022ae463f50..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/wpm.d.1m +++ /dev/null @@ -1,34 +0,0 @@ -.TH wpm.d 1m "$Date:: 2007-09-12 #$" "USER COMMANDS" -.SH NAME -wpm.d - Measure words per minute of typing. -.SH SYNOPSIS -.B wpm.d -commandname -eg, -wpm.d bash -wpm.d vim -.SH DESCRIPTION -This script assumes that keystrokes arrive one at a time on STDIN. This -isn't the case for all processes that read keyboard input (eg, sh). -.SH OS -Solaris -.SH STABILITY -stable - Written in DTrace (Solaris 10 3/05). -.SH EXAMPLES -.TP -Default output, -# -.B wpm.d -.PP -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -wpm.d will run until Ctrl-C is hit. -.SH AUTHOR -Brendan Gregg -[CA, USA] -.SH SEE ALSO -dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/writebytes.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/writebytes.d.1m deleted file mode 100644 index 6fb3d85fd08a..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/writebytes.d.1m +++ /dev/null @@ -1,47 +0,0 @@ -.TH writebytes.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -writebytes.d \- write bytes by process name. Uses DTrace. -.SH SYNOPSIS -.B writebytes.d -.SH DESCRIPTION -writebytes.d is a DTrace OneLiner to a report of the number of -bytes write by process name. - -Docs/oneliners.txt and Docs/Examples/oneliners_examples.txt -in the DTraceToolkit contain this as a oneliner that can be cut-n-paste -to run. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the sysinfo provider. -.SH EXAMPLES -.TP -This samples until Ctrl\-C is hit. -# -.B writebytes.d -.PP -.SH FIELDS -.TP -first field -This is the process name. There may be several PIDs that have the -same process name, for example with numerous instances of "bash". The -value reported will be the sum of them all. -.TP -second field -This is the number of bytes write. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -writebytes.d will sample until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M), truss(1) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/writedist.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/writedist.d.1m deleted file mode 100644 index bdced08f1bca..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/writedist.d.1m +++ /dev/null @@ -1,54 +0,0 @@ -.TH writedist.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -writedist.d \- write distrib. by process name. Uses DTrace. -.SH SYNOPSIS -.B writedist.d -.SH DESCRIPTION -writedist.d is a DTrace OneLiner to a report the write size and -number of occurrences as a frequency distribution by process name. - -This can be useful to identify the behaviour of processes -that are doing writes. Are they using many small writes, or -fewer large writes. - -Docs/oneliners.txt and Docs/Examples/oneliners_examples.txt -in the DTraceToolkit contain this as a oneliner that can be cut-n-paste -to run. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the sysinfo provider. -.SH EXAMPLES -.TP -This samples until Ctrl\-C is hit. -# -.B writedist.d -.PP -.SH FIELDS -.TP -process name -The process name. There may be several PIDs that have the -same process name, for example with numerous instances of "bash". The -value reported will be the sum of them all. -.TP -value -The size in bytes -.TP -count -The number of occurrences that were at least this size -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -writedist.d will sample until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -dtrace(1M), truss(1) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/xcallsbypid.d.1m b/cddl/contrib/dtracetoolkit/Man/man1m/xcallsbypid.d.1m deleted file mode 100644 index 173a14f7f71b..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/xcallsbypid.d.1m +++ /dev/null @@ -1,46 +0,0 @@ -.TH xcallsbypid.d 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -xcallsbypid.d \- CPU cross calls by PID. Uses DTrace. -.SH SYNOPSIS -.B xcallsbypid.d -.SH DESCRIPTION -xcallsbypid.d reports the number of CPU cross calls by process name -and process ID. Cross calls occur when a CPU requests another CPU to -do work on it's behalf. A great number of these can be a burden -on the system. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the sysinfo provider. -.SH EXAMPLES -.TP -This samples until Ctrl\-C is hit. -# -.B xcallsbypid.d -.PP -.SH FIELDS -.TP -PID -process ID -.TP -CMD -process name -.TP -XCALLS -number cross calls -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -xcallsbypid.d will sample until Ctrl\-C is hit. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -mpstat(1m), dtrace(1M) - diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/xvmstat.1m b/cddl/contrib/dtracetoolkit/Man/man1m/xvmstat.1m deleted file mode 100644 index 9f27d959a232..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/xvmstat.1m +++ /dev/null @@ -1,104 +0,0 @@ -.TH xvmstat 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -xvmstat \- extended vmstat demo in DTrace. Uses DTrace. -.SH SYNOPSIS -.B xvmstat -[interval [count]] -.SH DESCRIPTION -This has been written to demonstrate fetching similar data as vmstat -from DTrace, with a few extra fields. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -unstable - needs various kernel symbols. -.SH EXAMPLES -.TP -Print virtual memory statistics every second, -# -.B xvmstat -.TP -Print every 5 seconds, 6 times, -# -.B xvmstat -5 6 -.PP -.SH FIELDS -.TP -w -swapped out LWPs, number -.TP -swap -virtual memory free, Mb -.TP -free -free RAM, Mb -.TP -re -page reclaims, pages -.TP -maj -major faults, pages -.TP -mf -minor faults, pages -.TP -cow -copy-on-write faults, pages -.TP -pro -protection faults, pages -sr -scan rate, pages -.TP -epi -executable page ins, pages -.TP -epo -executable page outs, pages -.TP -epf -executable frees, pages -.TP -api -anonymous page ins, pages -.TP -apo -anonymous page outs, pages -.TP -apf -anonymous frees, pages -.TP -fpi -filesystem page ins, pages -.TP -fpo -filesystem page outs, pages -.TP -fpf -filesystem frees, pages -.PP -.SH NOTES -Most of the statistics are in units of pages, unlike the -original vmstat command which sometimes uses kilobytes. - -All page values are per second values. - -As this program does not use Kstat, there is no summary since boot line. - -Free RAM is both free free + cache free. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -xvmstat will run until Ctrl\-C is hit, or until the count argument -has been satisfied. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -vmstat(1M), dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Man/man1m/zvmstat.1m b/cddl/contrib/dtracetoolkit/Man/man1m/zvmstat.1m deleted file mode 100644 index cd830e06dba7..000000000000 --- a/cddl/contrib/dtracetoolkit/Man/man1m/zvmstat.1m +++ /dev/null @@ -1,101 +0,0 @@ -.TH zvmstat 1m "$Date:: 2007-08-05 #$" "USER COMMANDS" -.SH NAME -zvmstat \- print vmstat style info per Zone. Uses DTrace. -.SH SYNOPSIS -.B zvmstat -[\-t] [interval [count]] -.SH DESCRIPTION -This program must be run from the global zone as root. - -Since this uses DTrace, only the root user or users with the -dtrace_kernel privilege can run this command. -.SH OS -Solaris -.SH STABILITY -stable - needs the syscall and vminfo providers. -.SH OPTIONS -.TP -\-t -Print timestamps, string -.TP -interval -Duration for each sample, seconds. default is 1. -.TP -count -Number of samples. default is 1. -.PP -.SH EXAMPLES -.TP -Print virtual memory statistics every second, -# -.B zvmstat -.TP -Print every 5 seconds, 6 times, -# -.B zvmstat -5 6 -.PP -.SH FIELDS -.TP -ZONE -zonename -.TP -re -page reclaims, pages -.TP -mf -minor faults, pages -.TP -fr -pages freed, pages -.TP -sr -scan rate, pages -.TP -epi -executable page ins, pages -.TP -epo -executable page outs, pages -.TP -epf -executable frees, pages -.TP -api -anonymous page ins, pages -.TP -apo -anonymous page outs, pages -.TP -apf -anonymous frees, pages -.TP -fpi -filesystem page ins, pages -.TP -fpo -filesystem page outs, pages -.TP -fpf -filesystem frees, pages -.PP -.SH NOTES -Most of the statistics are in units of pages, unlike the -original vmstat command which sometimes uses kilobytes. - -All page values are a total for the sample duration. - -As this program does not use Kstat, there is no summary since boot line. -.PP -.SH DOCUMENTATION -See the DTraceToolkit for further documentation under the -Docs directory. The DTraceToolkit docs may include full worked -examples with verbose descriptions explaining the output. -.SH EXIT -zvmstat will run until Ctrl\-C is hit, or until the count argument -has been satisfied. -.SH AUTHOR -Brendan Gregg -[Sydney, Australia] -.SH SEE ALSO -vmstat(1M), dtrace(1M) diff --git a/cddl/contrib/dtracetoolkit/Mem/Readme b/cddl/contrib/dtracetoolkit/Mem/Readme deleted file mode 100644 index c4f7e3d90ccc..000000000000 --- a/cddl/contrib/dtracetoolkit/Mem/Readme +++ /dev/null @@ -1,3 +0,0 @@ -Mem - Memory based analysis - - These scripts analyse memory and virtual memory related activity. diff --git a/cddl/contrib/dtracetoolkit/Mem/anonpgpid.d b/cddl/contrib/dtracetoolkit/Mem/anonpgpid.d deleted file mode 100755 index 73971d923d1a..000000000000 --- a/cddl/contrib/dtracetoolkit/Mem/anonpgpid.d +++ /dev/null @@ -1,75 +0,0 @@ -#!/usr/sbin/dtrace -Cs -/* - * anonpgpid.d - anonymous memory paging info by process on CPU. - * Written using DTrace (Solaris 10 3/05). - * - * This scripts may help identify which processes are affected by a system - * with low memory, which is paging to the physical swap device. A report - * of the process on the CPU when paging occured is printed. - * - * $Id: anonpgpid.d 8 2007-08-06 05:55:26Z brendan $ - * - * USAGE: anonpgpid.d # hit Ctrl-C to end - * - * FIELDS: - * PID Process ID - * CMD Process name - * D Direction, Read or Write - * BYTES Total bytes during sample - * - * NOTES: - * - * This program is currently an approximation - often the process when writing - * pages to swap will be "pageout" the pageout scanner, or "rcapd" the - * resource capping daemon. - * - * THANKS: James Dickens - * - * COPYRIGHT: Copyright (c) 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * TODO: - * - * Track processes accurately. This is a little difficult - anonpgout - * occurs asynchronously to the process, and events related to this don't - * point back to the process. - * - * Author: Brendan Gregg [Sydney, Australia] - * - * 25-Jul-2005 Brendan Gregg Created this. - * 18-Feb-2006 " " Last update. - */ - -#include - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -fbt::pageio_setup:entry -/((args[2]->v_flag & (VISSWAP | VSWAPLIKE)) != 0)/ -{ - @total[pid, execname, args[3] & B_READ ? "R" : "W"] = sum(arg1); -} - -dtrace:::END -{ - printf("%6s %-16s %1s %s\n", "PID", "CMD", "D", "BYTES"); - printa("%6d %-16s %1s %@d\n", @total); -} diff --git a/cddl/contrib/dtracetoolkit/Mem/minfbypid.d b/cddl/contrib/dtracetoolkit/Mem/minfbypid.d deleted file mode 100755 index 43f6f83e99c0..000000000000 --- a/cddl/contrib/dtracetoolkit/Mem/minfbypid.d +++ /dev/null @@ -1,57 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * minfbypid.d - minor faults by PID. - * Written using DTrace (Solaris 10 3/05) - * - * This program prints a report of minor faults by PID. Minor faults are - * an indiction of memory consumption. This script could be used to help - * determine which process was consuming the most memory during the sample. - * - * $Id: minfbypid.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: minfbypid.d # hit Ctrl-C to end sample - * - * FIELDS: - * PID process ID - * CMD process name - * MINFAULTS number of minor faults - * - * This is based on a script from DExplorer. - * - * COPYRIGHT: Copyright (c) 2005, 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 28-Jun-2005 Brendan Gregg Created this. - * 20-Apr-2006 " " Last update. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -vminfo:::as_fault -{ - @mem[pid, execname] = sum(arg0); -} - -dtrace:::END -{ - printf("%6s %-16s %16s\n", "PID", "CMD", "MINFAULTS"); - printa("%6d %-16s %@16d\n", @mem); -} diff --git a/cddl/contrib/dtracetoolkit/Mem/minfbyproc.d b/cddl/contrib/dtracetoolkit/Mem/minfbyproc.d deleted file mode 100755 index 4d7316c5f09b..000000000000 --- a/cddl/contrib/dtracetoolkit/Mem/minfbyproc.d +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * minfbyproc.d - minor faults by process name. DTrace OneLiner. - * - * This is a DTrace OneLiner from the DTraceToolkit. - * - * $Id: minfbyproc.d 3 2007-08-01 10:50:08Z brendan $ - */ - -vminfo:::as_fault { @mem[execname] = sum(arg0); } diff --git a/cddl/contrib/dtracetoolkit/Mem/pgpginbypid.d b/cddl/contrib/dtracetoolkit/Mem/pgpginbypid.d deleted file mode 100755 index bd0ee5334755..000000000000 --- a/cddl/contrib/dtracetoolkit/Mem/pgpginbypid.d +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * pgpginbypid.d - pages paged in by PID. - * Writen using DTrace (Solaris 10 3/05). - * - * $Id: pgpginbypid.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: pgpginbypid.d # hit Ctrl-C to end sample - * - * FIELDS: - * PID process ID - * CMD process name - * PAGES number of pages paged in - * - * This is based on a script from DExplorer. - * - * COPYRIGHT: Copyright (c) 2005, 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 28-Jun-2005 Brendan Gregg Created this. - * 20-Apr-2006 " " Last update. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -vminfo:::pgpgin -{ - @pg[pid, execname] = sum(arg0); -} - -dtrace:::END -{ - printf("%6s %-16s %16s\n", "PID", "CMD", "PAGES"); - printa("%6d %-16s %@16d\n", @pg); -} diff --git a/cddl/contrib/dtracetoolkit/Mem/pgpginbyproc.d b/cddl/contrib/dtracetoolkit/Mem/pgpginbyproc.d deleted file mode 100755 index 572271b5d7d6..000000000000 --- a/cddl/contrib/dtracetoolkit/Mem/pgpginbyproc.d +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * pgpginbyproc.d - pages paged in by process name. DTrace OneLiner. - * - * This is a DTrace OneLiner from the DTraceToolkit. - * - * $Id: pgpginbyproc.d 3 2007-08-01 10:50:08Z brendan $ - */ - -vminfo:::pgpgin { @pg[execname] = sum(arg0); } diff --git a/cddl/contrib/dtracetoolkit/Mem/swapinfo.d b/cddl/contrib/dtracetoolkit/Mem/swapinfo.d deleted file mode 100755 index 045cd7271b54..000000000000 --- a/cddl/contrib/dtracetoolkit/Mem/swapinfo.d +++ /dev/null @@ -1,149 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * swapinfo.d - print virtual memory info (swap). - * Written using DTrace (Solaris 10 3/05) - * - * Prints swap usage details for RAM and disk based swap. - * This script is UNDER CONSTRUCTION, check for newer versions. - * - * $Id: swapinfo.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: swapinfo.d (check for newer versions) - * - * FIELDS: - * RAM Total Total RAM installed - * RAM Unusable RAM consumed by the OBP and TSBs - * RAM Kernel Kernel resident in RAM (and usually locked) - * RAM Locked Locked memory pages from swap (Anon) - * RAM Used anon + exec + file pages used - * RAM Free free memory + page cache free - * Disk Total Total disk swap configured - * Disk Resv Disk swap allocated + reserved - * Disk Avail Disk swap available for reservation - * Swap Total Total Virtual Memory usable - * Swap Resv VM allocated + reserved - * Swap Avail VM available for reservation - * Swap MinFree VM kept free from reservations - * - * SEE ALSO: swapinfo - K9Toolkit, http://www.brendangregg.com/k9toolkit.html - * vmstat 1 2; swap -s; echo ::memstat | mdb -k - * RMCmem - The MemTool Package - * RICHPse - The SE Toolkit - * "Clearing up swap space confusion" Unix Insider, Adrian Cockcroft - * "Solaris Internals", Jim Mauro, Richard McDougall - * /usr/include/vm/anon.h, /usr/include/sys/systm.h - * - * COPYRIGHT: Copyright (c) 2005, 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * Author: Brendan Gregg [Sydney, Australia] - * - * 11-Jun-2005 Brendan Gregg Created this. - * 24-Apr-2006 " " Improved disk measurements; changed terms. - * 24-Apr-2006 " " Last update. - */ - -#pragma D option quiet -#pragma D option bufsize=16k - -inline int DEBUG = 0; - -dtrace:::BEGIN -{ - /* Debug stats */ - this->ani_max = `k_anoninfo.ani_max; - this->ani_phys_resv = `k_anoninfo.ani_phys_resv; - this->ani_mem_resv = `k_anoninfo.ani_mem_resv; - this->ani_locked = `k_anoninfo.ani_locked_swap; - this->availrmem = `availrmem; - - /* RAM stats */ - this->ram_total = `physinstalled; - this->unusable = `physinstalled - `physmem; - this->locked = `pages_locked; - this->ram_used = `availrmem - `freemem; - this->freemem = `freemem; - this->kernel = `physmem - `pages_locked - `availrmem; - - /* Disk stats */ - this->disk_total = `k_anoninfo.ani_max; - this->disk_resv = `k_anoninfo.ani_phys_resv; - this->disk_avail = this->disk_total - this->disk_resv; - - /* Total Swap stats */ - this->minfree = `swapfs_minfree; - this->reserve = `swapfs_reserve; - /* this is TOTAL_AVAILABLE_SWAP from /usr/include/vm/anon.h, */ - this->swap_total = `k_anoninfo.ani_max + - (`availrmem - `swapfs_minfree > 0 ? - `availrmem - `swapfs_minfree : 0); - /* this is CURRENT_TOTAL_AVAILABLE_SWAP from /usr/include/vm/anon.h, */ - this->swap_avail = `k_anoninfo.ani_max - `k_anoninfo.ani_phys_resv + - (`availrmem - `swapfs_minfree > 0 ? - `availrmem - `swapfs_minfree : 0); - this->swap_resv = this->swap_total - this->swap_avail; - - /* Convert to Mbytes */ - this->ani_phys_resv *= `_pagesize; this->ani_phys_resv /= 1048576; - this->ani_mem_resv *= `_pagesize; this->ani_mem_resv /= 1048576; - this->ani_locked *= `_pagesize; this->ani_locked /= 1048576; - this->ani_max *= `_pagesize; this->ani_max /= 1048576; - this->availrmem *= `_pagesize; this->availrmem /= 1048576; - this->ram_total *= `_pagesize; this->ram_total /= 1048576; - this->unusable *= `_pagesize; this->unusable /= 1048576; - this->kernel *= `_pagesize; this->kernel /= 1048576; - this->locked *= `_pagesize; this->locked /= 1048576; - this->ram_used *= `_pagesize; this->ram_used /= 1048576; - this->freemem *= `_pagesize; this->freemem /= 1048576; - this->disk_total *= `_pagesize; this->disk_total /= 1048576; - this->disk_resv *= `_pagesize; this->disk_resv /= 1048576; - this->disk_avail *= `_pagesize; this->disk_avail /= 1048576; - this->swap_total *= `_pagesize; this->swap_total /= 1048576; - this->swap_avail *= `_pagesize; this->swap_avail /= 1048576; - this->swap_resv *= `_pagesize; this->swap_resv /= 1048576; - this->minfree *= `_pagesize; this->minfree /= 1048576; - this->reserve *= `_pagesize; this->reserve /= 1048576; - - /* Print debug */ - DEBUG ? printf("DEBUG availrmem %5d MB\n", this->availrmem) : 1; - DEBUG ? printf("DEBUG freemem %5d MB\n", this->freemem) : 1; - DEBUG ? printf("DEBUG ani_max %5d MB\n", this->ani_max) : 1; - DEBUG ? printf("DEBUG ani_phys_re %5d MB\n", this->ani_phys_resv) : 1; - DEBUG ? printf("DEBUG ani_mem_re %5d MB\n", this->ani_mem_resv) : 1; - DEBUG ? printf("DEBUG ani_locked %5d MB\n", this->ani_locked) : 1; - DEBUG ? printf("DEBUG reserve %5d MB\n", this->reserve) : 1; - DEBUG ? printf("\n") : 1; - - /* Print report */ - printf("RAM _______Total %5d MB\n", this->ram_total); - printf("RAM Unusable %5d MB\n", this->unusable); - printf("RAM Kernel %5d MB\n", this->kernel); - printf("RAM Locked %5d MB\n", this->locked); - printf("RAM Used %5d MB\n", this->ram_used); - printf("RAM Free %5d MB\n", this->freemem); - printf("\n"); - printf("Disk _______Total %5d MB\n", this->disk_total); - printf("Disk Resv %5d MB\n", this->disk_resv); - printf("Disk Avail %5d MB\n", this->disk_avail); - printf("\n"); - printf("Swap _______Total %5d MB\n", this->swap_total); - printf("Swap Resv %5d MB\n", this->swap_resv); - printf("Swap Avail %5d MB\n", this->swap_avail); - printf("Swap (Minfree) %5d MB\n", this->minfree); - - DEBUG ? printf("\nNow run other commands for confirmation.\n") : 1; - ! DEBUG ? exit(0) : 1; -} diff --git a/cddl/contrib/dtracetoolkit/Mem/vmbypid.d b/cddl/contrib/dtracetoolkit/Mem/vmbypid.d deleted file mode 100755 index 5160c14d05b4..000000000000 --- a/cddl/contrib/dtracetoolkit/Mem/vmbypid.d +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * vmbypid.d - print vminfo events by process. DTrace. - * - * $Id: vmbypid.d 8 2007-08-06 05:55:26Z brendan $ - * - * USAGE: vmbypid.d - * - * FIELDS: - * EXEC Process name - * PID Process ID - * VM Virtual Memory statistic (/usr/include/sys/sysinfo.h) - * VALUE Value by which statistic was incremented - * - * The virtual memory statistics are documented in the cpu_vminfo struct - * in the /usr/include/sys/sysinfo.h file; and also in the vminfo provider - * chapter of the DTrace Guide, http://docs.sun.com/db/doc/817-6223. - * - * COPYRIGHT: Copyright (c) 2005 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 14-May-2005 Brendan Gregg Created this. - * 20-Apr-2006 " " Last update. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -vminfo::: -{ - @VM[execname, pid, probename] = sum(arg0); -} - -dtrace:::END { - printf("%16s %8s %22s %8s\n", "EXEC", "PID", "VM", "VALUE"); - printa("%16s %8d %22s %@8d\n", @VM); -} diff --git a/cddl/contrib/dtracetoolkit/Mem/vmstat-p.d b/cddl/contrib/dtracetoolkit/Mem/vmstat-p.d deleted file mode 100755 index 835a0a6931ba..000000000000 --- a/cddl/contrib/dtracetoolkit/Mem/vmstat-p.d +++ /dev/null @@ -1,155 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * vmstat-p.d - vmstat -p demo in DTrace. - * Written using DTrace (Solaris 10 3/05). - * - * This has been written to demonstrate fetching similar data as vmstat - * from DTrace. This program is intended as a starting point for other - * DTrace scripts, by beginning with familiar statistics. - * - * $Id: vmstat-p.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: vmstat-p.d - * - * FIELDS: - * swap virtual memory free Kbytes - * free free RAM Kbytes - * re page reclaims Kbytes - * mf minor faults Kbytes - * sr scan rate pages - * epi executable page ins Kbytes - * epo executable page outs Kbytes - * epf executable frees Kbytes - * api anonymous page ins Kbytes - * apo anonymous page outs Kbytes - * apf anonymous frees Kbytes - * fpi filesystem page ins Kbytes - * fpo filesystem page outs Kbytes - * fpf filesystem frees Kbytes - * - * NOTES: - * Most of the statistics are in units of kilobytes, unlike the - * original vmstat command which sometimes uses page counts. - * As this program does not use Kstat, there is no summary since - * boot line. Free RAM is both free free + cache free. - * - * SEE ALSO: vmstat(1M) - * - * COPYRIGHT: Copyright (c) 2005 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 11-Jun-2005 Brendan Gregg Created this. - * 08-Jan-2006 " " Last update. - */ - -#pragma D option quiet - -inline int SCREEN = 21; - -/* - * Initialise variables - */ -dtrace:::BEGIN -{ - pi = 0; po = 0; re = 0; sr = 0; mf = 0; fr = 0; - sy = 0; in = 0; cs = 0; maj = 0; cow = 0; pro = 0; - epi = 0; epo = 0; epf = 0; api = 0; apo = 0; apf = 0; - fpi = 0; fpo = 0; fpf = 0; - lines = SCREEN + 1; -} - -/* - * Print header - */ -dtrace:::BEGIN, -tick-1sec -/lines++ > SCREEN/ -{ - printf("%14s %13s %16s %14s %13s\n", - "memory", "page", "executable", "anonymous", "filesystem"); - printf("%9s %7s %5s %4s %3s ", - "swap", "free", "re", "mf", "sr"); - printf("%4s %4s %4s %4s %4s %4s %4s %4s %4s\n", - "epi", "epo", "epf", "api", "apo", "apf", "fpi", "fpo", "fpf"); - lines = 0; -} - -/* - * Probe events - */ -vminfo:::pgrec { re += arg0; } -vminfo:::scan { sr += arg0; } -vminfo:::as_fault { mf += arg0; } -vminfo:::execpgin { epi += arg0; } -vminfo:::execpgout { epo += arg0; } -vminfo:::execfree { epf += arg0; } -vminfo:::anonpgin { api += arg0; } -vminfo:::anonpgout { apo += arg0; } -vminfo:::anonfree { apf += arg0; } -vminfo:::fspgin { fpi += arg0; } -vminfo:::fspgout { fpo += arg0; } -vminfo:::fsfree { fpf += arg0; } - -/* - * Print output line - */ -profile:::tick-1sec -{ - /* fetch free mem */ - this->free = `freemem; - - /* - * fetch free swap - * - * free swap is described in /usr/include/vm/anon.h as, - * MAX(ani_max - ani_resv, 0) + (availrmem - swapfs_minfree) - */ - this->ani_max = `k_anoninfo.ani_max; - this->ani_resv = `k_anoninfo.ani_phys_resv + `k_anoninfo.ani_mem_resv; - this->swap = (this->ani_max - this->ani_resv > 0 ? - this->ani_max - this->ani_resv : 0) + `availrmem - `swapfs_minfree; - - /* fetch w */ - this->w = `nswapped; - - /* convert to Kbytes */ - epi *= `_pagesize / 1024; - epo *= `_pagesize / 1024; - epf *= `_pagesize / 1024; - api *= `_pagesize / 1024; - apo *= `_pagesize / 1024; - apf *= `_pagesize / 1024; - fpi *= `_pagesize / 1024; - fpo *= `_pagesize / 1024; - fpf *= `_pagesize / 1024; - re *= `_pagesize / 1024; - sr *= `_pagesize / 1024; - mf *= `_pagesize / 1024; - this->swap *= `_pagesize / 1024; - this->free *= `_pagesize / 1024; - - /* print line */ - printf("%9d %7d %5d %4d %3d ", - this->swap, this->free, re, mf, sr); - printf("%4d %4d %4d %4d %4d %4d %4d %4d %4d\n", - epi, epo, epf, api, apo, apf, fpi, fpo, fpf); - - /* clear counters */ - pi = 0; po = 0; re = 0; sr = 0; mf = 0; fr = 0; - sy = 0; in = 0; cs = 0; maj = 0; cow = 0; pro = 0; - epi = 0; epo = 0; epf = 0; api = 0; apo = 0; apf = 0; - fpi = 0; fpo = 0; fpf = 0; -} diff --git a/cddl/contrib/dtracetoolkit/Mem/vmstat.d b/cddl/contrib/dtracetoolkit/Mem/vmstat.d deleted file mode 100755 index f8e0ead0a50d..000000000000 --- a/cddl/contrib/dtracetoolkit/Mem/vmstat.d +++ /dev/null @@ -1,137 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * vmstat.d - vmstat demo in DTrace. - * Written using DTrace (Solaris 10 3/05). - * - * This has been written to demonstrate fetching the same data as vmstat - * from DTrace. This program is intended as a starting point for other - * DTrace scripts, by beginning with familiar statistics. - * - * $Id: vmstat.d 8 2007-08-06 05:55:26Z brendan $ - * - * USAGE: vmstat.d - * - * FIELDS: - * w swapped out LWPs number - * swap virtual memory free Kbytes - * free free RAM Kbytes - * re page reclaims Kbytes - * mf minor faults Kbytes - * pi page ins Kbytes - * po page outs Kbytes - * fr pages freed Kbytes - * sr scan rate pages - * in interrupts number - * sy system calls number - * cs context switches number - * - * NOTES: - * Most of the statistics are in units of kilobytes, unlike the - * original vmstat command which sometimes uses page counts. - * As this program does not use Kstat, there is no summary since boot line. - * Free RAM is both free free + cache free. - * - * SEE ALSO: vmstat(1M) - * - * COPYRIGHT: Copyright (c) 2005 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 11-Jun-2005 Brendan Gregg Created this. - * 08-Jan-2006 " " Last update. - */ - -#pragma D option quiet - -inline int SCREEN = 21; - -/* - * Initialise variables - */ -dtrace:::BEGIN -{ - pi = 0; po = 0; re = 0; sr = 0; mf = 0; fr = 0; - sy = 0; in = 0; cs = 0; - lines = SCREEN + 1; -} - -/* - * Print header - */ -dtrace:::BEGIN, -profile:::tick-1sec -/lines++ > SCREEN/ -{ - printf(" %1s %10s %8s %5s %5s %4s %4s %4s %4s %5s %6s %4s\n", - "w", "swap", "free", "re", "mf", "pi", "po", "fr", "sr", - "in", "sy", "cs"); - lines = 0; -} - -/* - * Probe events - */ -vminfo:::pgpgin { pi += arg0; } -vminfo:::pgpgout { po += arg0; } -vminfo:::pgrec { re += arg0; } -vminfo:::scan { sr += arg0; } -vminfo:::as_fault { mf += arg0; } -vminfo:::dfree { fr += arg0; } - -syscall:::entry { sy++; } -sdt:::interrupt-start { in++; } -sched::resume:on-cpu { cs++; } - -/* - * Print output line - */ -profile:::tick-1sec -{ - /* fetch free mem */ - this->free = `freemem; - - /* - * fetch free swap - * - * free swap is described in /usr/include/vm/anon.h as, - * MAX(ani_max - ani_resv, 0) + (availrmem - swapfs_minfree) - */ - this->ani_max = `k_anoninfo.ani_max; - this->ani_resv = `k_anoninfo.ani_phys_resv + `k_anoninfo.ani_mem_resv; - this->swap = (this->ani_max - this->ani_resv > 0 ? - this->ani_max - this->ani_resv : 0) + `availrmem - `swapfs_minfree; - - /* fetch w */ - this->w = `nswapped; - - /* convert to Kbytes */ - pi *= `_pagesize / 1024; - po *= `_pagesize / 1024; - re *= `_pagesize / 1024; - sr *= `_pagesize / 1024; - mf *= `_pagesize / 1024; - fr *= `_pagesize / 1024; - this->swap *= `_pagesize / 1024; - this->free *= `_pagesize / 1024; - - /* print line */ - printf(" %1d %10d %8d %5d %5d %4d %4d %4d %4d %5d %6d %4d\n", - this->w, this->swap, this->free, re, mf, pi, po, fr, sr, - in, sy, cs); - - /* clear counters */ - pi = 0; po = 0; re = 0; sr = 0; mf = 0; fr = 0; - sy = 0; in = 0; cs = 0; -} diff --git a/cddl/contrib/dtracetoolkit/Mem/xvmstat b/cddl/contrib/dtracetoolkit/Mem/xvmstat deleted file mode 100755 index ce13ce7e261c..000000000000 --- a/cddl/contrib/dtracetoolkit/Mem/xvmstat +++ /dev/null @@ -1,217 +0,0 @@ -#!/usr/bin/sh -# -# xvmstat - extended vmstat demo in DTrace. -# Written using DTrace (Solaris 10 3/05). -# -# This has been written to demonstrate fetching similar data as vmstat -# from DTrace, with a few extra fields. -# -# $Id: xvmstat 3 2007-08-01 10:50:08Z brendan $ -# -# USAGE: xvmstat [interval [count]] -# -# FIELDS: -# w swapped out LWPs number -# swap virtual memory free Mbytes -# free free RAM Mbytes -# re page reclaims pages/sec -# maj major faults pages/sec -# mf minor faults pages/sec -# cow copy-on-write faults pages/sec -# pro protection faults pages/sec -# sr scan rate pages/sec -# epi executable page ins pages/sec -# epo executable page outs pages/sec -# epf executable frees pages/sec -# api anonymous page ins pages/sec -# apo anonymous page outs pages/sec -# apf anonymous frees pages/sec -# fpi filesystem page ins pages/sec -# fpo filesystem page outs pages/sec -# fpf filesystem frees pages/sec -# -# NOTES: -# - Most of the statistics are in units of pages, unlike the -# original vmstat command which sometimes uses kilobytes. -# - As this program does not use Kstat, there is no summary since boot line. -# - Free RAM is both free free + cache free. -# -# SEE ALSO: vmstat(1M) -# -# COPYRIGHT: Copyright (c) 2005 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# 12-Jun-2005 Brendan Gregg Created this. -# 01-Mar-2006 " " Last update. -# - -############################## -# --- Process Arguments --- -# - -### default values -interval=1; count=-1 - -### check arguments -if [ "$1" = "-h" -o "$1" = "--help" ]; then - cat <<-END >&2 - USAGE: xvmstat [interval [count]] - xvmstat # 1 second samples, infinite - eg, - xvmstat 1 # print every 1 second - xvmstat 5 6 # print every 5 seconds, 6 times - END - exit 1 -fi - -### argument logic -if [ "$1" -gt 0 ]; then - interval=$1; count=-1; shift -fi -if [ "$1" -gt 0 ]; then - count=$1; shift -fi -if [ $interval -eq 0 ]; then - interval=1 -fi - - -################################# -# --- Main Program, DTrace --- -# -/usr/sbin/dtrace -n ' - #pragma D option quiet - - /* - * Command line arguments - */ - inline int INTERVAL = '$interval'; - inline int COUNTER = '$count'; - inline int SCREEN = 21; - - /* - * Initialise variables - */ - dtrace:::BEGIN - { - re = 0; sr = 0; mf = 0; maj = 0; cow = 0; pro = 0; - epi = 0; epo = 0; epf = 0; api = 0; apo = 0; apf = 0; - fpi = 0; fpo = 0; fpf = 0; - lines = SCREEN + 1; - counts = COUNTER; - secs = INTERVAL; - first = 1; - } - - profile:::tick-1sec - { - secs--; - } - - /* - * Print header - */ - dtrace:::BEGIN, - profile:::tick-1sec - /first || (secs == 0 && lines > SCREEN)/ - { - printf("%2s %6s %5s %5s %3s %4s %3s %3s %3s ", - "w", "swap", "free", "re", "maj", "mf", "cow", "pro", "sr"); - printf("%3s %3s %3s %3s %3s %3s %3s %3s %3s\n", - "epi", "epo", "epf", "api", "apo", "apf", "fpi", "fpo", "fpf"); - lines = 0; - first = 0; - } - - /* - * Probe events - */ - vminfo:::pgrec { re += arg0; } - vminfo:::scan { sr += arg0; } - vminfo:::as_fault { mf += arg0; } - vminfo:::execpgin { epi += arg0; } - vminfo:::execpgout { epo += arg0; } - vminfo:::execfree { epf += arg0; } - vminfo:::anonpgin { api += arg0; } - vminfo:::anonpgout { apo += arg0; } - vminfo:::anonfree { apf += arg0; } - vminfo:::fspgin { fpi += arg0; } - vminfo:::fspgout { fpo += arg0; } - vminfo:::fsfree { fpf += arg0; } - vminfo:::maj_fault { maj += arg0; } - vminfo:::cow_fault { cow += arg0; } - vminfo:::prot_fault { pro += arg0; } - - /* - * Print output line - */ - profile:::tick-1sec - /secs == 0/ - { - /* fetch free mem */ - this->free = `freemem; - - /* - * fetch free swap - * - * free swap is described in /usr/include/vm/anon.h as, - * MAX(ani_max - ani_resv, 0) + (availrmem - swapfs_minfree) - */ - this->ani_max = `k_anoninfo.ani_max; - this->ani_resv = `k_anoninfo.ani_phys_resv + `k_anoninfo.ani_mem_resv; - this->swap = (this->ani_max - this->ani_resv > 0 ? - this->ani_max - this->ani_resv : 0) + `availrmem - `swapfs_minfree; - - /* fetch w */ - this->w = `nswapped; - - /* convert to Mbytes */ - this->swap *= `_pagesize; this->swap /= 1048576; - this->free *= `_pagesize; this->free /= 1048576; - - /* convert to per second values */ - re /= INTERVAL; maj /= INTERVAL; mf /= INTERVAL; - cow /= INTERVAL; pro /= INTERVAL; sr /= INTERVAL; - epi /= INTERVAL; epo /= INTERVAL; epf /= INTERVAL; - api /= INTERVAL; apo /= INTERVAL; apf /= INTERVAL; - fpi /= INTERVAL; fpo /= INTERVAL; fpf /= INTERVAL; - - /* print line */ - printf("%2d %6d %5d %5d %3d %4d %3d %3d %3d ", - this->w, this->swap, this->free, re, maj, mf, cow, pro, sr); - printf("%3d %3d %3d %3d %3d %3d %3d %3d %3d\n", - epi, epo, epf, api, apo, apf, fpi, fpo, fpf); - - /* clear counters */ - re = 0; sr = 0; mf = 0; maj = 0; cow = 0; pro = 0; - epi = 0; epo = 0; epf = 0; api = 0; apo = 0; apf = 0; - fpi = 0; fpo = 0; fpf = 0; - - /* process counts */ - secs = INTERVAL; - counts--; - lines++; - } - - /* - * End - */ - profile:::tick-1sec - /counts == 0/ - { - exit(0); - } -' diff --git a/cddl/contrib/dtracetoolkit/Misc/Readme b/cddl/contrib/dtracetoolkit/Misc/Readme deleted file mode 100644 index 2b77f6092109..000000000000 --- a/cddl/contrib/dtracetoolkit/Misc/Readme +++ /dev/null @@ -1,5 +0,0 @@ -Extra - Extra DTrace scripts - - These are scripts that fall into no other category. They probably aren't - very useful, and are here as a particular coding example rather than - a useful tool. diff --git a/cddl/contrib/dtracetoolkit/Misc/guess.d b/cddl/contrib/dtracetoolkit/Misc/guess.d deleted file mode 100755 index 3ebcd39c2ec3..000000000000 --- a/cddl/contrib/dtracetoolkit/Misc/guess.d +++ /dev/null @@ -1,118 +0,0 @@ -#!/usr/sbin/dtrace -wqs -/* - * guess.d - guessing game in D (DTrace) - * - * $Id: guess.d 32 2007-09-15 05:08:49Z brendan $ - * - * USAGE: guess.d - * - * SEE: http://www.brendangregg.com/guessinggame.html - * - * This is written to demonstrate this language versus the same program - * written in other languages. - * - * 11-May-2005 Brendan Gregg Created this. - */ - -inline string scorefile = "highscores_d"; - -dtrace:::BEGIN -{ - printf("guess.d - Guess a number between 1 and 100\n\n"); - num = 1; - state = 1; - - /* Generate random number */ - answer = (rand() % 100) + 1; - answer = answer > 0 ? answer : - answer; -} - -syscall::write:entry -/state == 1 && pid == $pid/ -{ - state = 2; - printf("Enter guess %d: ", num); - system("read guess"); - pos = 0; -} - -syscall::read:entry -/state == 2 && ppid == $pid && arg0 == 3/ -{ - self->inguess = 1; - self->buf = arg1; -} - -syscall::read:return -/self->inguess/ -{ - key = copyin(self->buf, arg0); - keys[pos] = *(char *)key; - self->buf = 0; - pos++; -} - -syscall::read:return -/self->inguess && keys[pos-1] == '\n'/ -{ - pos -= 2; - fac = 1; - guess = fac * (keys[pos] - '0'); - pos--; - fac *= 10; - guess = pos >= 0 ? guess + fac * (keys[pos] - '0') : guess; - pos--; - fac *= 10; - guess = pos >= 0 ? guess + fac * (keys[pos] - '0') : guess; - self->doneguess = 1; -} - -syscall::read:return -/self->inguess/ -{ - self->inguess = 0; -} - -/* Play game */ -syscall::read:return -/self->doneguess && guess == answer/ -{ - printf("Correct! That took %d guesses.\n\n", num); - self->doneguess = 0; - state = 3; - printf("Please enter your name: "); - system("/usr/bin/read name"); -} - -syscall::read:return -/self->doneguess && guess != answer/ -{ - num++; - - printf("%s...\n", guess < answer ? "Higher" : "Lower"); - - printf("Enter guess %d: ", num); - system("read line"); - pos = 0; -} - -syscall::read:entry -/state == 3 && curthread->t_procp->p_parent->p_ppid == $pid && arg0 == 0/ -{ - self->inname = 1; - self->buf = arg1; -} - -/* Save high score */ -syscall::read:return -/self->inname/ -{ - self->inname = 0; - name = stringof(copyin(self->buf, arg0 - 1)); - system("echo %s %d >> %s", name, num, scorefile); - - /* Print high scores */ - printf("\nPrevious high scores,\n"); - system("cat %s", scorefile); - exit(0); -} diff --git a/cddl/contrib/dtracetoolkit/Misc/woof.d b/cddl/contrib/dtracetoolkit/Misc/woof.d deleted file mode 100755 index d856a09bc543..000000000000 --- a/cddl/contrib/dtracetoolkit/Misc/woof.d +++ /dev/null @@ -1,63 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * woof.d - Bark whenever new processes appear. Needs /dev/audio. - * Written in DTrace (Solaris 10 3/05). - * - * $Id: woof.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: woof.d & - * - * SEE ALSO: /usr/dt/bin/sdtaudiocontrol # to set volume - * - * COPYRIGHT: Copyright (c) 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 14-Aug-2006 Brendan Gregg Created this. - * 14-Aug-2006 " " Last update. - */ - -#pragma D option quiet -#pragma D option destructive -#pragma D option switchrate=10hz - -inline int SCREEN_OUTPUT = 0; /* Set to 1 for screen output */ - -/* barks prevents woof.d from barking too much (up to 20 barks/second) */ -int barks; - -dtrace:::BEGIN -{ - SCREEN_OUTPUT ? trace("Beware of the dog!\n") : 1; -} - -/* - * Call the shell to run a background audioplay command (cat > /dev/audio - * doesn't always work). One problem this creates is a feedback loop, - * where we bark at our own barks, or at other dogs barks; entertaining - * as this is, it can really slog the system and has been avoided by - * checking our ancestory. - */ -proc:::exec-success -/!progenyof($pid) && barks++ < 2/ -{ - SCREEN_OUTPUT ? trace("Woof! ") : 1; - system("audioplay /usr/share/audio/samples/au/bark.au &"); -} - -profile:::tick-10hz -{ - barks = 0; -} diff --git a/cddl/contrib/dtracetoolkit/Misc/wpm.d b/cddl/contrib/dtracetoolkit/Misc/wpm.d deleted file mode 100755 index 7f3bff2d6fb6..000000000000 --- a/cddl/contrib/dtracetoolkit/Misc/wpm.d +++ /dev/null @@ -1,143 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * wpm.d - Measure words per minute of typing. - * Written in DTrace (Solaris 10 3/05). - * - * $Id: wpm.d 52 2007-09-24 04:28:01Z brendan $ - * - * USAGE: wpm.d commandname - * eg, - * wpm.d bash - * wpm.d vim - * - * This script assumes that keystrokes arrive one at a time on STDIN. This - * isn't the case for all processes that read keyboard input (eg, sh). - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 05-Aug-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option switchrate=10 -#pragma D option defaultargs - -inline int STDIN = 0; - -enum tracing_state { - BEGIN, - TRACING -}; - -dtrace:::BEGIN -/$$1 == ""/ -{ - trace("USAGE: wpm.d commandname\n"); - trace(" eg,\n"); - trace(" wpm.d bash\n"); - trace(" wpm.d vim\n"); - exit(1); -} - -dtrace:::BEGIN -{ - state = BEGIN; - keys = 0; - words = 0; - wordsize = 0; - countdown = 5; - last = 0; - printf("Measuring will start in : %2d seconds", countdown); -} - -profile:::tick-1sec -/--countdown >= 0/ -{ - printf("\b\b\b\b\b\b\b\b\b\b%2d seconds", countdown); -} - -profile:::tick-1sec -/state == BEGIN && countdown == -1/ -{ - state = TRACING; - countdown = 60; - printf("\nMeasuring will stop in : %2d seconds", countdown); -} - -syscall::read:entry -/state == TRACING && execname == $$1 && arg0 == STDIN/ -{ - self->buf = arg1; -} - -syscall::read:return -/self->buf && last/ -{ - this->elapsed = (timestamp - last) / 1000000; - @dist = quantize(this->elapsed); - @avg = avg(this->elapsed); - @min = min(this->elapsed); - @max = max(this->elapsed); -} - -syscall::read:return -/self->buf/ -{ - keys++; - wordsize++; - this->key = stringof(copyin(self->buf, arg0)); - last = timestamp; -} - -syscall::read:return -/self->buf && (this->key == " " || this->key == "\n" || this->key == "\r") && - wordsize == 1/ -{ - /* recurring space */ - wordsize = 0; - self->buf = 0; -} - -syscall::read:return -/self->buf && (this->key == " " || this->key == "\n" || this->key == "\r")/ -{ - words++; - @sizes = lquantize(wordsize - 1, 0, 32, 1); - wordsize = 0; -} - -syscall::read:return -/self->buf/ -{ - self->buf = 0; -} - -profile:::tick-1sec -/state == TRACING && countdown == -1/ -{ - printf("\n\nCharacters typed : %d\n", keys); - printf("Words per minute : %d\n\n", words); - - printa("Minimum keystroke latency : %@d ms\n", @min); - printa("Average keystroke latency : %@d ms\n", @avg); - printa("Maximum keystroke latency : %@d ms\n\n", @max); - - printa("Word size distribution (letters),\n%@d\n", @sizes); - printa("Keystroke latency distribution (ms),\n%@d\n", @dist); - - exit(0); -} diff --git a/cddl/contrib/dtracetoolkit/Net/Readme b/cddl/contrib/dtracetoolkit/Net/Readme deleted file mode 100644 index 3a53744ebe27..000000000000 --- a/cddl/contrib/dtracetoolkit/Net/Readme +++ /dev/null @@ -1,4 +0,0 @@ -Net - Network based analysis - - These scripts analyse activity of the network interfaces, the TCP/IP - stack, socket activity, etc. diff --git a/cddl/contrib/dtracetoolkit/Net/connections b/cddl/contrib/dtracetoolkit/Net/connections deleted file mode 100755 index 523b880b14ce..000000000000 --- a/cddl/contrib/dtracetoolkit/Net/connections +++ /dev/null @@ -1,178 +0,0 @@ -#!/usr/bin/ksh -# -# connections - print inbound TCP connections by process. -# Written in DTrace (Solaris 10 3/05). -# -# This displays the PID and command name of the processes accepting -# connections, along with the source IP address and destination port number. -# -# $Id: connections 3 2007-08-01 10:50:08Z brendan $ -# -# USAGE: connections [-htvZ] -# -# -t # print timestamps, us -# -v # print timestamps, string -# -Z # print zonename -# eg, -# connections -v # snoop connections with times -# -# FIELDS: -# UID user ID of the server -# PID process ID for the server -# CMD server command name -# TIME timestamp, us -# TIMESTR timestamp, string -# PORT server port -# IP_SOURCE source IP of the client, written in IPv4 style -# ZONE zonename -# -# SEE ALSO: snoop 'tcp[13:1] = 0x02' # snoop new connections -# -# COPYRIGHT: Copyright (c) 2005 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# TODO: IPv6 -# -# 10-Apr-2004 Brendan Gregg Created this. -# 23-May-2004 " " Fixed issues on SPARC. -# 08-May-2005 " " Updated for newer Solaris 10. -# 17-Jun-2005 " " Rewrote, changed probes, wrapped in sh. -# 04-Dec-2005 " " Changed tcp_accept_finish -> sotpi_accept -# 20-Apr-2006 " " Fixed SS_TCP_FAST_ACCEPT bug in build 31+. -# 20-Apr-2006 " " Last update. -# - - -############################## -# --- Process Arguments --- -# - -### Default variables -opt_time=0; opt_timestr=0; opt_zone=0 - -### Process options -while getopts htvZ name -do - case $name in - t) opt_time=1 ;; - v) opt_timestr=1 ;; - Z) opt_zone=1 ;; - h|?) cat <<-END >&2 - USAGE: connections [-htvZ] - -t # print timestamps, us - -v # print timestamps, string - -Z # print zonename - eg, - connections -v # snoop connections with times - END - exit 1 - esac -done - - -################################# -# --- Main Program, DTrace --- -# -/usr/sbin/dtrace -C -s <( print -r ' -#include -#include -#include -#include -#include - - #pragma D option quiet - #pragma D option switchrate=10hz - - inline int OPT_time = '$opt_time'; - inline int OPT_timestr = '$opt_timestr'; - inline int OPT_zone = '$opt_zone'; - - /* - * Print header - */ - dtrace:::BEGIN - { - /* print optional headers */ - OPT_time ? printf("%-14s ", "TIME") : 1; - OPT_timestr ? printf("%-20s ", "TIMESTR") : 1; - OPT_zone ? printf("%-10s ", "ZONE") : 1; - - /* print header */ - printf("%5s %5s %-12s %4s %5s %s\n", - "UID", "PID", "CMD", "TYPE", "PORT", "IP_SOURCE"); - } - - /* - * TCP Process inbound connections - * - * 0x00200000 has been hardcoded. It was SS_TCP_FAST_ACCEPT, but was - * renamed to SS_DIRECT around build 31. - */ - fbt:sockfs:sotpi_accept:entry - /(arg1 & FREAD) && (arg1 & FWRITE) && (args[0]->so_state & 0x00200000)/ - { - self->sop = args[0]; - } - - fbt:sockfs:sotpi_create:return - /self->sop/ - { - self->nsop = (struct sonode *)arg1; - } - - - /* - * Probe TCP connections - */ - fbt:sockfs:sotpi_accept:return - /self->nsop/ - { - /* fetch connection details */ - this->tcpp = (tcp_t *)self->nsop->so_priv; - this->connp = (conn_t *)this->tcpp->tcp_connp; - -#if defined(_BIG_ENDIAN) - this->port0 = this->connp->u_port.tcpu_ports.tcpu_lport; -#else - this->port0 = BSWAP_16(this->connp->u_port.tcpu_ports.tcpu_lport); -#endif - this->rem12 = - (uint8_t)this->connp->connua_v6addr.connua_faddr._S6_un._S6_u8[12]; - this->rem13 = - (uint8_t)this->connp->connua_v6addr.connua_faddr._S6_un._S6_u8[13]; - this->rem14 = - (uint8_t)this->connp->connua_v6addr.connua_faddr._S6_un._S6_u8[14]; - this->rem15 = - (uint8_t)this->connp->connua_v6addr.connua_faddr._S6_un._S6_u8[15]; - - /* print optional fields */ - OPT_time ? printf("%-14d ", timestamp/1000) : 1; - OPT_timestr ? printf("%-20Y ", walltimestamp) : 1; - OPT_zone ? printf("%-10s ", zonename) : 1; - - /* print output line */ - printf("%5d %5d %-12s %4s %5d %d.%d.%d.%d\n", - uid, pid, execname, "tcp", this->port0, - this->rem12, this->rem13, this->rem14, this->rem15); - } - - fbt:sockfs:sotpi_accept:return - { - self->nsop = 0; - self->sop = 0; - } -') - diff --git a/cddl/contrib/dtracetoolkit/Net/icmpstat.d b/cddl/contrib/dtracetoolkit/Net/icmpstat.d deleted file mode 100755 index 3df519999e33..000000000000 --- a/cddl/contrib/dtracetoolkit/Net/icmpstat.d +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * icmpstat.d - print ICMP statistics. Uses DTrace. - * - * This prints ICMP statistics every second, retrieved from the MIB provider. - * This is a simple script to demonstrate the ability to trace ICMP events. - * - * $Id: icmpstat.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: icmpstat.d - * - * FIELDS: - * STATISTIC ICMP statistic name - * VALUE total of statistic during sample - * - * The above ICMP statistics are documented in the mib2_icmp struct - * in the /usr/include/inet/mib2.h file; and also in the mib provider - * chapter of the DTrace Guide, http://docs.sun.com/db/doc/817-6223. - * - * COPYRIGHT: Copyright (c) 2005 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 25-Jul-2005 Brendan Gregg Created this. - * 25-Jul-2005 " " Last update. - */ - -#pragma D option quiet - -/* - * Save Data - */ -mib:::icmp* -{ - @icmp[probename] = sum(arg0); -} - -/* - * Print Output - */ -profile:::tick-1sec -{ - printf("%Y,\n\n", walltimestamp); - printf("%32s %8s\n", "STATISTIC", "VALUE"); - printa("%32s %@8d\n", @icmp); - printf("\n"); - - trunc(@icmp); -} diff --git a/cddl/contrib/dtracetoolkit/Net/tcpsnoop b/cddl/contrib/dtracetoolkit/Net/tcpsnoop deleted file mode 100755 index e06912de015c..000000000000 --- a/cddl/contrib/dtracetoolkit/Net/tcpsnoop +++ /dev/null @@ -1,581 +0,0 @@ -#!/usr/bin/ksh -# -# tcpsnoop - snoop TCP network packets by process. -# Written using DTrace (Solaris 10 3/05) -# -# This analyses TCP network packets and prints the responsible PID and UID, -# plus standard details such as IP address and port. This captures traffic -# of newly created TCP connections that were established while this program -# was running. It can help identify which processes is causing TCP traffic. -# -# WARNING: This script may only work on Solaris 10 3/05, since it uses the -# fbt provider to trace the raw operation of a specific version of the kernel. -# In the future, a 'stable' network provider should exist which will allow -# this to be written for that and subsequent versions of the kernel. In the -# meantime, check for other versions of this script in the /Net directory, -# and read the Notes/ALLfbt_notes.txt for more background on fbt. -# -# $Id: tcpsnoop 69 2007-10-04 13:40:00Z brendan $ -# -# USAGE: tcpsnoop [-a|hjsvZ] [-n name] [-p pid] -# -# -a # print all data -# -j # print project ID -# -s # print time, us -# -v # print time, string -# -Z # print zone ID -# -n name # command name to snoop -# -p pid # PID to snoop -# eg, -# tcpsnoop -v # human readable timestamps -# tcpsnoop -Z # print zonename -# tcpsnoop -n sshd # snoop sshd traffic only -# -# FIELDS: -# UID user ID -# PID process ID -# CMD command -# LADDR local IP address -# RADDR remote IP address -# LPORT local port number -# RPORT remote port number -# DR direction -# SIZE packet size, bytes -# TIME timestamp, us -# STRTIME human readable timestamp, string -# ZONE zone ID -# PROJ project ID -# -# SEE ALSO: snoop -rS -# -# COPYRIGHT: Copyright (c) 2005, 2006 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# Author: Brendan Gregg [Sydney, Australia] -# -# TODO: IPv6 -# -# CODE: -# The FILTER syntax matches on packets rather than initial -# connections, so that it can follow inetd connections properly. -# -# 09-Jul-2004 Brendan Gregg Created this. -# 12-Mar-2005 " " Changed probes, size info now printed. -# 02-Jul-2005 " " Many more probes. Renamed "tcpsnoop.d". -# 04-Jul-2005 " " Now wrapped in shell, called "tcpsnoop". -# 03-Dec-2005 " " Fixed tcp_accept_finish bug, now 100% correct -# execname. Thanks Kias Belgaied for expertise. -# 20-Apr-2006 " " Fixed SS_TCP_FAST_ACCEPT bug in build 31+. -# 20-Apr-2006 " " Last update. -# - -############################## -# --- Process Arguments --- -# - -### default variables -opt_name=0; opt_time=0; opt_timestr=0; filter=0; pname=. -opt_zone=0; opt_proj=0; opt_pid=0; pid=0 - -### process options -while getopts ahjsvZn:p: name -do - case $name in - a) opt_time=1; opt_timestr=1; opt_zone=1; opt_proj=1 ;; - n) opt_name=1; pname=$OPTARG ;; - p) opt_pid=1; pid=$OPTARG ;; - j) opt_proj=1 ;; - s) opt_time=1 ;; - v) opt_timestr=1 ;; - Z) opt_zone=1 ;; - h|?) cat <<-END >&2 - USAGE: tcpsnoop [-a|hjsvZ] [-n name] [-p pid] - tcpsnoop # default output - -a # print all data - -j # print project ID - -s # print start time, us - -v # print start time, string - -Z # print zonename - -n name # command name to snoop - -p pid # PID to snoop - eg, - tcpsnoop -v # human readable timestamps - tcpsnoop -Z # print zonename - tcpsnoop -n sshd # snoop sshd traffic only - END - exit 1 - esac -done - -### option logic -if (( opt_name || opt_pid )); then - filter=1 -fi - -################################# -# --- Main Program, DTrace --- -# -/usr/sbin/dtrace -Cs <( print -r ' - /* - * Command line arguments - */ - inline int OPT_name = '$opt_name'; - inline int OPT_pid = '$opt_pid'; - inline int OPT_time = '$opt_time'; - inline int OPT_timestr = '$opt_timestr'; - inline int OPT_zone = '$opt_zone'; - inline int OPT_proj = '$opt_proj'; - inline int PID = '$pid'; - inline int FILTER = '$filter'; - inline string NAME = "'$pname'"; - -#pragma D option quiet -#pragma D option switchrate=10hz - -#include -#include -#include -#include -#include - -/* - * Print header - */ -dtrace:::BEGIN -{ - /* print optional headers */ - OPT_time ? printf("%-14s ", "TIME") : 1; - OPT_timestr ? printf("%-20s ", "STRTIME") : 1; - OPT_zone ? printf("%4s ", "ZONE") : 1; - OPT_proj ? printf("%4s ", "PROJ") : 1; - - /* print main headers */ - printf("%5s %6s %-15s %5s %2s %-15s %5s %5s %s\n", - "UID", "PID", "LADDR", "LPORT", "DR", "RADDR", "RPORT", - "SIZE", "CMD"); -} - - -/* - * TCP Process inbound connections - * - * 0x00200000 has been hardcoded. It was SS_TCP_FAST_ACCEPT, but was - * renamed to SS_DIRECT around build 31. - */ -fbt:sockfs:sotpi_accept:entry -/(arg1 & FREAD) && (arg1 & FWRITE) && (args[0]->so_state & 0x00200000)/ -{ - self->sop = args[0]; -} - -fbt:sockfs:sotpi_create:return -/self->sop/ -{ - self->nsop = (struct sonode *)arg1; -} - -fbt:sockfs:sotpi_accept:return -/self->nsop/ -{ - this->tcpp = (tcp_t *)self->nsop->so_priv; - self->connp = (conn_t *)this->tcpp->tcp_connp; - tname[(int)self->connp] = execname; - tpid[(int)self->connp] = pid; - tuid[(int)self->connp] = uid; -} - -fbt:sockfs:sotpi_accept:return -{ - self->nsop = 0; - self->sop = 0; -} - -/* - * TCP Process outbound connections - */ -fbt:ip:tcp_connect:entry -{ - this->tcpp = (tcp_t *)arg0; - self->connp = (conn_t *)this->tcpp->tcp_connp; - tname[(int)self->connp] = execname; - tpid[(int)self->connp] = pid; - tuid[(int)self->connp] = uid; - OPT_proj ? tproj[(int)self->connp] = curpsinfo->pr_projid : 1; -} - -/* - * TCP Data translations - */ -fbt:sockfs:sotpi_accept:return, -fbt:ip:tcp_connect:return -/self->connp/ -{ - /* fetch ports */ -#if defined(_BIG_ENDIAN) - self->lport = self->connp->u_port.tcpu_ports.tcpu_lport; - self->fport = self->connp->u_port.tcpu_ports.tcpu_fport; -#else - self->lport = BSWAP_16(self->connp->u_port.tcpu_ports.tcpu_lport); - self->fport = BSWAP_16(self->connp->u_port.tcpu_ports.tcpu_fport); -#endif - - /* fetch IPv4 addresses */ - this->fad12 = - (int)self->connp->connua_v6addr.connua_faddr._S6_un._S6_u8[12]; - this->fad13 = - (int)self->connp->connua_v6addr.connua_faddr._S6_un._S6_u8[13]; - this->fad14 = - (int)self->connp->connua_v6addr.connua_faddr._S6_un._S6_u8[14]; - this->fad15 = - (int)self->connp->connua_v6addr.connua_faddr._S6_un._S6_u8[15]; - this->lad12 = - (int)self->connp->connua_v6addr.connua_laddr._S6_un._S6_u8[12]; - this->lad13 = - (int)self->connp->connua_v6addr.connua_laddr._S6_un._S6_u8[13]; - this->lad14 = - (int)self->connp->connua_v6addr.connua_laddr._S6_un._S6_u8[14]; - this->lad15 = - (int)self->connp->connua_v6addr.connua_laddr._S6_un._S6_u8[15]; - - /* convert type for use with lltostr() */ - this->fad12 = this->fad12 < 0 ? 256 + this->fad12 : this->fad12; - this->fad13 = this->fad13 < 0 ? 256 + this->fad13 : this->fad13; - this->fad14 = this->fad14 < 0 ? 256 + this->fad14 : this->fad14; - this->fad15 = this->fad15 < 0 ? 256 + this->fad15 : this->fad15; - this->lad12 = this->lad12 < 0 ? 256 + this->lad12 : this->lad12; - this->lad13 = this->lad13 < 0 ? 256 + this->lad13 : this->lad13; - this->lad14 = this->lad14 < 0 ? 256 + this->lad14 : this->lad14; - this->lad15 = this->lad15 < 0 ? 256 + this->lad15 : this->lad15; - - /* stringify addresses */ - self->faddr = strjoin(lltostr(this->fad12), "."); - self->faddr = strjoin(self->faddr, strjoin(lltostr(this->fad13), ".")); - self->faddr = strjoin(self->faddr, strjoin(lltostr(this->fad14), ".")); - self->faddr = strjoin(self->faddr, lltostr(this->fad15 + 0)); - self->laddr = strjoin(lltostr(this->lad12), "."); - self->laddr = strjoin(self->laddr, strjoin(lltostr(this->lad13), ".")); - self->laddr = strjoin(self->laddr, strjoin(lltostr(this->lad14), ".")); - self->laddr = strjoin(self->laddr, lltostr(this->lad15 + 0)); - - /* fix direction and save values */ - tladdr[(int)self->connp] = self->laddr; - tfaddr[(int)self->connp] = self->faddr; - tlport[(int)self->connp] = self->lport; - tfport[(int)self->connp] = self->fport; - - /* all systems go */ - tok[(int)self->connp] = 1; -} - -/* - * TCP Clear connp - */ -fbt:ip:tcp_get_conn:return -{ - /* Q_TO_CONN */ - this->connp = (conn_t *)arg1; - tok[(int)this->connp] = 0; - tpid[(int)this->connp] = 0; - tuid[(int)this->connp] = 0; - tname[(int)this->connp] = 0; - tproj[(int)this->connp] = 0; -} - -/* - * TCP Process "port closed" - */ -fbt:ip:tcp_xmit_early_reset:entry -/FILTER == 0/ -{ - this->queuep = (queue_t *)`tcp_g_q; /* ` */ - this->connp = (conn_t *)this->queuep->q_ptr; - this->tcpp = (tcp_t *)this->connp->conn_tcp; - self->zoneid = this->connp->conn_zoneid; - - /* split addresses */ - this->ipha = (ipha_t *)args[1]->b_rptr; - this->fad15 = (this->ipha->ipha_src & 0xff000000) >> 24; - this->fad14 = (this->ipha->ipha_src & 0x00ff0000) >> 16; - this->fad13 = (this->ipha->ipha_src & 0x0000ff00) >> 8; - this->fad12 = (this->ipha->ipha_src & 0x000000ff); - this->lad15 = (this->ipha->ipha_dst & 0xff000000) >> 24; - this->lad14 = (this->ipha->ipha_dst & 0x00ff0000) >> 16; - this->lad13 = (this->ipha->ipha_dst & 0x0000ff00) >> 8; - this->lad12 = (this->ipha->ipha_dst & 0x000000ff); - - /* stringify addresses */ - self->faddr = strjoin(lltostr(this->fad12), "."); - self->faddr = strjoin(self->faddr, strjoin(lltostr(this->fad13), ".")); - self->faddr = strjoin(self->faddr, strjoin(lltostr(this->fad14), ".")); - self->faddr = strjoin(self->faddr, lltostr(this->fad15 + 0)); - self->laddr = strjoin(lltostr(this->lad12), "."); - self->laddr = strjoin(self->laddr, strjoin(lltostr(this->lad13), ".")); - self->laddr = strjoin(self->laddr, strjoin(lltostr(this->lad14), ".")); - self->laddr = strjoin(self->laddr, lltostr(this->lad15 + 0)); - - self->reset = 1; -} - -/* - * TCP Fetch "port closed" ports - */ -fbt:ip:tcp_xchg:entry -/self->reset/ -{ -#if defined(_BIG_ENDIAN) - self->lport = (uint16_t)arg0; - self->fport = (uint16_t)arg1; -#else - self->lport = BSWAP_16((uint16_t)arg0); - self->fport = BSWAP_16((uint16_t)arg1); -#endif - self->lport = BE16_TO_U16(arg0); - self->fport = BE16_TO_U16(arg1); -} - -/* - * TCP Print "port closed" - */ -fbt:ip:tcp_xmit_early_reset:return -/FILTER == 0/ -{ - self->name = ""; - self->pid = 0; - self->uid = 0; - self->proj = 0; - self->size = 54; /* should check trailers */ - self->dir = "<-"; - OPT_time ? printf("%-14d ", timestamp/1000) : 1; - OPT_timestr ? printf("%-20Y ", walltimestamp) : 1; - OPT_zone ? printf("%4d ", self->zoneid) : 1; - OPT_proj ? printf("%4d ", self->proj) : 1; - printf("%5d %6d %-15s %5d %2s %-15s %5d %5d %s\n", - self->uid, self->pid, self->laddr, self->lport, self->dir, - self->faddr, self->fport, self->size, self->name); - self->dir = "->"; - OPT_time ? printf("%-14d ", timestamp/1000) : 1; - OPT_timestr ? printf("%-20Y ", walltimestamp) : 1; - OPT_zone ? printf("%4d ", self->zoneid) : 1; - OPT_proj ? printf("%4d ", self->proj) : 1; - printf("%5d %6d %-15s %5d %2s %-15s %5d %5d %s\n", - self->uid, self->pid, self->laddr, self->lport, self->dir, - self->faddr, self->fport, self->size, self->name); - self->reset = 0; - self->size = 0; - self->name = 0; - self->zoneid = 0; -} - -/* - * TCP Process Write - */ -fbt:ip:tcp_send_data:entry -{ - self->conn_p = (conn_t *)args[0]->tcp_connp; -} - -fbt:ip:tcp_send_data:entry -/tok[(int)self->conn_p]/ -{ - self->dir = "->"; - self->size = msgdsize(args[2]) + 14; /* should check trailers */ - self->uid = tuid[(int)self->conn_p]; - self->laddr = tladdr[(int)self->conn_p]; - self->faddr = tfaddr[(int)self->conn_p]; - self->lport = tlport[(int)self->conn_p]; - self->fport = tfport[(int)self->conn_p]; - OPT_proj ? self->proj = tproj[(int)self->conn_p] : 1; - self->zoneid = self->conn_p->conn_zoneid; - self->ok = 2; - - /* follow inetd -> in.* transitions */ - self->name = pid && (tname[(int)self->conn_p] == "inetd") ? - execname : tname[(int)self->conn_p]; - self->pid = pid && (tname[(int)self->conn_p] == "inetd") ? - pid : tpid[(int)self->conn_p]; - tname[(int)self->conn_p] = self->name; - tpid[(int)self->conn_p] = self->pid; -} - -/* - * TCP Process Read - */ -fbt:ip:tcp_rput_data:entry -{ - self->conn_p = (conn_t *)arg0; - self->size = msgdsize(args[1]) + 14; /* should check trailers */ -} - -fbt:ip:tcp_rput_data:entry -/tok[(int)self->conn_p]/ -{ - self->dir = "<-"; - self->uid = tuid[(int)self->conn_p]; - self->laddr = tladdr[(int)self->conn_p]; - self->faddr = tfaddr[(int)self->conn_p]; - self->lport = tlport[(int)self->conn_p]; - self->fport = tfport[(int)self->conn_p]; - OPT_proj ? self->proj = tproj[(int)self->conn_p] : 1; - self->zoneid = self->conn_p->conn_zoneid; - self->ok = 2; - - /* follow inetd -> in.* transitions */ - self->name = pid && (tname[(int)self->conn_p] == "inetd") ? - execname : tname[(int)self->conn_p]; - self->pid = pid && (tname[(int)self->conn_p] == "inetd") ? - pid : tpid[(int)self->conn_p]; - tname[(int)self->conn_p] = self->name; - tpid[(int)self->conn_p] = self->pid; -} - -/* - * TCP Complete printing outbound handshake - */ -fbt:ip:tcp_connect:return -/self->connp/ -{ - self->name = tname[(int)self->connp]; - self->pid = tpid[(int)self->connp]; - self->uid = tuid[(int)self->connp]; - self->zoneid = self->connp->conn_zoneid; - OPT_proj ? self->proj = tproj[(int)self->connp] : 1; - self->size = 54; /* should check trailers */ - self->dir = "->"; -} - -fbt:ip:tcp_connect:return -/(self->connp) && - ((FILTER == 0) || - (OPT_pid && self->pid == PID) || - (OPT_name && self->name == NAME))/ -{ - /* this packet occured before connp was fully established */ - OPT_time ? printf("%-14d ", timestamp/1000) : 1; - OPT_timestr ? printf("%-20Y ", walltimestamp) : 1; - OPT_zone ? printf("%4d ", self->zoneid) : 1; - OPT_proj ? printf("%4d ", self->proj) : 1; - printf("%5d %6d %-15s %5d %2s %-15s %5d %5d %s\n", - self->uid, self->pid, self->laddr, self->lport, self->dir, - self->faddr, self->fport, self->size, self->name); -} - -/* - * TCP Complete printing inbound handshake - */ -fbt:sockfs:sotpi_accept:return -/self->connp/ -{ - self->name = tname[(int)self->connp]; - self->pid = tpid[(int)self->connp]; - self->uid = tuid[(int)self->connp]; - self->zoneid = self->connp->conn_zoneid; - OPT_proj ? self->proj = tproj[(int)self->connp] : 1; - self->size = 54; /* should check trailers */ - self->dir = "<-"; -} - -fbt:sockfs:sotpi_accept:return -/(self->connp) && - ((FILTER == 0) || - (OPT_pid && self->pid == PID) || - (OPT_name && self->name == NAME))/ -{ - /* these packets occured before connp was fully established */ - OPT_time ? printf("%-14d ", timestamp/1000) : 1; - OPT_timestr ? printf("%-20Y ", walltimestamp) : 1; - OPT_zone ? printf("%4d ", self->zoneid) : 1; - OPT_proj ? printf("%4d ", self->proj) : 1; - printf("%5d %6d %-15s %5d %2s %-15s %5d %5d %s\n", - self->uid, self->pid, self->laddr, self->lport, self->dir, - self->faddr, self->fport, self->size, self->name); - self->dir = "->"; - OPT_time ? printf("%-14d ", timestamp/1000) : 1; - OPT_timestr ? printf("%-20Y ", walltimestamp) : 1; - OPT_zone ? printf("%4d ", self->zoneid) : 1; - OPT_proj ? printf("%4d ", self->proj) : 1; - printf("%5d %6d %-15s %5d %2s %-15s %5d %5d %s\n", - self->uid, self->pid, self->laddr, self->lport, self->dir, - self->faddr, self->fport, self->size, self->name); - self->dir = "<-"; - OPT_time ? printf("%-14d ", timestamp/1000) : 1; - OPT_timestr ? printf("%-20Y ", walltimestamp) : 1; - OPT_zone ? printf("%4d ", self->zoneid) : 1; - OPT_proj ? printf("%4d ", self->proj) : 1; - printf("%5d %6d %-15s %5d %2s %-15s %5d %5d %s\n", - self->uid, self->pid, self->laddr, self->lport, self->dir, - self->faddr, self->fport, self->size, self->name); -} - -/* - * Print output - */ -fbt:ip:tcp_send_data:entry, -fbt:ip:tcp_rput_data:entry -/(self->ok == 2) && - ((FILTER == 0) || - (OPT_pid && self->pid == PID) || - (OPT_name && self->name == NAME))/ -{ - /* print optional fields */ - OPT_time ? printf("%-14d ", timestamp/1000) : 1; - OPT_timestr ? printf("%-20Y ", walltimestamp) : 1; - OPT_zone ? printf("%4d ", self->zoneid) : 1; - OPT_proj ? printf("%4d ", self->proj) : 1; - - /* print output line */ - printf("%5d %6d %-15s %5d %2s %-15s %5d %5d %s\n", - self->uid, self->pid, self->laddr, self->lport, self->dir, - self->faddr, self->fport, self->size, self->name); -} - -/* - * TCP Clear connect variables - */ -fbt:sockfs:sotpi_accept:return, -fbt:ip:tcp_connect:return -/self->connp/ -{ - self->faddr = 0; - self->laddr = 0; - self->fport = 0; - self->lport = 0; - self->connp = 0; - self->name = 0; - self->pid = 0; - self->uid = 0; -} - -/* - * TCP Clear r/w variables - */ -fbt:ip:tcp_send_data:entry, -fbt:ip:tcp_rput_data:entry -{ - self->ok = 0; - self->dir = 0; - self->uid = 0; - self->pid = 0; - self->size = 0; - self->name = 0; - self->lport = 0; - self->fport = 0; - self->laddr = 0; - self->faddr = 0; - self->conn_p = 0; - self->zoneid = 0; - self->proj = 0; -} -') diff --git a/cddl/contrib/dtracetoolkit/Net/tcpsnoop.d b/cddl/contrib/dtracetoolkit/Net/tcpsnoop.d deleted file mode 100755 index ca01864522aa..000000000000 --- a/cddl/contrib/dtracetoolkit/Net/tcpsnoop.d +++ /dev/null @@ -1,424 +0,0 @@ -#!/usr/sbin/dtrace -Cs -/* - * tcpsnoop.d - snoop TCP network packets by process. - * Written using DTrace (Solaris 10 3/05) - * - * This analyses TCP network packets and prints the responsible PID and UID, - * plus standard details such as IP address and port. This captures traffic - * of newly created TCP connections that were established while this program - * was running. It can help identify which processes is causing TCP traffic. - * - * WARNING: This script may only work on Solaris 10 3/05, since it uses the - * fbt provider to trace the raw operation of a specific version of the kernel. - * In the future, a 'stable' network provider should exist which will allow - * this to be written for that and subsequent versions of the kernel. In the - * meantime, check for other versions of this script in the /Net directory, - * and read the Notes/ALLfbt_notes.txt for more background on fbt. - * - * $Id: tcpsnoop.d 69 2007-10-04 13:40:00Z brendan $ - * - * USAGE: tcpsnoop.d - * - * FIELDS: - * UID user ID - * PID process ID - * CMD command - * LADDR local IP address - * RADDR remote IP address - * LPORT local port number - * RPORT remote port number - * DR direction - * SIZE packet size, bytes - * - * SEE ALSO: snoop -rS - * - * COPYRIGHT: Copyright (c) 2005, 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * Author: Brendan Gregg [Sydney, Australia] - * - * TODO: IPv6 - * - * 09-Jul-2004 Brendan Gregg Created this. - * 12-Mar-2005 " " Changed probes, size info now printed. - * 02-Jul-2005 " " Many more probes. Renamed "tcpsnoop.d". - * 03-Dec-2005 " " Fixed tcp_accept_finish bug, now 100% correct - * execname. Thanks Kias Belgaied for expertise. - * 20-Apr-2006 " " Fixed SS_TCP_FAST_ACCEPT bug in build 31+. - * 20-Apr-2006 " " Last update. - */ - -#pragma D option quiet -#pragma D option switchrate=10hz - -#include -#include -#include - -/* - * Print header - */ -dtrace:::BEGIN -{ - /* print main headers */ - printf("%5s %6s %-15s %5s %2s %-15s %5s %5s %s\n", - "UID", "PID", "LADDR", "LPORT", "DR", "RADDR", "RPORT", - "SIZE", "CMD"); -} - -/* - * TCP Process inbound connections - * - * 0x00200000 has been hardcoded. It was SS_TCP_FAST_ACCEPT, but was - * renamed to SS_DIRECT around build 31. - */ -fbt:sockfs:sotpi_accept:entry -/(arg1 & FREAD) && (arg1 & FWRITE) && (args[0]->so_state & 0x00200000)/ -{ - self->sop = args[0]; -} - -fbt:sockfs:sotpi_create:return -/self->sop/ -{ - self->nsop = (struct sonode *)arg1; -} - -fbt:sockfs:sotpi_accept:return -/self->nsop/ -{ - this->tcpp = (tcp_t *)self->nsop->so_priv; - self->connp = (conn_t *)this->tcpp->tcp_connp; - tname[(int)self->connp] = execname; - tpid[(int)self->connp] = pid; - tuid[(int)self->connp] = uid; -} - -fbt:sockfs:sotpi_accept:return -{ - self->nsop = 0; - self->sop = 0; -} - -/* - * TCP Process outbound connections - */ -fbt:ip:tcp_connect:entry -{ - this->tcpp = (tcp_t *)arg0; - self->connp = (conn_t *)this->tcpp->tcp_connp; - tname[(int)self->connp] = execname; - tpid[(int)self->connp] = pid; - tuid[(int)self->connp] = uid; -} - -/* - * TCP Data translations - */ -fbt:sockfs:sotpi_accept:return, -fbt:ip:tcp_connect:return -/self->connp/ -{ - /* fetch ports */ -#if defined(_BIG_ENDIAN) - self->lport = self->connp->u_port.tcpu_ports.tcpu_lport; - self->fport = self->connp->u_port.tcpu_ports.tcpu_fport; -#else - self->lport = BSWAP_16(self->connp->u_port.tcpu_ports.tcpu_lport); - self->fport = BSWAP_16(self->connp->u_port.tcpu_ports.tcpu_fport); -#endif - - /* fetch IPv4 addresses */ - this->fad12 = - (int)self->connp->connua_v6addr.connua_faddr._S6_un._S6_u8[12]; - this->fad13 = - (int)self->connp->connua_v6addr.connua_faddr._S6_un._S6_u8[13]; - this->fad14 = - (int)self->connp->connua_v6addr.connua_faddr._S6_un._S6_u8[14]; - this->fad15 = - (int)self->connp->connua_v6addr.connua_faddr._S6_un._S6_u8[15]; - this->lad12 = - (int)self->connp->connua_v6addr.connua_laddr._S6_un._S6_u8[12]; - this->lad13 = - (int)self->connp->connua_v6addr.connua_laddr._S6_un._S6_u8[13]; - this->lad14 = - (int)self->connp->connua_v6addr.connua_laddr._S6_un._S6_u8[14]; - this->lad15 = - (int)self->connp->connua_v6addr.connua_laddr._S6_un._S6_u8[15]; - - /* convert type for use with lltostr() */ - this->fad12 = this->fad12 < 0 ? 256 + this->fad12 : this->fad12; - this->fad13 = this->fad13 < 0 ? 256 + this->fad13 : this->fad13; - this->fad14 = this->fad14 < 0 ? 256 + this->fad14 : this->fad14; - this->fad15 = this->fad15 < 0 ? 256 + this->fad15 : this->fad15; - this->lad12 = this->lad12 < 0 ? 256 + this->lad12 : this->lad12; - this->lad13 = this->lad13 < 0 ? 256 + this->lad13 : this->lad13; - this->lad14 = this->lad14 < 0 ? 256 + this->lad14 : this->lad14; - this->lad15 = this->lad15 < 0 ? 256 + this->lad15 : this->lad15; - - /* stringify addresses */ - self->faddr = strjoin(lltostr(this->fad12), "."); - self->faddr = strjoin(self->faddr, strjoin(lltostr(this->fad13), ".")); - self->faddr = strjoin(self->faddr, strjoin(lltostr(this->fad14), ".")); - self->faddr = strjoin(self->faddr, lltostr(this->fad15 + 0)); - self->laddr = strjoin(lltostr(this->lad12), "."); - self->laddr = strjoin(self->laddr, strjoin(lltostr(this->lad13), ".")); - self->laddr = strjoin(self->laddr, strjoin(lltostr(this->lad14), ".")); - self->laddr = strjoin(self->laddr, lltostr(this->lad15 + 0)); - - /* fix direction and save values */ - tladdr[(int)self->connp] = self->laddr; - tfaddr[(int)self->connp] = self->faddr; - tlport[(int)self->connp] = self->lport; - tfport[(int)self->connp] = self->fport; - - /* all systems go */ - tok[(int)self->connp] = 1; -} - -/* - * TCP Clear connp - */ -fbt:ip:tcp_get_conn:return -{ - /* Q_TO_CONN */ - this->connp = (conn_t *)arg1; - tok[(int)this->connp] = 0; - tpid[(int)this->connp] = 0; - tuid[(int)this->connp] = 0; - tname[(int)this->connp] = 0; -} - -/* - * TCP Process "port closed" - */ -fbt:ip:tcp_xmit_early_reset:entry -{ - this->queuep = (queue_t *)`tcp_g_q; /* ` */ - this->connp = (conn_t *)this->queuep->q_ptr; - this->tcpp = (tcp_t *)this->connp->conn_tcp; - - /* split addresses */ - this->ipha = (ipha_t *)args[1]->b_rptr; - this->fad15 = (this->ipha->ipha_src & 0xff000000) >> 24; - this->fad14 = (this->ipha->ipha_src & 0x00ff0000) >> 16; - this->fad13 = (this->ipha->ipha_src & 0x0000ff00) >> 8; - this->fad12 = (this->ipha->ipha_src & 0x000000ff); - this->lad15 = (this->ipha->ipha_dst & 0xff000000) >> 24; - this->lad14 = (this->ipha->ipha_dst & 0x00ff0000) >> 16; - this->lad13 = (this->ipha->ipha_dst & 0x0000ff00) >> 8; - this->lad12 = (this->ipha->ipha_dst & 0x000000ff); - - /* stringify addresses */ - self->faddr = strjoin(lltostr(this->fad12), "."); - self->faddr = strjoin(self->faddr, strjoin(lltostr(this->fad13), ".")); - self->faddr = strjoin(self->faddr, strjoin(lltostr(this->fad14), ".")); - self->faddr = strjoin(self->faddr, lltostr(this->fad15 + 0)); - self->laddr = strjoin(lltostr(this->lad12), "."); - self->laddr = strjoin(self->laddr, strjoin(lltostr(this->lad13), ".")); - self->laddr = strjoin(self->laddr, strjoin(lltostr(this->lad14), ".")); - self->laddr = strjoin(self->laddr, lltostr(this->lad15 + 0)); - - self->reset = 1; -} - -/* - * TCP Fetch "port closed" ports - */ -fbt:ip:tcp_xchg:entry -/self->reset/ -{ -#if defined(_BIG_ENDIAN) - self->lport = (uint16_t)arg0; - self->fport = (uint16_t)arg1; -#else - self->lport = BSWAP_16((uint16_t)arg0); - self->fport = BSWAP_16((uint16_t)arg1); -#endif - self->lport = BE16_TO_U16(arg0); - self->fport = BE16_TO_U16(arg1); -} - -/* - * TCP Print "port closed" - */ -fbt:ip:tcp_xmit_early_reset:return -{ - self->name = ""; - self->pid = 0; - self->uid = 0; - self->size = 54; /* should check trailers */ - self->dir = "<-"; - printf("%5d %6d %-15s %5d %2s %-15s %5d %5d %s\n", - self->uid, self->pid, self->laddr, self->lport, self->dir, - self->faddr, self->fport, self->size, self->name); - self->dir = "->"; - printf("%5d %6d %-15s %5d %2s %-15s %5d %5d %s\n", - self->uid, self->pid, self->laddr, self->lport, self->dir, - self->faddr, self->fport, self->size, self->name); - self->reset = 0; - self->size = 0; - self->name = 0; -} - -/* - * TCP Process Write - */ -fbt:ip:tcp_send_data:entry -{ - self->conn_p = (conn_t *)args[0]->tcp_connp; -} - -fbt:ip:tcp_send_data:entry -/tok[(int)self->conn_p]/ -{ - self->dir = "->"; - self->size = msgdsize(args[2]) + 14; /* should check trailers */ - self->uid = tuid[(int)self->conn_p]; - self->laddr = tladdr[(int)self->conn_p]; - self->faddr = tfaddr[(int)self->conn_p]; - self->lport = tlport[(int)self->conn_p]; - self->fport = tfport[(int)self->conn_p]; - self->ok = 2; - - /* follow inetd -> in.* transitions */ - self->name = pid && (tname[(int)self->conn_p] == "inetd") ? - execname : tname[(int)self->conn_p]; - self->pid = pid && (tname[(int)self->conn_p] == "inetd") ? - pid : tpid[(int)self->conn_p]; - tname[(int)self->conn_p] = self->name; - tpid[(int)self->conn_p] = self->pid; -} - -/* - * TCP Process Read - */ -fbt:ip:tcp_rput_data:entry -{ - self->conn_p = (conn_t *)arg0; - self->size = msgdsize(args[1]) + 14; /* should check trailers */ -} - -fbt:ip:tcp_rput_data:entry -/tok[(int)self->conn_p]/ -{ - self->dir = "<-"; - self->uid = tuid[(int)self->conn_p]; - self->laddr = tladdr[(int)self->conn_p]; - self->faddr = tfaddr[(int)self->conn_p]; - self->lport = tlport[(int)self->conn_p]; - self->fport = tfport[(int)self->conn_p]; - self->ok = 2; - - /* follow inetd -> in.* transitions */ - self->name = pid && (tname[(int)self->conn_p] == "inetd") ? - execname : tname[(int)self->conn_p]; - self->pid = pid && (tname[(int)self->conn_p] == "inetd") ? - pid : tpid[(int)self->conn_p]; - tname[(int)self->conn_p] = self->name; - tpid[(int)self->conn_p] = self->pid; -} - -/* - * TCP Complete printing outbound handshake - */ -fbt:ip:tcp_connect:return -/self->connp/ -{ - self->name = tname[(int)self->connp]; - self->pid = tpid[(int)self->connp]; - self->uid = tuid[(int)self->connp]; - self->size = 54; /* should check trailers */ - self->dir = "->"; - /* this packet occured before connp was fully established */ - printf("%5d %6d %-15s %5d %2s %-15s %5d %5d %s\n", - self->uid, self->pid, self->laddr, self->lport, self->dir, - self->faddr, self->fport, self->size, self->name); -} - -/* - * TCP Complete printing inbound handshake - */ -fbt:sockfs:sotpi_accept:return -/self->connp/ -{ - self->name = tname[(int)self->connp]; - self->pid = tpid[(int)self->connp]; - self->uid = tuid[(int)self->connp]; - self->size = 54; /* should check trailers */ - /* these packets occured before connp was fully established */ - self->dir = "<-"; - printf("%5d %6d %-15s %5d %2s %-15s %5d %5d %s\n", - self->uid, self->pid, self->laddr, self->lport, self->dir, - self->faddr, self->fport, self->size, self->name); - self->dir = "->"; - printf("%5d %6d %-15s %5d %2s %-15s %5d %5d %s\n", - self->uid, self->pid, self->laddr, self->lport, self->dir, - self->faddr, self->fport, self->size, self->name); - self->dir = "<-"; - printf("%5d %6d %-15s %5d %2s %-15s %5d %5d %s\n", - self->uid, self->pid, self->laddr, self->lport, self->dir, - self->faddr, self->fport, self->size, self->name); -} - -/* - * Print output - */ -fbt:ip:tcp_send_data:entry, -fbt:ip:tcp_rput_data:entry -/self->ok == 2/ -{ - /* print output line */ - printf("%5d %6d %-15s %5d %2s %-15s %5d %5d %s\n", - self->uid, self->pid, self->laddr, self->lport, self->dir, - self->faddr, self->fport, self->size, self->name); -} - -/* - * TCP Clear connect variables - */ -fbt:sockfs:sotpi_accept:return, -fbt:ip:tcp_connect:return -/self->connp/ -{ - self->faddr = 0; - self->laddr = 0; - self->fport = 0; - self->lport = 0; - self->connp = 0; - self->name = 0; - self->pid = 0; - self->uid = 0; -} - -/* - * TCP Clear r/w variables - */ -fbt:ip:tcp_send_data:entry, -fbt:ip:tcp_rput_data:entry -{ - self->ok = 0; - self->dir = 0; - self->uid = 0; - self->pid = 0; - self->size = 0; - self->name = 0; - self->lport = 0; - self->fport = 0; - self->laddr = 0; - self->faddr = 0; - self->conn_p = 0; -} diff --git a/cddl/contrib/dtracetoolkit/Net/tcpsnoop_snv b/cddl/contrib/dtracetoolkit/Net/tcpsnoop_snv deleted file mode 100755 index 85ebb6c898e2..000000000000 --- a/cddl/contrib/dtracetoolkit/Net/tcpsnoop_snv +++ /dev/null @@ -1,583 +0,0 @@ -#!/usr/bin/ksh -# -# tcpsnoop_snv - snoop TCP network packets by process. -# Written using DTrace (Solaris Nevada) -# -# This analyses TCP network packets and prints the responsible PID and UID, -# plus standard details such as IP address and port. This captures traffic -# of newly created TCP connections that were established while this program -# was running. It can help identify which processes is causing TCP traffic. -# -# WARNING: This script may only work on Solaris Nevada and OpenSolaris -# of the late 2007 vintage, since it uses the fbt provider to trace the raw -# operation of a specific version of the kernel. In the future, a 'stable' -# network provider should exist which will allow this to be written for that -# and subsequent versions of the kernel. In the meantime, check for other -# versions of this script in the /Net directory, and read the -# Notes/ALLfbt_notes.txt for more background on fbt. -# -# $Id: tcpsnoop_snv 69 2007-10-04 13:40:00Z brendan $ -# -# USAGE: tcpsnoop [-a|hjsvZ] [-n name] [-p pid] -# -# -a # print all data -# -j # print project ID -# -s # print time, us -# -v # print time, string -# -Z # print zone ID -# -n name # command name to snoop -# -p pid # PID to snoop -# eg, -# tcpsnoop -v # human readable timestamps -# tcpsnoop -Z # print zonename -# tcpsnoop -n sshd # snoop sshd traffic only -# -# FIELDS: -# UID user ID -# PID process ID -# CMD command -# LADDR local IP address -# RADDR remote IP address -# LPORT local port number -# RPORT remote port number -# DR direction -# SIZE packet size, bytes -# TIME timestamp, us -# STRTIME human readable timestamp, string -# ZONE zone ID -# PROJ project ID -# -# SEE ALSO: snoop -rS -# -# COPYRIGHT: Copyright (c) 2005, 2006 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# Author: Brendan Gregg [Sydney, Australia] -# -# TODO: IPv6 -# -# CODE: -# The FILTER syntax matches on packets rather than initial -# connections, so that it can follow inetd connections properly. -# -# 09-Jul-2004 Brendan Gregg Created this. -# 12-Mar-2005 " " Changed probes, size info now printed. -# 02-Jul-2005 " " Many more probes. Renamed "tcpsnoop.d". -# 04-Jul-2005 " " Now wrapped in shell, called "tcpsnoop". -# 03-Dec-2005 " " Fixed tcp_accept_finish bug, now 100% correct -# execname. Thanks Kias Belgaied for expertise. -# 20-Apr-2006 " " Fixed SS_TCP_FAST_ACCEPT bug in build 31+. -# 20-Apr-2006 " " Last update. -# 30-Sep-2007 " " Bumped this for recent OpenSolaris/Nevada. -# - -############################## -# --- Process Arguments --- -# - -### default variables -opt_name=0; opt_time=0; opt_timestr=0; filter=0; pname=. -opt_zone=0; opt_proj=0; opt_pid=0; pid=0 - -### process options -while getopts ahjsvZn:p: name -do - case $name in - a) opt_time=1; opt_timestr=1; opt_zone=1; opt_proj=1 ;; - n) opt_name=1; pname=$OPTARG ;; - p) opt_pid=1; pid=$OPTARG ;; - j) opt_proj=1 ;; - s) opt_time=1 ;; - v) opt_timestr=1 ;; - Z) opt_zone=1 ;; - h|?) cat <<-END >&2 - USAGE: tcpsnoop [-a|hjsvZ] [-n name] [-p pid] - tcpsnoop # default output - -a # print all data - -j # print project ID - -s # print start time, us - -v # print start time, string - -Z # print zonename - -n name # command name to snoop - -p pid # PID to snoop - eg, - tcpsnoop -v # human readable timestamps - tcpsnoop -Z # print zonename - tcpsnoop -n sshd # snoop sshd traffic only - END - exit 1 - esac -done - -### option logic -if (( opt_name || opt_pid )); then - filter=1 -fi - -################################# -# --- Main Program, DTrace --- -# -/usr/sbin/dtrace -Cs <( print -r ' - /* - * Command line arguments - */ - inline int OPT_name = '$opt_name'; - inline int OPT_pid = '$opt_pid'; - inline int OPT_time = '$opt_time'; - inline int OPT_timestr = '$opt_timestr'; - inline int OPT_zone = '$opt_zone'; - inline int OPT_proj = '$opt_proj'; - inline int PID = '$pid'; - inline int FILTER = '$filter'; - inline string NAME = "'$pname'"; - -#pragma D option quiet -#pragma D option switchrate=10hz - -#include -#include -#include -#include -#include - -/* - * Print header - */ -dtrace:::BEGIN -{ - /* print optional headers */ - OPT_time ? printf("%-14s ", "TIME") : 1; - OPT_timestr ? printf("%-20s ", "STRTIME") : 1; - OPT_zone ? printf("%4s ", "ZONE") : 1; - OPT_proj ? printf("%4s ", "PROJ") : 1; - - /* print main headers */ - printf("%5s %6s %-15s %5s %2s %-15s %5s %5s %s\n", - "UID", "PID", "LADDR", "LPORT", "DR", "RADDR", "RPORT", - "SIZE", "CMD"); -} - - -/* - * TCP Process inbound connections - * - * 0x00200000 has been hardcoded. It was SS_TCP_FAST_ACCEPT, but was - * renamed to SS_DIRECT around build 31. - */ -fbt:sockfs:sotpi_accept:entry -/(arg1 & FREAD) && (arg1 & FWRITE) && (args[0]->so_state & 0x00200000)/ -{ - self->sop = args[0]; -} - -fbt:sockfs:sotpi_create:return -/self->sop/ -{ - self->nsop = (struct sonode *)arg1; -} - -fbt:sockfs:sotpi_accept:return -/self->nsop/ -{ - this->tcpp = (tcp_t *)self->nsop->so_priv; - self->connp = (conn_t *)this->tcpp->tcp_connp; - tname[(int)self->connp] = execname; - tpid[(int)self->connp] = pid; - tuid[(int)self->connp] = uid; -} - -fbt:sockfs:sotpi_accept:return -{ - self->nsop = 0; - self->sop = 0; -} - -/* - * TCP Process outbound connections - */ -fbt:ip:tcp_connect:entry -{ - this->tcpp = (tcp_t *)arg0; - self->connp = (conn_t *)this->tcpp->tcp_connp; - tname[(int)self->connp] = execname; - tpid[(int)self->connp] = pid; - tuid[(int)self->connp] = uid; - OPT_proj ? tproj[(int)self->connp] = curpsinfo->pr_projid : 1; -} - -/* - * TCP Data translations - */ -fbt:sockfs:sotpi_accept:return, -fbt:ip:tcp_connect:return -/self->connp/ -{ - /* fetch ports */ -#if defined(_BIG_ENDIAN) - self->lport = self->connp->u_port.tcpu_ports.tcpu_lport; - self->fport = self->connp->u_port.tcpu_ports.tcpu_fport; -#else - self->lport = BSWAP_16(self->connp->u_port.tcpu_ports.tcpu_lport); - self->fport = BSWAP_16(self->connp->u_port.tcpu_ports.tcpu_fport); -#endif - - /* fetch IPv4 addresses */ - this->fad12 = - (int)self->connp->connua_v6addr.connua_faddr._S6_un._S6_u8[12]; - this->fad13 = - (int)self->connp->connua_v6addr.connua_faddr._S6_un._S6_u8[13]; - this->fad14 = - (int)self->connp->connua_v6addr.connua_faddr._S6_un._S6_u8[14]; - this->fad15 = - (int)self->connp->connua_v6addr.connua_faddr._S6_un._S6_u8[15]; - this->lad12 = - (int)self->connp->connua_v6addr.connua_laddr._S6_un._S6_u8[12]; - this->lad13 = - (int)self->connp->connua_v6addr.connua_laddr._S6_un._S6_u8[13]; - this->lad14 = - (int)self->connp->connua_v6addr.connua_laddr._S6_un._S6_u8[14]; - this->lad15 = - (int)self->connp->connua_v6addr.connua_laddr._S6_un._S6_u8[15]; - - /* convert type for use with lltostr() */ - this->fad12 = this->fad12 < 0 ? 256 + this->fad12 : this->fad12; - this->fad13 = this->fad13 < 0 ? 256 + this->fad13 : this->fad13; - this->fad14 = this->fad14 < 0 ? 256 + this->fad14 : this->fad14; - this->fad15 = this->fad15 < 0 ? 256 + this->fad15 : this->fad15; - this->lad12 = this->lad12 < 0 ? 256 + this->lad12 : this->lad12; - this->lad13 = this->lad13 < 0 ? 256 + this->lad13 : this->lad13; - this->lad14 = this->lad14 < 0 ? 256 + this->lad14 : this->lad14; - this->lad15 = this->lad15 < 0 ? 256 + this->lad15 : this->lad15; - - /* stringify addresses */ - self->faddr = strjoin(lltostr(this->fad12), "."); - self->faddr = strjoin(self->faddr, strjoin(lltostr(this->fad13), ".")); - self->faddr = strjoin(self->faddr, strjoin(lltostr(this->fad14), ".")); - self->faddr = strjoin(self->faddr, lltostr(this->fad15 + 0)); - self->laddr = strjoin(lltostr(this->lad12), "."); - self->laddr = strjoin(self->laddr, strjoin(lltostr(this->lad13), ".")); - self->laddr = strjoin(self->laddr, strjoin(lltostr(this->lad14), ".")); - self->laddr = strjoin(self->laddr, lltostr(this->lad15 + 0)); - - /* fix direction and save values */ - tladdr[(int)self->connp] = self->laddr; - tfaddr[(int)self->connp] = self->faddr; - tlport[(int)self->connp] = self->lport; - tfport[(int)self->connp] = self->fport; - - /* all systems go */ - tok[(int)self->connp] = 1; -} - -/* - * TCP Clear connp - */ -fbt:ip:tcp_get_conn:return -{ - /* Q_TO_CONN */ - this->connp = (conn_t *)arg1; - tok[(int)this->connp] = 0; - tpid[(int)this->connp] = 0; - tuid[(int)this->connp] = 0; - tname[(int)this->connp] = 0; - tproj[(int)this->connp] = 0; -} - -/* - * TCP Process "port closed" - */ -fbt:ip:tcp_xmit_early_reset:entry -/FILTER == 0/ -{ - this->queuep = args[7]->tcps_g_q; - this->connp = (conn_t *)this->queuep->q_ptr; - this->tcpp = (tcp_t *)this->connp->conn_tcp; - self->zoneid = this->connp->conn_zoneid; - - /* split addresses */ - this->ipha = (ipha_t *)args[1]->b_rptr; - this->fad15 = (this->ipha->ipha_src & 0xff000000) >> 24; - this->fad14 = (this->ipha->ipha_src & 0x00ff0000) >> 16; - this->fad13 = (this->ipha->ipha_src & 0x0000ff00) >> 8; - this->fad12 = (this->ipha->ipha_src & 0x000000ff); - this->lad15 = (this->ipha->ipha_dst & 0xff000000) >> 24; - this->lad14 = (this->ipha->ipha_dst & 0x00ff0000) >> 16; - this->lad13 = (this->ipha->ipha_dst & 0x0000ff00) >> 8; - this->lad12 = (this->ipha->ipha_dst & 0x000000ff); - - /* stringify addresses */ - self->faddr = strjoin(lltostr(this->fad12), "."); - self->faddr = strjoin(self->faddr, strjoin(lltostr(this->fad13), ".")); - self->faddr = strjoin(self->faddr, strjoin(lltostr(this->fad14), ".")); - self->faddr = strjoin(self->faddr, lltostr(this->fad15 + 0)); - self->laddr = strjoin(lltostr(this->lad12), "."); - self->laddr = strjoin(self->laddr, strjoin(lltostr(this->lad13), ".")); - self->laddr = strjoin(self->laddr, strjoin(lltostr(this->lad14), ".")); - self->laddr = strjoin(self->laddr, lltostr(this->lad15 + 0)); - - self->reset = 1; -} - -/* - * TCP Fetch "port closed" ports - */ -fbt:ip:tcp_xchg:entry -/self->reset/ -{ -#if defined(_BIG_ENDIAN) - self->lport = (uint16_t)arg0; - self->fport = (uint16_t)arg1; -#else - self->lport = BSWAP_16((uint16_t)arg0); - self->fport = BSWAP_16((uint16_t)arg1); -#endif - self->lport = BE16_TO_U16(arg0); - self->fport = BE16_TO_U16(arg1); -} - -/* - * TCP Print "port closed" - */ -fbt:ip:tcp_xmit_early_reset:return -/FILTER == 0/ -{ - self->name = ""; - self->pid = 0; - self->uid = 0; - self->proj = 0; - self->size = 54; /* should check trailers */ - self->dir = "<-"; - OPT_time ? printf("%-14d ", timestamp/1000) : 1; - OPT_timestr ? printf("%-20Y ", walltimestamp) : 1; - OPT_zone ? printf("%4d ", self->zoneid) : 1; - OPT_proj ? printf("%4d ", self->proj) : 1; - printf("%5d %6d %-15s %5d %2s %-15s %5d %5d %s\n", - self->uid, self->pid, self->laddr, self->lport, self->dir, - self->faddr, self->fport, self->size, self->name); - self->dir = "->"; - OPT_time ? printf("%-14d ", timestamp/1000) : 1; - OPT_timestr ? printf("%-20Y ", walltimestamp) : 1; - OPT_zone ? printf("%4d ", self->zoneid) : 1; - OPT_proj ? printf("%4d ", self->proj) : 1; - printf("%5d %6d %-15s %5d %2s %-15s %5d %5d %s\n", - self->uid, self->pid, self->laddr, self->lport, self->dir, - self->faddr, self->fport, self->size, self->name); - self->reset = 0; - self->size = 0; - self->name = 0; - self->zoneid = 0; -} - -/* - * TCP Process Write - */ -fbt:ip:tcp_send_data:entry -{ - self->conn_p = (conn_t *)args[0]->tcp_connp; -} - -fbt:ip:tcp_send_data:entry -/tok[(int)self->conn_p]/ -{ - self->dir = "->"; - self->size = msgdsize(args[2]) + 14; /* should check trailers */ - self->uid = tuid[(int)self->conn_p]; - self->laddr = tladdr[(int)self->conn_p]; - self->faddr = tfaddr[(int)self->conn_p]; - self->lport = tlport[(int)self->conn_p]; - self->fport = tfport[(int)self->conn_p]; - OPT_proj ? self->proj = tproj[(int)self->conn_p] : 1; - self->zoneid = self->conn_p->conn_zoneid; - self->ok = 2; - - /* follow inetd -> in.* transitions */ - self->name = pid && (tname[(int)self->conn_p] == "inetd") ? - execname : tname[(int)self->conn_p]; - self->pid = pid && (tname[(int)self->conn_p] == "inetd") ? - pid : tpid[(int)self->conn_p]; - tname[(int)self->conn_p] = self->name; - tpid[(int)self->conn_p] = self->pid; -} - -/* - * TCP Process Read - */ -fbt:ip:tcp_rput_data:entry -{ - self->conn_p = (conn_t *)arg0; - self->size = msgdsize(args[1]) + 14; /* should check trailers */ -} - -fbt:ip:tcp_rput_data:entry -/tok[(int)self->conn_p]/ -{ - self->dir = "<-"; - self->uid = tuid[(int)self->conn_p]; - self->laddr = tladdr[(int)self->conn_p]; - self->faddr = tfaddr[(int)self->conn_p]; - self->lport = tlport[(int)self->conn_p]; - self->fport = tfport[(int)self->conn_p]; - OPT_proj ? self->proj = tproj[(int)self->conn_p] : 1; - self->zoneid = self->conn_p->conn_zoneid; - self->ok = 2; - - /* follow inetd -> in.* transitions */ - self->name = pid && (tname[(int)self->conn_p] == "inetd") ? - execname : tname[(int)self->conn_p]; - self->pid = pid && (tname[(int)self->conn_p] == "inetd") ? - pid : tpid[(int)self->conn_p]; - tname[(int)self->conn_p] = self->name; - tpid[(int)self->conn_p] = self->pid; -} - -/* - * TCP Complete printing outbound handshake - */ -fbt:ip:tcp_connect:return -/self->connp/ -{ - self->name = tname[(int)self->connp]; - self->pid = tpid[(int)self->connp]; - self->uid = tuid[(int)self->connp]; - self->zoneid = self->connp->conn_zoneid; - OPT_proj ? self->proj = tproj[(int)self->connp] : 1; - self->size = 54; /* should check trailers */ - self->dir = "->"; -} - -fbt:ip:tcp_connect:return -/(self->connp) && - ((FILTER == 0) || - (OPT_pid && self->pid == PID) || - (OPT_name && self->name == NAME))/ -{ - /* this packet occured before connp was fully established */ - OPT_time ? printf("%-14d ", timestamp/1000) : 1; - OPT_timestr ? printf("%-20Y ", walltimestamp) : 1; - OPT_zone ? printf("%4d ", self->zoneid) : 1; - OPT_proj ? printf("%4d ", self->proj) : 1; - printf("%5d %6d %-15s %5d %2s %-15s %5d %5d %s\n", - self->uid, self->pid, self->laddr, self->lport, self->dir, - self->faddr, self->fport, self->size, self->name); -} - -/* - * TCP Complete printing inbound handshake - */ -fbt:sockfs:sotpi_accept:return -/self->connp/ -{ - self->name = tname[(int)self->connp]; - self->pid = tpid[(int)self->connp]; - self->uid = tuid[(int)self->connp]; - self->zoneid = self->connp->conn_zoneid; - OPT_proj ? self->proj = tproj[(int)self->connp] : 1; - self->size = 54; /* should check trailers */ - self->dir = "<-"; -} - -fbt:sockfs:sotpi_accept:return -/(self->connp) && - ((FILTER == 0) || - (OPT_pid && self->pid == PID) || - (OPT_name && self->name == NAME))/ -{ - /* these packets occured before connp was fully established */ - OPT_time ? printf("%-14d ", timestamp/1000) : 1; - OPT_timestr ? printf("%-20Y ", walltimestamp) : 1; - OPT_zone ? printf("%4d ", self->zoneid) : 1; - OPT_proj ? printf("%4d ", self->proj) : 1; - printf("%5d %6d %-15s %5d %2s %-15s %5d %5d %s\n", - self->uid, self->pid, self->laddr, self->lport, self->dir, - self->faddr, self->fport, self->size, self->name); - self->dir = "->"; - OPT_time ? printf("%-14d ", timestamp/1000) : 1; - OPT_timestr ? printf("%-20Y ", walltimestamp) : 1; - OPT_zone ? printf("%4d ", self->zoneid) : 1; - OPT_proj ? printf("%4d ", self->proj) : 1; - printf("%5d %6d %-15s %5d %2s %-15s %5d %5d %s\n", - self->uid, self->pid, self->laddr, self->lport, self->dir, - self->faddr, self->fport, self->size, self->name); - self->dir = "<-"; - OPT_time ? printf("%-14d ", timestamp/1000) : 1; - OPT_timestr ? printf("%-20Y ", walltimestamp) : 1; - OPT_zone ? printf("%4d ", self->zoneid) : 1; - OPT_proj ? printf("%4d ", self->proj) : 1; - printf("%5d %6d %-15s %5d %2s %-15s %5d %5d %s\n", - self->uid, self->pid, self->laddr, self->lport, self->dir, - self->faddr, self->fport, self->size, self->name); -} - -/* - * Print output - */ -fbt:ip:tcp_send_data:entry, -fbt:ip:tcp_rput_data:entry -/(self->ok == 2) && - ((FILTER == 0) || - (OPT_pid && self->pid == PID) || - (OPT_name && self->name == NAME))/ -{ - /* print optional fields */ - OPT_time ? printf("%-14d ", timestamp/1000) : 1; - OPT_timestr ? printf("%-20Y ", walltimestamp) : 1; - OPT_zone ? printf("%4d ", self->zoneid) : 1; - OPT_proj ? printf("%4d ", self->proj) : 1; - - /* print output line */ - printf("%5d %6d %-15s %5d %2s %-15s %5d %5d %s\n", - self->uid, self->pid, self->laddr, self->lport, self->dir, - self->faddr, self->fport, self->size, self->name); -} - -/* - * TCP Clear connect variables - */ -fbt:sockfs:sotpi_accept:return, -fbt:ip:tcp_connect:return -/self->connp/ -{ - self->faddr = 0; - self->laddr = 0; - self->fport = 0; - self->lport = 0; - self->connp = 0; - self->name = 0; - self->pid = 0; - self->uid = 0; -} - -/* - * TCP Clear r/w variables - */ -fbt:ip:tcp_send_data:entry, -fbt:ip:tcp_rput_data:entry -{ - self->ok = 0; - self->dir = 0; - self->uid = 0; - self->pid = 0; - self->size = 0; - self->name = 0; - self->lport = 0; - self->fport = 0; - self->laddr = 0; - self->faddr = 0; - self->conn_p = 0; - self->zoneid = 0; - self->proj = 0; -} -') diff --git a/cddl/contrib/dtracetoolkit/Net/tcpsnoop_snv.d b/cddl/contrib/dtracetoolkit/Net/tcpsnoop_snv.d deleted file mode 100755 index b696f0e46619..000000000000 --- a/cddl/contrib/dtracetoolkit/Net/tcpsnoop_snv.d +++ /dev/null @@ -1,426 +0,0 @@ -#!/usr/sbin/dtrace -Cs -/* - * tcpsnoop_snv.d - snoop TCP network packets by process. - * Written using DTrace (Solaris Nevada) - * - * This analyses TCP network packets and prints the responsible PID and UID, - * plus standard details such as IP address and port. This captures traffic - * of newly created TCP connections that were established while this program - * was running. It can help identify which processes is causing TCP traffic. - * - * WARNING: This script may only work on Solaris Nevada and OpenSolaris - * of the late 2007 vintage, since it uses the fbt provider to trace the raw - * operation of a specific version of the kernel. In the future, a 'stable' - * network provider should exist which will allow this to be written for that - * and subsequent versions of the kernel. In the meantime, check for other - * versions of this script in the /Net directory, and read the - * Notes/ALLfbt_notes.txt for more background on fbt. - * - * $Id: tcpsnoop_snv.d 69 2007-10-04 13:40:00Z brendan $ - * - * USAGE: tcpsnoop.d - * - * FIELDS: - * UID user ID - * PID process ID - * CMD command - * LADDR local IP address - * RADDR remote IP address - * LPORT local port number - * RPORT remote port number - * DR direction - * SIZE packet size, bytes - * - * SEE ALSO: snoop -rS - * - * COPYRIGHT: Copyright (c) 2005, 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * Author: Brendan Gregg [Sydney, Australia] - * - * TODO: IPv6 - * - * 09-Jul-2004 Brendan Gregg Created this. - * 12-Mar-2005 " " Changed probes, size info now printed. - * 02-Jul-2005 " " Many more probes. Renamed "tcpsnoop.d". - * 03-Dec-2005 " " Fixed tcp_accept_finish bug, now 100% correct - * execname. Thanks Kias Belgaied for expertise. - * 20-Apr-2006 " " Fixed SS_TCP_FAST_ACCEPT bug in build 31+. - * 20-Apr-2006 " " Last update. - * 30-Sep-2007 " " Bumped this for recent OpenSolaris/Nevada. - */ - -#pragma D option quiet -#pragma D option switchrate=10hz - -#include -#include -#include - -/* - * Print header - */ -dtrace:::BEGIN -{ - /* print main headers */ - printf("%5s %6s %-15s %5s %2s %-15s %5s %5s %s\n", - "UID", "PID", "LADDR", "LPORT", "DR", "RADDR", "RPORT", - "SIZE", "CMD"); -} - -/* - * TCP Process inbound connections - * - * 0x00200000 has been hardcoded. It was SS_TCP_FAST_ACCEPT, but was - * renamed to SS_DIRECT around build 31. - */ -fbt:sockfs:sotpi_accept:entry -/(arg1 & FREAD) && (arg1 & FWRITE) && (args[0]->so_state & 0x00200000)/ -{ - self->sop = args[0]; -} - -fbt:sockfs:sotpi_create:return -/self->sop/ -{ - self->nsop = (struct sonode *)arg1; -} - -fbt:sockfs:sotpi_accept:return -/self->nsop/ -{ - this->tcpp = (tcp_t *)self->nsop->so_priv; - self->connp = (conn_t *)this->tcpp->tcp_connp; - tname[(int)self->connp] = execname; - tpid[(int)self->connp] = pid; - tuid[(int)self->connp] = uid; -} - -fbt:sockfs:sotpi_accept:return -{ - self->nsop = 0; - self->sop = 0; -} - -/* - * TCP Process outbound connections - */ -fbt:ip:tcp_connect:entry -{ - this->tcpp = (tcp_t *)arg0; - self->connp = (conn_t *)this->tcpp->tcp_connp; - tname[(int)self->connp] = execname; - tpid[(int)self->connp] = pid; - tuid[(int)self->connp] = uid; -} - -/* - * TCP Data translations - */ -fbt:sockfs:sotpi_accept:return, -fbt:ip:tcp_connect:return -/self->connp/ -{ - /* fetch ports */ -#if defined(_BIG_ENDIAN) - self->lport = self->connp->u_port.tcpu_ports.tcpu_lport; - self->fport = self->connp->u_port.tcpu_ports.tcpu_fport; -#else - self->lport = BSWAP_16(self->connp->u_port.tcpu_ports.tcpu_lport); - self->fport = BSWAP_16(self->connp->u_port.tcpu_ports.tcpu_fport); -#endif - - /* fetch IPv4 addresses */ - this->fad12 = - (int)self->connp->connua_v6addr.connua_faddr._S6_un._S6_u8[12]; - this->fad13 = - (int)self->connp->connua_v6addr.connua_faddr._S6_un._S6_u8[13]; - this->fad14 = - (int)self->connp->connua_v6addr.connua_faddr._S6_un._S6_u8[14]; - this->fad15 = - (int)self->connp->connua_v6addr.connua_faddr._S6_un._S6_u8[15]; - this->lad12 = - (int)self->connp->connua_v6addr.connua_laddr._S6_un._S6_u8[12]; - this->lad13 = - (int)self->connp->connua_v6addr.connua_laddr._S6_un._S6_u8[13]; - this->lad14 = - (int)self->connp->connua_v6addr.connua_laddr._S6_un._S6_u8[14]; - this->lad15 = - (int)self->connp->connua_v6addr.connua_laddr._S6_un._S6_u8[15]; - - /* convert type for use with lltostr() */ - this->fad12 = this->fad12 < 0 ? 256 + this->fad12 : this->fad12; - this->fad13 = this->fad13 < 0 ? 256 + this->fad13 : this->fad13; - this->fad14 = this->fad14 < 0 ? 256 + this->fad14 : this->fad14; - this->fad15 = this->fad15 < 0 ? 256 + this->fad15 : this->fad15; - this->lad12 = this->lad12 < 0 ? 256 + this->lad12 : this->lad12; - this->lad13 = this->lad13 < 0 ? 256 + this->lad13 : this->lad13; - this->lad14 = this->lad14 < 0 ? 256 + this->lad14 : this->lad14; - this->lad15 = this->lad15 < 0 ? 256 + this->lad15 : this->lad15; - - /* stringify addresses */ - self->faddr = strjoin(lltostr(this->fad12), "."); - self->faddr = strjoin(self->faddr, strjoin(lltostr(this->fad13), ".")); - self->faddr = strjoin(self->faddr, strjoin(lltostr(this->fad14), ".")); - self->faddr = strjoin(self->faddr, lltostr(this->fad15 + 0)); - self->laddr = strjoin(lltostr(this->lad12), "."); - self->laddr = strjoin(self->laddr, strjoin(lltostr(this->lad13), ".")); - self->laddr = strjoin(self->laddr, strjoin(lltostr(this->lad14), ".")); - self->laddr = strjoin(self->laddr, lltostr(this->lad15 + 0)); - - /* fix direction and save values */ - tladdr[(int)self->connp] = self->laddr; - tfaddr[(int)self->connp] = self->faddr; - tlport[(int)self->connp] = self->lport; - tfport[(int)self->connp] = self->fport; - - /* all systems go */ - tok[(int)self->connp] = 1; -} - -/* - * TCP Clear connp - */ -fbt:ip:tcp_get_conn:return -{ - /* Q_TO_CONN */ - this->connp = (conn_t *)arg1; - tok[(int)this->connp] = 0; - tpid[(int)this->connp] = 0; - tuid[(int)this->connp] = 0; - tname[(int)this->connp] = 0; -} - -/* - * TCP Process "port closed" - */ -fbt:ip:tcp_xmit_early_reset:entry -{ - this->queuep = args[7]->tcps_g_q; - this->connp = (conn_t *)this->queuep->q_ptr; - this->tcpp = (tcp_t *)this->connp->conn_tcp; - - /* split addresses */ - this->ipha = (ipha_t *)args[1]->b_rptr; - this->fad15 = (this->ipha->ipha_src & 0xff000000) >> 24; - this->fad14 = (this->ipha->ipha_src & 0x00ff0000) >> 16; - this->fad13 = (this->ipha->ipha_src & 0x0000ff00) >> 8; - this->fad12 = (this->ipha->ipha_src & 0x000000ff); - this->lad15 = (this->ipha->ipha_dst & 0xff000000) >> 24; - this->lad14 = (this->ipha->ipha_dst & 0x00ff0000) >> 16; - this->lad13 = (this->ipha->ipha_dst & 0x0000ff00) >> 8; - this->lad12 = (this->ipha->ipha_dst & 0x000000ff); - - /* stringify addresses */ - self->faddr = strjoin(lltostr(this->fad12), "."); - self->faddr = strjoin(self->faddr, strjoin(lltostr(this->fad13), ".")); - self->faddr = strjoin(self->faddr, strjoin(lltostr(this->fad14), ".")); - self->faddr = strjoin(self->faddr, lltostr(this->fad15 + 0)); - self->laddr = strjoin(lltostr(this->lad12), "."); - self->laddr = strjoin(self->laddr, strjoin(lltostr(this->lad13), ".")); - self->laddr = strjoin(self->laddr, strjoin(lltostr(this->lad14), ".")); - self->laddr = strjoin(self->laddr, lltostr(this->lad15 + 0)); - - self->reset = 1; -} - -/* - * TCP Fetch "port closed" ports - */ -fbt:ip:tcp_xchg:entry -/self->reset/ -{ -#if defined(_BIG_ENDIAN) - self->lport = (uint16_t)arg0; - self->fport = (uint16_t)arg1; -#else - self->lport = BSWAP_16((uint16_t)arg0); - self->fport = BSWAP_16((uint16_t)arg1); -#endif - self->lport = BE16_TO_U16(arg0); - self->fport = BE16_TO_U16(arg1); -} - -/* - * TCP Print "port closed" - */ -fbt:ip:tcp_xmit_early_reset:return -{ - self->name = ""; - self->pid = 0; - self->uid = 0; - self->size = 54; /* should check trailers */ - self->dir = "<-"; - printf("%5d %6d %-15s %5d %2s %-15s %5d %5d %s\n", - self->uid, self->pid, self->laddr, self->lport, self->dir, - self->faddr, self->fport, self->size, self->name); - self->dir = "->"; - printf("%5d %6d %-15s %5d %2s %-15s %5d %5d %s\n", - self->uid, self->pid, self->laddr, self->lport, self->dir, - self->faddr, self->fport, self->size, self->name); - self->reset = 0; - self->size = 0; - self->name = 0; -} - -/* - * TCP Process Write - */ -fbt:ip:tcp_send_data:entry -{ - self->conn_p = (conn_t *)args[0]->tcp_connp; -} - -fbt:ip:tcp_send_data:entry -/tok[(int)self->conn_p]/ -{ - self->dir = "->"; - self->size = msgdsize(args[2]) + 14; /* should check trailers */ - self->uid = tuid[(int)self->conn_p]; - self->laddr = tladdr[(int)self->conn_p]; - self->faddr = tfaddr[(int)self->conn_p]; - self->lport = tlport[(int)self->conn_p]; - self->fport = tfport[(int)self->conn_p]; - self->ok = 2; - - /* follow inetd -> in.* transitions */ - self->name = pid && (tname[(int)self->conn_p] == "inetd") ? - execname : tname[(int)self->conn_p]; - self->pid = pid && (tname[(int)self->conn_p] == "inetd") ? - pid : tpid[(int)self->conn_p]; - tname[(int)self->conn_p] = self->name; - tpid[(int)self->conn_p] = self->pid; -} - -/* - * TCP Process Read - */ -fbt:ip:tcp_rput_data:entry -{ - self->conn_p = (conn_t *)arg0; - self->size = msgdsize(args[1]) + 14; /* should check trailers */ -} - -fbt:ip:tcp_rput_data:entry -/tok[(int)self->conn_p]/ -{ - self->dir = "<-"; - self->uid = tuid[(int)self->conn_p]; - self->laddr = tladdr[(int)self->conn_p]; - self->faddr = tfaddr[(int)self->conn_p]; - self->lport = tlport[(int)self->conn_p]; - self->fport = tfport[(int)self->conn_p]; - self->ok = 2; - - /* follow inetd -> in.* transitions */ - self->name = pid && (tname[(int)self->conn_p] == "inetd") ? - execname : tname[(int)self->conn_p]; - self->pid = pid && (tname[(int)self->conn_p] == "inetd") ? - pid : tpid[(int)self->conn_p]; - tname[(int)self->conn_p] = self->name; - tpid[(int)self->conn_p] = self->pid; -} - -/* - * TCP Complete printing outbound handshake - */ -fbt:ip:tcp_connect:return -/self->connp/ -{ - self->name = tname[(int)self->connp]; - self->pid = tpid[(int)self->connp]; - self->uid = tuid[(int)self->connp]; - self->size = 54; /* should check trailers */ - self->dir = "->"; - /* this packet occured before connp was fully established */ - printf("%5d %6d %-15s %5d %2s %-15s %5d %5d %s\n", - self->uid, self->pid, self->laddr, self->lport, self->dir, - self->faddr, self->fport, self->size, self->name); -} - -/* - * TCP Complete printing inbound handshake - */ -fbt:sockfs:sotpi_accept:return -/self->connp/ -{ - self->name = tname[(int)self->connp]; - self->pid = tpid[(int)self->connp]; - self->uid = tuid[(int)self->connp]; - self->size = 54; /* should check trailers */ - /* these packets occured before connp was fully established */ - self->dir = "<-"; - printf("%5d %6d %-15s %5d %2s %-15s %5d %5d %s\n", - self->uid, self->pid, self->laddr, self->lport, self->dir, - self->faddr, self->fport, self->size, self->name); - self->dir = "->"; - printf("%5d %6d %-15s %5d %2s %-15s %5d %5d %s\n", - self->uid, self->pid, self->laddr, self->lport, self->dir, - self->faddr, self->fport, self->size, self->name); - self->dir = "<-"; - printf("%5d %6d %-15s %5d %2s %-15s %5d %5d %s\n", - self->uid, self->pid, self->laddr, self->lport, self->dir, - self->faddr, self->fport, self->size, self->name); -} - -/* - * Print output - */ -fbt:ip:tcp_send_data:entry, -fbt:ip:tcp_rput_data:entry -/self->ok == 2/ -{ - /* print output line */ - printf("%5d %6d %-15s %5d %2s %-15s %5d %5d %s\n", - self->uid, self->pid, self->laddr, self->lport, self->dir, - self->faddr, self->fport, self->size, self->name); -} - -/* - * TCP Clear connect variables - */ -fbt:sockfs:sotpi_accept:return, -fbt:ip:tcp_connect:return -/self->connp/ -{ - self->faddr = 0; - self->laddr = 0; - self->fport = 0; - self->lport = 0; - self->connp = 0; - self->name = 0; - self->pid = 0; - self->uid = 0; -} - -/* - * TCP Clear r/w variables - */ -fbt:ip:tcp_send_data:entry, -fbt:ip:tcp_rput_data:entry -{ - self->ok = 0; - self->dir = 0; - self->uid = 0; - self->pid = 0; - self->size = 0; - self->name = 0; - self->lport = 0; - self->fport = 0; - self->laddr = 0; - self->faddr = 0; - self->conn_p = 0; -} diff --git a/cddl/contrib/dtracetoolkit/Net/tcpstat.d b/cddl/contrib/dtracetoolkit/Net/tcpstat.d deleted file mode 100755 index 1fe40040c6d1..000000000000 --- a/cddl/contrib/dtracetoolkit/Net/tcpstat.d +++ /dev/null @@ -1,91 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * tcpstat.d - print TCP statistics. Uses DTrace. - * - * This prints TCP statistics every second, retrieved from the MIB provider. - * - * $Id: tcpstat.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: tcpstat.d - * - * FIELDS: - * TCP_out TCP bytes sent - * TCP_outRe TCP bytes retransmitted - * TCP_in TCP bytes received - * TCP_inDup TCP bytes received duplicated - * TCP_inUn TCP bytes received out of order - * - * The above TCP statistics are documented in the mib2_tcp struct - * in the /usr/include/inet/mib2.h file; and also in the mib provider - * chapter of the DTrace Guide, http://docs.sun.com/db/doc/817-6223. - * - * COPYRIGHT: Copyright (c) 2005 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 15-May-2005 Brendan Gregg Created this. - * 15-May-2005 " " Last update. - */ - -#pragma D option quiet - -/* - * Declare Globals - */ -dtrace:::BEGIN -{ - TCP_out = 0; TCP_outRe = 0; - TCP_in = 0; TCP_inDup = 0; TCP_inUn = 0; - LINES = 20; line = 0; -} - -/* - * Print Header - */ -profile:::tick-1sec { line--; } - -profile:::tick-1sec -/line <= 0 / -{ - printf("%11s %11s %11s %11s %11s\n", - "TCP_out", "TCP_outRe", "TCP_in", "TCP_inDup", "TCP_inUn"); - - line = LINES; -} - -/* - * Save Data - */ -mib:::tcpOutDataBytes { TCP_out += arg0; } -mib:::tcpRetransBytes { TCP_outRe += arg0; } -mib:::tcpInDataInorderBytes { TCP_in += arg0; } -mib:::tcpInDataDupBytes { TCP_inDup += arg0; } -mib:::tcpInDataUnorderBytes { TCP_inUn += arg0; } - -/* - * Print Output - */ -profile:::tick-1sec -{ - printf("%11d %11d %11d %11d %11d\n", - TCP_out, TCP_outRe, TCP_in, TCP_inDup, TCP_inUn); - - /* clear values */ - TCP_out = 0; - TCP_outRe = 0; - TCP_in = 0; - TCP_inDup = 0; - TCP_inUn = 0; -} diff --git a/cddl/contrib/dtracetoolkit/Net/tcptop b/cddl/contrib/dtracetoolkit/Net/tcptop deleted file mode 100755 index 70b6e6f3176e..000000000000 --- a/cddl/contrib/dtracetoolkit/Net/tcptop +++ /dev/null @@ -1,579 +0,0 @@ -#!/usr/bin/ksh -# -# tcptop - display top TCP network packets by process. -# Written using DTrace (Solaris 10 3/05) -# -# This analyses TCP network packets and prints the responsible PID and UID, -# plus standard details such as IP address and port. This captures traffic -# of newly created TCP connections that were established while this program -# was running. It can help identify which processes is causing TCP traffic. -# -# WARNING: This script may only work on Solaris 10 3/05, since it uses the -# fbt provider to trace the raw operation of a specific version of the kernel. -# In the future, a 'stable' network provider should exist which will allow -# this to be written for that and subsequent versions of the kernel. In the -# meantime, check for other versions of this script in the /Net directory, -# and read the Notes/ALLfbt_notes.txt for more background on fbt. -# -# $Id: tcptop 69 2007-10-04 13:40:00Z brendan $ -# -# USAGE: tcptop [-Ch] [-j|-Z] [interval [count]] -# -# -C # don't clear the screen -# -j # print project IDs -# -Z # print zone IDs -# -# FIELDS: -# UID user ID -# PID process ID -# CMD command -# LADDR local IP address -# RADDR remote IP address -# LPORT local port number -# RPORT remote port number -# SIZE packet size, bytes -# load 1 min load average -# TCPin TCP inbound payload data -# TCPout TCP outbound payload data -# ZONE zone ID -# PROJ project ID -# -# SEE ALSO: tcpsnoop -# -# COPYRIGHT: Copyright (c) 2005, 2006 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# Author: Brendan Gregg [Sydney, Australia] -# -# ToDo: IPv6 -# -# 05-Jul-2005 Brendan Gregg Created this. -# 03-Dec-2005 " " Fixed tcp_accept_finish bug, now 100% correct -# execname. Thanks Kias Belgaied for expertise. -# 20-Apr-2006 " " Fixed SS_TCP_FAST_ACCEPT bug in build 31+. -# 20-Apr-2006 " " Last update. -# - -############################## -# --- Process Arguments --- -# - -### default variables -opt_def=1; opt_clear=1; opt_zone=0; opt_proj=0; interval=5; count=-1 - -### process options -while getopts ChjZ name -do - case $name in - C) opt_clear=0 ;; - j) opt_proj=1; opt_def=0 ;; - Z) opt_zone=1; opt_def=0 ;; - h|?) cat <<-END >&2 - USAGE: tcptop [-h] [-j|-Z] [interval [count]] - tcptop # default output - -C # don't clear the screen - -j # print project ID - -Z # print zonename - eg, - tcptop # default is 5 sec interval - tcptop 2 # 2 second interval - tcptop -C 1 10 # 10 x 1 sec samples, no clear - END - exit 1 - esac -done -shift $(( $OPTIND - 1 )) - -### option logic -if [[ "$1" > 0 ]]; then - interval=$1; shift -fi -if [[ "$1" > 0 ]]; then - count=$1; shift -fi -if (( opt_proj && opt_zone )); then - opt_proj=0 -fi -if (( opt_clear )); then - clearstr=`clear` -else - clearstr=. -fi - -################################# -# --- Main Program, DTrace --- -# -/usr/sbin/dtrace -Cs <( print -r ' - /* - * Command line arguments - */ - inline int OPT_def = '$opt_def'; - inline int OPT_zone = '$opt_zone'; - inline int OPT_proj = '$opt_proj'; - inline int OPT_clear = '$opt_clear'; - inline int INTERVAL = '$interval'; - inline int COUNTER = '$count'; - inline string CLEAR = "'$clearstr'"; - -#pragma D option quiet -#pragma D option switchrate=10hz - -#include -#include -#include -#include -#include - -/* - * Print header - */ -dtrace:::BEGIN -{ - /* starting values */ - counts = COUNTER; - secs = INTERVAL; - TCP_out = 0; - TCP_in = 0; - - printf("Tracing... Please wait.\n"); -} - -/* - * TCP Process inbound connections - * - * 0x00200000 has been hardcoded. It was SS_TCP_FAST_ACCEPT, but was - * renamed to SS_DIRECT around build 31. - */ -fbt:sockfs:sotpi_accept:entry -/(arg1 & FREAD) && (arg1 & FWRITE) && (args[0]->so_state & 0x00200000)/ -{ - self->sop = args[0]; -} - -fbt:sockfs:sotpi_create:return -/self->sop/ -{ - self->nsop = (struct sonode *)arg1; -} - -fbt:sockfs:sotpi_accept:return -/self->nsop/ -{ - this->tcpp = (tcp_t *)self->nsop->so_priv; - self->connp = (conn_t *)this->tcpp->tcp_connp; - tname[(int)self->connp] = execname; - tpid[(int)self->connp] = pid; - tuid[(int)self->connp] = uid; -} - -fbt:sockfs:sotpi_accept:return -{ - self->nsop = 0; - self->sop = 0; -} - -/* - * TCP Process outbound connections - */ -fbt:ip:tcp_connect:entry -{ - this->tcpp = (tcp_t *)arg0; - self->connp = (conn_t *)this->tcpp->tcp_connp; - tname[(int)self->connp] = execname; - tpid[(int)self->connp] = pid; - tuid[(int)self->connp] = uid; - OPT_proj ? tproj[(int)self->connp] = curpsinfo->pr_projid : 1; -} - -/* - * TCP Data translations - */ -fbt:sockfs:sotpi_accept:return, -fbt:ip:tcp_connect:return -/self->connp/ -{ - /* fetch ports */ -#if defined(_BIG_ENDIAN) - self->lport = self->connp->u_port.tcpu_ports.tcpu_lport; - self->fport = self->connp->u_port.tcpu_ports.tcpu_fport; -#else - self->lport = BSWAP_16(self->connp->u_port.tcpu_ports.tcpu_lport); - self->fport = BSWAP_16(self->connp->u_port.tcpu_ports.tcpu_fport); -#endif - - /* fetch IPv4 addresses */ - this->fad12 = - (int)self->connp->connua_v6addr.connua_faddr._S6_un._S6_u8[12]; - this->fad13 = - (int)self->connp->connua_v6addr.connua_faddr._S6_un._S6_u8[13]; - this->fad14 = - (int)self->connp->connua_v6addr.connua_faddr._S6_un._S6_u8[14]; - this->fad15 = - (int)self->connp->connua_v6addr.connua_faddr._S6_un._S6_u8[15]; - this->lad12 = - (int)self->connp->connua_v6addr.connua_laddr._S6_un._S6_u8[12]; - this->lad13 = - (int)self->connp->connua_v6addr.connua_laddr._S6_un._S6_u8[13]; - this->lad14 = - (int)self->connp->connua_v6addr.connua_laddr._S6_un._S6_u8[14]; - this->lad15 = - (int)self->connp->connua_v6addr.connua_laddr._S6_un._S6_u8[15]; - - /* convert type for use with lltostr() */ - this->fad12 = this->fad12 < 0 ? 256 + this->fad12 : this->fad12; - this->fad13 = this->fad13 < 0 ? 256 + this->fad13 : this->fad13; - this->fad14 = this->fad14 < 0 ? 256 + this->fad14 : this->fad14; - this->fad15 = this->fad15 < 0 ? 256 + this->fad15 : this->fad15; - this->lad12 = this->lad12 < 0 ? 256 + this->lad12 : this->lad12; - this->lad13 = this->lad13 < 0 ? 256 + this->lad13 : this->lad13; - this->lad14 = this->lad14 < 0 ? 256 + this->lad14 : this->lad14; - this->lad15 = this->lad15 < 0 ? 256 + this->lad15 : this->lad15; - - /* stringify addresses */ - self->faddr = strjoin(lltostr(this->fad12), "."); - self->faddr = strjoin(self->faddr, strjoin(lltostr(this->fad13), ".")); - self->faddr = strjoin(self->faddr, strjoin(lltostr(this->fad14), ".")); - self->faddr = strjoin(self->faddr, lltostr(this->fad15 + 0)); - self->laddr = strjoin(lltostr(this->lad12), "."); - self->laddr = strjoin(self->laddr, strjoin(lltostr(this->lad13), ".")); - self->laddr = strjoin(self->laddr, strjoin(lltostr(this->lad14), ".")); - self->laddr = strjoin(self->laddr, lltostr(this->lad15 + 0)); - - /* fix direction and save values */ - tladdr[(int)self->connp] = self->laddr; - tfaddr[(int)self->connp] = self->faddr; - tlport[(int)self->connp] = self->lport; - tfport[(int)self->connp] = self->fport; - - /* all systems go */ - tok[(int)self->connp] = 1; -} - -/* - * TCP Clear connp - */ -fbt:ip:tcp_get_conn:return -{ - /* Q_TO_CONN */ - this->connp = (conn_t *)arg1; - tok[(int)this->connp] = 0; - tpid[(int)this->connp] = 0; - tuid[(int)this->connp] = 0; - tname[(int)this->connp] = 0; - tproj[(int)this->connp] = 0; -} - -/* - * TCP Process "port closed" - */ -fbt:ip:tcp_xmit_early_reset:entry -{ - this->queuep = (queue_t *)`tcp_g_q; /* ` */ - this->connp = (conn_t *)this->queuep->q_ptr; - this->tcpp = (tcp_t *)this->connp->conn_tcp; - self->zoneid = this->connp->conn_zoneid; - - /* split addresses */ - this->ipha = (ipha_t *)args[1]->b_rptr; - this->fad15 = (this->ipha->ipha_src & 0xff000000) >> 24; - this->fad14 = (this->ipha->ipha_src & 0x00ff0000) >> 16; - this->fad13 = (this->ipha->ipha_src & 0x0000ff00) >> 8; - this->fad12 = (this->ipha->ipha_src & 0x000000ff); - this->lad15 = (this->ipha->ipha_dst & 0xff000000) >> 24; - this->lad14 = (this->ipha->ipha_dst & 0x00ff0000) >> 16; - this->lad13 = (this->ipha->ipha_dst & 0x0000ff00) >> 8; - this->lad12 = (this->ipha->ipha_dst & 0x000000ff); - - /* stringify addresses */ - self->faddr = strjoin(lltostr(this->fad12), "."); - self->faddr = strjoin(self->faddr, strjoin(lltostr(this->fad13), ".")); - self->faddr = strjoin(self->faddr, strjoin(lltostr(this->fad14), ".")); - self->faddr = strjoin(self->faddr, lltostr(this->fad15 + 0)); - self->laddr = strjoin(lltostr(this->lad12), "."); - self->laddr = strjoin(self->laddr, strjoin(lltostr(this->lad13), ".")); - self->laddr = strjoin(self->laddr, strjoin(lltostr(this->lad14), ".")); - self->laddr = strjoin(self->laddr, lltostr(this->lad15 + 0)); - - self->reset = 1; -} - -/* - * TCP Fetch "port closed" ports - */ -fbt:ip:tcp_xchg:entry -/self->reset/ -{ -#if defined(_BIG_ENDIAN) - self->lport = (uint16_t)arg0; - self->fport = (uint16_t)arg1; -#else - self->lport = BSWAP_16((uint16_t)arg0); - self->fport = BSWAP_16((uint16_t)arg1); -#endif - self->lport = BE16_TO_U16(arg0); - self->fport = BE16_TO_U16(arg1); -} - -/* - * TCP Print "port closed" - */ -fbt:ip:tcp_xmit_early_reset:return -{ - self->name = ""; - self->pid = 0; - self->uid = 0; - self->proj = 0; - self->size = 54 * 2; /* should check trailers */ - OPT_def ? @out[self->uid, self->pid, self->laddr, self->lport, - self->faddr, self->fport, self->name] = sum(self->size) : 1; - OPT_zone ? @out[self->zoneid, self->pid, self->laddr, self->lport, - self->faddr, self->fport, self->name] = sum(self->size) : 1; - OPT_proj ? @out[self->proj, self->pid, self->laddr, self->lport, - self->faddr, self->fport, self->name] = sum(self->size) : 1; - self->reset = 0; - self->size = 0; - self->name = 0; -} - -/* - * TCP Process Write - */ -fbt:ip:tcp_send_data:entry -{ - self->conn_p = (conn_t *)args[0]->tcp_connp; -} - -fbt:ip:tcp_send_data:entry -/tok[(int)self->conn_p]/ -{ - self->size = msgdsize(args[2]) + 14; /* should check trailers */ - self->uid = tuid[(int)self->conn_p]; - self->laddr = tladdr[(int)self->conn_p]; - self->faddr = tfaddr[(int)self->conn_p]; - self->lport = tlport[(int)self->conn_p]; - self->fport = tfport[(int)self->conn_p]; - OPT_proj ? self->proj = tproj[(int)self->conn_p] : 1; - self->zoneid = self->conn_p->conn_zoneid; - self->ok = 2; - - /* follow inetd -> in.* transitions */ - self->name = pid && (tname[(int)self->conn_p] == "inetd") ? - execname : tname[(int)self->conn_p]; - self->pid = pid && (tname[(int)self->conn_p] == "inetd") ? - pid : tpid[(int)self->conn_p]; - tname[(int)self->conn_p] = self->name; - tpid[(int)self->conn_p] = self->pid; -} - -/* - * TCP Process Read - */ -fbt:ip:tcp_rput_data:entry -{ - self->conn_p = (conn_t *)arg0; - self->size = msgdsize(args[1]) + 14; /* should check trailers */ -} - -fbt:ip:tcp_rput_data:entry -/tok[(int)self->conn_p]/ -{ - self->uid = tuid[(int)self->conn_p]; - self->laddr = tladdr[(int)self->conn_p]; - self->faddr = tfaddr[(int)self->conn_p]; - self->lport = tlport[(int)self->conn_p]; - self->fport = tfport[(int)self->conn_p]; - OPT_proj ? self->proj = tproj[(int)self->conn_p] : 1; - self->zoneid = self->conn_p->conn_zoneid; - self->ok = 2; - - /* follow inetd -> in.* transitions */ - self->name = pid && (tname[(int)self->conn_p] == "inetd") ? - execname : tname[(int)self->conn_p]; - self->pid = pid && (tname[(int)self->conn_p] == "inetd") ? - pid : tpid[(int)self->conn_p]; - tname[(int)self->conn_p] = self->name; - tpid[(int)self->conn_p] = self->pid; -} - -/* - * TCP Complete printing outbound handshake - */ -fbt:ip:tcp_connect:return -/self->connp/ -{ - self->name = tname[(int)self->connp]; - self->pid = tpid[(int)self->connp]; - self->uid = tuid[(int)self->connp]; - self->zoneid = self->connp->conn_zoneid; - OPT_proj ? self->proj = tproj[(int)self->connp] : 1; - self->size = 54; /* should check trailers */ - - /* this packet occured before connp was fully established */ - OPT_def ? @out[self->uid, self->pid, self->laddr, self->lport, - self->faddr, self->fport, self->name] = sum(self->size) : 1; - OPT_zone ? @out[self->zoneid, self->pid, self->laddr, self->lport, - self->faddr, self->fport, self->name] = sum(self->size) : 1; - OPT_proj ? @out[self->proj, self->pid, self->laddr, self->lport, - self->faddr, self->fport, self->name] = sum(self->size) : 1; -} - -/* - * TCP Complete printing inbound handshake - */ -fbt:sockfs:sotpi_accept:return -/self->connp/ -{ - self->name = tname[(int)self->connp]; - self->pid = tpid[(int)self->connp]; - self->uid = tuid[(int)self->connp]; - self->zoneid = self->connp->conn_zoneid; - OPT_proj ? self->proj = tproj[(int)self->connp] : 1; - self->size = 54 * 3; /* should check trailers */ - - /* these packets occured before connp was fully established */ - OPT_def ? @out[self->uid, self->pid, self->laddr, self->lport, - self->faddr, self->fport, self->name] = sum(self->size) : 1; - OPT_zone ? @out[self->zoneid, self->pid, self->laddr, self->lport, - self->faddr, self->fport, self->name] = sum(self->size) : 1; - OPT_proj ? @out[self->proj, self->pid, self->laddr, self->lport, - self->faddr, self->fport, self->name] = sum(self->size) : 1; -} - -/* - * TCP Save data - */ -fbt:ip:tcp_send_data:entry, -fbt:ip:tcp_rput_data:entry -/self->ok == 2/ -{ - /* save r+w data*/ - OPT_def ? @out[self->uid, self->pid, self->laddr, self->lport, - self->faddr, self->fport, self->name] = sum(self->size) : 1; - OPT_zone ? @out[self->zoneid, self->pid, self->laddr, self->lport, - self->faddr, self->fport, self->name] = sum(self->size) : 1; - OPT_proj ? @out[self->proj, self->pid, self->laddr, self->lport, - self->faddr, self->fport, self->name] = sum(self->size) : 1; -} - -/* - * TCP Clear connect variables - */ -fbt:sockfs:sotpi_accept:return, -fbt:ip:tcp_connect:return -/self->connp/ -{ - self->faddr = 0; - self->laddr = 0; - self->fport = 0; - self->lport = 0; - self->connp = 0; - self->name = 0; - self->pid = 0; - self->uid = 0; -} - -/* - * TCP Clear r/w variables - */ -fbt:ip:tcp_send_data:entry, -fbt:ip:tcp_rput_data:entry -{ - self->ok = 0; - self->uid = 0; - self->pid = 0; - self->size = 0; - self->name = 0; - self->lport = 0; - self->fport = 0; - self->laddr = 0; - self->faddr = 0; - self->conn_p = 0; - self->zoneid = 0; - self->proj = 0; -} - -/* - * TCP Systemwide Stats - */ -mib:::tcpOutDataBytes { TCP_out += args[0]; } -mib:::tcpRetransBytes { TCP_out += args[0]; } -mib:::tcpInDataInorderBytes { TCP_in += args[0]; } -mib:::tcpInDataDupBytes { TCP_in += args[0]; } -mib:::tcpInDataUnorderBytes { TCP_in += args[0]; } - -/* - * Timer - */ -profile:::tick-1sec -{ - secs--; -} - -/* - * Print Report - */ -profile:::tick-1sec -/secs == 0/ -{ - /* fetch 1 min load average */ - this->load1a = `hp_avenrun[0] / 65536; - this->load1b = ((`hp_avenrun[0] % 65536) * 100) / 65536; - - /* convert TCP counters to Kbytes */ - TCP_out /= 1024; - TCP_in /= 1024; - - /* print status */ - OPT_clear ? printf("%s", CLEAR) : 1; - printf("%Y, load: %d.%02d, TCPin: %6d KB, TCPout: %6d KB\n\n", - walltimestamp, this->load1a, this->load1b, TCP_in, TCP_out); - - /* print headers */ - OPT_def ? printf(" UID ") : 1; - OPT_proj ? printf("PROJ ") : 1; - OPT_zone ? printf("ZONE ") : 1; - printf("%6s %-15s %5s %-15s %5s %9s %s\n", - "PID", "LADDR", "LPORT", "RADDR", "RPORT", "SIZE", "NAME"); - - /* print data */ - printa("%4d %6d %-15s %5d %-15s %5d %@9d %s\n", @out); - printf("\n"); - - /* clear data */ - trunc(@out); - TCP_in = 0; - TCP_out = 0; - secs = INTERVAL; - counts--; -} - -/* - * End of program - */ -profile:::tick-1sec -/counts == 0/ -{ - exit(0); -} - -/* - * Cleanup for Ctrl-C - */ -dtrace:::END -{ - trunc(@out); -} -') diff --git a/cddl/contrib/dtracetoolkit/Net/tcptop_snv b/cddl/contrib/dtracetoolkit/Net/tcptop_snv deleted file mode 100755 index 56714e3c01f4..000000000000 --- a/cddl/contrib/dtracetoolkit/Net/tcptop_snv +++ /dev/null @@ -1,581 +0,0 @@ -#!/usr/bin/ksh -# -# tcptop_snv - display top TCP network packets by process. -# Written using DTrace (Solaris Nevada) -# -# This analyses TCP network packets and prints the responsible PID and UID, -# plus standard details such as IP address and port. This captures traffic -# of newly created TCP connections that were established while this program -# was running. It can help identify which processes is causing TCP traffic. -# -# WARNING: This script may only work on Solaris Nevada and OpenSolaris -# of the late 2007 vintage, since it uses the fbt provider to trace the raw -# operation of a specific version of the kernel. In the future, a 'stable' -# network provider should exist which will allow this to be written for that -# and subsequent versions of the kernel. In the meantime, check for other -# versions of this script in the /Net directory, and read the -# Notes/ALLfbt_notes.txt for more background on fbt. -# -# $Id: tcptop_snv 69 2007-10-04 13:40:00Z brendan $ -# -# USAGE: tcptop [-Ch] [-j|-Z] [interval [count]] -# -# -C # don't clear the screen -# -j # print project IDs -# -Z # print zone IDs -# -# FIELDS: -# UID user ID -# PID process ID -# CMD command -# LADDR local IP address -# RADDR remote IP address -# LPORT local port number -# RPORT remote port number -# SIZE packet size, bytes -# load 1 min load average -# TCPin TCP inbound payload data -# TCPout TCP outbound payload data -# ZONE zone ID -# PROJ project ID -# -# SEE ALSO: tcpsnoop -# -# COPYRIGHT: Copyright (c) 2005, 2006 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# Author: Brendan Gregg [Sydney, Australia] -# -# ToDo: IPv6 -# -# 05-Jul-2005 Brendan Gregg Created this. -# 03-Dec-2005 " " Fixed tcp_accept_finish bug, now 100% correct -# execname. Thanks Kias Belgaied for expertise. -# 20-Apr-2006 " " Fixed SS_TCP_FAST_ACCEPT bug in build 31+. -# 20-Apr-2006 " " Last update. -# 30-Sep-2007 " " Bumped this for recent OpenSolaris/Nevada. -# - -############################## -# --- Process Arguments --- -# - -### default variables -opt_def=1; opt_clear=1; opt_zone=0; opt_proj=0; interval=5; count=-1 - -### process options -while getopts ChjZ name -do - case $name in - C) opt_clear=0 ;; - j) opt_proj=1; opt_def=0 ;; - Z) opt_zone=1; opt_def=0 ;; - h|?) cat <<-END >&2 - USAGE: tcptop [-h] [-j|-Z] [interval [count]] - tcptop # default output - -C # don't clear the screen - -j # print project ID - -Z # print zonename - eg, - tcptop # default is 5 sec interval - tcptop 2 # 2 second interval - tcptop -C 1 10 # 10 x 1 sec samples, no clear - END - exit 1 - esac -done -shift $(( $OPTIND - 1 )) - -### option logic -if [[ "$1" > 0 ]]; then - interval=$1; shift -fi -if [[ "$1" > 0 ]]; then - count=$1; shift -fi -if (( opt_proj && opt_zone )); then - opt_proj=0 -fi -if (( opt_clear )); then - clearstr=`clear` -else - clearstr=. -fi - -################################# -# --- Main Program, DTrace --- -# -/usr/sbin/dtrace -Cs <( print -r ' - /* - * Command line arguments - */ - inline int OPT_def = '$opt_def'; - inline int OPT_zone = '$opt_zone'; - inline int OPT_proj = '$opt_proj'; - inline int OPT_clear = '$opt_clear'; - inline int INTERVAL = '$interval'; - inline int COUNTER = '$count'; - inline string CLEAR = "'$clearstr'"; - -#pragma D option quiet -#pragma D option switchrate=10hz - -#include -#include -#include -#include -#include - -/* - * Print header - */ -dtrace:::BEGIN -{ - /* starting values */ - counts = COUNTER; - secs = INTERVAL; - TCP_out = 0; - TCP_in = 0; - - printf("Tracing... Please wait.\n"); -} - -/* - * TCP Process inbound connections - * - * 0x00200000 has been hardcoded. It was SS_TCP_FAST_ACCEPT, but was - * renamed to SS_DIRECT around build 31. - */ -fbt:sockfs:sotpi_accept:entry -/(arg1 & FREAD) && (arg1 & FWRITE) && (args[0]->so_state & 0x00200000)/ -{ - self->sop = args[0]; -} - -fbt:sockfs:sotpi_create:return -/self->sop/ -{ - self->nsop = (struct sonode *)arg1; -} - -fbt:sockfs:sotpi_accept:return -/self->nsop/ -{ - this->tcpp = (tcp_t *)self->nsop->so_priv; - self->connp = (conn_t *)this->tcpp->tcp_connp; - tname[(int)self->connp] = execname; - tpid[(int)self->connp] = pid; - tuid[(int)self->connp] = uid; -} - -fbt:sockfs:sotpi_accept:return -{ - self->nsop = 0; - self->sop = 0; -} - -/* - * TCP Process outbound connections - */ -fbt:ip:tcp_connect:entry -{ - this->tcpp = (tcp_t *)arg0; - self->connp = (conn_t *)this->tcpp->tcp_connp; - tname[(int)self->connp] = execname; - tpid[(int)self->connp] = pid; - tuid[(int)self->connp] = uid; - OPT_proj ? tproj[(int)self->connp] = curpsinfo->pr_projid : 1; -} - -/* - * TCP Data translations - */ -fbt:sockfs:sotpi_accept:return, -fbt:ip:tcp_connect:return -/self->connp/ -{ - /* fetch ports */ -#if defined(_BIG_ENDIAN) - self->lport = self->connp->u_port.tcpu_ports.tcpu_lport; - self->fport = self->connp->u_port.tcpu_ports.tcpu_fport; -#else - self->lport = BSWAP_16(self->connp->u_port.tcpu_ports.tcpu_lport); - self->fport = BSWAP_16(self->connp->u_port.tcpu_ports.tcpu_fport); -#endif - - /* fetch IPv4 addresses */ - this->fad12 = - (int)self->connp->connua_v6addr.connua_faddr._S6_un._S6_u8[12]; - this->fad13 = - (int)self->connp->connua_v6addr.connua_faddr._S6_un._S6_u8[13]; - this->fad14 = - (int)self->connp->connua_v6addr.connua_faddr._S6_un._S6_u8[14]; - this->fad15 = - (int)self->connp->connua_v6addr.connua_faddr._S6_un._S6_u8[15]; - this->lad12 = - (int)self->connp->connua_v6addr.connua_laddr._S6_un._S6_u8[12]; - this->lad13 = - (int)self->connp->connua_v6addr.connua_laddr._S6_un._S6_u8[13]; - this->lad14 = - (int)self->connp->connua_v6addr.connua_laddr._S6_un._S6_u8[14]; - this->lad15 = - (int)self->connp->connua_v6addr.connua_laddr._S6_un._S6_u8[15]; - - /* convert type for use with lltostr() */ - this->fad12 = this->fad12 < 0 ? 256 + this->fad12 : this->fad12; - this->fad13 = this->fad13 < 0 ? 256 + this->fad13 : this->fad13; - this->fad14 = this->fad14 < 0 ? 256 + this->fad14 : this->fad14; - this->fad15 = this->fad15 < 0 ? 256 + this->fad15 : this->fad15; - this->lad12 = this->lad12 < 0 ? 256 + this->lad12 : this->lad12; - this->lad13 = this->lad13 < 0 ? 256 + this->lad13 : this->lad13; - this->lad14 = this->lad14 < 0 ? 256 + this->lad14 : this->lad14; - this->lad15 = this->lad15 < 0 ? 256 + this->lad15 : this->lad15; - - /* stringify addresses */ - self->faddr = strjoin(lltostr(this->fad12), "."); - self->faddr = strjoin(self->faddr, strjoin(lltostr(this->fad13), ".")); - self->faddr = strjoin(self->faddr, strjoin(lltostr(this->fad14), ".")); - self->faddr = strjoin(self->faddr, lltostr(this->fad15 + 0)); - self->laddr = strjoin(lltostr(this->lad12), "."); - self->laddr = strjoin(self->laddr, strjoin(lltostr(this->lad13), ".")); - self->laddr = strjoin(self->laddr, strjoin(lltostr(this->lad14), ".")); - self->laddr = strjoin(self->laddr, lltostr(this->lad15 + 0)); - - /* fix direction and save values */ - tladdr[(int)self->connp] = self->laddr; - tfaddr[(int)self->connp] = self->faddr; - tlport[(int)self->connp] = self->lport; - tfport[(int)self->connp] = self->fport; - - /* all systems go */ - tok[(int)self->connp] = 1; -} - -/* - * TCP Clear connp - */ -fbt:ip:tcp_get_conn:return -{ - /* Q_TO_CONN */ - this->connp = (conn_t *)arg1; - tok[(int)this->connp] = 0; - tpid[(int)this->connp] = 0; - tuid[(int)this->connp] = 0; - tname[(int)this->connp] = 0; - tproj[(int)this->connp] = 0; -} - -/* - * TCP Process "port closed" - */ -fbt:ip:tcp_xmit_early_reset:entry -{ - this->queuep = args[7]->tcps_g_q; - this->connp = (conn_t *)this->queuep->q_ptr; - this->tcpp = (tcp_t *)this->connp->conn_tcp; - self->zoneid = this->connp->conn_zoneid; - - /* split addresses */ - this->ipha = (ipha_t *)args[1]->b_rptr; - this->fad15 = (this->ipha->ipha_src & 0xff000000) >> 24; - this->fad14 = (this->ipha->ipha_src & 0x00ff0000) >> 16; - this->fad13 = (this->ipha->ipha_src & 0x0000ff00) >> 8; - this->fad12 = (this->ipha->ipha_src & 0x000000ff); - this->lad15 = (this->ipha->ipha_dst & 0xff000000) >> 24; - this->lad14 = (this->ipha->ipha_dst & 0x00ff0000) >> 16; - this->lad13 = (this->ipha->ipha_dst & 0x0000ff00) >> 8; - this->lad12 = (this->ipha->ipha_dst & 0x000000ff); - - /* stringify addresses */ - self->faddr = strjoin(lltostr(this->fad12), "."); - self->faddr = strjoin(self->faddr, strjoin(lltostr(this->fad13), ".")); - self->faddr = strjoin(self->faddr, strjoin(lltostr(this->fad14), ".")); - self->faddr = strjoin(self->faddr, lltostr(this->fad15 + 0)); - self->laddr = strjoin(lltostr(this->lad12), "."); - self->laddr = strjoin(self->laddr, strjoin(lltostr(this->lad13), ".")); - self->laddr = strjoin(self->laddr, strjoin(lltostr(this->lad14), ".")); - self->laddr = strjoin(self->laddr, lltostr(this->lad15 + 0)); - - self->reset = 1; -} - -/* - * TCP Fetch "port closed" ports - */ -fbt:ip:tcp_xchg:entry -/self->reset/ -{ -#if defined(_BIG_ENDIAN) - self->lport = (uint16_t)arg0; - self->fport = (uint16_t)arg1; -#else - self->lport = BSWAP_16((uint16_t)arg0); - self->fport = BSWAP_16((uint16_t)arg1); -#endif - self->lport = BE16_TO_U16(arg0); - self->fport = BE16_TO_U16(arg1); -} - -/* - * TCP Print "port closed" - */ -fbt:ip:tcp_xmit_early_reset:return -{ - self->name = ""; - self->pid = 0; - self->uid = 0; - self->proj = 0; - self->size = 54 * 2; /* should check trailers */ - OPT_def ? @out[self->uid, self->pid, self->laddr, self->lport, - self->faddr, self->fport, self->name] = sum(self->size) : 1; - OPT_zone ? @out[self->zoneid, self->pid, self->laddr, self->lport, - self->faddr, self->fport, self->name] = sum(self->size) : 1; - OPT_proj ? @out[self->proj, self->pid, self->laddr, self->lport, - self->faddr, self->fport, self->name] = sum(self->size) : 1; - self->reset = 0; - self->size = 0; - self->name = 0; -} - -/* - * TCP Process Write - */ -fbt:ip:tcp_send_data:entry -{ - self->conn_p = (conn_t *)args[0]->tcp_connp; -} - -fbt:ip:tcp_send_data:entry -/tok[(int)self->conn_p]/ -{ - self->size = msgdsize(args[2]) + 14; /* should check trailers */ - self->uid = tuid[(int)self->conn_p]; - self->laddr = tladdr[(int)self->conn_p]; - self->faddr = tfaddr[(int)self->conn_p]; - self->lport = tlport[(int)self->conn_p]; - self->fport = tfport[(int)self->conn_p]; - OPT_proj ? self->proj = tproj[(int)self->conn_p] : 1; - self->zoneid = self->conn_p->conn_zoneid; - self->ok = 2; - - /* follow inetd -> in.* transitions */ - self->name = pid && (tname[(int)self->conn_p] == "inetd") ? - execname : tname[(int)self->conn_p]; - self->pid = pid && (tname[(int)self->conn_p] == "inetd") ? - pid : tpid[(int)self->conn_p]; - tname[(int)self->conn_p] = self->name; - tpid[(int)self->conn_p] = self->pid; -} - -/* - * TCP Process Read - */ -fbt:ip:tcp_rput_data:entry -{ - self->conn_p = (conn_t *)arg0; - self->size = msgdsize(args[1]) + 14; /* should check trailers */ -} - -fbt:ip:tcp_rput_data:entry -/tok[(int)self->conn_p]/ -{ - self->uid = tuid[(int)self->conn_p]; - self->laddr = tladdr[(int)self->conn_p]; - self->faddr = tfaddr[(int)self->conn_p]; - self->lport = tlport[(int)self->conn_p]; - self->fport = tfport[(int)self->conn_p]; - OPT_proj ? self->proj = tproj[(int)self->conn_p] : 1; - self->zoneid = self->conn_p->conn_zoneid; - self->ok = 2; - - /* follow inetd -> in.* transitions */ - self->name = pid && (tname[(int)self->conn_p] == "inetd") ? - execname : tname[(int)self->conn_p]; - self->pid = pid && (tname[(int)self->conn_p] == "inetd") ? - pid : tpid[(int)self->conn_p]; - tname[(int)self->conn_p] = self->name; - tpid[(int)self->conn_p] = self->pid; -} - -/* - * TCP Complete printing outbound handshake - */ -fbt:ip:tcp_connect:return -/self->connp/ -{ - self->name = tname[(int)self->connp]; - self->pid = tpid[(int)self->connp]; - self->uid = tuid[(int)self->connp]; - self->zoneid = self->connp->conn_zoneid; - OPT_proj ? self->proj = tproj[(int)self->connp] : 1; - self->size = 54; /* should check trailers */ - - /* this packet occured before connp was fully established */ - OPT_def ? @out[self->uid, self->pid, self->laddr, self->lport, - self->faddr, self->fport, self->name] = sum(self->size) : 1; - OPT_zone ? @out[self->zoneid, self->pid, self->laddr, self->lport, - self->faddr, self->fport, self->name] = sum(self->size) : 1; - OPT_proj ? @out[self->proj, self->pid, self->laddr, self->lport, - self->faddr, self->fport, self->name] = sum(self->size) : 1; -} - -/* - * TCP Complete printing inbound handshake - */ -fbt:sockfs:sotpi_accept:return -/self->connp/ -{ - self->name = tname[(int)self->connp]; - self->pid = tpid[(int)self->connp]; - self->uid = tuid[(int)self->connp]; - self->zoneid = self->connp->conn_zoneid; - OPT_proj ? self->proj = tproj[(int)self->connp] : 1; - self->size = 54 * 3; /* should check trailers */ - - /* these packets occured before connp was fully established */ - OPT_def ? @out[self->uid, self->pid, self->laddr, self->lport, - self->faddr, self->fport, self->name] = sum(self->size) : 1; - OPT_zone ? @out[self->zoneid, self->pid, self->laddr, self->lport, - self->faddr, self->fport, self->name] = sum(self->size) : 1; - OPT_proj ? @out[self->proj, self->pid, self->laddr, self->lport, - self->faddr, self->fport, self->name] = sum(self->size) : 1; -} - -/* - * TCP Save data - */ -fbt:ip:tcp_send_data:entry, -fbt:ip:tcp_rput_data:entry -/self->ok == 2/ -{ - /* save r+w data*/ - OPT_def ? @out[self->uid, self->pid, self->laddr, self->lport, - self->faddr, self->fport, self->name] = sum(self->size) : 1; - OPT_zone ? @out[self->zoneid, self->pid, self->laddr, self->lport, - self->faddr, self->fport, self->name] = sum(self->size) : 1; - OPT_proj ? @out[self->proj, self->pid, self->laddr, self->lport, - self->faddr, self->fport, self->name] = sum(self->size) : 1; -} - -/* - * TCP Clear connect variables - */ -fbt:sockfs:sotpi_accept:return, -fbt:ip:tcp_connect:return -/self->connp/ -{ - self->faddr = 0; - self->laddr = 0; - self->fport = 0; - self->lport = 0; - self->connp = 0; - self->name = 0; - self->pid = 0; - self->uid = 0; -} - -/* - * TCP Clear r/w variables - */ -fbt:ip:tcp_send_data:entry, -fbt:ip:tcp_rput_data:entry -{ - self->ok = 0; - self->uid = 0; - self->pid = 0; - self->size = 0; - self->name = 0; - self->lport = 0; - self->fport = 0; - self->laddr = 0; - self->faddr = 0; - self->conn_p = 0; - self->zoneid = 0; - self->proj = 0; -} - -/* - * TCP Systemwide Stats - */ -mib:::tcpOutDataBytes { TCP_out += args[0]; } -mib:::tcpRetransBytes { TCP_out += args[0]; } -mib:::tcpInDataInorderBytes { TCP_in += args[0]; } -mib:::tcpInDataDupBytes { TCP_in += args[0]; } -mib:::tcpInDataUnorderBytes { TCP_in += args[0]; } - -/* - * Timer - */ -profile:::tick-1sec -{ - secs--; -} - -/* - * Print Report - */ -profile:::tick-1sec -/secs == 0/ -{ - /* fetch 1 min load average */ - this->load1a = `hp_avenrun[0] / 65536; - this->load1b = ((`hp_avenrun[0] % 65536) * 100) / 65536; - - /* convert TCP counters to Kbytes */ - TCP_out /= 1024; - TCP_in /= 1024; - - /* print status */ - OPT_clear ? printf("%s", CLEAR) : 1; - printf("%Y, load: %d.%02d, TCPin: %6d KB, TCPout: %6d KB\n\n", - walltimestamp, this->load1a, this->load1b, TCP_in, TCP_out); - - /* print headers */ - OPT_def ? printf(" UID ") : 1; - OPT_proj ? printf("PROJ ") : 1; - OPT_zone ? printf("ZONE ") : 1; - printf("%6s %-15s %5s %-15s %5s %9s %s\n", - "PID", "LADDR", "LPORT", "RADDR", "RPORT", "SIZE", "NAME"); - - /* print data */ - printa("%4d %6d %-15s %5d %-15s %5d %@9d %s\n", @out); - printf("\n"); - - /* clear data */ - trunc(@out); - TCP_in = 0; - TCP_out = 0; - secs = INTERVAL; - counts--; -} - -/* - * End of program - */ -profile:::tick-1sec -/counts == 0/ -{ - exit(0); -} - -/* - * Cleanup for Ctrl-C - */ -dtrace:::END -{ - trunc(@out); -} -') diff --git a/cddl/contrib/dtracetoolkit/Net/tcpwdist.d b/cddl/contrib/dtracetoolkit/Net/tcpwdist.d deleted file mode 100755 index 20753c182f60..000000000000 --- a/cddl/contrib/dtracetoolkit/Net/tcpwdist.d +++ /dev/null @@ -1,82 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * tcpwdist.d - simple TCP write distribution by process. - * Written in DTrace (Solaris 10 3/05). - * - * This measures the size of writes from applications to the TCP level, which - * may well be much larger than the MTU size (this is application writes not - * packet writes). It can help identify which process is creating network - * traffic, and the size of the writes by that application. It uses a simple - * probe that produces meaningful output for most protocols. - * - * Tracking TCP activity by process is complex for a number of reasons, - * the greatest is that inbound TCP traffic is asynchronous to the process. - * The easiest TCP traffic to match is writes, which this script demonstrates. - * However there are still issues - for an inbound telnet connection the - * writes are associated with the command, for example "ls -l", not something - * meaningful such as "in.telnetd". - * - * Scripts that match TCP traffic properly include tcpsnoop and tcptop. - * - * $Id: tcpwdist.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: tcpwdist.d # wait several seconds, then hit Ctrl-C - * - * FIELDS: - * PID process ID - * CMD command and argument list - * value TCP write payload size in bytes - * count number of writes - * - * SEE ALSO: tcpsnoop, tcptop - * - * COPYRIGHT: Copyright (c) 2005, 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Jul-2004 Brendan Gregg Created this. - * 14-Jun-2005 " " Rewrote this as tcpwdist.d. - * 20-Apr-2006 " " Last update. - */ - -#pragma D option quiet - -/* - * Print header - */ -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -/* - * Process TCP Write - */ -fbt:ip:tcp_output:entry -{ - /* fetch details */ - this->size = msgdsize(args[1]); - - /* store details */ - @Size[pid, curpsinfo->pr_psargs] = quantize(this->size); -} - -/* - * Print final report - */ -dtrace:::END -{ - printa(" PID: %-6d CMD: %S\n%@d\n", @Size); -} diff --git a/cddl/contrib/dtracetoolkit/Net/udpstat.d b/cddl/contrib/dtracetoolkit/Net/udpstat.d deleted file mode 100755 index 7b27e4ec0b89..000000000000 --- a/cddl/contrib/dtracetoolkit/Net/udpstat.d +++ /dev/null @@ -1,92 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * udpstat.d - print UDP statistics. Uses DTrace. - * - * This prints UDP statistics every second, retrieved from the MIB provider. - * - * $Id: udpstat.d 59 2007-10-03 08:21:58Z brendan $ - * - * USAGE: udpstat.d - * - * FIELDS: - * UDP_out UDP datagrams sent - * UDP_outErr UDP datagrams errored on send - * UDP_in UDP datagrams received - * UDP_inErr UDP datagrams undeliverable - * UDP_noPort UDP datagrams received to closed ports - * - * The above UDP statistics are documented in the mib2_udp struct - * in the /usr/include/inet/mib2.h file; and also in the mib provider - * chapter of the DTrace Guide, http://docs.sun.com/db/doc/817-6223. - * - * COPYRIGHT: Copyright (c) 2005 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 25-Jul-2005 Brendan Gregg Created this. - * 25-Jul-2005 " " Last update. - */ - -#pragma D option quiet - -/* - * Declare Globals - */ -dtrace:::BEGIN -{ - UDP_in = 0; UDP_out = 0; - UDP_inErr = 0; UDP_outErr = 0; UDP_noPort = 0; - LINES = 20; line = 0; -} - -/* - * Print Header - */ -profile:::tick-1sec { line--; } - -profile:::tick-1sec -/line <= 0 / -{ - printf("%11s %11s %11s %11s %11s\n", - "UDP_out", "UDP_outErr", "UDP_in", "UDP_inErr", "UDP_noPort"); - - line = LINES; -} - -/* - * Save Data - */ -mib:::udp*InDatagrams { UDP_in += arg0; } -mib:::udp*OutDatagrams { UDP_out += arg0; } -mib:::udpInErrors { UDP_inErr += arg0; } -mib:::udpInCksumErrs { UDP_inErr += arg0; } -mib:::udpOutErrors { UDP_outErr += arg0; } -mib:::udpNoPorts { UDP_noPort += arg0; } - -/* - * Print Output - */ -profile:::tick-1sec -{ - printf("%11d %11d %11d %11d %11d\n", - UDP_out, UDP_outErr, UDP_in, UDP_inErr, UDP_noPort); - - /* clear values */ - UDP_out = 0; - UDP_outErr = 0; - UDP_in = 0; - UDP_inErr = 0; - UDP_noPort = 0; -} diff --git a/cddl/contrib/dtracetoolkit/Notes/ALLcolors_notes.txt b/cddl/contrib/dtracetoolkit/Notes/ALLcolors_notes.txt deleted file mode 100644 index bed6f9509b67..000000000000 --- a/cddl/contrib/dtracetoolkit/Notes/ALLcolors_notes.txt +++ /dev/null @@ -1,127 +0,0 @@ -************************************************************************** -* The following are additional notes on all programs that print a colorized -* ("colourised") output, *color*.d. -* -* $Id: ALLcolors_notes.txt 58 2007-10-01 13:36:29Z brendan $ -* -* COPYRIGHT: Copyright (c) 2007 Brendan Gregg. -************************************************************************** - -* The colors aren't working, I see rubbish characters - -Try using a terminal that supports colors, such as gnome-terminal or dtterm. - -The following text should test the spectrum of colors for your terminal. -Read this using "more" or "cat" (not "less" or "vim") to check if your -terminal will print colors, and what they will look like: - - Color Test String Dark Background - --------------------------------------------------------- - black color test color test - red color test color test - green color test color test - yellow color test color test - blue color test color test - magenta color test color test - cyan color test color test - white color test color test - -and now for a test of attributes: - - Color Bold Faint - --------------------------------------------------------- - black color test color test - red color test color test - green color test color test - yellow color test color test - blue color test color test - magenta color test color test - cyan color test color test - white color test color test - - -* Why so much green and violet in the toolkit scripts? - -As DTrace can examine the entire software stack, it is conceivable that -your script could print events from many different layers each with their -own color. Color scripts in the DTraceToolkit generally start by tracing -two layers, with extra layers added by the end user as needed (you). The -general plan is: - - Software Layer Example Provider Color - ------------------------------------------------------- - Dynamic Language perl violet - User Library pid:libperl blue - OS Library pid:libc cyan - System Calls syscall green - Kernel and Drivers fbt red - -How these colors will look will depend on your terminal software. Useful -variations can be made, for example using red/bold for kernel abstraction -providers (io, vminfo, ...); and red/faint for raw kernel tracing (fbt). - -The color examples in this toolkit usually trace the syscall and dynamic -language layers, hense the green and violet. - - -* I don't like the choosen terminal colors / your colors suck - -It should be easy to customize them by tweaking the script. I've tried -to use the following convention for declaring colors in D scripts: - - dtrace:::BEGIN - { - color_shell = "\033[2;35m"; /* violet, faint */ - color_line = "\033[1;35m"; /* violet, bold */ - color_syscall = "\033[2;32m"; /* green, faint */ - color_off = "\033[0m"; /* default */ - } - -That way, printf() statements can print these string variables to turn -on and off colors, as needed. These strings contain an escape sequence to -inform your terminal software to change the output color. Customizations -can be made by tweaking the variables; refer to documentation for your -terminal software to see what numbers will print what colors. - -For my terminal (dtterm), the numbers are (from dtterm(5)): - - Attributes - - 1 bold - 2 faint - - Forground colors - - 30 black - 31 red - 32 green - 33 yellow - 34 blue - 35 magenta - 36 cyan - 37 white - - Background colors - - 40 black - 41 red - ... etc, as above - - -* I'd like to use this colored output on a website. - -The easiest way would be to change the script to output HTML rather than -escape sequences. eg: - - dtrace:::BEGIN - { - color_shell = ""; /* violet, faint */ - color_line = ""; /* violet, bold */ - color_syscall = ""; /* green, faint */ - color_off = ""; /* default */ - } - -Other tweaks can be made to either print the output in a
 tagged block;
-or as seperate lines ending in 
along with changing the font to be -fixed width. - diff --git a/cddl/contrib/dtracetoolkit/Notes/ALLelapsed_notes.txt b/cddl/contrib/dtracetoolkit/Notes/ALLelapsed_notes.txt deleted file mode 100644 index 9e8f314feae2..000000000000 --- a/cddl/contrib/dtracetoolkit/Notes/ALLelapsed_notes.txt +++ /dev/null @@ -1,46 +0,0 @@ -************************************************************************** -* The following are notes for all scripts that measure elapsed time. -* -* $Id: ALLelapsed_notes.txt 44 2007-09-17 07:47:20Z brendan $ -* -* COPYRIGHT: Copyright (c) 2007 Brendan Gregg. -************************************************************************** - - -* What is "elapsed" time? - -Elapsed time is the absolute time from one point to another. This time -includes everything that happened between these points, including -off-CPU time due to other system events such as I/O, scheduling, -interrupts, etc. It also includes the small overheads of DTrace itself. - -Elapsed times are useful for identifying where latencies are, since -regardless of their nature (CPU, I/O, ...), they will be visible in -elapsed time. - -Since elapsed times don't filter out anything, they are suseptible to -"noise" - random system events that are unrelated to the analysis target. -For that reason, it may be best to take several measurements of elapsed -time and take the average (or run your workload several times and let -DTrace take the average). - -See Notes/ALLoncpu_notes.txt for a description of a different time -measurement, "on-CPU" time. - - -* How is "elapsed" time measured? - -In DTrace, the following template provides elapsed time as "this->elapsed", - - - { - self->start = timestamp; - } - - - { - this->elapsed = timestamp - self->start; - self->start = 0; - ... - } - diff --git a/cddl/contrib/dtracetoolkit/Notes/ALLexclusive_notes.txt b/cddl/contrib/dtracetoolkit/Notes/ALLexclusive_notes.txt deleted file mode 100644 index 7aeb9ffde84c..000000000000 --- a/cddl/contrib/dtracetoolkit/Notes/ALLexclusive_notes.txt +++ /dev/null @@ -1,78 +0,0 @@ -************************************************************************** -* Notes for all scripts that print exclusive function times (or method, -* or subroutine). -* -* $Id: ALLexclusive_notes.txt 45 2007-09-17 08:54:56Z brendan $ -* -* COPYRIGHT: Copyright (c) 2007 Brendan Gregg. -************************************************************************** - - -* What is "exclusive" function time? - -This is the time of function execution, from when the function begins to -when it completes, excluding the time spent executing any child function. - -Exclusive function time can be calculated like this, - - exclusive function time = time(function end) - time(function start) - - time(total child exclusive time) - -To do this, the DTrace script needs to keep trace of child function execution -time, so that it can be subtracted from the parent execution time. - -Consider this Bourne shell program, - 1 #!./sh - 2 - 3 func_c() - 4 { - 5 echo "Function C" - 6 sleep 1 - 7 } - 8 - 9 func_b() - 10 { - 11 echo "Function B" - 12 sleep 1 - 13 func_c - 14 } - 15 - 16 func_a() - 17 { - 18 echo "Function A" - 19 sleep 1 - 20 func_b - 21 } - 22 - 23 func_a - -func_a() calls func_b() which calls func_c(). Tracing the flow using -sh_flowtime.d shows, - -# ./sh_flowtime.d | cat -n - 1 C TIME(us) FILE DELTA(us) -- NAME - 2 0 3052991099265 func_abc.sh 2 -> func_a - 3 0 3052991099324 func_abc.sh 59 > echo - 4 0 3052992111638 func_abc.sh 1012314 | sleep - 5 0 3052992111678 func_abc.sh 39 -> func_b - 6 0 3052992111729 func_abc.sh 51 > echo - 7 0 3052993121633 func_abc.sh 1009903 | sleep - 8 0 3052993121693 func_abc.sh 60 -> func_c - 9 0 3052993121745 func_abc.sh 52 > echo - 10 0 3052994131634 func_abc.sh 1009888 | sleep - 11 0 3052994131685 func_abc.sh 50 <- func_c - 12 0 3052994131699 func_abc.sh 14 <- func_b - 13 0 3052994131707 func_abc.sh 7 <- func_a - -the output of DTrace was piped through "cat -n" to enumerate the lines. - -Exclusive function time for func_a() in the above output would be the -time from line 2 to line 13 minus the time from line 5 to 12 to subtract -the time spent in both func_b() and func_c(). Or, you could say that -exclusive time for func_a() is the time from lines 2 to 4. - -Looking back at the code, exclusive time for func_a() is the time spent -in code lines 18 and 19 (and not line 20). - -See Notes/ALLinclusive_notes.txt for details on "inclusive" function time. - diff --git a/cddl/contrib/dtracetoolkit/Notes/ALLfbt_notes.txt b/cddl/contrib/dtracetoolkit/Notes/ALLfbt_notes.txt deleted file mode 100644 index ef5f2b8eff3e..000000000000 --- a/cddl/contrib/dtracetoolkit/Notes/ALLfbt_notes.txt +++ /dev/null @@ -1,77 +0,0 @@ -************************************************************************** -* The following are notes for any script that uses the "fbt" provider. -* To identify these scripts, check the "STABILITY" section of the script's -* man page, or try grepping for "fbt" on the script. -* -* $Id: ALLfbt_notes.txt 44 2007-09-17 07:47:20Z brendan $ -* -* COPYRIGHT: Copyright (c) 2007 Brendan Gregg. -************************************************************************** - - -What is the "fbt" provider?... - -* A DTrace library of probes that instruments raw kernel function calls. -* An "unstable" provider; meaning, scripts written using "fbt" are not - guarenteed to work on future versions of the OS - including after - patching the kernel. - -In a perfect world... - -* None of the DTraceToolkit scripts would use the "fbt" provider; instead - they would all use stable providers such as "proc", "sched", "io", etc. -* All the DTraceToolkit scripts would run on any system that supports DTrace. - -In the real world... - -* Not all stable providers exist yet. Many are in development, such as - stable networking providers. -* In the meantime, useful tools such as "tcpsnoop" and "tcptop" can - only be written using the unstable "fbt" provider (and these scripts have - broken several times due to kernel changes since they were first written). -* "fbt" provider based scripts, - - only run on a particular OS (eg, Solaris) - - may only run on a particular version of an OS (eg, Solaris 10 3/05) - - are likely to break for future OS releases (eg, Solaris 10 6/06) -* "fbt" provider based scripts also make the impossible possible, albiet - in a very unstable way, as a temporary solution while stable providers - are still in development. -* Once stable providers exist, "fbt" scripts can be rewritten to use them; - however these new scripts will only run on newer OS builds that support - the stable providers. (in other words, this won't help you if you remain - on Solaris 10 6/06; you'll need to upgrade, or survive with "fbt"). -* Only some of the DTraceToolkit scripts use "fbt", and only a portion of - those have encountered stability issues - so this issue is limited. - -The "fbt" provider exports raw kernel implementation, which isn't guarenteed -to be stable nor should it ever be (to do so would freeze kernel development -and bug fixes). The only practical solution is the development and -integration of stable providers (although that doesn't help people who keep -running older versions of the OS). - -More harm than good?... - -Is the inclusion of these "fbt" scripts more harm than good? Consider, - -* the good, - - shows what is possible with DTrace - - should help a number of people solve specific performance issues, - on systems where they run - - a customer who really wants these scripts but on an OS version - where they don't work, have at least the source as a starting - point (and in some cases, the fix was trivial) - -* the bad, - - teases and frustrates people who find these scripts don't work - on their OS - -To minimise this issue, only a small number of "fbt" scripts have been -included, and they have been documented (see their man page) as unstable. - -Can I help?... - -If you really like an "fbt" based script and would like to keep using it -in a stable way, it may help to raise that with your vendor (Sun for Solaris, -Apple for MacOS). Sun has OpenSolaris forums, such as dtrace-discuss, which -are read by their engineers and the public. - diff --git a/cddl/contrib/dtracetoolkit/Notes/ALLflow_notes.txt b/cddl/contrib/dtracetoolkit/Notes/ALLflow_notes.txt deleted file mode 100644 index 4571491d467e..000000000000 --- a/cddl/contrib/dtracetoolkit/Notes/ALLflow_notes.txt +++ /dev/null @@ -1,64 +0,0 @@ -************************************************************************** -* Notes for all scripts that print a function or method flow. -* -* $Id: ALLflow_notes.txt 44 2007-09-17 07:47:20Z brendan $ -* -* COPYRIGHT: Copyright (c) 2007 Brendan Gregg. -************************************************************************** - - -* What is a flow? - -Output that has some meaningful indent, such as function flow indented by -stack depth. eg, - - # ./pl_flow.d - C TIME(us) FILE -- SUB - 0 2963130861619 func_abc.pl -> func_a - 0 2963131870998 func_abc.pl -> func_b - 0 2963132871121 func_abc.pl -> func_c - 0 2963133881150 func_abc.pl <- func_c - 0 2963133881166 func_abc.pl <- func_b - 0 2963133881174 func_abc.pl <- func_a - ^C - - -* The output looks shuffled? - -Eg, - - # ./pl_flow.d - C TIME(us) FILE -- SUB - 0 2963130861619 func_abc.pl -> func_a - 0 2963131870998 func_abc.pl -> func_b - 0 2963132871121 func_abc.pl -> func_c - 0 2963133881166 func_abc.pl <- func_b - 0 2963133881174 func_abc.pl <- func_a - 1 2963133881150 func_abc.pl <- func_c - ^C - -Yes, this is shuffled. DTrace has been designed with a number of important -goals in mind - including minimising the enabled performance overhead. To do -this, per-CPU kernel buffers have been used to collect output, which are -(currently) dumped in sequence by /usr/sbin/dtrace whenever it wakes -up ("switchrate" tunable). So, on multi-CPU servers, there is always the -possibility that any DTrace script can print out-of-order data. - -To deal with this behaviour, the flow scripts may, - -- print a "C" CPU column. If this changes from one line to the next then - the output is probably shuffled around that point. This is why the "C" - column appears in these flow scripts. -- print a "TIME(us)" column. You can eyeball this for shuffles, or just - post sort the dtrace output. - -Now have a closer look at the pl_flow.d output above. The change in C -indicates that a shuffle may have happened, and the out-of-order TIME(us) -shows that it did happen. - -It is possible that DTrace will be enhanced to always sort output before -printing, and this behaviour is no longer an issue. - -See "The output seems shuffled?" in Notes/ALLsnoop_notes.txt for more -notes on this behaviour. - diff --git a/cddl/contrib/dtracetoolkit/Notes/ALLinclusive_notes.txt b/cddl/contrib/dtracetoolkit/Notes/ALLinclusive_notes.txt deleted file mode 100644 index eea4b5d88d9e..000000000000 --- a/cddl/contrib/dtracetoolkit/Notes/ALLinclusive_notes.txt +++ /dev/null @@ -1,74 +0,0 @@ -************************************************************************** -* Notes for all scripts that print inclusive function times (or method, -* or subroutine). -* -* $Id: ALLinclusive_notes.txt 45 2007-09-17 08:54:56Z brendan $ -* -* COPYRIGHT: Copyright (c) 2007 Brendan Gregg. -************************************************************************** - - -* What is "inclusive" function time? - -This is the time of function execution, from when the function begins to -when it completes. This includes the times from all child functions called. - -Inclusive function time is calculated in a very simple way, - - inclusive function time = time(function end) - time(function start) - -Consider this Bourne shell program, - - 1 #!./sh - 2 - 3 func_c() - 4 { - 5 echo "Function C" - 6 sleep 1 - 7 } - 8 - 9 func_b() - 10 { - 11 echo "Function B" - 12 sleep 1 - 13 func_c - 14 } - 15 - 16 func_a() - 17 { - 18 echo "Function A" - 19 sleep 1 - 20 func_b - 21 } - 22 - 23 func_a - -func_a() calls func_b() which calls func_c(). Tracing the flow using -sh_flowtime.d shows, - -# ./sh_flowtime.d | cat -n - 1 C TIME(us) FILE DELTA(us) -- NAME - 2 0 3052991099265 func_abc.sh 2 -> func_a - 3 0 3052991099324 func_abc.sh 59 > echo - 4 0 3052992111638 func_abc.sh 1012314 | sleep - 5 0 3052992111678 func_abc.sh 39 -> func_b - 6 0 3052992111729 func_abc.sh 51 > echo - 7 0 3052993121633 func_abc.sh 1009903 | sleep - 8 0 3052993121693 func_abc.sh 60 -> func_c - 9 0 3052993121745 func_abc.sh 52 > echo - 10 0 3052994131634 func_abc.sh 1009888 | sleep - 11 0 3052994131685 func_abc.sh 50 <- func_c - 12 0 3052994131699 func_abc.sh 14 <- func_b - 13 0 3052994131707 func_abc.sh 7 <- func_a - -the output of DTrace was piped through "cat -n" to enumerate the lines. - -Inclusive function time for func_a() in the above output would be the -time from line 2 to line 13. This inclusive time includes the time -for both func_b() and func_c(). - -Looking back at the code, inclusive time for func_a() is the time spent -in code lines 18, 19 and 20. - -See Notes/ALLexclusive_notes.txt for details on "exclusive" function time. - diff --git a/cddl/contrib/dtracetoolkit/Notes/ALLjava_notes.txt b/cddl/contrib/dtracetoolkit/Notes/ALLjava_notes.txt deleted file mode 100644 index 2d033c18a822..000000000000 --- a/cddl/contrib/dtracetoolkit/Notes/ALLjava_notes.txt +++ /dev/null @@ -1,35 +0,0 @@ -************************************************************************** -* Notes for all scripts that trace Java using the hotspot provider. -* -* $Id: ALLjava_notes.txt 52 2007-09-24 04:28:01Z brendan $ -* -* COPYRIGHT: Copyright (c) 2007 Brendan Gregg. -************************************************************************** - -* I see "drops" - -If you see the following output, - - dtrace: 2547 drops on CPU 0 - -This means that JVM events (usually methods) were executed too quickly for -DTrace to keep up, and as a safety measure DTrace has let events slip by. -This means, at least, that the output is missing lines. At worst, the -output may contain corrupted values (time deltas between events that were -dropped). - -If you see drops, you should first ask yourself whether you need to be -tracing such frequent events at all - is there another way to get the same -data? For example, see the j_profile.d script, which uses a different -technique (sampling) than most of the other Java scripts (tracing). - -You can try tweaking DTrace tunables to prevent DTrace from dropping events. -A key tunable is "bufsize", and can be set in scripts like so, - - #pragma D option bufsize=32m - -That line means that 32 Mbytes will be allocated to the DTrace primary -buffer per-CPU (how depends on bufpolicy). If you have many CPUs, say 8, -then the above line means that 256 Mbytes (32 * 8) will be allocated as a -buffer while your D script is running. - diff --git a/cddl/contrib/dtracetoolkit/Notes/ALLoncpu_notes.txt b/cddl/contrib/dtracetoolkit/Notes/ALLoncpu_notes.txt deleted file mode 100644 index 41aead027bc9..000000000000 --- a/cddl/contrib/dtracetoolkit/Notes/ALLoncpu_notes.txt +++ /dev/null @@ -1,42 +0,0 @@ -************************************************************************** -* The following are notes for all scripts that measure on-CPU times. -* -* $Id: ALLoncpu_notes.txt 58 2007-10-01 13:36:29Z brendan $ -* -* COPYRIGHT: Copyright (c) 2007 Brendan Gregg. -************************************************************************** - - -* What is "on-CPU" time? - -This is the time that a thread spent running on a CPU. It does not include -time spent off-CPU time such as sleeping for I/O or waiting for scheduling. - -On-CPU times are useful for showing who is causing the CPUs to be busy, -since they measure how much CPU time has been consumed by that thread. - -On-CPU times are also less susceptible to system "noise" than elapsed times, -since much of the noise will be filtered out. DTrace itself also tries -to subtract the small overheads of DTrace from the on-CPU time, to improve -the accuracy of this time. - -See Notes/ALLelapsed_notes.txt for a description of a different time -measurement, "elapsed" time. - - -* How is "on-CPU" time measured? - -In DTrace, the following template provides on-CPU time as "this->oncpu", - - - { - self->vstart = vtimestamp; - } - - - { - this->oncpu = vtimestamp - self->vstart; - self->vstart = 0; - ... - } - diff --git a/cddl/contrib/dtracetoolkit/Notes/ALLoverhead.txt b/cddl/contrib/dtracetoolkit/Notes/ALLoverhead.txt deleted file mode 100644 index 844b3c08c1d9..000000000000 --- a/cddl/contrib/dtracetoolkit/Notes/ALLoverhead.txt +++ /dev/null @@ -1,96 +0,0 @@ -************************************************************************** -* The following are notes regarding the overheads of running DTrace. -* -* $Id: ALLoverhead.txt 58 2007-10-01 13:36:29Z brendan $ -* -* COPYRIGHT: Copyright (c) 2007 Brendan Gregg. -************************************************************************** - - -The following are notes regarding the overheads of running DTrace. - -* What are the overheads of running DTrace? - -Often negligible. - -It depends what the DTrace script does, in particular, the frequency of -events that it is tracing. - -The following tips should explain what the overheads probably are, - -- if your script traces less than 1000 events per second, then the overhead - is probably negligible. ie, less than 0.1% CPU. -- if your script traces more than 100,000 events per second, then the - overhead will start to be significant. If you are tracing kernel events, - then perhaps this could be 10% per CPU. If you are tracing user land - application events, then the overhead can be greater than 30% per CPU. -- if your script produes pages of output, then the CPU cost of drawing - this output to the screen and rendering the fonts is usually far greater - than DTrace itself. Redirect the output of DTrace to a file in /tmp - ("-o" or ">"). -- a ballpark figure for the overhead of a DTrace probe would be 500 ns. - This can be much less (kernel only), or much more (many user to kerel - copyin()s); I've provided it to give you a very rough idea. Of course, - as CPUs become faster, this overhead will become smaller. - -If overheads are a concern - then perform tests to measure their magnitude -for both your workload and the scripts applied, such as benchmarks with -and without DTrace running. Also read the scripts you are using, and -consider how frequent the probes will fire, and if you can customise the -script to reduce the frequency of probes. - -For example, scripts that trace, - - pid$target:::entry, - pid$target:::return - -would usually cause significant performance overhead, since they fire two -probes for every function called (and can easily reach 100,000 per second). -You could reduce this by modifying the script to only trace the libraries -you are interested in. For example, if you were only interested in -libsocket and libnsl, then change the above lines wherever they appeared to, - - pid$target:libsocket::entry, - pid$target:libsocket::return, - pid$target:libnsl::entry, - pid$target:libnsl::return - -and you may notice the overheads are significantly reduced (especially anytime -you drop libc and libdl). To go further, only list functions of interest, - - pid$target:libsocket:connect:entry, - pid$target:libsocket:connect:return, - pid$target:libsocket:listen:entry, - pid$target:libsocket:listen:return, - [...] - -There are additional notes in Docs/Faq about the DTraceToolkit's scripts -and performance overhead. - - -* When are the overheads a problem? - -When they are significant (due to frequent events), and you are tracing -in a production environment that is sensitive to additional CPU load. - -Overheads should be considered if you are measuring times (delta, elapsed, -on-CPU, etc) for performance analysis. In practise, overheads aren't -that much of a problem -- the script will either identify your issues -correctly (great), or not (keep looking). Any it is usually easy to quickly -confirm what DTrace does find by using other tools, or by hacking quick -code changes. You might be using DTrace output that you know has a -significant margin of error - but that becomes moot after you prove that -the performance fix works through benchmarking a quick fix. - -At the end of the day, if DTrace helps find real measurable performance wins -(and it should), then it has been successful. - - -* When are overheads not a problem? - -When the script is not tracing extreamly frequent events. - -Also, when you are in development and tracing events for troubleshooting -purposes (args to functions, for example), DTrace overheads are usually -not an issue at all. - diff --git a/cddl/contrib/dtracetoolkit/Notes/ALLperl_notes.txt b/cddl/contrib/dtracetoolkit/Notes/ALLperl_notes.txt deleted file mode 100644 index 24039504f698..000000000000 --- a/cddl/contrib/dtracetoolkit/Notes/ALLperl_notes.txt +++ /dev/null @@ -1,44 +0,0 @@ -************************************************************************** -* The following are notes for all the Perl tracing scripts, -* -* $Id: ALLperl_notes.txt 44 2007-09-17 07:47:20Z brendan $ -* -* COPYRIGHT: Copyright (c) 2007 Brendan Gregg. -************************************************************************** - - -* Where did those "BEGIN" subroutine calls come from? - -The following counts subroutines from the example program, Code/Perl/hello.pl, - - # pl_subcalls.d - Tracing... Hit Ctrl-C to end. - ^C - FILE SUB CALLS - -no subroutines were called, so there is no data to output. - -Now a similar program is traced, Code/Perl/hello_strict.pl, which uses -the "strict" pragma, - - # pl_subcalls.d - Tracing... Hit Ctrl-C to end. - ^C - FILE SUB CALLS - hello_strict.pl BEGIN 1 - strict.pm bits 1 - strict.pm import 1 - -not only were functions from "strict.pm" traced, but a "BEGIN" function -ran from the "hello_strict.pl" program - which doesn't appear to use "BEGIN", - - # cat -n ../Code/Perl/hello_strict.pl - 1 #!./perl -w - 2 - 3 use strict; - 4 - 5 print "Hello World!\n"; - -Perl appears to add a BEGIN block to process the "use" keyword. This makes -some degree of sense. - diff --git a/cddl/contrib/dtracetoolkit/Notes/ALLsnoop_notes.txt b/cddl/contrib/dtracetoolkit/Notes/ALLsnoop_notes.txt deleted file mode 100644 index b43c70a1aefe..000000000000 --- a/cddl/contrib/dtracetoolkit/Notes/ALLsnoop_notes.txt +++ /dev/null @@ -1,94 +0,0 @@ -************************************************************************** -* The following are additional notes on ALL of the *snoop programs (such as -* execsnoop, iosnoop, ..., and dapptrace, dtruss). -* -* $Id: ALLsnoop_notes.txt 44 2007-09-17 07:47:20Z brendan $ -* -* COPYRIGHT: Copyright (c) 2007 Brendan Gregg. -************************************************************************** - - -* The output seems shuffled? - -Beware - due to the (current) way DTrace works, on multi-CPU systems there -is no guarentee that if you print traced events the output is in the same -order that the events occured. - -This is because events details are placed in kernel per-CPU buffers, and then -dumped in sequence by the DTrace consumer (/usr/sbin/dtrace) whenever it -wakes up ("switchrate" tunable). The DTrace consumer reads and prints the -buffers one by one, it doesn't combine them and sort them. - -To demonstrate this, - - # dtrace -n 'profile:::profile-3hz { trace(timestamp); }' - dtrace: description 'profile-3hz ' matched 1 probe - CPU ID FUNCTION:NAME - 0 41241 :profile-3hz 1898015274778547 - 0 41241 :profile-3hz 1898015608118262 - 0 41241 :profile-3hz 1898015941430060 - 1 41241 :profile-3hz 1898015275499014 - 1 41241 :profile-3hz 1898015609173485 - 1 41241 :profile-3hz 1898015942505828 - 2 41241 :profile-3hz 1898015275351257 - 2 41241 :profile-3hz 1898015609180861 - 2 41241 :profile-3hz 1898015942512708 - 3 41241 :profile-3hz 1898015274803528 - 3 41241 :profile-3hz 1898015608120522 - 3 41241 :profile-3hz 1898015941449884 - ^C - -If you read the timestamps carefully, you'll see that they aren't quite -in chronological order. If you look at the CPU column while reading the -timestamps, the way DTrace works should become clear. - -Most of the snoop tools have a switchrate of 10hz, so events may be shuffled -within a tenth of a second - not hugely noticable. - -This isn't really a problem anyway. If you must have the output in the correct -order, find the switch that prints timestamps and then sort the output. -As an example, - - # iosnoop -t > out.iosnoop - ^C - # sort -n out.iosnoop - - TIME UID PID D BLOCK SIZE COMM PATHNAME - 183710958520 0 3058 W 10507848 4096 sync /var/log/pool/poold - 183710990358 0 3058 W 6584858 1024 sync /etc/motd - 183711013469 0 3058 W 60655 9216 sync - 183711020149 0 3058 W 60673 1024 sync - -All shell-wrapped scripts should have some way to print timestamps, and -many DTrace-only scripts print timestamps by default. If you find a script -that doesn't print timestamps, it should be trivial for you to add an -extra column. - -To add a microsecond-since-boot time column to a script, try adding this -before every printf() you find, - - printf("%-16d ", timestamp / 1000); - -except for the header line, where you can add this, - - printf("%-16s ", "TIME(us)"); - -Now you will be able to post sort the script output on the TIME(us) column. - -In practise, I find post sorting the output a little annoying at times, -and use a couple of other ways to prevent shuffling from happening in the -first place: - -- offline all CPUs but one when running flow scripts. Naturally, you - probably don't want to do this on production servers, this is a trick - that may be handy for when developing on workstations or laptops. Bear - in mind that if you are trying to DTrace certain issues, such as - multi-thread locking contention, then offlining most CPUs may eliminate - the issue you are trying to observe. -- pbind the target process of interest to a single CPU. Most OSes provide - a way to glue a process to a single CPU; Solaris has both pbind and psrset. - -Another way to solve this problem would be to enhance DTrace to always print -in-order output. Maybe this will be done one day; maybe by the time you -are reading this it has already been done? - diff --git a/cddl/contrib/dtracetoolkit/Notes/Readme b/cddl/contrib/dtracetoolkit/Notes/Readme deleted file mode 100644 index 99a1807e087e..000000000000 --- a/cddl/contrib/dtracetoolkit/Notes/Readme +++ /dev/null @@ -1,21 +0,0 @@ -Notes - Discussion about tools and their output - - This directory contains files that provide deeper discussions about - tools and their output. - - Files are either named, - - ALL*_notes.txt - notes that cover a collection of tools - *_notes.txt - notes that cover a specific tool - - These files are exist as an informal place to dump "stuff". This might - range from caveats to bear in mind when interpreting tool output, to - general or bizzare knowledge. Tool documentation is placed in, - - /Man - formal man pages - /Examples - demos and how to read the output - *.d - implementation notes within the code itself - /Notes - everything else - - Many of the scripts and man pages refer to files in this directory. - diff --git a/cddl/contrib/dtracetoolkit/Notes/cputimes_notes.txt b/cddl/contrib/dtracetoolkit/Notes/cputimes_notes.txt deleted file mode 100644 index cdf7ecdac5a6..000000000000 --- a/cddl/contrib/dtracetoolkit/Notes/cputimes_notes.txt +++ /dev/null @@ -1,138 +0,0 @@ -************************************************************************** -* The following are additional notes on the cputimes command. -* -* $Id: cputimes_notes.txt 44 2007-09-17 07:47:20Z brendan $ -* -* COPYRIGHT: Copyright (c) 2007 Brendan Gregg. -************************************************************************** - - -* How cputimes works - -cputimes measures time consumed by the kernel, idle therads and processes, -by tracking the activity of the schedular. In particular we track on-cpu -and off-cpu events for kernel therads, measuring the timestamps at each event. - - -* Why cputimes? - -If you are interested in how much time processes are consuming, the data -given by "prstat" or "prstat -m" is fine. However there is no easy way to -see kernel consumed time, which is the idea behind cputimes. - - -* What does it mean? - -The output shows categories of threads by the sum of time, in nanoseconds. - -A nanosecond is 10^-9, or 0.000000001 of a second. This program uses -nanoseconds as units, but does not have nanosecond accuracy. It would be -reasonable to assume that this has microsecond accuracy (10^-6), so in -practise ignore the last three digits of the times. - -The sections reported are, - -PROCESSES - the sum of all the process time on the CPU. -KERNEL - the sum of the time spent in the kernel. -IDLE - the time the kernel spent in the idle thread, waiting for some work. - -If your system isn't doing much, then the idle time will be quite large. If -your system is running many applications, then there may be no idle time -at all - instead most of the time appearing under processes. - - -* When is there a problem? - -Expect to see most of the time in processes or idle, depending on how busy -your server is. Seeing a considerable amout of time in kernel would -definately be interesting. - -The kernel generally doesn't use much CPU time, usually less than 5%. -If it were using more, that may indicate heavy activity from an interrupt -thread, or activity caused by DTrace. - -For example, - - # cputimes 1 - 2005 Apr 27 23:49:32, - THREADS TIME (ns) - IDLE 28351679 - KERNEL 436022725 - PROCESS 451304688 - -In this sample the kernel is using a massive amount of the CPUs, around 47%. -This sample was taken during heavy network utilisation, the time consumed -by the TCP/IP and network driver threads (and DTrace). The "intrstat" command -could be used for further analysis of the interrupt threads responsible -for servicing the network interface. - - -* Problems with cputimes - -The way cputimes measures schedular activity turns out to be a lot of work. -There are many scheduling events per second where one thread steps onto a -CPU and another leaves. It turns out that cputimes itself causes some degree -of kernel load. - -Here we run 1 cputimes, - - # cputimes 1 - 2005 May 15 12:00:41, - THREADS TIME (ns) - KERNEL 12621985 - PROCESS 982751579 - 2005 May 15 12:00:42, - THREADS TIME (ns) - KERNEL 12267577 - PROCESS 983513765 - [...] - -Now a second cputimes is run at the same time, - - # cputimes 1 - 2005 May 15 12:02:06, - THREADS TIME (ns) - KERNEL 17366426 - PROCESS 978804165 - 2005 May 15 12:02:07, - THREADS TIME (ns) - KERNEL 17614829 - PROCESS 978671601 - [...] - -And now a third, - - # cputimes 1 - 2005 May 15 12:03:09, - THREADS TIME (ns) - KERNEL 21303089 - PROCESS 974925124 - 2005 May 15 12:03:10, - THREADS TIME (ns) - KERNEL 21222992 - PROCESS 975152727 - [...] - -Each extra cputimes is consuming an extra 4 to 5 ms of the CPU as kernel time. -Around 0.5%. This can be used as an estimate of the kernel load caused by -running cputimes, and a similar strategy could be used to measure the kernel -load of other DTrace scripts. - -However the following CPU characteristics must be taken into consideration, - - # psrinfo -v - Status of virtual processor 0 as of: 05/15/2005 12:06:05 - on-line since 04/30/2005 13:32:32. - The i386 processor operates at 867 MHz, - and has an i387 compatible floating point processor. - -as well as the type of activity that was also running on the system, which -cputimes was monitoring (frequency of scheduling events). - -A system with a slower CPU will use a larger proportion of kernel time to -perform the same tasks. Also, a system that is context switching more -(switching between different processes) is likely to consume more kernel time -as well. - - - diff --git a/cddl/contrib/dtracetoolkit/Notes/dappprof_notes.txt b/cddl/contrib/dtracetoolkit/Notes/dappprof_notes.txt deleted file mode 100644 index d617f2aeabaa..000000000000 --- a/cddl/contrib/dtracetoolkit/Notes/dappprof_notes.txt +++ /dev/null @@ -1,14 +0,0 @@ -************************************************************************** -* The following are extra notes on the dappprof command. -* -* $Id: dappprof_notes.txt 44 2007-09-17 07:47:20Z brendan $ -* -* COPYRIGHT: Copyright (c) 2007 Brendan Gregg. -************************************************************************** - - -* Can I trust the elapsed and on-cpu times? - -See the documentation for this point in the dtruss_notes.txt file. - - diff --git a/cddl/contrib/dtracetoolkit/Notes/dapptrace_notes.txt b/cddl/contrib/dtracetoolkit/Notes/dapptrace_notes.txt deleted file mode 100644 index 579c2dfd8c01..000000000000 --- a/cddl/contrib/dtracetoolkit/Notes/dapptrace_notes.txt +++ /dev/null @@ -1,19 +0,0 @@ -************************************************************************** -* The following are extra notes on the dapptrace command. -* -* $Id: dapptrace_notes.txt 44 2007-09-17 07:47:20Z brendan $ -* -* COPYRIGHT: Copyright (c) 2007 Brendan Gregg. -************************************************************************** - - -* Can I trust the elapsed and on-cpu times? - -See the documentation for this point in the dtruss_notes.txt file. - - - -* The output appears shuffled? - -Read the answer to this in ALLsnoop_notes.txt. - diff --git a/cddl/contrib/dtracetoolkit/Notes/dtruss_notes.txt b/cddl/contrib/dtracetoolkit/Notes/dtruss_notes.txt deleted file mode 100644 index 8ecbecf864bc..000000000000 --- a/cddl/contrib/dtracetoolkit/Notes/dtruss_notes.txt +++ /dev/null @@ -1,97 +0,0 @@ -************************************************************************** -* The following are additional notes on the dtruss program. -* -* $Id: dtruss_notes.txt 44 2007-09-17 07:47:20Z brendan $ -* -* COPYRIGHT: Copyright (c) 2007 Brendan Gregg. -************************************************************************** - - -* Can I trust the elapsed and on-cpu times? - -Firstly, lets see dtruss do something cool, - - # dtruss -eo -n bash - PID/LWP ELAPSD CPU SYSCALL(args) = return - 6215/1: 57 37 write(0x2, "h\0", 0x1) = 1 0 - 6215/1: 357210 45 read(0x0, "e\0", 0x1) = 1 0 - 6215/1: 53 37 write(0x2, "e\0", 0x1) = 1 0 - 6215/1: 359510 46 read(0x0, "l\0", 0x1) = 1 0 - 6215/1: 57 42 write(0x2, "l\0", 0x1) = 1 0 - 6215/1: 166495 47 read(0x0, "l\0", 0x1) = 1 0 - 6215/1: 56 40 write(0x2, "l\0", 0x1) = 1 0 - 6215/1: 346076 44 read(0x0, "o\0", 0x1) = 1 0 - 6215/1: 54 38 write(0x2, "o\0", 0x1) = 1 0 - 6215/1: 349852 45 read(0x0, " \0", 0x1) = 1 0 - 6215/1: 54 39 write(0x2, " \0", 0x1) = 1 0 - -In the above, the slow elapsed times for reads are due to the process context -switching off the CPU while we wait for the next keystroke. For example, -the second line shows an on-CPU time of 45 us and an elapsed time of 357210 us. -In fact, the elapsed times are equal to the inter-keystroke delays. - - -What about the writes? Their elapsed times are longer than the on-CPU times -also. Did we context switch off for them too? ... Lets run a different demo, - - # dtruss -eo date - ELAPSD CPU SYSCALL(args) = return - Mon Jul 25 21:41:40 EST 2005 - 44 23 resolvepath("/usr/bin/date\0", 0x80476CC, 0x3FF) = 13 0 - 10 1 sysconfig(0x6, 0xB25A1, 0xFEC1D444) = 4096 0 - 36 28 resolvepath("/usr/lib/ld.so.1\0", 0x80476CC, 0x3FF) = 12 0 - 18 9 xstat(0x2, 0x8047FEB, 0x8047AF8) = 0 0 - 25 16 open("/var/ld/ld.config\0", 0x0, 0x0) = -1 Err#2 - 27 18 xstat(0x2, 0xD27FBF38, 0x80473B0) = 0 0 - 17 9 resolvepath("/lib/libc.so.1\0", 0x8047438, 0x3FF) = 14 0 - 21 13 open("/lib/libc.so.1\0", 0x0, 0x0) = 3 0 - 30 22 mmap(0x10000, 0x1000, 0x5) = -763559936 0 - 15 6 mmap(0x10000, 0xCE000, 0x0) = -764411904 0 - 24 16 mmap(0xD2700000, 0xB5A45, 0x5) = -764411904 0 - 21 12 mmap(0xD27C6000, 0x5EB3, 0x3) = -763600896 0 - 18 9 mmap(0xD27CC000, 0x15C0, 0x3) = -763576320 0 - 14 5 munmap(0xD27B6000, 0x10000) = 0 0 - 186 176 memcntl(0xD2700000, 0x1B8D8, 0x4) = 0 0 - 17 7 close(0x3) = 0 0 - [...] - -For every syscall, the elapsed time is around 10 us (microseconds) slower -than the on-cpu time. These aren't micro context switches, this is due to -DTrace slowing down the program! The more closely we measure something the -more we effect it. (See Heisenberg's uncertainty principle). - -Ok, so for the above output we can tell that each elapsed time is around 10 us -longer than it should be. That's fine, since it's fairly consistant and not -a huge difference. This is an x86 server with a 867 MHz CPU. - - -Now lets try the same on an Ultra 5 with a 360 MHz CPU, - - # dtruss -eo date - ELAPSD CPU SYSCALL(args) = return - 216 142 resolvepath("/usr/bin/date\0", 0xFFBFF338, 0x3FF) = 13 0 - 234 187 resolvepath("/usr/lib/ld.so.1\0", 0xFFBFF338, 0x3FF) = 12 0 - 113 67 stat("/usr/bin/date\0", 0xFFBFF818, 0xFFBFFFEB) = 0 0 - 136 90 open("/var/ld/ld.config\0", 0x0, 0x0) = -1 Err#2 - 107 61 stat("/opt/onbld/lib/libc.so.1\0", 0xFFBFF330, 0xFFBFF55C) = -1 Err#2 - 98 54 stat("/opt/SUNWspro/lib/libc.so.1\0", 0xFFBFF330, 0xFFBFF55C) = -1 Err#2 - 96 53 stat("/opt/SUNWmlib/lib/libc.so.1\0", 0xFFBFF330, 0xFFBFF55C) = -1 Err#2 - 97 54 stat("/usr/sfw/lib/libc.so.1\0", 0xFFBFF330, 0xFFBFF55C) = -1 Err#2 - 96 53 stat("/lib/libc.so.1\0", 0xFFBFF330, 0xFFBFF55C) = 0 0 - 134 92 resolvepath("/lib/libc.so.1\0", 0xFFBFEF30, 0x3FF) = 14 0 - 109 69 open("/lib/libc.so.1\0", 0x0, 0x0) = 3 0 - 177 132 mmap(0x10000, 0x2000, 0x5) = -12976128 0 - [...] - -Now the time difference is around 40 us, and fairly consistant. - - -This difference is find so long as we bear it in mind. Or, run DTrace -on faster servers where the difference is much less. - - - -* The output appears shuffled? - -Read the answer to this in ALLsnoop_notes.txt. - diff --git a/cddl/contrib/dtracetoolkit/Notes/iosnoop_notes.txt b/cddl/contrib/dtracetoolkit/Notes/iosnoop_notes.txt deleted file mode 100644 index af3ab9bbbe20..000000000000 --- a/cddl/contrib/dtracetoolkit/Notes/iosnoop_notes.txt +++ /dev/null @@ -1,99 +0,0 @@ -************************************************************************** -* The following are additional notes on the iosnoop program. -* -* $Id: iosnoop_notes.txt 44 2007-09-17 07:47:20Z brendan $ -* -* COPYRIGHT: Copyright (c) 2007 Brendan Gregg. -************************************************************************** - - -* What does the output represent? - -The output is disk events - I/O operations that cause the disk to physically -read or write data. The output is not application I/O events which may be -absorbed by memory caches - many of which will be. The output really is -physical disk events. - -iosnoop uses probes from the "io" provider - which traces the block device -driver before disk events happen. disk events. The stack goes like this, - - application - | - V - syscall - | - V - vfs - | - V - ufs/zfs/... - | - V - block device driver - | - V - physical device driver - | - V - disk - -Due to caching (after vfs) few events will make it to the disk for iosnoop -to see. If you want to trace all I/O activity, try using syscall provider -based scripts first. - - -* What do the elapsed and delta times mean? - -Glad you asked! - -The times may *not* be as useful as they appear. I should also add that -this quickly becomes a very complex topic, - -There are two different delta times reported. -D prints the -elapsed time from the disk request (strategy) to the disk completion -iodone); -o prints the time for the disk to complete that event -since it's last event (time between iodones, or since idle->strategy). - -The elapsed time is equivalent to the response time from the application -request to the application completion. The delta time resembles the -service time for this request (resembles means it will be generally -correct, but not 100% accurate). The service time is the the time for the -disk to complete the request, after it has travelled through any bus or -queue. - -buuuttt.... you need to think carefully about what these times mean before -jumping to conclusions. For example, - - You troubleshoot an application by running iosnoop and filtering - on your application's PID. You notice large times for the disk events - (responce, service, for this example it doesn't matter). - Does this mean there is a problem with that application? - What could be happening is that a different application is also using - the disks at the same time, and is causing the disk heads to seek to - elsewhere on the disk surface - increasing both service and response time. - -hmmm! so you can't just look at one application, one set of numbers, and -understand fully what is going on. - -But it gets worse. Disks implement "tagged queueing", where events in the -queue are reshuffeled to promote "elevator seeking" of the disk heads (this -reduces head seeking). So the time for a disk event can be effected not -just by the previous event (and previous location the heads had seeked to), -but the surrounding events that enter the queue. - -So the good and the bad. The good news is that iosnoop makes it easy to -fetch disk event data on a live system, the bad news is that understanding -all the data is not really easy. - -For further information on disk measurements see, - - "How do disks really work?" - Adrian Cockcroft, SunWorld Online, June 1996 - "Sun Performance and Tuning" - Adrian Cockcroft, Richard Pettit - "Solaris Internals" - Richard McDougall, Jim Mauro - - - -* The output appears shuffled? - -Read the answer to this in ALLsnoop_notes.txt. - diff --git a/cddl/contrib/dtracetoolkit/Notes/iotop_notes.txt b/cddl/contrib/dtracetoolkit/Notes/iotop_notes.txt deleted file mode 100644 index 9663ec7b5498..000000000000 --- a/cddl/contrib/dtracetoolkit/Notes/iotop_notes.txt +++ /dev/null @@ -1,48 +0,0 @@ -************************************************************************** -* The following are additional notes on the iotop program. -* -* $Id: iotop_notes.txt 44 2007-09-17 07:47:20Z brendan $ -* -* COPYRIGHT: Copyright (c) 2007 Brendan Gregg. -************************************************************************** - - -* When using -P, how can a process exceed 100% I/O? - -These percentages are based on disk time. They are in terms of a single disk. - -200% could mean 2 disks @ 100%, or 4 @ 50%, or some such combination. - -I could have capped it at 100% by dividing by disk count. I didn't. Disk -utilisation is an asymmetric resource (unlike CPUs, which are (mostly) -symmetric), so it's unfair to divide by all the disks capacity as an -application cannot use every disks capacity (eg, writing to a /opt disk only). - -Would it be wise to report utilisation as 10% of overall capacity, if it -could mean that 1 disk was SATURATED out of ten? A value of 10% could -understate the problem. - -Instead I add the utilisations and don't divide. 1 disk saturated out of 10 -would be reported as 100% utilisation. This has the danger of overstating -the problem (consider all ten disks at 10% utilisation, this would also be -reported as 100%). - -Nothing is perfect when you are summarising to a single value! - - - -* Beware of overcounting metadevices, such as SVM and Veritas. - -The current version of iotop reports on anything the kernel believes to be -a block disk device. A problem happens when a metadevice contains physical -disk devices, and iotop reports on activity to both the metadevice and -the physical devices, which overcounts activity. - -Consider a metadevice that contains two physical disks which are both -running at 100% utilised. iotop -P may report 300% utilisation, which is -200% for the disks + 100% for the metadevice. We'd probably want to see -a value of 200%, not 300%. Eliminating the counting of metadevices in DTrace -isn't easy (without inelegant "hardwiring" of device types), however I do -intend to find a way to fix this in future versions. - - diff --git a/cddl/contrib/dtracetoolkit/Notes/procsystime_notes.txt b/cddl/contrib/dtracetoolkit/Notes/procsystime_notes.txt deleted file mode 100644 index 5e1c52f4e52c..000000000000 --- a/cddl/contrib/dtracetoolkit/Notes/procsystime_notes.txt +++ /dev/null @@ -1,14 +0,0 @@ -************************************************************************** -* The following are extra notes on the procsystime command. -* -* $Id: procsystime_notes.txt 44 2007-09-17 07:47:20Z brendan $ -* -* COPYRIGHT: Copyright (c) 2007 Brendan Gregg. -************************************************************************** - - -* Can I trust the elapsed and on-cpu times? - -See the documentation for this point in the dtruss_notes.txt file. - - diff --git a/cddl/contrib/dtracetoolkit/Perl/Readme b/cddl/contrib/dtracetoolkit/Perl/Readme deleted file mode 100644 index 36fcab5e5232..000000000000 --- a/cddl/contrib/dtracetoolkit/Perl/Readme +++ /dev/null @@ -1,38 +0,0 @@ -Perl - DTracing Perl - - These scripts trace the Perl programming language, and require a version - of Perl to be built with the DTrace probes patch applied. - - The Perl DTrace provider was originally written by Alan Burlison, and - later rewritten by Richard Dawe. These scripts were written and tested - with Richard's patch to perl, which can be found in the comments on - Alan's original blog entry, - - http://blogs.sun.com/alanbur/entry/dtrace_and_perl - - To get this and these scripts working, the rough steps are, - - 1. Download and extract perl 5.8.8 (www.cpan.org) - 2. Download Richard's patch - 3. Apply Richard's patch (gpatch -p1 -i patchfile) - 4. sh Configure - 5. make perldtrace.h - 6. /usr/sbin/dtrace -h -s perldtrace.d -o perldtrace.h - 7. make - - If things go awry, you might find help by asking on the - dtrace-discuss@opensolaris.org mailing list. - - Since the DTrace Perl provider may be developed further, there is a chance - that it has changed slightly by the time you are reading this, causing - these scripts to either break or behave oddly. Firstly, check for newer - versions of the DTraceToolkit; if it hasn't been updated and you need - to use these scripts immediately, then updating them shouldn't take - too long. The following was the state of the provider when these scripts - were written - check for changes and update the scripts accordingly, - - provider perl { - probe sub-entry(subroutine, file, lineno) - probe sub-return(subroutine, file, lineno) - }; - diff --git a/cddl/contrib/dtracetoolkit/Perl/pl_calldist.d b/cddl/contrib/dtracetoolkit/Perl/pl_calldist.d deleted file mode 100755 index a4bd2da68bbc..000000000000 --- a/cddl/contrib/dtracetoolkit/Perl/pl_calldist.d +++ /dev/null @@ -1,82 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * pl_calldist.d - measure Perl elapsed times for subroutines. - * Written for the Perl DTrace provider. - * - * $Id: pl_calldist.d 28 2007-09-13 10:49:37Z brendan $ - * - * This traces Perl activity from all programs running on the system with - * Perl provider support. - * - * USAGE: pl_calldist.d # hit Ctrl-C to end - * - * This script prints distribution plots of elapsed time for Perl subroutines. - * Use pl_calltime.d for summary reports. - * - * FIELDS: - * 1 Filename of the Perl program - * 2 Type of call (sub) - * 3 Name of call - * - * Filename and subroutine names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -perl*:::sub-entry -{ - self->depth++; - self->exclude[self->depth] = 0; - self->sub[self->depth] = timestamp; -} - -perl*:::sub-return -/self->sub[self->depth]/ -{ - this->elapsed_incl = timestamp - self->sub[self->depth]; - this->elapsed_excl = this->elapsed_incl - self->exclude[self->depth]; - self->sub[self->depth] = 0; - self->exclude[self->depth] = 0; - this->file = basename(copyinstr(arg1)); - this->name = copyinstr(arg0); - - @types_incl[this->file, "sub", this->name] = - quantize(this->elapsed_incl / 1000); - @types_excl[this->file, "sub", this->name] = - quantize(this->elapsed_excl / 1000); - - self->depth--; - self->exclude[self->depth] += this->elapsed_incl; -} - -dtrace:::END -{ - printf("\nExclusive subroutine elapsed times (us),\n"); - printa(" %s, %s, %s %@d\n", @types_excl); - - printf("\nInclusive subroutine elapsed times (us),\n"); - printa(" %s, %s, %s %@d\n", @types_incl); -} diff --git a/cddl/contrib/dtracetoolkit/Perl/pl_calltime.d b/cddl/contrib/dtracetoolkit/Perl/pl_calltime.d deleted file mode 100755 index 0bf180420dd6..000000000000 --- a/cddl/contrib/dtracetoolkit/Perl/pl_calltime.d +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * pl_calltime.d - measure Perl elapsed times for subroutines. - * Written for the Perl DTrace provider. - * - * $Id: pl_calltime.d 41 2007-09-17 02:20:10Z brendan $ - * - * This traces Perl activity from all programs running on the system with - * Perl provider support. - * - * USAGE: pl_calltime.d # hit Ctrl-C to end - * - * FIELDS: - * FILE Filename of the Perl program - * TYPE Type of call (sub/total) - * NAME Name of call - * TOTAL Total elapsed time for calls (us) - * - * Filename and subroutine names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -perl*:::sub-entry -{ - self->depth++; - self->exclude[self->depth] = 0; - self->sub[self->depth] = timestamp; -} - -perl*:::sub-return -/self->sub[self->depth]/ -{ - this->elapsed_incl = timestamp - self->sub[self->depth]; - this->elapsed_excl = this->elapsed_incl - self->exclude[self->depth]; - self->sub[self->depth] = 0; - self->exclude[self->depth] = 0; - this->file = basename(copyinstr(arg1)); - this->name = copyinstr(arg0); - - @num[this->file, "sub", this->name] = count(); - @num["-", "total", "-"] = count(); - @types_incl[this->file, "sub", this->name] = sum(this->elapsed_incl); - @types_excl[this->file, "sub", this->name] = sum(this->elapsed_excl); - @types_excl["-", "total", "-"] = sum(this->elapsed_excl); - - self->depth--; - self->exclude[self->depth] += this->elapsed_incl; -} - -dtrace:::END -{ - printf("\nCount,\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "COUNT"); - printa(" %-20s %-10s %-32s %@8d\n", @num); - - normalize(@types_excl, 1000); - printf("\nExclusive subroutine elapsed times (us),\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "TOTAL"); - printa(" %-20s %-10s %-32s %@8d\n", @types_excl); - - normalize(@types_incl, 1000); - printf("\nInclusive subroutine elapsed times (us),\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "TOTAL"); - printa(" %-20s %-10s %-32s %@8d\n", @types_incl); -} diff --git a/cddl/contrib/dtracetoolkit/Perl/pl_cpudist.d b/cddl/contrib/dtracetoolkit/Perl/pl_cpudist.d deleted file mode 100755 index 94c421f436ce..000000000000 --- a/cddl/contrib/dtracetoolkit/Perl/pl_cpudist.d +++ /dev/null @@ -1,82 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * pl_cpudist.d - measure Perl on-CPU times for subroutines. - * Written for the Perl DTrace provider. - * - * $Id: pl_cpudist.d 28 2007-09-13 10:49:37Z brendan $ - * - * This traces Perl activity from all programs running on the system with - * Perl provider support. - * - * USAGE: pl_cpudist.d # hit Ctrl-C to end - * - * This script prints distribution plots of elapsed time for Perl subrotines. - * Use pl_cputime.d for summary reports. - * - * FIELDS: - * 1 Filename of the Perl program - * 2 Type of call (sub) - * 3 Name of call - * - * Filename and subroutine names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -perl*:::sub-entry -{ - self->depth++; - self->exclude[self->depth] = 0; - self->sub[self->depth] = vtimestamp; -} - -perl*:::sub-return -/self->sub[self->depth]/ -{ - this->oncpu_incl = vtimestamp - self->sub[self->depth]; - this->oncpu_excl = this->oncpu_incl - self->exclude[self->depth]; - self->sub[self->depth] = 0; - self->exclude[self->depth] = 0; - this->file = basename(copyinstr(arg1)); - this->name = copyinstr(arg0); - - @types_incl[this->file, "sub", this->name] = - quantize(this->oncpu_incl / 1000); - @types_excl[this->file, "sub", this->name] = - quantize(this->oncpu_excl / 1000); - - self->depth--; - self->exclude[self->depth] += this->oncpu_incl; -} - -dtrace:::END -{ - printf("\nExclusive subroutine on-CPU times (us),\n"); - printa(" %s, %s, %s %@d\n", @types_excl); - - printf("\nInclusive subroutine on-CPU times (us),\n"); - printa(" %s, %s, %s %@d\n", @types_incl); -} diff --git a/cddl/contrib/dtracetoolkit/Perl/pl_cputime.d b/cddl/contrib/dtracetoolkit/Perl/pl_cputime.d deleted file mode 100755 index 150f204210a7..000000000000 --- a/cddl/contrib/dtracetoolkit/Perl/pl_cputime.d +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * pl_cputime.d - measure Perl on-CPU times for subroutines. - * Written for the Perl DTrace provider. - * - * $Id: pl_cputime.d 41 2007-09-17 02:20:10Z brendan $ - * - * This traces Perl activity from all programs running on the system with - * Perl provider support. - * - * USAGE: pl_cputime.d # hit Ctrl-C to end - * - * FIELDS: - * FILE Filename of the Perl program - * TYPE Type of call (sub/total) - * NAME Name of call (subroutine name) - * TOTAL Total on-CPU time for calls (us) - * - * Filename and subroutine names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -perl*:::sub-entry -{ - self->depth++; - self->exclude[self->depth] = 0; - self->sub[self->depth] = vtimestamp; -} - -perl*:::sub-return -/self->sub[self->depth]/ -{ - this->oncpu_incl = vtimestamp - self->sub[self->depth]; - this->oncpu_excl = this->oncpu_incl - self->exclude[self->depth]; - self->sub[self->depth] = 0; - self->exclude[self->depth] = 0; - this->file = basename(copyinstr(arg1)); - this->name = copyinstr(arg0); - - @num[this->file, "sub", this->name] = count(); - @num["-", "total", "-"] = count(); - @types_incl[this->file, "sub", this->name] = sum(this->oncpu_incl); - @types_excl[this->file, "sub", this->name] = sum(this->oncpu_excl); - @types_excl["-", "total", "-"] = sum(this->oncpu_excl); - - self->depth--; - self->exclude[self->depth] += this->oncpu_incl; -} - -dtrace:::END -{ - printf("\nCount,\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "COUNT"); - printa(" %-20s %-10s %-32s %@8d\n", @num); - - normalize(@types_excl, 1000); - printf("\nExclusive subroutine on-CPU times (us),\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "TOTAL"); - printa(" %-20s %-10s %-32s %@8d\n", @types_excl); - - normalize(@types_incl, 1000); - printf("\nInclusive subroutine on-CPU times (us),\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "TOTAL"); - printa(" %-20s %-10s %-32s %@8d\n", @types_incl); -} diff --git a/cddl/contrib/dtracetoolkit/Perl/pl_flow.d b/cddl/contrib/dtracetoolkit/Perl/pl_flow.d deleted file mode 100755 index 7948db2bfd35..000000000000 --- a/cddl/contrib/dtracetoolkit/Perl/pl_flow.d +++ /dev/null @@ -1,70 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * pl_flow.d - snoop Perl execution showing subroutine flow. - * Written for the Solaris Perl DTrace provider. - * - * $Id: pl_flow.d 41 2007-09-17 02:20:10Z brendan $ - * - * This traces Perl activity from all Perl programs on the system - * running with Perl provider support. - * - * USAGE: pl_flow.d # hit Ctrl-C to end - * - * This watches Perl subroutine entries and returns, and indents child - * subroutine calls. - * - * FIELDS: - * C CPU-id - * TIME(us) Time since boot, us - * FILE Filename that this subroutine belongs to - * SUB Subroutine name - * - * LEGEND: - * -> subroutine entry - * <- subroutine return - * - * WARNING: Watch the first column carefully, it prints the CPU-id. If it - * changes, then it is very likely that the output has been shuffled. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option switchrate=10 - -self int depth; - -dtrace:::BEGIN -{ - printf("%3s %-16s %-16s -- %s\n", "C", "TIME(us)", "FILE", "SUB"); -} - -perl*:::sub-entry -{ - printf("%3d %-16d %-16s %*s-> %s\n", cpu, timestamp / 1000, - basename(copyinstr(arg1)), self->depth * 2, "", copyinstr(arg0)); - self->depth++; -} - -perl*:::sub-return -{ - self->depth -= self->depth > 0 ? 1 : 0; - printf("%3d %-16d %-16s %*s<- %s\n", cpu, timestamp / 1000, - basename(copyinstr(arg1)), self->depth * 2, "", copyinstr(arg0)); -} diff --git a/cddl/contrib/dtracetoolkit/Perl/pl_flowinfo.d b/cddl/contrib/dtracetoolkit/Perl/pl_flowinfo.d deleted file mode 100755 index 06769fdb9cd7..000000000000 --- a/cddl/contrib/dtracetoolkit/Perl/pl_flowinfo.d +++ /dev/null @@ -1,86 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * pl_flowinfo.d - snoop Perl subroutine flow with info using DTrace. - * Written for the Perl DTrace provider. - * - * $Id: pl_flowinfo.d 41 2007-09-17 02:20:10Z brendan $ - * - * This traces activity from all Perl programs on the system that are - * running with Perl provider support. - * - * USAGE: pl_flowinfo.d # hit Ctrl-C to end - * - * FIELDS: - * C CPU-id - * PID Process ID - * DELTA(us) Elapsed time from previous line to this line - * FILE Filename of the Perl program - * LINE Line number of filename - * TYPE Type of call (sub) - * SUB Perl subroutine - * - * LEGEND: - * -> subroutine entry - * <- subroutine return - * - * Filename and subroutine names are printed if available. - * - * WARNING: Watch the first column carefully, it prints the CPU-id. If it - * changes, then it is very likely that the output has been shuffled. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option switchrate=10 - -self int depth; - -dtrace:::BEGIN -{ - printf("%s %6s %10s %16s:%-4s %-8s -- %s\n", "C", "PID", "DELTA(us)", - "FILE", "LINE", "TYPE", "SUB"); -} - -perl*:::sub-entry, -perl*:::sub-return -/self->last == 0/ -{ - self->last = timestamp; -} - -perl*:::sub-entry -{ - this->delta = (timestamp - self->last) / 1000; - printf("%d %6d %10d %16s:%-4d %-8s %*s-> %s\n", cpu, pid, this->delta, - basename(copyinstr(arg1)), arg2, "sub", self->depth * 2, "", - copyinstr(arg0)); - self->depth++; - self->last = timestamp; -} - -perl*:::sub-return -{ - this->delta = (timestamp - self->last) / 1000; - self->depth -= self->depth > 0 ? 1 : 0; - printf("%d %6d %10d %16s:%-4d %-8s %*s<- %s\n", cpu, pid, this->delta, - basename(copyinstr(arg1)), arg2, "sub", self->depth * 2, "", - copyinstr(arg0)); - self->last = timestamp; -} diff --git a/cddl/contrib/dtracetoolkit/Perl/pl_flowtime.d b/cddl/contrib/dtracetoolkit/Perl/pl_flowtime.d deleted file mode 100755 index 1fa727cec769..000000000000 --- a/cddl/contrib/dtracetoolkit/Perl/pl_flowtime.d +++ /dev/null @@ -1,88 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * pl_flowtime.d - snoop Perl subroutines with flow and delta times. - * Written for the Perl DTrace provider. - * - * $Id: pl_flowtime.d 41 2007-09-17 02:20:10Z brendan $ - * - * This traces shell activity from Perl programs on the system that are - * running with Perl provider support. - * - * USAGE: pl_flowtime.d # hit Ctrl-C to end - * - * This watches Perl subroutine entries and returns, and indents child - * subroutine calls. - * - * FIELDS: - * C CPU-id - * TIME(us) Time since boot, us - * FILE Filename that this subroutine belongs to - * DELTA(us) Elapsed time from previous line to this line - * SUB Perl subroutine name - * - * LEGEND: - * -> method entry - * <- method return - * - * Filename and subroutine names are printed if available. - * - * WARNING: Watch the first column carefully, it prints the CPU-id. If it - * changes, then it is very likely that the output has been shuffled. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option switchrate=10 - -self int depth; -self int last; - -dtrace:::BEGIN -{ - printf("%3s %-16s %-16s %9s -- %s\n", "C", "TIME(us)", "FILE", - "DELTA(us)", "SUB"); -} - -perl*:::sub-entry, -perl*:::sub-return -/self->last == 0/ -{ - self->last = timestamp; -} - -perl*:::sub-entry -{ - this->delta = (timestamp - self->last) / 1000; - printf("%3d %-16d %-16s %9d %*s-> %s\n", cpu, timestamp / 1000, - basename(copyinstr(arg1)), this->delta, self->depth * 2, "", - copyinstr(arg0)); - self->depth++; - self->last = timestamp; -} - -perl*:::sub-return -{ - this->delta = (timestamp - self->last) / 1000; - self->depth -= self->depth > 0 ? 1 : 0; - printf("%3d %-16d %-16s %9d %*s<- %s\n", cpu, timestamp / 1000, - basename(copyinstr(arg1)), this->delta, self->depth * 2, "", - copyinstr(arg0)); - self->last = timestamp; -} diff --git a/cddl/contrib/dtracetoolkit/Perl/pl_malloc.d b/cddl/contrib/dtracetoolkit/Perl/pl_malloc.d deleted file mode 100755 index b71e7652d3d2..000000000000 --- a/cddl/contrib/dtracetoolkit/Perl/pl_malloc.d +++ /dev/null @@ -1,81 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * pl_malloc.d - Perl libc malloc analysis. - * Written for the Perl DTrace provider. - * - * $Id: pl_malloc.d 19 2007-09-12 07:47:59Z brendan $ - * - * This is an expiremental script to identify who is calling malloc() for - * memory allocation, and to print distribution plots of the requested bytes. - * If a malloc() occured while in a Perl subroutine, then that subroutine is - * identified as responsible; else the caller of malloc() is identified as - * responsible - which will be a function from the Perl engine. - * - * USAGE: pl_malloc.d { -p PID | -c cmd } # hit Ctrl-C to end - * - * Filename and subroutine names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -perl$target:::sub-entry -{ - self->file = basename(copyinstr(arg1)); - self->name = copyinstr(arg0); -} - -perl$target:::sub-return -{ - self->file = 0; - self->name = 0; -} - -pid$target:libc:malloc:entry -/self->file != NULL/ -{ - @malloc_sub_size[self->file, self->name] = sum(arg0); - @malloc_sub_dist[self->file, self->name] = quantize(arg0); -} - -pid$target:libc:malloc:entry -/self->name == NULL/ -{ - @malloc_lib_size[usym(ucaller)] = sum(arg0); - @malloc_lib_dist[usym(ucaller)] = quantize(arg0); -} - - -dtrace:::END -{ - printf("\nPerl malloc byte distributions by engine caller,\n\n"); - printa(" %A, total bytes = %@d %@d\n", @malloc_lib_size, - @malloc_lib_dist); - - printf("\nPerl malloc byte distributions by Perl file and "); - printf("subroutine,\n\n"); - printa(" %s, %s, bytes total = %@d %@d\n", @malloc_sub_size, - @malloc_sub_dist); -} diff --git a/cddl/contrib/dtracetoolkit/Perl/pl_subcalls.d b/cddl/contrib/dtracetoolkit/Perl/pl_subcalls.d deleted file mode 100755 index 30d922fc1ad6..000000000000 --- a/cddl/contrib/dtracetoolkit/Perl/pl_subcalls.d +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * pl_subcalls.d - measure Perl subroutine calls using DTrace. - * Written for the Perl DTrace provider. - * - * $Id: pl_subcalls.d 25 2007-09-12 09:51:58Z brendan $ - * - * This traces Perl activity from all running programs on the system - * which support the Perl DTrace provider. - * - * USAGE: pl_subcalls.d # hit Ctrl-C to end - * - * FIELDS: - * FILE Filename that contained the subroutine - * SUB Perl subroutine name - * CALLS Subroutine calls during this sample - * - * Filename and subroutine names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -perl*:::sub-entry -{ - @subs[basename(copyinstr(arg1)), copyinstr(arg0)] = count(); -} - -dtrace:::END -{ - printf(" %-32s %-32s %8s\n", "FILE", "SUB", "CALLS"); - printa(" %-32s %-32s %@8d\n", @subs); -} diff --git a/cddl/contrib/dtracetoolkit/Perl/pl_syscalls.d b/cddl/contrib/dtracetoolkit/Perl/pl_syscalls.d deleted file mode 100755 index 9c5a7651e86a..000000000000 --- a/cddl/contrib/dtracetoolkit/Perl/pl_syscalls.d +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * pl_syscalls.d - count Perl subroutine calls and syscalls using DTrace. - * Written for the Perl DTrace provider. - * - * $Id: pl_syscalls.d 25 2007-09-12 09:51:58Z brendan $ - * - * USAGE: pl_syscalls.d { -p PID | -c cmd } # hit Ctrl-C to end - * - * FIELDS: - * FILE Filename of the Perl program - * TYPE Type of call (sub/syscall) - * NAME Name of call - * COUNT Number of calls during sample - * - * Filename and subroutine names are printed if available. - * The filename for syscalls may be printed as "perl", if the program - * was invoked using the form "perl filename" rather than running the - * program with an interpreter line. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -self string filename; - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -perl$target:::sub-entry -{ - @calls[basename(copyinstr(arg1)), "sub", copyinstr(arg0)] = count(); -} - -syscall:::entry -/pid == $target/ -{ - @calls[basename(execname), "syscall", probefunc] = count(); -} - -dtrace:::END -{ - printf("\nCalls for PID %d,\n\n", $target); - printf(" %-32s %-10s %-22s %8s\n", "FILE", "TYPE", "NAME", "COUNT"); - printa(" %-32s %-10s %-22s %@8d\n", @calls); -} diff --git a/cddl/contrib/dtracetoolkit/Perl/pl_syscolors.d b/cddl/contrib/dtracetoolkit/Perl/pl_syscolors.d deleted file mode 100755 index ec689f23337f..000000000000 --- a/cddl/contrib/dtracetoolkit/Perl/pl_syscolors.d +++ /dev/null @@ -1,119 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * pl_syscolors.d - trace Perl subroutine flow plus syscalls, in color. - * Written for the Perl DTrace provider. - * - * $Id: pl_syscolors.d 27 2007-09-13 09:26:01Z brendan $ - * - * USAGE: pl_syscolors.d { -p PID | -c cmd } # hit Ctrl-C to end - * - * This watches Perl subroutine entries and returns, and indents child - * subroutine calls. - * - * FIELDS: - * C CPU-id - * PID Process ID - * DELTA(us) Elapsed time from previous line to this line - * FILE Filename of the Perl program - * LINE Line number of filename - * TYPE Type of call (sub/syscall) - * NAME Perl subroutine or syscall name - * - * Filename and subroutine names are printed if available. - * - * WARNING: Watch the first column carefully, it prints the CPU-id. If it - * changes, then it is very likely that the output has been shuffled. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option switchrate=10 - -self int depth; - -dtrace:::BEGIN -{ - /* - * The following are terminal color escape sequences. - * Change them to whatever you prefer, eg HTML font tags. - */ - color_perl = "\033[2;35m"; /* violet, faint */ - color_syscall = "\033[2;32m"; /* green, faint */ - color_off = "\033[0m"; /* default */ - - printf("%s %6s %10s %16s:%-4s %-8s -- %s\n", "C", "PID", "DELTA(us)", - "FILE", "LINE", "TYPE", "NAME"); -} - -perl$target:::sub-entry, -perl$target:::sub-return, -syscall:::entry, -syscall:::return -/self->last == 0 && pid == $target/ -{ - self->last = timestamp; -} - -perl$target:::sub-entry -{ - this->delta = (timestamp - self->last) / 1000; - printf("%s%d %6d %10d %16s:%-4d %-8s %*s-> %s%s\n", color_perl, - cpu, pid, this->delta, basename(copyinstr(arg0)), arg2, "sub", - self->depth * 2, "", copyinstr(arg1), color_off); - self->depth++; - self->last = timestamp; -} - -perl$target:::sub-return -{ - this->delta = (timestamp - self->last) / 1000; - this->name = strjoin(strjoin(copyinstr(arg0), "::"), copyinstr(arg1)); - self->depth -= self->depth > 0 ? 1 : 0; - printf("%s%d %6d %10d %16s:%-4d %-8s %*s<- %s%s\n", color_perl, - cpu, pid, this->delta, basename(copyinstr(arg0)), arg2, "sub", - self->depth * 2, "", copyinstr(arg1), color_off); - self->last = timestamp; -} - -syscall:::entry -/pid == $target/ -{ - this->delta = (timestamp - self->last) / 1000; - printf("%s%d %6d %10d %16s:- %-8s %*s-> %s%s\n", color_syscall, - cpu, pid, this->delta, "\"", "syscall", self->depth * 2, "", - probefunc, color_off); - self->last = timestamp; -} - -syscall:::return -/pid == $target/ -{ - this->delta = (timestamp - self->last) / 1000; - printf("%s%d %6d %10d %16s:- %-8s %*s<- %s%s\n", color_syscall, - cpu, pid, this->delta, "\"", "syscall", self->depth * 2, "", - probefunc, color_off); - self->last = timestamp; -} - -proc:::exit -/pid == $target/ -{ - exit(0); -} diff --git a/cddl/contrib/dtracetoolkit/Perl/pl_who.d b/cddl/contrib/dtracetoolkit/Perl/pl_who.d deleted file mode 100755 index a461311816d9..000000000000 --- a/cddl/contrib/dtracetoolkit/Perl/pl_who.d +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * pl_who.d - trace Perl subroutine execution by process using DTrace. - * Written for the Perl DTrace provider. - * - * $Id: pl_who.d 25 2007-09-12 09:51:58Z brendan $ - * - * This traces Perl activity from all Perl programs on the system that are - * running with Perl provider support. - * - * USAGE: pl_who.d # hit Ctrl-C to end - * - * FIELDS: - * PID Process ID of Perl - * UID User ID of the owner - * SUBS Number of subroutine calls - * FILE Pathname of the Perl program - * - * Filenames are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -perl*:::sub-entry -{ - @lines[pid, uid, copyinstr(arg1)] = count(); -} - -dtrace:::END -{ - printf(" %6s %6s %6s %s\n", "PID", "UID", "SUBS", "FILE"); - printa(" %6d %6d %@6d %s\n", @lines); -} diff --git a/cddl/contrib/dtracetoolkit/Php/Readme b/cddl/contrib/dtracetoolkit/Php/Readme deleted file mode 100644 index 5c9101f227df..000000000000 --- a/cddl/contrib/dtracetoolkit/Php/Readme +++ /dev/null @@ -1,39 +0,0 @@ -Php - DTracing PHP - - These scripts trace the PHP programming language, and require the PHP - DTrace extension module to be installed and enabled. - - The PHP DTrace provider was written by Wes Furlong, and is available - for download both as source and in binary form. The easiest instructions - are currently at, - - http://blogs.sun.com/shanti/entry/dtrace_support_for_php - - which were written for Solaris and the coolstack distribution of PHP. - The steps are roughly, - - 1. Download the extension library from the URL above - 2. Copy the library to your php/extensions/* directory - 3. Edit your php.ini and add, - extension="dtrace.so" - - The website with the PHP DTrace provider source is, - - http://pecl.php.net/package/DTrace - - Here you can fetch the source to build the library yourself, especially - if Solaris binaries from the previous URL aren't going to work for you. - - Since the DTrace PHP provider may be developed further, there is a chance - that it has changed slightly by the time you are reading this, causing - these scripts to either break or behave oddly. Firstly, check for newer - versions of the DTraceToolkit; if it hasn't been updated and you need - to use these scripts immediately, then updating them shouldn't take - too long. The following was the state of the provider when these scripts - were written - check for changes and update the scripts accordingly, - - provider php { - probe function-entry(function, file, lineno) - probe function-return(function, file, lineno) - }; - diff --git a/cddl/contrib/dtracetoolkit/Php/php_calldist.d b/cddl/contrib/dtracetoolkit/Php/php_calldist.d deleted file mode 100755 index 7a1b19e3e3f4..000000000000 --- a/cddl/contrib/dtracetoolkit/Php/php_calldist.d +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * php_calldist.d - measure PHP elapsed times for functions. - * Written for the PHP DTrace provider. - * - * $Id: php_calldist.d 53 2007-09-24 04:58:38Z brendan $ - * - * This traces PHP activity from all programs running on the system with - * PHP provider support. - * - * USAGE: php_calldist.d # hit Ctrl-C to end - * - * This script prints distribution plots of elapsed time for PHP - * operations. Use php_calltime.d for summary reports. - * - * FIELDS: - * 1 Filename of the PHP program - * 2 Type of call (func) - * 3 Name of call - * - * Filename and function names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -php*:::function-entry -/arg0/ -{ - self->depth++; - self->exclude[self->depth] = 0; - self->function[self->depth] = timestamp; -} - -php*:::function-return -/arg0 && self->function[self->depth]/ -{ - this->elapsed_incl = timestamp - self->function[self->depth]; - this->elapsed_excl = this->elapsed_incl - self->exclude[self->depth]; - self->function[self->depth] = 0; - self->exclude[self->depth] = 0; - this->file = basename(copyinstr(arg1)); - this->name = copyinstr(arg0); - - @types_incl[this->file, "func", this->name] = - quantize(this->elapsed_incl / 1000); - @types_excl[this->file, "func", this->name] = - quantize(this->elapsed_excl / 1000); - - self->depth--; - self->exclude[self->depth] += this->elapsed_incl; -} - -dtrace:::END -{ - printf("\nExclusive function elapsed times (us),\n"); - printa(" %s, %s, %s %@d\n", @types_excl); - - printf("\nInclusive function elapsed times (us),\n"); - printa(" %s, %s, %s %@d\n", @types_incl); -} diff --git a/cddl/contrib/dtracetoolkit/Php/php_calltime.d b/cddl/contrib/dtracetoolkit/Php/php_calltime.d deleted file mode 100755 index dcb708c7ab91..000000000000 --- a/cddl/contrib/dtracetoolkit/Php/php_calltime.d +++ /dev/null @@ -1,90 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * php_calltime.d - measure PHP elapsed times for functions. - * Written for the PHP DTrace provider. - * - * $Id: php_calltime.d 53 2007-09-24 04:58:38Z brendan $ - * - * This traces PHP activity from all programs running on the system with - * PHP provider support. - * - * USAGE: php_calltime.d # hit Ctrl-C to end - * - * FIELDS: - * FILE Filename of the PHP program - * TYPE Type of call (func/total) - * NAME Name of call - * TOTAL Total elapsed time for calls (us) - * - * Filename and function names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -php*:::function-entry -/arg0/ -{ - self->depth++; - self->exclude[self->depth] = 0; - self->function[self->depth] = timestamp; -} - -php*:::function-return -/arg0 && self->function[self->depth]/ -{ - this->elapsed_incl = timestamp - self->function[self->depth]; - this->elapsed_excl = this->elapsed_incl - self->exclude[self->depth]; - self->function[self->depth] = 0; - self->exclude[self->depth] = 0; - this->file = basename(copyinstr(arg1)); - this->name = copyinstr(arg0); - - @num[this->file, "func", this->name] = count(); - @num["-", "total", "-"] = count(); - @types_incl[this->file, "func", this->name] = sum(this->elapsed_incl); - @types_excl[this->file, "func", this->name] = sum(this->elapsed_excl); - @types_excl["-", "total", "-"] = sum(this->elapsed_excl); - - self->depth--; - self->exclude[self->depth] += this->elapsed_incl; -} - -dtrace:::END -{ - printf("\nCount,\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "COUNT"); - printa(" %-20s %-10s %-32s %@8d\n", @num); - - normalize(@types_excl, 1000); - printf("\nExclusive function elapsed times (us),\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "TOTAL"); - printa(" %-20s %-10s %-32s %@8d\n", @types_excl); - - normalize(@types_incl, 1000); - printf("\nInclusive function elapsed times (us),\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "TOTAL"); - printa(" %-20s %-10s %-32s %@8d\n", @types_incl); -} diff --git a/cddl/contrib/dtracetoolkit/Php/php_cpudist.d b/cddl/contrib/dtracetoolkit/Php/php_cpudist.d deleted file mode 100755 index e10566c73cf8..000000000000 --- a/cddl/contrib/dtracetoolkit/Php/php_cpudist.d +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * php_cpudist.d - measure PHP on-CPU times for functions. - * Written for the PHP DTrace provider. - * - * $Id: php_cpudist.d 53 2007-09-24 04:58:38Z brendan $ - * - * This traces PHP activity from all programs running on the system with - * PHP provider support. - * - * USAGE: php_cpudist.d # hit Ctrl-C to end - * - * This script prints distribution plots of elapsed time for PHP - * operations. Use php_cputime.d for summary reports. - * - * FIELDS: - * 1 Filename of the PHP program - * 2 Type of call (func) - * 3 Name of call - * - * Filename and function names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -php*:::function-entry -/arg0/ -{ - self->depth++; - self->exclude[self->depth] = 0; - self->function[self->depth] = vtimestamp; -} - -php*:::function-return -/arg0 && self->function[self->depth]/ -{ - this->oncpu_incl = vtimestamp - self->function[self->depth]; - this->oncpu_excl = this->oncpu_incl - self->exclude[self->depth]; - self->function[self->depth] = 0; - self->exclude[self->depth] = 0; - this->file = basename(copyinstr(arg1)); - this->name = copyinstr(arg0); - - @types_incl[this->file, "func", this->name] = - quantize(this->oncpu_incl / 1000); - @types_excl[this->file, "func", this->name] = - quantize(this->oncpu_excl / 1000); - - self->depth--; - self->exclude[self->depth] += this->oncpu_incl; -} - -dtrace:::END -{ - printf("\nExclusive function on-CPU times (us),\n"); - printa(" %s, %s, %s %@d\n", @types_excl); - - printf("\nInclusive function on-CPU times (us),\n"); - printa(" %s, %s, %s %@d\n", @types_incl); -} diff --git a/cddl/contrib/dtracetoolkit/Php/php_cputime.d b/cddl/contrib/dtracetoolkit/Php/php_cputime.d deleted file mode 100755 index 856d5516f2f6..000000000000 --- a/cddl/contrib/dtracetoolkit/Php/php_cputime.d +++ /dev/null @@ -1,90 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * php_cputime.d - measure PHP on-CPU times for functions. - * Written for the PHP DTrace provider. - * - * $Id: php_cputime.d 53 2007-09-24 04:58:38Z brendan $ - * - * This traces PHP activity from all programs running on the system with - * PHP provider support. - * - * USAGE: php_cputime.d # hit Ctrl-C to end - * - * FIELDS: - * FILE Filename of the PHP program - * TYPE Type of call (func/total) - * NAME Name of call (function name) - * TOTAL Total on-CPU time for calls (us) - * - * Filename and function names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -php*:::function-entry -/arg0/ -{ - self->depth++; - self->exclude[self->depth] = 0; - self->function[self->depth] = vtimestamp; -} - -php*:::function-return -/arg0 && self->function[self->depth]/ -{ - this->oncpu_incl = vtimestamp - self->function[self->depth]; - this->oncpu_excl = this->oncpu_incl - self->exclude[self->depth]; - self->function[self->depth] = 0; - self->exclude[self->depth] = 0; - this->file = basename(copyinstr(arg1)); - this->name = copyinstr(arg0); - - @num[this->file, "func", this->name] = count(); - @num["-", "total", "-"] = count(); - @types_incl[this->file, "func", this->name] = sum(this->oncpu_incl); - @types_excl[this->file, "func", this->name] = sum(this->oncpu_excl); - @types_excl["-", "total", "-"] = sum(this->oncpu_excl); - - self->depth--; - self->exclude[self->depth] += this->oncpu_incl; -} - -dtrace:::END -{ - printf("\nCount,\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "COUNT"); - printa(" %-20s %-10s %-32s %@8d\n", @num); - - normalize(@types_excl, 1000); - printf("\nExclusive function on-CPU times (us),\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "TOTAL"); - printa(" %-20s %-10s %-32s %@8d\n", @types_excl); - - normalize(@types_incl, 1000); - printf("\nInclusive function on-CPU times (us),\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "TOTAL"); - printa(" %-20s %-10s %-32s %@8d\n", @types_incl); -} diff --git a/cddl/contrib/dtracetoolkit/Php/php_flow.d b/cddl/contrib/dtracetoolkit/Php/php_flow.d deleted file mode 100755 index 49472eacf820..000000000000 --- a/cddl/contrib/dtracetoolkit/Php/php_flow.d +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * php_flow.d - snoop PHP execution showing function flow. - * Written for the PHP DTrace provider. - * - * $Id: php_flow.d 53 2007-09-24 04:58:38Z brendan $ - * - * This traces PHP activity from all PHP programs on the system - * running with PHP provider support. - * - * USAGE: php_flow.d # hit Ctrl-C to end - * - * This watches PHP function entries and returns, and indents child - * function calls. - * - * FIELDS: - * C CPU-id - * TIME(us) Time since boot, us - * FILE Filename that this function belongs to - * FUNC Function name - * - * LEGEND: - * -> function entry - * <- function return - * - * WARNING: Watch the first column carefully, it prints the CPU-id. If it - * changes, then it is very likely that the output has been shuffled. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option switchrate=10 - -self int depth; - -dtrace:::BEGIN -{ - printf("%3s %-16s %-16s -- %s\n", "C", "TIME(us)", "FILE", "FUNC"); -} - -php*:::function-entry -/arg0/ -{ - printf("%3d %-16d %-16s %*s-> %s\n", cpu, timestamp / 1000, - basename(copyinstr(arg1)), self->depth * 2, "", copyinstr(arg0)); - self->depth++; -} - -php*:::function-return -/arg0/ -{ - self->depth -= self->depth > 0 ? 1 : 0; - printf("%3d %-16d %-16s %*s<- %s\n", cpu, timestamp / 1000, - basename(copyinstr(arg1)), self->depth * 2, "", copyinstr(arg0)); -} diff --git a/cddl/contrib/dtracetoolkit/Php/php_flowinfo.d b/cddl/contrib/dtracetoolkit/Php/php_flowinfo.d deleted file mode 100755 index e537574920ff..000000000000 --- a/cddl/contrib/dtracetoolkit/Php/php_flowinfo.d +++ /dev/null @@ -1,88 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * php_flowinfo.d - snoop PHP function flow with info using DTrace. - * Written for the PHP DTrace provider. - * - * $Id: php_flowinfo.d 53 2007-09-24 04:58:38Z brendan $ - * - * This traces activity from all PHP programs on the system that are - * running with PHP provider support. - * - * USAGE: php_flowinfo.d # hit Ctrl-C to end - * - * FIELDS: - * C CPU-id - * PID Process ID - * DELTA(us) Elapsed time from previous line to this line - * FILE Filename of the PHP program - * LINE Line number of filename - * TYPE Type of call (func) - * FUNC PHP function - * - * LEGEND: - * -> function entry - * <- function return - * - * Filename and function names are printed if available. - * - * WARNING: Watch the first column carefully, it prints the CPU-id. If it - * changes, then it is very likely that the output has been shuffled. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option switchrate=10 - -self int depth; - -dtrace:::BEGIN -{ - printf("%s %6s/%-4s %10s %16s:%-4s %-8s -- %s\n", "C", "PID", "TID", - "DELTA(us)", "FILE", "LINE", "TYPE", "FUNC"); -} - -php*:::function-entry, -php*:::function-return -/self->last == 0/ -{ - self->last = timestamp; -} - -php*:::function-entry -/arg0/ -{ - this->delta = (timestamp - self->last) / 1000; - printf("%d %6d/%-4d %10d %16s:%-4d %-8s %*s-> %s\n", cpu, pid, tid, - this->delta, basename(copyinstr(arg1)), arg2, "func", - self->depth * 2, "", copyinstr(arg0)); - self->depth++; - self->last = timestamp; -} - -php*:::function-return -/arg0/ -{ - this->delta = (timestamp - self->last) / 1000; - self->depth -= self->depth > 0 ? 1 : 0; - printf("%d %6d/%-4d %10d %16s:%-4d %-8s %*s<- %s\n", cpu, pid, tid, - this->delta, basename(copyinstr(arg1)), arg2, "func", - self->depth * 2, "", copyinstr(arg0)); - self->last = timestamp; -} diff --git a/cddl/contrib/dtracetoolkit/Php/php_flowtime.d b/cddl/contrib/dtracetoolkit/Php/php_flowtime.d deleted file mode 100755 index cadb66ad120a..000000000000 --- a/cddl/contrib/dtracetoolkit/Php/php_flowtime.d +++ /dev/null @@ -1,91 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * php_flowtime.d - snoop PHP functions with flow and delta times. - * Written for the PHP DTrace provider. - * - * $Id: php_flowtime.d 53 2007-09-24 04:58:38Z brendan $ - * - * This traces shell activity from PHP programs on the system that are - * running with PHP provider support. - * - * USAGE: php_flowtime.d # hit Ctrl-C to end - * - * This watches PHP function entries and returns, and indents child - * function calls. - * - * FIELDS: - * C CPU-id - * TIME(us) Time since boot, us - * FILE Filename that this function belongs to - * DELTA(us) Elapsed time from previous line to this line - * FUNC PHP function name - * - * LEGEND: - * -> function entry - * <- function return - * - * Filename and function names are printed if available. - * - * WARNING: Watch the first column carefully, it prints the CPU-id. If it - * changes, then it is very likely that the output has been shuffled. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option switchrate=10 - -self int depth; - -self int last; - -dtrace:::BEGIN -{ - printf("%3s %-16s %-16s %9s -- %s\n", "C", "TIME(us)", "FILE", - "DELTA(us)", "FUNC"); -} - -php*:::function-entry, -php*:::function-return -/self->last == 0/ -{ - self->last = timestamp; -} - -php*:::function-entry -/arg0/ -{ - this->delta = (timestamp - self->last) / 1000; - printf("%3d %-16d %-16s %9d %*s-> %s\n", cpu, timestamp / 1000, - basename(copyinstr(arg1)), this->delta, self->depth * 2, "", - copyinstr(arg0)); - self->depth++; - self->last = timestamp; -} - -php*:::function-return -/arg0/ -{ - this->delta = (timestamp - self->last) / 1000; - self->depth -= self->depth > 0 ? 1 : 0; - printf("%3d %-16d %-16s %9d %*s<- %s\n", cpu, timestamp / 1000, - basename(copyinstr(arg1)), this->delta, self->depth * 2, "", - copyinstr(arg0)); - self->last = timestamp; -} diff --git a/cddl/contrib/dtracetoolkit/Php/php_funccalls.d b/cddl/contrib/dtracetoolkit/Php/php_funccalls.d deleted file mode 100755 index 8a0ddcef43b6..000000000000 --- a/cddl/contrib/dtracetoolkit/Php/php_funccalls.d +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * php_funccalls.d - measure PHP function calls using DTrace. - * Written for the PHP DTrace provider. - * - * $Id: php_funccalls.d 53 2007-09-24 04:58:38Z brendan $ - * - * This traces PHP activity from all running programs on the system - * which support the PHP DTrace provider. - * - * USAGE: php_funccalls.d # hit Ctrl-C to end - * - * FIELDS: - * FILE Filename that contained the function - * FUNC PHP function name - * CALLS Function calls during this sample - * - * Filename and function names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -php*:::function-entry -/arg0/ -{ - @funcs[basename(copyinstr(arg1)), copyinstr(arg0)] = count(); -} - -dtrace:::END -{ - printf(" %-32s %-32s %8s\n", "FILE", "FUNC", "CALLS"); - printa(" %-32s %-32s %@8d\n", @funcs); -} diff --git a/cddl/contrib/dtracetoolkit/Php/php_malloc.d b/cddl/contrib/dtracetoolkit/Php/php_malloc.d deleted file mode 100755 index 1ebab26ac201..000000000000 --- a/cddl/contrib/dtracetoolkit/Php/php_malloc.d +++ /dev/null @@ -1,82 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * php_malloc.d - PHP libc malloc analysis. - * Written for the PHP DTrace provider. - * - * $Id: php_malloc.d 53 2007-09-24 04:58:38Z brendan $ - * - * This is an expiremental script to identify who is calling malloc() for - * memory allocation, and to print distribution plots of the requested bytes. - * If a malloc() occured while in a PHP function, then that function is - * identified as responsible; else the caller of malloc() is identified as - * responsible - which will be a function from the PHP engine. - * - * USAGE: php_malloc.d { -p PID | -c cmd } # hit Ctrl-C to end - * - * Filename and function names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -php$target:::function-entry -/arg0/ -{ - self->file = basename(copyinstr(arg1)); - self->name = copyinstr(arg0); -} - -php$target:::function-return -{ - self->file = 0; - self->name = 0; -} - -pid$target:libc:malloc:entry -/self->file != NULL/ -{ - @malloc_func_size[self->file, self->name] = sum(arg1); - @malloc_func_dist[self->file, self->name] = quantize(arg1); -} - -pid$target:libc:malloc:entry -/self->name == NULL/ -{ - @malloc_lib_size[usym(ucaller)] = sum(arg1); - @malloc_lib_dist[usym(ucaller)] = quantize(arg1); -} - - -dtrace:::END -{ - printf("\nPHP malloc byte distributions by engine caller,\n\n"); - printa(" %A, total bytes = %@d %@d\n", @malloc_lib_size, - @malloc_lib_dist); - - printf("\nPHP malloc byte distributions by PHP file and "); - printf("function,\n\n"); - printa(" %s, %s, bytes total = %@d %@d\n", @malloc_func_size, - @malloc_func_dist); -} diff --git a/cddl/contrib/dtracetoolkit/Php/php_syscalls.d b/cddl/contrib/dtracetoolkit/Php/php_syscalls.d deleted file mode 100755 index 7917c24d94ec..000000000000 --- a/cddl/contrib/dtracetoolkit/Php/php_syscalls.d +++ /dev/null @@ -1,75 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * php_syscalls.d - count PHP function calls and syscalls using DTrace. - * Written for the PHP DTrace provider. - * - * This traces syscalls that occured during a PHP function call. - * - * $Id: php_syscalls.d 53 2007-09-24 04:58:38Z brendan $ - * - * USAGE: php_syscalls.d # hit Ctrl-C to end - * - * FIELDS: - * PID Process ID - * FILE Filename of the PHP program - * TYPE Type of call (func/syscall) - * NAME Name of call - * COUNT Number of calls during sample - * - * Filename and function names are printed if available. - * The filename for syscalls may be printed as "php", if the program - * was invoked using the form "php filename" rather than running the - * program with an interpreter line. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -php*:::function-entry -/arg0/ -{ - @calls[pid, basename(copyinstr(arg1)), "func", copyinstr(arg0)] = - count(); - self->php++; -} - -php*:::function-return -/arg0/ -{ - self->php -= self->php == 0 ? 0 : 1; -} - -syscall:::entry -/self->php > 0/ -{ - @calls[pid, basename(execname), "syscall", probefunc] = count(); -} - -dtrace:::END -{ - printf(" %-6s %-26s %-10s %-22s %8s\n", "PID", "FILE", "TYPE", "NAME", - "COUNT"); - printa(" %-6d %-26s %-10s %-22s %@8d\n", @calls); -} diff --git a/cddl/contrib/dtracetoolkit/Php/php_syscolors.d b/cddl/contrib/dtracetoolkit/Php/php_syscolors.d deleted file mode 100755 index ff5e9c957903..000000000000 --- a/cddl/contrib/dtracetoolkit/Php/php_syscolors.d +++ /dev/null @@ -1,116 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * php_syscolors.d - trace PHP function flow plus syscalls, in color. - * Written for the PHP DTrace provider. - * - * $Id: php_syscolors.d 53 2007-09-24 04:58:38Z brendan $ - * - * USAGE: php_syscolors.d # hit Ctrl-C to end - * - * This watches PHP function entries and returns, and indents child - * function calls. - * - * FIELDS: - * C CPU-id - * PID Process ID - * DELTA(us) Elapsed time from previous line to this line - * FILE Filename of the PHP program - * LINE Line number of filename - * TYPE Type of call (func/syscall) - * NAME PHP function or syscall name - * - * Filename and function names are printed if available. - * - * WARNING: Watch the first column carefully, it prints the CPU-id. If it - * changes, then it is very likely that the output has been shuffled. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option switchrate=10 - -self int depth; - -dtrace:::BEGIN -{ - color_php = "\033[2;35m"; /* violet, faint */ - color_syscall = "\033[2;32m"; /* green, faint */ - color_off = "\033[0m"; /* default */ - - self->depth = 0; - printf("%s %6s/%-4s %10s %16s:%-4s %-8s -- %s\n", "C", "PID", "TID", - "DELTA(us)", "FILE", "LINE", "TYPE", "NAME"); -} - -php*:::function-entry, -php*:::function-return -/self->last == 0/ -{ - self->last = timestamp; -} - -php*:::function-entry -/arg0/ -{ - this->delta = (timestamp - self->last) / 1000; - printf("%s%d %6d/%-4d %10d %16s:%-4d %-8s %*s-> %s%s\n", color_php, - cpu, pid, tid, this->delta, basename(copyinstr(arg1)), arg2, "func", - self->depth * 2, "", copyinstr(arg0), color_off); - self->depth++; - self->last = timestamp; -} - -php*:::function-return -/arg0/ -{ - this->delta = (timestamp - self->last) / 1000; - this->name = strjoin(strjoin(copyinstr(arg1), "::"), copyinstr(arg0)); - self->depth -= self->depth > 0 ? 1 : 0; - printf("%s%d %6d/%-4d %10d %16s:%-4d %-8s %*s<- %s%s\n", color_php, - cpu, pid, tid, this->delta, basename(copyinstr(arg1)), arg2, "func", - self->depth * 2, "", copyinstr(arg0), color_off); - self->last = timestamp; -} - -syscall:::entry -/self->last/ -{ - this->delta = (timestamp - self->last) / 1000; - printf("%s%d %6d/%-4d %10d %16s:- %-8s %*s-> %s%s\n", color_syscall, - cpu, pid, tid, this->delta, "\"", "syscall", self->depth * 2, "", - probefunc, color_off); - self->last = timestamp; -} - -syscall:::return -/self->last/ -{ - this->delta = (timestamp - self->last) / 1000; - printf("%s%d %6d/%-4d %10d %16s:- %-8s %*s<- %s%s\n", color_syscall, - cpu, pid, tid, this->delta, "\"", "syscall", self->depth * 2, "", - probefunc, color_off); - self->last = timestamp; -} - -proc:::exit -/pid == $target/ -{ - exit(0); -} diff --git a/cddl/contrib/dtracetoolkit/Php/php_who.d b/cddl/contrib/dtracetoolkit/Php/php_who.d deleted file mode 100755 index 2ebb4b425f2a..000000000000 --- a/cddl/contrib/dtracetoolkit/Php/php_who.d +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * php_who.d - trace PHP function execution by process using DTrace. - * Written for the PHP DTrace provider. - * - * $Id: php_who.d 51 2007-09-24 00:55:23Z brendan $ - * - * This traces PHP activity from all PHP programs on the system that are - * running with PHP provider support. - * - * USAGE: php_who.d # hit Ctrl-C to end - * - * FIELDS: - * PID Process ID of PHP - * UID User ID of the owner - * FUNCS Number of function calls - * FILE Pathname of the PHP program - * - * Filenames are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -php*:::function-entry -{ - @lines[pid, uid, copyinstr(arg1)] = count(); -} - -dtrace:::END -{ - printf(" %6s %6s %6s %s\n", "PID", "UID", "FUNCS", "FILE"); - printa(" %6d %6d %@6d %s\n", @lines); -} diff --git a/cddl/contrib/dtracetoolkit/Proc/Readme b/cddl/contrib/dtracetoolkit/Proc/Readme deleted file mode 100644 index acc36344627d..000000000000 --- a/cddl/contrib/dtracetoolkit/Proc/Readme +++ /dev/null @@ -1,3 +0,0 @@ -Proc - Process based analysis - - This would include activity by PID, and syscall analysis. diff --git a/cddl/contrib/dtracetoolkit/Proc/crash.d b/cddl/contrib/dtracetoolkit/Proc/crash.d deleted file mode 100755 index c1ed397a2a11..000000000000 --- a/cddl/contrib/dtracetoolkit/Proc/crash.d +++ /dev/null @@ -1,181 +0,0 @@ -#!/usr/sbin/dtrace -Cs -/* - * crash.d - Crashed Application info. - * Written in DTrace (Solaris 10 3/05). - * - * $Id: crash.d 3 2007-08-01 10:50:08Z brendan $ - * - * When applications crash via a SIGSEGV or SIGBUS, a report of the - * process state is printed out. - * - * USAGE: crash.d - * - * FIELDS: - * Type Signal type - * Program Execname of process - * Agrs Argument listing of process - * PID Process ID - * TID Thread ID - * LWPs Number of Light Weight Processes - * PPID Parent Process ID - * UID User ID - * GID Group ID - * TaskID Task ID - * ProjID Project ID - * PoolID Pool ID - * ZoneID Zone ID - * zone Zone name - * CWD Current working directory - * errno Error number of last syscall - * - * SEE ALSO: mdb, pstack, coreadm - * app_crash.d - Greg Nakhimovsky & Morgan Herrington - * - * COPYRIGHT: Copyright (c) 2005 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 29-May-2005 Brendan Gregg Created this. - * 24-Apr-2006 " " Last update. - */ - -#pragma D option quiet -#pragma D option destructive - -dtrace:::BEGIN -{ - printf("Waiting for crashing applications...\n"); -} - -/* - * Print Report Header - */ -proc:::signal-send -/(args[2] == SIGBUS || args[2] == SIGSEGV) && pid == args[1]->pr_pid/ -{ - stop(); - self->elapsed = timestamp - curthread->t_procp->p_mstart; - self->crash = 1; - - printf("\n-----------------------------------------------------\n"); - printf("CRASH DETECTED at %Y\n", walltimestamp); - printf("-----------------------------------------------------\n"); - printf("Type: %s\n", args[2] == SIGBUS ? "SIGBUS" : "SIGSEGV"); - printf("Program: %s\n", execname); - printf("Args: %S\n", curpsinfo->pr_psargs); - printf("PID: %d\n", pid); - printf("TID: %d\n", tid); - printf("LWPs: %d\n", curthread->t_procp->p_lwpcnt); - printf("PPID: %d\n", ppid); - printf("UID: %d\n", uid); - printf("GID: %d\n", gid); - printf("TaskID: %d\n", curpsinfo->pr_taskid); - printf("ProjID: %d\n", curpsinfo->pr_projid); - printf("PoolID: %d\n", curpsinfo->pr_poolid); - printf("ZoneID: %d\n", curpsinfo->pr_zoneid); - printf("zone: %s\n", zonename); - printf("CWD: %s\n", cwd); - printf("errno: %d\n", errno); - - printf("\nUser Stack Backtrace,"); - ustack(); - - printf("\nKernel Stack Backtrace,"); - stack(); -} - -/* - * Print Java Details - */ -proc:::signal-send -/self->crash && execname == "java"/ -{ - printf("\nJava Stack Backtrace,"); - jstack(); -} - -/* - * Print Ancestors - */ -proc:::signal-send -/self->crash/ -{ - printf("\nAnsestors,\n"); - self->level = 1; - self->procp = curthread->t_procp; - self->ptr = self->procp; -} - -/* ancestory un-rolled loop, reverse order, 6 deep */ -proc:::signal-send /self->crash && self->ptr != 0/ -{ - printf("%*s %d %S\n", self->level += 2, "", - self->ptr->p_pidp->pid_id, self->ptr->p_user.u_psargs); - self->ptr = self->ptr->p_parent; -} -proc:::signal-send /self->crash && self->ptr != 0/ -{ - printf("%*s %d %S\n", self->level += 2, "", - self->ptr->p_pidp->pid_id, self->ptr->p_user.u_psargs); - self->ptr = self->ptr->p_parent; -} -proc:::signal-send /self->crash && self->ptr != 0/ -{ - printf("%*s %d %S\n", self->level += 2, "", - self->ptr->p_pidp->pid_id, self->ptr->p_user.u_psargs); - self->ptr = self->ptr->p_parent; -} -proc:::signal-send /self->crash && self->ptr != 0/ -{ - printf("%*s %d %S\n", self->level += 2, "", - self->ptr->p_pidp->pid_id, self->ptr->p_user.u_psargs); - self->ptr = self->ptr->p_parent; -} -proc:::signal-send /self->crash && self->ptr != 0/ -{ - printf("%*s %d %S\n", self->level += 2, "", - self->ptr->p_pidp->pid_id, self->ptr->p_user.u_psargs); - self->ptr = self->ptr->p_parent; -} -proc:::signal-send /self->crash && self->ptr != 0/ -{ - printf("%*s %d %S\n", self->level += 2, "", - self->ptr->p_pidp->pid_id, self->ptr->p_user.u_psargs); - self->ptr = self->ptr->p_parent; -} - -/* - * Print Report Footer - */ -proc:::signal-send -/self->crash/ -{ - - printf("\nTimes,\n"); - printf(" User: %d ticks\n", self->procp->p_utime); - printf(" Sys: %d ticks\n", self->procp->p_stime); - printf(" Elapsed: %d ms\n", self->elapsed/1000000); - - printf("\nSizes,\n"); - printf(" Heap: %d bytes\n", self->procp->p_brksize); - printf(" Stack: %d bytes\n", self->procp->p_stksize); - - self->ptr = 0; - self->procp = 0; - self->crash = 0; - self->level = 0; - self->elapsed = 0; - system("/usr/bin/prun %d", pid); -} diff --git a/cddl/contrib/dtracetoolkit/Proc/creatbyproc.d b/cddl/contrib/dtracetoolkit/Proc/creatbyproc.d deleted file mode 100755 index 23e1f5459484..000000000000 --- a/cddl/contrib/dtracetoolkit/Proc/creatbyproc.d +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * creatbyproc.d - file creat()s by process name. DTrace OneLiner. - * - * This is a DTrace OneLiner from the DTraceToolkit. - * - * $Id: creatbyproc.d 3 2007-08-01 10:50:08Z brendan $ - */ - -syscall::creat*:entry { printf("%s %s", execname, copyinstr(arg0)); } diff --git a/cddl/contrib/dtracetoolkit/Proc/dappprof b/cddl/contrib/dtracetoolkit/Proc/dappprof deleted file mode 100755 index 5aed3cb03120..000000000000 --- a/cddl/contrib/dtracetoolkit/Proc/dappprof +++ /dev/null @@ -1,239 +0,0 @@ -#!/usr/bin/sh -# -# dappprof - profile user and library function usage. -# Written using DTrace (Solaris 10 3/05). -# -# The default output traces user functions as they are called. Options -# can be used to examine libraries and timestamps. -# -# $Id: dappprof 65 2007-10-04 11:09:40Z brendan $ -# -# USAGE: dappprof [-acehoTU] [-u lib] { -p PID | command } -# -# -p PID # examine this PID -# -a # print all details -# -c # print call counts -# -e # print elapsed times (us) -# -o # print on cpu times (us) -# -T # print totals -# -u lib # trace this library instead -# -U # trace all libraries + user functions -# -b bufsize # dynamic variable buf size (default is "4m") -# eg, -# dappprof df -h # run and examine the "df -h" command -# dappprof -p 1871 # examine PID 1871 -# -# The elapsed times are interesting, to help identify calls that take -# some time to complete (during which the process may have context -# switched off the CPU). -# -# SEE ALSO: dapptrace # DTraceToolkit -# dtruss # DTraceToolkit -# apptrace -# -# COPYRIGHT: Copyright (c) 2005 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# Author: Brendan Gregg [Sydney, Australia] -# -# 16-May-2005 Brendan Gregg Created this. -# 17-Jul-2005 " " Last update. -# - - -############################## -# --- Process Arguments --- -# - -### Default variables -opt_totals=0; opt_pid=0; pid=0; opt_lib=0; lib="" -opt_elapsed=0; opt_cpu=0; opt_counts=0; opt_liball=0 -opt_command=0; command=""; opt_buf=0; buf="4m" - -### Process options -while getopts ab:cehop:Tu:U name -do - case $name in - a) opt_liball=1; opt_counts=1; opt_elapsed=1; opt_cpu=1 - opt_totals=1 ;; - b) opt_buf=1; buf=$OPTARG ;; - p) opt_pid=1; pid=$OPTARG ;; - u) opt_lib=1; lib=$OPTARG ;; - U) opt_liball=1 ;; - c) opt_counts=1 ;; - e) opt_elapsed=1 ;; - o) opt_cpu=1 ;; - T) opt_totals=1 ;; - h|?) cat <<-END >&2 - USAGE: dappprof [-cehoTU] [-u lib] { -p PID | command } - - -p PID # examine this PID - -a # print all details - -c # print syscall counts - -e # print elapsed times (us) - -o # print on cpu times - -T # print totals - -u lib # trace this library instead - -U # trace all libraries + user funcs - -b bufsize # dynamic variable buf size - eg, - dappprof df -h # run and examine "df -h" - dappprof -p 1871 # examine PID 1871 - dappprof -ap 1871 # print all data - END - exit 1 - esac -done -shift `expr $OPTIND - 1` - -### Option logic -if [ $opt_pid -eq 0 ]; then - opt_command=1 - if [ "$*" = "" ]; then - $0 -h - exit - fi - command="$*" -fi -if [ $opt_elapsed -eq 0 -a $opt_cpu -eq 0 -a $opt_counts -eq 0 ]; then - opt_elapsed=1; -fi - - -### Probe logic -if [ $opt_liball -eq 1 ]; then - probe_entry='pid$target:::entry' - probe_return='pid$target:::return' -elif [ $opt_lib -eq 1 ]; then - probe_entry='pid$target:'$lib'::entry' - probe_return='pid$target:'$lib'::return' -else - probe_entry='pid$target:a.out::entry' - probe_return='pid$target:a.out::return' -fi - -################################# -# --- Main Program, DTrace --- -# - -### Define D Script -dtrace=' - #pragma D option quiet - - /* - * Command line arguments - */ - inline int OPT_command = '$opt_command'; - inline int OPT_liball = '$opt_liball'; - inline int OPT_elapsed = '$opt_elapsed'; - inline int OPT_cpu = '$opt_cpu'; - inline int OPT_counts = '$opt_counts'; - inline int OPT_totals = '$opt_totals'; - inline int OPT_pid = '$opt_pid'; - inline int PID = '$pid'; - inline string NAME = "'$pname'"; - - dtrace:::BEGIN - /! OPT_command/ - { - printf("Tracing... Hit Ctrl-C to end...\n"); - } - - /* - * Save syscall entry info - */ - '$probe_entry' - { - /* set function depth */ - this->fdepth = ++fdepth[probefunc]; - - /* set start details */ - self->start[probefunc,this->fdepth] = timestamp; - self->vstart[probefunc,this->fdepth] = vtimestamp; - - /* count occurances */ - OPT_counts && OPT_liball ? @Counts[probemod,probefunc] = count() : 1; - OPT_counts && ! OPT_liball ? @Counts[probefunc] = count() : 1; - OPT_counts && OPT_totals && OPT_liball ? - @Counts["TOTAL:",""] = count() : 1; - OPT_counts && OPT_totals && ! OPT_liball ? - @Counts["TOTAL:"] = count() : 1; - } - - /* - * Print return data - */ - /* print 3 arg output - default */ - '$probe_return' - /self->start[probefunc,fdepth[probefunc]]/ - { - /* fetch function depth */ - this->fdepth = fdepth[probefunc]; - - /* calculate elapsed time */ - this->elapsed = timestamp - self->start[probefunc,this->fdepth]; - self->start[probefunc,this->fdepth] = 0; - this->cpu = vtimestamp - self->vstart[probefunc,this->fdepth]; - self->vstart[probefunc,this->fdepth] = 0; - - /* save elapsed times */ - OPT_elapsed && OPT_liball ? - @Elapsed[probemod,probefunc] = sum(this->elapsed) : 1; - OPT_elapsed && ! OPT_liball ? - @Elapsed[probefunc] = sum(this->elapsed) : 1; - OPT_elapsed && OPT_totals && OPT_liball ? - @Elapsed["TOTAL:",""] = sum(this->elapsed) : 1; - OPT_elapsed && OPT_totals && ! OPT_liball ? - @Elapsed["TOTAL:"] = sum(this->elapsed) : 1; - - /* save cpu times */ - OPT_cpu && OPT_liball ? @CPU[probemod,probefunc] = sum(this->cpu) : 1; - OPT_cpu && ! OPT_liball ? @CPU[probefunc] = sum(this->cpu) : 1; - OPT_cpu && OPT_totals && OPT_liball ? - @CPU["TOTAL:",""] = sum(this->cpu) : 1; - OPT_cpu && OPT_totals && ! OPT_liball ? - @CPU["TOTAL:"] = sum(this->cpu) : 1; - - } - - /* print counts */ - dtrace:::END - { - /* print counts */ - OPT_counts ? printf("\n%-49s %16s\n","CALL","COUNT") : 1; - OPT_counts && OPT_liball ? printa("%-16s %-32s %@16d\n",@Counts) : 1; - OPT_counts && ! OPT_liball ? printa("%-49s %@16d\n",@Counts) : 1; - - /* print elapsed times */ - OPT_elapsed ? printf("\n%-49s %16s\n","CALL","ELAPSED") : 1; - OPT_elapsed && OPT_liball ? printa("%-16s %-32s %@16d\n",@Elapsed) : 1; - OPT_elapsed && ! OPT_liball ? printa("%-49s %@16d\n",@Elapsed) : 1; - - /* print cpu times */ - OPT_cpu ? printf("\n%-49s %16s\n","CALL","CPU") : 1; - OPT_cpu && OPT_liball ? printa("%-16s %-32s %@16d\n",@CPU) : 1; - OPT_cpu && ! OPT_liball ? printa("%-49s %@16d\n",@CPU) : 1; - } -' - -### Run DTrace -if [ $opt_command -eq 1 ]; then - /usr/sbin/dtrace -x dynvarsize=$buf -x evaltime=exec -n "$dtrace" \ - -c "$command" >&2 -else - /usr/sbin/dtrace -x dynvarsize=$buf -n "$dtrace" -p "$pid" >&2 -fi - diff --git a/cddl/contrib/dtracetoolkit/Proc/dapptrace b/cddl/contrib/dtracetoolkit/Proc/dapptrace deleted file mode 100755 index 7dece4ea0991..000000000000 --- a/cddl/contrib/dtracetoolkit/Proc/dapptrace +++ /dev/null @@ -1,259 +0,0 @@ -#!/usr/bin/sh -# -# dapptrace - trace user and library function usage. -# Written using DTrace (Solaris 10 3/05). -# -# The default output traces user functions as they are called. Options -# can be used to examine libraries and timestamps. -# -# $Id: dapptrace 65 2007-10-04 11:09:40Z brendan $ -# -# USAGE: dapptrace [-acdeFlhoU] [-u lib] { -p PID | command } -# -# -p PID # examine this PID -# -a # print all details -# -c # print call counts -# -d # print relative timestamps (us) -# -e # print elapsed times (us) -# -F # print flow indentation -# -l # print pid/lwpid per line -# -o # print on cpu times (us) -# -u lib # trace this library instead -# -U # trace all libraries + user functions -# -b bufsize # dynamic variable buf size (default is "4m") -# eg, -# dapptrace df -h # run and examine the "df -h" command -# dapptrace -p 1871 # examine PID 1871 -# dapptrace -Fp 1871 # print using flow indents -# dapptrace -eop 1871 # print elapsed and CPU times -# -# The elapsed times are interesting, to help identify calls that take -# some time to complete (during which the process may have context -# switched off the CPU). -# -# SEE ALSO: dappprof # DTraceToolkit -# dtruss # DTraceToolkit -# apptrace -# -# COPYRIGHT: Copyright (c) 2005 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# Author: Brendan Gregg [Sydney, Australia] -# -# 16-May-2005 Brendan Gregg Created this. -# 17-Jul-2005 " " Last update. -# - - -############################## -# --- Process Arguments --- -# - -### Default variables -opt_pid=0; pid=0; opt_indent=0; opt_lib=0; lib="" -opt_elapsed=0; opt_cpu=0; opt_counts=0; -opt_relative=0; opt_printid=0; opt_liball=0 -opt_command=0; command=""; opt_buf=0; buf="4m" - -### Process options -while getopts ab:cdeFhlop:u:U name -do - case $name in - a) opt_liball=1; opt_counts=1; opt_relative=1; opt_elapsed=1 - opt_indent=1; opt_printid=1; opt_cpu=1 ;; - b) opt_buf=1; buf=$OPTARG ;; - p) opt_pid=1; pid=$OPTARG ;; - u) opt_lib=1; lib=$OPTARG ;; - U) opt_liball=1 ;; - c) opt_counts=1 ;; - d) opt_relative=1 ;; - e) opt_elapsed=1 ;; - F) opt_indent=1 ;; - l) opt_printid=1 ;; - o) opt_cpu=1 ;; - h|?) cat <<-END >&2 - USAGE: dapptrace [-acdeholFLU] [-u lib] { -p PID | command } - - -p PID # examine this PID - -a # print all details - -c # print syscall counts - -d # print relative times (us) - -e # print elapsed times (us) - -F # print flow indentation - -l # print pid/lwpid - -o # print CPU on cpu times - -u lib # trace this library instead - -U # trace all libraries + user funcs - -b bufsize # dynamic variable buf size - eg, - dapptrace df -h # run and examine "df -h" - dapptrace -p 1871 # examine PID 1871 - dapptrace -Fp 1871 # print using flow indents - dapptrace -eop 1871 # print elapsed and CPU times - END - exit 1 - esac -done -shift `expr $OPTIND - 1` - -### Option logic -if [ $opt_pid -eq 0 ]; then - opt_command=1 - if [ "$*" = "" ]; then - $0 -h - exit - fi - command="$*" -fi - -### Probe logic -if [ $opt_liball -eq 1 ]; then - probe_entry='pid$target:::entry' - probe_return='pid$target:::return' -elif [ $opt_lib -eq 1 ]; then - probe_entry='pid$target:'$lib'::entry' - probe_return='pid$target:'$lib'::return' -else - probe_entry='pid$target:a.out::entry' - probe_return='pid$target:a.out::return' -fi - -################################# -# --- Main Program, DTrace --- -# - -### Define D Script -dtrace=' - #pragma D option quiet - - /* - * Command line arguments - */ - inline int OPT_command = '$opt_command'; - inline int OPT_liball = '$opt_liball'; - inline int OPT_indent = '$opt_indent'; - inline int OPT_printid = '$opt_printid'; - inline int OPT_relative = '$opt_relative'; - inline int OPT_elapsed = '$opt_elapsed'; - inline int OPT_cpu = '$opt_cpu'; - inline int OPT_counts = '$opt_counts'; - inline int OPT_pid = '$opt_pid'; - inline int PID = '$pid'; - inline string NAME = "'$pname'"; - - dtrace:::BEGIN - { - /* print header */ - OPT_printid ? printf("%-8s ","PID/LWP") : 1; - OPT_relative ? printf("%8s ","RELATIVE") : 1; - OPT_elapsed ? printf("%7s ","ELAPSD") : 1; - OPT_cpu ? printf("%6s ","CPU") : 1; - printf("CALL(args) \t\t = return\n"); - - /* indent depth */ - depth = 0; - } - - /* - * Save syscall entry info - */ - '$probe_entry' - { - /* set function depth */ - this->fdepth = ++fdepth[probefunc]; - depth += 2; - - /* set start details */ - self->start[probefunc,this->fdepth] = timestamp; - self->vstart[probefunc,this->fdepth] = vtimestamp; - - /* count occurances */ - OPT_counts && OPT_liball ? @Counts[probemod,probefunc] = count() : 1; - OPT_counts && ! OPT_liball ? @Counts[probefunc] = count() : 1; - - /* print optional fields */ - OPT_printid ? printf("%5d/%d: ",pid,tid) : 1; - OPT_relative ? printf("%8d ",vtimestamp/1000) : 1; - OPT_elapsed ? printf(" . ") : 1; - OPT_cpu ? printf(" . ") : 1; - OPT_indent ? printf("%*s",depth,"") : 1; - - /* print main data */ - printf("-> "); - OPT_liball ? printf("%s:",probemod) : 1; - printf("%s(0x%X, 0x%X, 0x%X)\t\t\n",probefunc,arg0,arg1,arg2); - - } - - /* - * Print return data - */ - /* print 3 arg output - default */ - '$probe_return' - /self->start[probefunc,fdepth[probefunc]]/ - { - /* fetch function depth */ - this->fdepth = fdepth[probefunc]; - - /* calculate elapsed time */ - this->elapsed = timestamp - self->start[probefunc,this->fdepth]; - self->start[probefunc,this->fdepth] = 0; - this->cpu = vtimestamp - self->vstart[probefunc,this->fdepth]; - self->vstart[probefunc,this->fdepth] = 0; - - /* print optional fields */ - OPT_printid ? printf("%5d/%d: ",pid,tid) : 1; - OPT_relative ? printf("%8d ",vtimestamp/1000) : 1; - OPT_elapsed ? printf("%7d ",this->elapsed/1000) : 1; - OPT_cpu ? printf("%6d ",this->cpu/1000) : 1; - OPT_indent ? printf("%*s",depth,"") : 1; - - /* print main data */ - printf("<- "); - OPT_liball ? printf("%s:",probemod) : 1; - printf("%s = %d\n",probefunc,(int)arg0); - depth -= 2; - fdepth[probefunc]--; - } - - /* reset indent depth */ - profile:::tick-1sec - { - /* - * some probes generated by the pid provider have entries - * but not returns. this is a klude to fix that problem. this - * also explains fdepth[probefunc] rather than a single depth. - */ - depth = 0; - } - - /* print counts */ - dtrace:::END - { - OPT_counts ? printf("\n%-49s %16s\n","CALL","COUNT") : 1; - OPT_counts && OPT_liball ? printa("%-16s %-32s %@16d\n",@Counts) : 1; - OPT_counts && ! OPT_liball ? printa("%-49s %@16d\n",@Counts) : 1; - } -' - -### Run DTrace -if [ $opt_command -eq 1 ]; then - /usr/sbin/dtrace -x dynvarsize=$buf -x evaltime=exec -n "$dtrace" \ - -c "$command" >&2 -else - /usr/sbin/dtrace -x dynvarsize=$buf -n "$dtrace" -p "$pid" >&2 -fi - diff --git a/cddl/contrib/dtracetoolkit/Proc/fddist b/cddl/contrib/dtracetoolkit/Proc/fddist deleted file mode 100755 index b1fe17ad4d9e..000000000000 --- a/cddl/contrib/dtracetoolkit/Proc/fddist +++ /dev/null @@ -1,116 +0,0 @@ -#!/usr/bin/sh -# -# fddist - file descriptor usage distributions. -# Written using DTrace (Solaris 10 3/05). -# -# This prints distributions for read and write events by file descriptor, -# by process. This can be used to determine which file descriptor a -# process is doing the most I/O with. -# -# $Id: fddist 3 2007-08-01 10:50:08Z brendan $ -# -# USAGE: fddist [-r|-w] # hit Ctrl-C to end sample -# -# FIELDS: -# EXEC process name -# PID process ID -# value file descriptor -# count number of events -# -# BASED ON: /usr/demo/dtrace/lquantize.d -# -# SEE ALSO: -# DTrace Guide "Aggregations" chapter (docs.sun.com) -# -# PORTIONS: Copyright (c) 2005, 2006 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# 09-Jun-2005 Brendan Gregg Created this. -# 20-Apr-2006 " " Last update. - - -############################## -# --- Process Arguments --- -# - -### Default variables -opt_read=0; opt_write=0 - -### Process options -while getopts hrw name -do - case $name in - r) opt_read=1 ;; - w) opt_write=1 ;; - h|?) cat <<-END >&2 - USAGE: fddist [-r|-w] - -r # reads only - -w # writes only - eg, - fddist # default, r+w counts - fddist -r # read count only - END - exit 1 - esac -done -shift `expr $OPTIND - 1` - -### Option logic -if [ $opt_read -eq 0 -a $opt_write -eq 0 ]; then - opt_read=1; opt_write=1 -fi - - -################################# -# --- Main Program, DTrace --- -# -/usr/sbin/dtrace -n ' - #pragma D option quiet - - inline int OPT_read = '$opt_read'; - inline int OPT_write = '$opt_write'; - inline int FDMAX = 255; - - /* print header */ - dtrace:::BEGIN - { - printf("Tracing "); - OPT_read && OPT_write ? printf("reads and writes") : 1; - OPT_read && ! OPT_write ? printf("reads") : 1; - ! OPT_read && OPT_write ? printf("writes") : 1; - printf("... Hit Ctrl-C to end.\n"); - } - - /* sample reads */ - syscall::*read*:entry - /OPT_read/ - { - @Count[execname, pid] = lquantize(arg0, 0, FDMAX, 1); - } - - /* sample writes */ - syscall::*write*:entry - /OPT_write/ - { - @Count[execname, pid] = lquantize(arg0, 0, FDMAX, 1); - } - - /* print report */ - dtrace:::END - { - printa("EXEC: %-16s PID: %d\n%@d\n",@Count); - } -' diff --git a/cddl/contrib/dtracetoolkit/Proc/filebyproc.d b/cddl/contrib/dtracetoolkit/Proc/filebyproc.d deleted file mode 100755 index d1f75897bf17..000000000000 --- a/cddl/contrib/dtracetoolkit/Proc/filebyproc.d +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * filebyproc.d - snoop files opened by process name. DTrace OneLiner. - * - * This is a DTrace OneLiner from the DTraceToolkit. - * - * $Id: filebyproc.d 3 2007-08-01 10:50:08Z brendan $ - */ - -syscall::open*:entry { printf("%s %s", execname, copyinstr(arg0)); } diff --git a/cddl/contrib/dtracetoolkit/Proc/kill.d b/cddl/contrib/dtracetoolkit/Proc/kill.d deleted file mode 100755 index 215625f84f4b..000000000000 --- a/cddl/contrib/dtracetoolkit/Proc/kill.d +++ /dev/null @@ -1,63 +0,0 @@ -#!/usr/sbin/dtrace -qs -/* - * kill.d - watch process signals as they are sent (eg, kill -9). - * Written in DTrace (Solaris 10 3/05). - * - * $Id: kill.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: kill.d - * - * FIELDS: - * FROM source PID - * COMMAND source command name - * TO destination PID - * SIG destination signal ("9" for a kill -9) - * RESULT result of signal (-1 is for failure) - * - * SEE ALSO: Chapter 25, Solaris Dynamic Tracing Guide, docs.sun.com, - * for a solution using proc:::signal-send. - * - * COPYRIGHT: Copyright (c) 2005 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-May-2004 Brendan Gregg Created this. - * 28-Jun-2005 " " Last update. - */ - -dtrace:::BEGIN -{ - /* Print header */ - printf("%5s %12s %5s %-6s %s\n", - "FROM", "COMMAND", "SIG", "TO", "RESULT"); -} - -syscall::kill:entry -{ - /* Record target PID and signal */ - self->target = arg0; - self->signal = arg1; -} - -syscall::kill:return -{ - /* Print source, target, and result */ - printf("%5d %12s %5d %-6d %d\n", - pid, execname, self->signal, self->target, (int)arg0); - - /* Cleanup memory */ - self->target = 0; - self->signal = 0; -} diff --git a/cddl/contrib/dtracetoolkit/Proc/lastwords b/cddl/contrib/dtracetoolkit/Proc/lastwords deleted file mode 100755 index 1258cc94edb9..000000000000 --- a/cddl/contrib/dtracetoolkit/Proc/lastwords +++ /dev/null @@ -1,90 +0,0 @@ -#!/usr/bin/ksh -# -# lastwords - print last few syscalls for dying processes. -# Written using DTrace (Solaris 10 3/05). -# -# $Id: lastwords 3 2007-08-01 10:50:08Z brendan $ -# -# This prints the last few system calls for processes matching -# the given name, when they exit. This makes use of a ring buffer -# so that the impact on the system is minimised. -# -# USAGE: lastwords command -# eg, -# lastwords netscape -# -# FIELDS: -# TIME Time of syscall return, ns -# PID Process ID -# EXEC Process name (execname) -# SYSCALL System call -# RETURN Return value for system call -# ERR errno for system call -# -# BASED ON: /usr/demo/dtrace/ring.d -# -# SEE ALSO: DTrace Guide "Buffers and Buffering" chapter (docs.sun.com) -# dtruss (DTraceToolkit) -# -# PORTIONS: Copyright (c) 2005, 2006 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# 09-Jun-2005 Brendan Gregg Created this. -# 20-Apr-2006 " " Last update. -# - -### Usage -function usage -{ - cat <<-END >&2 - USAGE: lastwords command - eg, - lastwords netscape - END - exit 1 -} - -### Process arguments -if (( $# != 1 )); then - usage -fi -command=$1 - -print "Tracing... Waiting for $command to exit..." - -### Run DTrace -/usr/sbin/dtrace -n ' - #pragma D option quiet - #pragma D option bufpolicy=ring - #pragma D option bufsize=16k - - syscall:::return - /execname == $$1/ - { - /* buffer syscall details */ - printf("%-18d %5d %12s %12s %10x %3d\n", - timestamp,pid,execname,probefunc,(int)arg0,errno); - } - - proc::proc_exit:exit - /execname == $$1/ - { - /* print, erm, footer */ - printf("%-18s %5s %12s %12s %10s %3s\n", - "TIME","PID","EXEC","SYSCALL","RETURN","ERR"); - exit(0); - } -' "$command" diff --git a/cddl/contrib/dtracetoolkit/Proc/mmapfiles.d b/cddl/contrib/dtracetoolkit/Proc/mmapfiles.d deleted file mode 100755 index 7690f509576b..000000000000 --- a/cddl/contrib/dtracetoolkit/Proc/mmapfiles.d +++ /dev/null @@ -1,62 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * mmapfiles.d - mmap'd files by process. - * Written using DTrace (Solaris 10 3/05). - * - * $Id: mmapfiles.d 14 2007-09-11 08:03:35Z brendan $ - * - * USAGE: mmapfiles.d # hit Ctrl-C to end sample - * - * FIELDS: - * MMAPS number of mmaps - * CMD process name - * PATHNAME pathname of mmap'd file - * - * COPYRIGHT: Copyright (c) 2005, 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 18-Oct-2005 Brendan Gregg Created this. - * 20-Apr-2006 " " Last update. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -syscall::mmap:entry -/(int)arg4 > 0/ -{ - /* - * Fetch filename - */ - this->filep = curthread->t_procp->p_user.u_finfo.fi_list[arg4].uf_file; - this->vnodep = this->filep != 0 ? this->filep->f_vnode : 0; - self->vpath = this->vnodep ? (this->vnodep->v_path != 0 ? - cleanpath(this->vnodep->v_path) : "") : ""; - - /* Store Details */ - @hits[execname, self->vpath] = count(); -} - -dtrace:::END -{ - /* Print Details */ - printf("%5s %-16s %s\n", "MMAPS", "CMD", "PATHNAME"); - printa("%@5d %-16s %s\n", @hits); -} diff --git a/cddl/contrib/dtracetoolkit/Proc/newproc.d b/cddl/contrib/dtracetoolkit/Proc/newproc.d deleted file mode 100755 index 6b6fad2af927..000000000000 --- a/cddl/contrib/dtracetoolkit/Proc/newproc.d +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * newproc.d - snoop new processes as they are executed. DTrace OneLiner. - * - * This is a DTrace OneLiner from the DTraceToolkit. - * - * $Id: newproc.d 3 2007-08-01 10:50:08Z brendan $ - */ - -proc:::exec-success { trace(curpsinfo->pr_psargs); } diff --git a/cddl/contrib/dtracetoolkit/Proc/pathopens.d b/cddl/contrib/dtracetoolkit/Proc/pathopens.d deleted file mode 100755 index 10cd0c820568..000000000000 --- a/cddl/contrib/dtracetoolkit/Proc/pathopens.d +++ /dev/null @@ -1,100 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * pathopens.d - full pathnames opened successfully count. - * Written using DTrace (Solaris 10 3/05) - * - * This program prints a count of the number of times files have been - * successfully opened. This is somewhat special in that the full pathname - * is calculated, even if the file open referred to a relative pathname. - * - * $Id: pathopens.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: fileopens.d - * - * FIELDS: - * PATHNAME full pathname - * COUNT number of successful opens - * - * Similar to a script from DExplorer. - * - * COPYRIGHT: Copyright (c) 2005, 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 28-Jun-2005 Brendan Gregg Created this. - * 12-Jan-2006 " " Fixed known error. - * 20-Apr-2006 " " Last update. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -syscall::open*:entry -{ - self->pathp = arg0; - self->ok = 1; -} - -syscall::open*:return -/self->ok && arg0 != -1/ -{ - self->file = copyinstr(self->pathp); - self->char0 = copyin(self->pathp, 1); - - /* fetch current working directory */ - this->path = curthread->t_procp->p_user.u_cdir->v_path; - - /* - * Make the full pathname - * - * This routine takes the cwd and the filename, and generates a - * full pathname. Sometimes the filename is absolute, so we must - * ignore the cwd. This also checks if the cwd ends in an - * unnecessary '/'. - */ - this->len = strlen(this->path); - self->join = *(char *)(this->path + this->len - 1) == '/' ? "" : "/"; - self->dir = strjoin(cwd, self->join); - self->dir = *(char *)self->char0 == '/' ? "" : self->dir; - self->full = strjoin(self->dir, self->file); - - /* save to aggregation */ - @num[self->full] = count(); - - /* cleanup */ - self->join = 0; - self->full = 0; - self->dir = 0; - self->file = 0; - self->char0 = 0; -} - -syscall::open*:return -/self->ok/ -{ - /* cleanup */ - self->ok = 0; - self->pathp = 0; -} - -dtrace:::END -{ - printf("%6s %s\n", "COUNT", "PATHNAME"); - printa("%@6d %s\n", @num); -} diff --git a/cddl/contrib/dtracetoolkit/Proc/pfilestat b/cddl/contrib/dtracetoolkit/Proc/pfilestat deleted file mode 100755 index c6aaba3a0c21..000000000000 --- a/cddl/contrib/dtracetoolkit/Proc/pfilestat +++ /dev/null @@ -1,282 +0,0 @@ -#!/usr/bin/sh -# -# pfilestat -# -# This prints I/O statistics for each file descriptor within a process. -# In particular, the time break down during read() and write() events is -# measured. -# -# $Id: pfilestat 4 2007-08-01 11:01:38Z brendan $ -# -# USAGE: pfilestat [-r|-w] pid -# -# FIELDS: -# STATE microstate: running, sleeping, waitcpu, read, write -# FDUM File Descriptor ID -# Time Percentage of wallclock time in each STATE -# File Name of file, if known -# -# COPYRIGHT: Copyright (c) 2006 Richard McDougall. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# ToDo: -# Trace readv() and writev(). -# -# 20-Feb-2006 Richard McDougall created this. -# 24-Feb-2006 Brendan Gregg tweaked code. -# 20-Mar-2006 " " tweaked code. -# 20-Mar-2006 " " last update. - - -############################## -# --- Process Arguments --- -# - -### Default variables -opt_read=0; opt_write=0 - -### Process options -while getopts hrw name -do - case $name in - r) opt_read=1 ;; - w) opt_write=1 ;; - h|?) cat <<-END >&2 - USAGE: pfilestat [-r|-w] pid - -r # reads only - -w # writes only - eg, - pfilestat pid # default, r+w counts - pfilestat -r pid # read count only - END - exit 1 - esac -done -shift `expr $OPTIND - 1` - -PID=$1 -clearstr=`clear` - -if [ -z "$PID" ] -then - echo "Must supply pid" - exit 1 -fi - -### Option logic -if [ $opt_read -eq 0 -a $opt_write -eq 0 ]; then - opt_read=1; opt_write=1 -fi - - -################################# -# --- Main Program, DTrace --- -# -/usr/sbin/dtrace -n ' - #pragma D option quiet - - inline string CLEAR = "'$clearstr'"; - inline int OPT_read = '$opt_read'; - inline int OPT_write = '$opt_write'; - inline int PID = '$PID'; - - unsigned long long totaltime; - unsigned long long totalbytes; - - enum runstate { - READ, - WRITE, - OTHER - }; - - /* print header */ - dtrace:::BEGIN - { - printf("Tracing "); - OPT_read && OPT_write ? printf("reads and writes") : 1; - OPT_read && ! OPT_write ? printf("reads") : 1; - ! OPT_read && OPT_write ? printf("writes") : 1; - printf("..."); - totaltime = 0; - totalbytes = 0; - last = timestamp; - stamp = timestamp; - } - - /* sample reads */ - syscall::read:entry, - syscall::pread*:entry - /pid == PID && OPT_read/ - { - runstate = READ; - @logical["running", (uint64_t)0, ""] = sum(timestamp - last); - totaltime += timestamp - last; - last = timestamp; - - self->fd = arg0 + 1; - } - - fbt::fop_read:entry, - fbt::fop_write:entry - /self->fd/ - { - self->path = args[0]->v_path == 0 ? "" : - cleanpath(args[0]->v_path); - } - - syscall::read:return, - syscall::pread*:return - /pid == PID && OPT_read/ - { - runstate = OTHER; - this->bytes = (int)arg0 > 0 ? (int)arg0 : 0; - @logical["read", self->fd - 1, self->path] = sum(timestamp - last); - @bytes["read", self->fd - 1, self->path] = sum(this->bytes); - totalbytes += this->bytes; - totaltime += timestamp - last; - last = timestamp; - self->path = 0; - self->fd = 0; - } - - - /* sample writes */ - syscall::write:entry, - syscall::pwrite*:entry - /pid == PID && OPT_write/ - { - runstate = WRITE; - @logical["running", (uint64_t)0, ""] = sum(timestamp - last); - totaltime += timestamp - last; - last = timestamp; - - self->fd = (int)arg0 + 1; - } - - syscall::write:return, - syscall::pwrite*:return - /pid == PID && OPT_write/ - { - runstate = OTHER; - this->bytes = (int)arg0 > 0 ? (int)arg0 : 0; - @logical["write", self->fd - 1, self->path] = sum(timestamp - last); - @bytes["write", self->fd - 1, self->path] = sum(this->bytes); - totalbytes += this->bytes; - totaltime += timestamp - last; - last = timestamp; - self->path = 0; - self->fd = 0; - } - - sched:::on-cpu - /pid == PID/ - { - @logical["waitcpu", (uint64_t)0, ""] = sum(timestamp - last); - totaltime += timestamp - last; - last = timestamp; - } - - - sched:::off-cpu - /pid == PID/ - { - @logical["running", (uint64_t)0, ""] = sum(timestamp - last); - totaltime += timestamp - last; - last = timestamp; - } - - sched:::sleep - /pid == PID/ - { - @logical["running", (uint64_t)0, ""] = sum(timestamp - last); - totaltime += timestamp - last; - last = timestamp; - } - - sched:::wakeup - /args[1]->pr_pid == PID && runstate == OTHER/ - { - @logical["sleep", (uint64_t)0, ""] = sum(timestamp - last); - totaltime += timestamp - last; - last = timestamp; - } - - sched:::wakeup - /args[1]->pr_pid == PID && runstate == READ/ - { - @logical["sleep-r", (uint64_t)0, ""] = sum(timestamp - last); - totaltime += timestamp - last; - last = timestamp; - } - - sched:::wakeup - /args[1]->pr_pid == PID && runstate == WRITE/ - { - @logical["sleep-w", (uint64_t)0, ""] = sum(timestamp - last); - totaltime += timestamp - last; - last = timestamp; - } - - sched:::enqueue - /args[1]->pr_pid == PID/ - { - @logical["waitcpu", (uint64_t)0, ""] = sum(timestamp - last); - totaltime += timestamp - last; - last = timestamp; - } - - sched:::dequeue - /args[1]->pr_pid == PID/ - { - @logical["waitcpu", (uint64_t)0, ""] = sum(timestamp - last); - totaltime += timestamp - last; - last = timestamp; - } - - /* print report */ - profile:::tick-5s - { - printf("%s", CLEAR); - normalize(@logical, totaltime / 100); - trunc(@logical, 10); - printf("%10s %7s %9s %-44s\n", "STATE", "FDNUM", "Time", "Filename"); - printa("%10s %7d %@8d%% %-44.44s\n", @logical); - trunc(@logical); - - delta = timestamp - stamp; - stamp = timestamp; - normalize(@bytes, (1024 * delta) / 1000000000); - trunc(@bytes, 10); - printf("\n%10s %7s %9s %-44s\n", "STATE", "FDNUM", "KB/s", - "Filename"); - printa("%10s %7d %@9d %-44.44s\n", @bytes); - trunc(@bytes); - - printf("\nTotal event time (ms): %d Total Mbytes/sec: %d\n", - totaltime / 1000000, - (totalbytes * 1000000000) / (delta * 1048576)); - - totaltime = 0; - totalbytes = 0; - last = timestamp; - } - - dtrace:::END - { - trunc(@logical); - trunc(@bytes); - } -' diff --git a/cddl/contrib/dtracetoolkit/Proc/pidpersec.d b/cddl/contrib/dtracetoolkit/Proc/pidpersec.d deleted file mode 100755 index ab57b66ee581..000000000000 --- a/cddl/contrib/dtracetoolkit/Proc/pidpersec.d +++ /dev/null @@ -1,57 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * pidpersec.d - print new PIDs per sec. - * Written using DTrace (Solaris 10 3/05) - * - * This script prints the number of new processes created per second. - * - * $Id: pidpersec.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: pidpersec.d - * - * FIELDS: - * - * TIME Time, as a string - * LASTPID Last PID created - * PID/s Number of processes created per second - * - * SEE ALSO: execsnoop - * - * COPYRIGHT: Copyright (c) 2005 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Jun-2005 Brendan Gregg Created this. - * 09-Jun-2005 " " Last update. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("%-22s %6s\n", "TIME", "PID/s"); - pids = 0; -} - -proc:::exec-success -{ - pids++; -} - -profile:::tick-1sec -{ - printf("%-22Y %6d\n", walltimestamp, pids); - pids = 0; -} diff --git a/cddl/contrib/dtracetoolkit/Proc/readbytes.d b/cddl/contrib/dtracetoolkit/Proc/readbytes.d deleted file mode 100755 index 67612a2d5e0f..000000000000 --- a/cddl/contrib/dtracetoolkit/Proc/readbytes.d +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * readbytes.d - read bytes by process name. DTrace OneLiner. - * - * This is a DTrace OneLiner from the DTraceToolkit. - * - * $Id: readbytes.d 3 2007-08-01 10:50:08Z brendan $ - */ - -sysinfo:::readch { @bytes[execname] = sum(arg0); } diff --git a/cddl/contrib/dtracetoolkit/Proc/readdist.d b/cddl/contrib/dtracetoolkit/Proc/readdist.d deleted file mode 100755 index 0d0346dd8b91..000000000000 --- a/cddl/contrib/dtracetoolkit/Proc/readdist.d +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * readdist.d - read distribution by process name. DTrace OneLiner. - * - * This is a DTrace OneLiner from the DTraceToolkit. - * - * $Id: readdist.d 3 2007-08-01 10:50:08Z brendan $ - */ - -sysinfo:::readch { @dist[execname] = quantize(arg0); } diff --git a/cddl/contrib/dtracetoolkit/Proc/rwbbypid.d b/cddl/contrib/dtracetoolkit/Proc/rwbbypid.d deleted file mode 100755 index 72cb00df59ed..000000000000 --- a/cddl/contrib/dtracetoolkit/Proc/rwbbypid.d +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * rwbbypid.d - read/write bytes by PID. - * Written using DTrace (Solaris 10 3/05) - * - * This script tracks the bytes read and written at the syscall level - * by processes, printing the totals in a report. This is tracking the - * successful number of bytes read or written. - * - * $Id: rwbbypid.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: rwbbypid.d # hit Ctrl-C to end sample - * - * FIELDS: - * PID process ID - * CMD process name - * DIR direction, Read or Write - * BYTES total bytes - * - * COPYRIGHT: Copyright (c) 2005, 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 28-Jun-2005 Brendan Gregg Created this. - * 20-Apr-2006 " " Last update. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -sysinfo:::readch -{ - @bytes[pid, execname, "R"] = sum(arg0); -} - -sysinfo:::writech -{ - @bytes[pid, execname, "W"] = sum(arg0); -} - -dtrace:::END -{ - printf("%6s %-24s %4s %16s\n", "PID", "CMD", "DIR", "BYTES"); - printa("%6d %-24s %4s %@16d\n", @bytes); -} diff --git a/cddl/contrib/dtracetoolkit/Proc/rwbypid.d b/cddl/contrib/dtracetoolkit/Proc/rwbypid.d deleted file mode 100755 index e4f0432f1ae1..000000000000 --- a/cddl/contrib/dtracetoolkit/Proc/rwbypid.d +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * rwbypid.d - read/write calls by PID. - * Written using DTrace (Solaris 10 3/05) - * - * This script tracks the number of reads and writes at the syscall level - * by processes, printing the totals in a report. This matches reads - * and writes whether they succeed or not. - * - * $Id: rwbypid.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: rwbypid.d # hit Ctrl-C to end sample - * - * FIELDS: - * PID process ID - * CMD process name - * DIR Read or Write - * COUNT total calls - * - * COPYRIGHT: Copyright (c) 2005, 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 28-Jun-2005 Brendan Gregg Created this. - * 20-Apr-2006 " " Last update. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -syscall::*read*:entry -{ - @calls[pid, execname, "R"] = sum(arg0); -} - -syscall::*write*:entry -{ - @calls[pid, execname, "W"] = sum(arg0); -} - -dtrace:::END -{ - printf("%6s %-24s %4s %8s\n", "PID", "CMD", "DIR", "COUNT"); - printa("%6d %-24s %4s %@8d\n", @calls); -} diff --git a/cddl/contrib/dtracetoolkit/Proc/rwbytype.d b/cddl/contrib/dtracetoolkit/Proc/rwbytype.d deleted file mode 100755 index 6705d99f3cdb..000000000000 --- a/cddl/contrib/dtracetoolkit/Proc/rwbytype.d +++ /dev/null @@ -1,101 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * rwbytype.d - read/write bytes by vnode type. - * Written using DTrace (Solaris 10 3/05). - * - * This program identifies the vnode type of read/write activity - whether - * that is for regular files, sockets, character special devices, etc. - * - * $Id: rwbytype.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: rwbytype.d # hit Ctrl-C to end sample - * - * FIELDS: - * PID number of rwbytype - * CMD process name - * VTYPE vnode type (describes I/O type) - * DIR direction (Read/Write) - * BYTES bytes transferred - * - * COPYRIGHT: Copyright (c) 2005, 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 18-Oct-2005 Brendan Gregg Created this. - * 20-Apr-2006 " " Last update. - */ - -#pragma D option quiet - -typedef struct vtype2str { - string code; -}; - -translator struct vtype2str < int T > { - /* the order has been picked for performance reasons */ - code = - T == 1 ? "reg" : - T == 9 ? "sock" : - T == 4 ? "chr" : - T == 6 ? "fifo" : - T == 8 ? "proc" : - T == 2 ? "dir" : - T == 3 ? "blk" : - T == 5 ? "lnk" : - T == 7 ? "door" : - T == 10 ? "port" : - T == 11 ? "bad" : "non"; -}; - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -fbt::fop_read:entry, -fbt::fop_write:entry -{ - self->type = xlate (args[0]->v_type)->code; - self->size = args[1]->uio_resid; - self->uiop = args[1]; -} - -fbt::fop_read:return -/self->uiop/ -{ - this->resid = self->uiop->uio_resid; - @bytes[pid, execname, self->type, "R"] = sum(self->size - this->resid); - self->type = 0; - self->size = 0; - self->uiop = 0; -} - -/* this is delibrately redundant code for performance reasons */ -fbt::fop_write:return -/self->uiop/ -{ - this->resid = self->uiop->uio_resid; - @bytes[pid, execname, self->type, "W"] = sum(self->size - this->resid); - self->type = 0; - self->size = 0; - self->uiop = 0; -} - -dtrace:::END -{ - printf("%-6s %-16s %6s %4s %9s\n", - "PID", "CMD", "VTYPE", "DIR", "BYTES"); - printa("%-6d %-16s %6s %4s %@9d\n", @bytes); -} diff --git a/cddl/contrib/dtracetoolkit/Proc/sampleproc b/cddl/contrib/dtracetoolkit/Proc/sampleproc deleted file mode 100755 index 891be1465094..000000000000 --- a/cddl/contrib/dtracetoolkit/Proc/sampleproc +++ /dev/null @@ -1,105 +0,0 @@ -#!/usr/bin/ksh -# -# sampleproc - sample processes on the CPUs. -# Written using DTrace (Solaris 10 3/05). -# -# This program samples which process is on each CPU, at a particular -# configurable rate. This can be used as an estimate for which process -# is consuming the most CPU time. -# -# $Id: sampleproc 8 2007-08-06 05:55:26Z brendan $ -# -# USAGE: sampleproc [hertz] # hit Ctrl-C to end sample -# -# FIELDS: -# PID Process ID -# COMMAND Command name -# COUNT Number of samples -# PERCENT Percent of CPU usage -# -# BASED ON: /usr/demo/dtrace/prof.d -# -# SEE ALSO: -# DTrace Guide "profile Provider" chapter (docs.sun.com) -# -# PORTIONS: Copyright (c) 2005 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# 09-Jun-2005 Brendan Gregg Created this. -# 09-Jul-2005 " " Last update. - -### Usage -function usage -{ - cat <<-END >&2 - USAGE: sampleproc [hertz] - eg, - sampleproc # defaults to 100 hertz - sampleproc 1000 # 1000 hertz - END - exit 1 -} - -### Process arguments -if (( $# == 0 )); then - hertz=100 -elif (( $# == 1 )); then - hertz=$1 - if [[ "$hertz" = *[a-zA-Z]* ]]; then - print "ERROR2: $hertz hertz is invalid." >&2 - exit 2 - fi - if (( hertz > 5000 )); then - print "ERROR3: $hertz hertz is too fast (max 5000)." >&2 - exit 3 - fi - if (( hertz < 1 )); then - print "ERROR4: $hertz hertz is too low (min 1)." >&2 - exit 4 - fi -else - usage -fi - -### Run DTrace -/usr/sbin/dtrace -n ' - #pragma D option quiet - - dtrace:::BEGIN - { - printf("Sampling at %d hertz... Hit Ctrl-C to end.\n",$1); - self->start = timestamp; - } - - profile:::profile-$1 - { - @Proc[pid, execname] = count(); - @BigProc[pid, execname] = sum(1000); /* dont ask */ - } - - dtrace:::END - { - this->end = timestamp; - - printf("%5s %-20s %10s\n", "PID", "CMD", "COUNT"); - printa("%5d %-20s %10@d\n", @Proc); - - normalize(@BigProc, - ((`ncpus_online * $1 * (this->end - self->start))/100000000)); - printf("\n%5s %-20s %10s\n", "PID", "CMD", "PERCENT"); - printa("%5d %-20s %10@d\n", @BigProc); - } -' $hertz diff --git a/cddl/contrib/dtracetoolkit/Proc/shortlived.d b/cddl/contrib/dtracetoolkit/Proc/shortlived.d deleted file mode 100755 index 268c370d11e8..000000000000 --- a/cddl/contrib/dtracetoolkit/Proc/shortlived.d +++ /dev/null @@ -1,118 +0,0 @@ -#!/usr/sbin/dtrace -qs -/* - * shortlived.d - determine time spent by short lived processes. - * Written in DTrace (Solaris 10 3/05). - * - * $Id: shortlived.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: shortlived.d # wait, then hit Ctrl-C - * - * Applications that run many short lived processes can cause load - * on the system that is difficult to identify - the processes - * aren't sampled in time by programs such as prstat. This program - * illustrates how much time was spent processing those extra - * processes, and a table of process name by total times for each. - * - * SEE ALSO: execsnoop - * - * Notes: - * - The measurements are minimum values, not all of the overheads - * caused by process generation and destruction are measured (DTrace - * can do so, but the script would become seriously complex). - * - The summary values are accurate, the by program and by PPID values - * are usually slightly smaller due to rounding errors. - * - * COPYRIGHT: Copyright (c) 2005, 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 22-Apr-2005 Brendan Gregg Created this. - * 20-Apr-2006 " " Last update. - */ - -/* - * Start - */ -dtrace:::BEGIN -{ - /* save start time */ - start = timestamp; - - /* this is time spent on shortlived processes */ - procs = 0; - - /* print header */ - printf("Tracing... Hit Ctrl-C to stop.\n"); -} - -/* - * Measure parent fork time - */ -syscall::*fork*:entry -{ - /* save start of fork */ - self->fork = vtimestamp; -} -syscall::*fork*:return -/arg0 != 0 && self->fork/ -{ - /* record elapsed time for the fork syscall */ - this->elapsed = vtimestamp - self->fork; - procs += this->elapsed; - self->fork = 0; -} - -/* - * Measure child processes time - */ -syscall::*fork*:return -/arg0 == 0/ -{ - /* save start of child process */ - self->start = vtimestamp; - - /* memory cleanup */ - self->fork = 0; -} -proc:::exit -/self->start/ -{ - /* record elapsed time for process execution */ - this->elapsed = vtimestamp - self->start; - procs += this->elapsed; - - /* sum elapsed by process name and ppid */ - @Times_exec[execname] = sum(this->elapsed/1000000); - @Times_ppid[ppid] = sum(this->elapsed/1000000); - - /* memory cleanup */ - self->start = 0; -} - -/* - * Print report - */ -dtrace:::END -{ - this->total = timestamp - start; - printf("short lived processes: %6d.%03d secs\n", - procs/1000000000, (procs%1000000000)/1000000); - printf("total sample duration: %6d.%03d secs\n", - this->total/1000000000, (this->total%1000000000)/1000000); - printf("\nTotal time by process name,\n"); - printa("%18s %@12d ms\n", @Times_exec); - printf("\nTotal time by PPID,\n"); - printa("%18d %@12d ms\n", @Times_ppid); -} diff --git a/cddl/contrib/dtracetoolkit/Proc/sigdist.d b/cddl/contrib/dtracetoolkit/Proc/sigdist.d deleted file mode 100755 index c3b2bc075c61..000000000000 --- a/cddl/contrib/dtracetoolkit/Proc/sigdist.d +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * sigdist.d - signal distribution by process name. - * Written using DTrace (Solaris 10 3/05) - * - * This is a simple DTrace script that prints the number of signals - * recieved by process and signal number. This script is also available - * as /usr/demo/dtrace/sig.d, where it originates. - * - * $Id: sigdist.d 4 2007-08-01 11:01:38Z brendan $ - * - * USAGE: sigdist.d # hit Ctrl-C to end - * - * FIELDS: - * SENDER process name of sender - * RECIPIENT process name of target - * SIG signal number, see signal(3head) - * COUNT number of signals sent - * - * BASED ON: /usr/demo/dtrace/sig.d - * - * SEE ALSO: DTrace Guide "proc Provider" chapter (docs.sun.com) - * kill.d(1M) - * - * PORTIONS: Copyright (c) 2005, 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Jun-2005 Brendan Gregg Created this. - * 20-Apr-2006 " " Last update. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -proc:::signal-send -{ - @Count[execname, stringof(args[1]->pr_fname), args[2]] = count(); -} - -dtrace:::END -{ - printf("%16s %16s %6s %6s\n", "SENDER", "RECIPIENT", "SIG", "COUNT"); - printa("%16s %16s %6d %6@d\n", @Count); -} diff --git a/cddl/contrib/dtracetoolkit/Proc/stacksize.d b/cddl/contrib/dtracetoolkit/Proc/stacksize.d deleted file mode 100755 index fedcfbc6e788..000000000000 --- a/cddl/contrib/dtracetoolkit/Proc/stacksize.d +++ /dev/null @@ -1,95 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * stacksize.d - measure stack size for running threads. - * Written using DTrace (Solaris 10 3/05). - * - * $Id: stacksize.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: stacksize.d # hit Ctrl-C to end sample - * - * FIELDS: - * value size of the user stack - * count number of samples at this size - * - * SEE ALSO: pmap(1) - * - * COPYRIGHT: Copyright (c) 2006 Jonathan Adams - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 16-Feb-2006 Jonathan Adams Created this. - * 16-Feb-2006 " " Last update. - */ - -#pragma D option quiet - -this uintptr_t stkinfoptr; -this uintptr_t stkptr; - -dtrace:::BEGIN -{ - trace("Sampling... Hit Ctrl-C to end\n"); -} - -sched:::on-cpu, profile:::profile-997 -{ - this->stkinfoptr = 0; - this->stkptr = 0; -} - -sched:::on-cpu, profile:::profile-997 -/execname != "sched"/ -{ - this->stkinfoptr = curthread->t_lwp->lwp_ustack; - this->stkptr = (uintptr_t)0; -} - -sched:::on-cpu, profile:::profile-997 -/this->stkinfoptr != 0 && curpsinfo->pr_dmodel == PR_MODEL_ILP32/ -{ - this->stkinfo32 = (stack32_t *)copyin(this->stkinfoptr, - sizeof (stack32_t)); - this->stktop = (uintptr_t)this->stkinfo32->ss_sp + - this->stkinfo32->ss_size; - this->stkptr = (uintptr_t)uregs[R_SP]; -} - -sched:::on-cpu, profile:::profile-997 -/this->stkinfoptr != 0 && curpsinfo->pr_dmodel == PR_MODEL_LP64/ -{ - this->stkinfo = (stack_t *)copyin(this->stkinfoptr, - sizeof (stack_t)); - this->stktop = (uintptr_t)this->stkinfo->ss_sp + - this->stkinfo->ss_size; - this->stkptr = (uintptr_t)uregs[R_SP]; -} - -sched:::on-cpu, profile:::profile-997 -/this->stkptr != 0/ -{ - @sizes[execname] = quantize(this->stktop - this->stkptr); -} - -dtrace:::ERROR -{ - @errors[execname] = count(); -} - -dtrace:::END -{ - printa(@sizes); - printf("\nErrors:\n"); - printa(" %@d %s\n", @errors); -} diff --git a/cddl/contrib/dtracetoolkit/Proc/sysbypid.d b/cddl/contrib/dtracetoolkit/Proc/sysbypid.d deleted file mode 100755 index bb806538c9d2..000000000000 --- a/cddl/contrib/dtracetoolkit/Proc/sysbypid.d +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * sysbypid.d - print sysinfo events by process. - * Uses DTrace (Solaris 10 3/05). - * - * $Id: sysbypid.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: sysbypid.d - * - * FIELDS: - * EXEC Process name - * PID Process ID - * SYS System statistic (see /usr/include/sys/sysinfo.h) - * VALUE Value by which statistic was incremented - * - * The virtual memory statistics are documented in the cpu_sysinfo struct - * in the /usr/include/sys/sysinfo.h file; and also in the sysinfo provider - * chapter of the DTrace Guide, http://docs.sun.com/db/doc/817-6223. - * - * COPYRIGHT: Copyright (c) 2005, 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 14-May-2005 Brendan Gregg Created this. - * 20-Apr-2006 " " Last update. - */ - -#pragma D option quiet - -dtrace:::BEGIN { - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -sysinfo::: { - @Sys[execname, pid, probename] = sum(arg0); -} - -dtrace:::END { - printf("%16s %8s %22s %8s\n", "EXEC", "PID", "SYS", "VALUE"); - printa("%16s %8d %22s %@8d\n", @Sys); -} diff --git a/cddl/contrib/dtracetoolkit/Proc/syscallbypid.d b/cddl/contrib/dtracetoolkit/Proc/syscallbypid.d deleted file mode 100755 index f33ac027ea9a..000000000000 --- a/cddl/contrib/dtracetoolkit/Proc/syscallbypid.d +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * syscallbypid.d - report on syscalls by PID. - * Written using DTrace (Solaris 10 3/05) - * - * $Id: syscallbypid.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: syscallbypid.d # hit Ctrl-C to end sample - * - * FIELDS: - * PID process ID - * CMD process name - * SYSCALL syscall name - * COUNT number of syscalls for this PID - * - * This is based on a script from DExplorer. - * - * COPYRIGHT: Copyright (c) 2005, 2006 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 15-May-2005 Brendan Gregg Created this. - * 20-Apr-2006 " " Last update. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -syscall:::entry -{ - @num[pid, execname, probefunc] = count(); -} - -dtrace:::END -{ - printf("%6s %-24s %-24s %8s\n", "PID", "CMD", "SYSCALL", "COUNT"); - printa("%6d %-24s %-24s %@8d\n", @num); -} diff --git a/cddl/contrib/dtracetoolkit/Proc/syscallbyproc.d b/cddl/contrib/dtracetoolkit/Proc/syscallbyproc.d deleted file mode 100755 index d0faa75556e4..000000000000 --- a/cddl/contrib/dtracetoolkit/Proc/syscallbyproc.d +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * syscallbyproc.d - report on syscalls by process name . DTrace OneLiner. - * - * This is a DTrace OneLiner from the DTraceToolkit. - * - * $Id: syscallbyproc.d 3 2007-08-01 10:50:08Z brendan $ - */ - -syscall:::entry { @num[execname] = count(); } diff --git a/cddl/contrib/dtracetoolkit/Proc/threaded.d b/cddl/contrib/dtracetoolkit/Proc/threaded.d deleted file mode 100755 index 7f5770b54825..000000000000 --- a/cddl/contrib/dtracetoolkit/Proc/threaded.d +++ /dev/null @@ -1,66 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * threaded.d - sample multi-threaded CPU usage. - * Written using DTrace (Solaris 10 3/05). - * - * This measures thread IDs as a process runs across multiple CPUs. - * It is a simple script that can help determine if a multi-threaded - * application is effectively using it's threads, or if the threads have - * serialised. See the example file in Docs/Examples/threaded_example.txt - * for a demonstration. - * - * $Id: threaded.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: threaded.d - * - * FIELDS: - * PID process ID - * CMD process name - * value thread ID - * count number of samples - * - * SEE ALSO: prstat -L - * - * COPYRIGHT: Copyright (c) 2005 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * Author: Brendan Gregg [Sydney, Australia] - * - * 25-Jul-2005 Brendan Gregg Created this. - * 25-Jul-2005 " " Last update. - */ - -#pragma D option quiet - -/* - * Sample at 100 Hertz - */ -profile:::profile-100 -/pid != 0/ -{ - @sample[pid, execname] = lquantize(tid, 0, 128, 1); -} - -/* - * Print output every 1 second - */ -profile:::tick-1sec -{ - printf("%Y,\n", walltimestamp); - printa("\n PID: %-8d CMD: %s\n%@d", @sample); - printf("\n"); - trunc(@sample); -} diff --git a/cddl/contrib/dtracetoolkit/Proc/topsysproc b/cddl/contrib/dtracetoolkit/Proc/topsysproc deleted file mode 100755 index 5836f6848bc3..000000000000 --- a/cddl/contrib/dtracetoolkit/Proc/topsysproc +++ /dev/null @@ -1,121 +0,0 @@ -#!/usr/bin/sh -# -# topsysproc - display top syscalls by process name. -# Written using DTrace (Solaris 10 3/05). -# -# This program continually prints a report of the number of system calls -# by process name, and refreshes the display every 1 second or as specified -# at the command line. Similar data can be fetched with "prstat -m". -# -# $Id: topsysproc 19 2007-09-12 07:47:59Z brendan $ -# -# USAGE: topsysproc [interval] -# -# FIELDS: -# load avg load averages, see uptime(1) -# syscalls total number of syscalls in this interval -# PROCESS process name -# COUNT number of occurances in this interval -# -# NOTE: There may be several PIDs with the same process name. -# -# SEE ALSO: prstat(1M) -# -# INSPIRATION: top(1) by William LeFebvre -# -# COPYRIGHT: Copyright (c) 2005 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# 13-Jun-2005 Brendan Gregg Created this. -# 20-Apr-2006 " " Last update. -# - -# -# Check options -# -if [ "$1" = "-h" -o "$1" = "--help" ]; then - cat <<-END - USAGE: topsysproc [interval] - eg, - topsysproc # default, 1 second updates - topsysproc 5 # 5 second updates - END - exit 1 -fi -interval=1 -if [ "$1" -gt 0 ]; then - interval=$1 -fi - -# -# Run DTrace -# -/usr/sbin/dtrace -n ' - #pragma D option quiet - #pragma D option destructive - - /* constants */ - inline int INTERVAL = '$interval'; - inline int SCREEN = 20; - - /* variables */ - dtrace:::BEGIN - { - secs = 0; - printf("Tracing... Please wait.\n"); - } - - /* record syscall event */ - syscall:::entry - { - @Name[execname] = count(); - @Total = count(); - } - - /* update screen */ - profile:::tick-1sec - /++secs >= INTERVAL/ - { - /* fetch load averages */ - this->load1a = `hp_avenrun[0] / 65536; - this->load5a = `hp_avenrun[1] / 65536; - this->load15a = `hp_avenrun[2] / 65536; - this->load1b = ((`hp_avenrun[0] % 65536) * 100) / 65536; - this->load5b = ((`hp_avenrun[1] % 65536) * 100) / 65536; - this->load15b = ((`hp_avenrun[2] % 65536) * 100) / 65536; - - /* clear screen */ - system("clear"); - - /* print load average */ - printf("%Y, load average: %d.%02d, %d.%02d, %d.%02d", - walltimestamp, this->load1a, this->load1b, this->load5a, - this->load5b, this->load15a, this->load15b); - - /* print syscall count */ - printa(" syscalls: %@d\n",@Total); - - /* print report */ - trunc(@Name, SCREEN); - printf("\n %-25s %12s\n", "PROCESS", "COUNT"); - printa(" %-25s %@12d\n", @Name); - - /* reset variables */ - trunc(@Name); - clear(@Total); - secs = 0; - } -' diff --git a/cddl/contrib/dtracetoolkit/Proc/writebytes.d b/cddl/contrib/dtracetoolkit/Proc/writebytes.d deleted file mode 100755 index 1fec0e9c22b2..000000000000 --- a/cddl/contrib/dtracetoolkit/Proc/writebytes.d +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * writebytes.d - write bytes by process name. DTrace OneLiner. - * - * This is a DTrace OneLiner from the DTraceToolkit. - * - * $Id: writebytes.d 3 2007-08-01 10:50:08Z brendan $ - */ - -sysinfo:::writech { @bytes[execname] = sum(arg0); } diff --git a/cddl/contrib/dtracetoolkit/Proc/writedist.d b/cddl/contrib/dtracetoolkit/Proc/writedist.d deleted file mode 100755 index 099c2525b6c6..000000000000 --- a/cddl/contrib/dtracetoolkit/Proc/writedist.d +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * writedist.d - write distribution by process name. DTrace OneLiner. - * - * This is a DTrace OneLiner from the DTraceToolkit. - * - * $Id: writedist.d 3 2007-08-01 10:50:08Z brendan $ - */ - -sysinfo:::writech { @dist[execname] = quantize(arg0); } diff --git a/cddl/contrib/dtracetoolkit/Python/Readme b/cddl/contrib/dtracetoolkit/Python/Readme deleted file mode 100644 index f183c74fe64d..000000000000 --- a/cddl/contrib/dtracetoolkit/Python/Readme +++ /dev/null @@ -1,28 +0,0 @@ -Python - DTracing Python - - These scripts trace the Python programming language, and require a version - of Python which has been built with DTrace probes. - - The Python DTrace provider was originally written by John Levon, and - was integrated into Solaris Nevada in build 65. If you are on a different - OS with DTrace and would like to use these scripts, you could download - Python and the Python DTrace provider patch listed in the comments here, - - http://blogs.sun.com/levon/entry/python_and_dtrace_in_build - - You will need patch and build Python for these probes to work. - Or, check if a pre-built package is available someone on opensolaris.org. - - Since the DTrace Python provider may be developed further, there is a chance - that it has changed slightly by the time you are reading this, causing - these scripts to either break or behave oddly. Firstly, check for newer - versions of the DTraceToolkit; if it hasn't been updated and you need - to use these scripts immediately, then updating them shouldn't take - too long. The following was the state of the provider when these scripts - were written - check for changes and update the scripts accordingly, - - provider python { - probe function-entry(file, subroutine, lineno) - probe function-return(file, subroutine, lineno) - }; - diff --git a/cddl/contrib/dtracetoolkit/Python/py_calldist.d b/cddl/contrib/dtracetoolkit/Python/py_calldist.d deleted file mode 100755 index 1c64c10797ff..000000000000 --- a/cddl/contrib/dtracetoolkit/Python/py_calldist.d +++ /dev/null @@ -1,82 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * py_calldist.d - measure Python elapsed times for functions. - * Written for the Python DTrace provider. - * - * $Id: py_calldist.d 28 2007-09-13 10:49:37Z brendan $ - * - * This traces Python activity from all programs running on the system with - * Python provider support. - * - * USAGE: py_calldist.d # hit Ctrl-C to end - * - * This script prints distribution plots of elapsed time for Python - * operations. Use py_calltime.d for summary reports. - * - * FIELDS: - * 1 Filename of the Python program - * 2 Type of call (func) - * 3 Name of call - * - * Filename and function names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -python*:::function-entry -{ - self->depth++; - self->exclude[self->depth] = 0; - self->function[self->depth] = timestamp; -} - -python*:::function-return -/self->function[self->depth]/ -{ - this->elapsed_incl = timestamp - self->function[self->depth]; - this->elapsed_excl = this->elapsed_incl - self->exclude[self->depth]; - self->function[self->depth] = 0; - self->exclude[self->depth] = 0; - this->file = basename(copyinstr(arg0)); - this->name = copyinstr(arg1); - - @types_incl[this->file, "func", this->name] = - quantize(this->elapsed_incl / 1000); - @types_excl[this->file, "func", this->name] = - quantize(this->elapsed_excl / 1000); - - self->depth--; - self->exclude[self->depth] += this->elapsed_incl; -} - -dtrace:::END -{ - printf("\nExclusive function elapsed times (us),\n"); - printa(" %s, %s, %s %@d\n", @types_excl); - - printf("\nInclusive function elapsed times (us),\n"); - printa(" %s, %s, %s %@d\n", @types_incl); -} diff --git a/cddl/contrib/dtracetoolkit/Python/py_calltime.d b/cddl/contrib/dtracetoolkit/Python/py_calltime.d deleted file mode 100755 index d152b358d326..000000000000 --- a/cddl/contrib/dtracetoolkit/Python/py_calltime.d +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * py_calltime.d - measure Python elapsed times for functions. - * Written for the Python DTrace provider. - * - * $Id: py_calltime.d 41 2007-09-17 02:20:10Z brendan $ - * - * This traces Python activity from all programs running on the system with - * Python provider support. - * - * USAGE: py_calltime.d # hit Ctrl-C to end - * - * FIELDS: - * FILE Filename of the Python program - * TYPE Type of call (func/total) - * NAME Name of call - * TOTAL Total elapsed time for calls (us) - * - * Filename and function names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -python*:::function-entry -{ - self->depth++; - self->exclude[self->depth] = 0; - self->function[self->depth] = timestamp; -} - -python*:::function-return -/self->function[self->depth]/ -{ - this->elapsed_incl = timestamp - self->function[self->depth]; - this->elapsed_excl = this->elapsed_incl - self->exclude[self->depth]; - self->function[self->depth] = 0; - self->exclude[self->depth] = 0; - this->file = basename(copyinstr(arg0)); - this->name = copyinstr(arg1); - - @num[this->file, "func", this->name] = count(); - @num["-", "total", "-"] = count(); - @types_incl[this->file, "func", this->name] = sum(this->elapsed_incl); - @types_excl[this->file, "func", this->name] = sum(this->elapsed_excl); - @types_excl["-", "total", "-"] = sum(this->elapsed_excl); - - self->depth--; - self->exclude[self->depth] += this->elapsed_incl; -} - -dtrace:::END -{ - printf("\nCount,\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "COUNT"); - printa(" %-20s %-10s %-32s %@8d\n", @num); - - normalize(@types_excl, 1000); - printf("\nExclusive function elapsed times (us),\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "TOTAL"); - printa(" %-20s %-10s %-32s %@8d\n", @types_excl); - - normalize(@types_incl, 1000); - printf("\nInclusive function elapsed times (us),\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "TOTAL"); - printa(" %-20s %-10s %-32s %@8d\n", @types_incl); -} diff --git a/cddl/contrib/dtracetoolkit/Python/py_cpudist.d b/cddl/contrib/dtracetoolkit/Python/py_cpudist.d deleted file mode 100755 index cf0e7b2a2411..000000000000 --- a/cddl/contrib/dtracetoolkit/Python/py_cpudist.d +++ /dev/null @@ -1,82 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * py_cpudist.d - measure Python on-CPU times for functions. - * Written for the Python DTrace provider. - * - * $Id: py_cpudist.d 28 2007-09-13 10:49:37Z brendan $ - * - * This traces Python activity from all programs running on the system with - * Python provider support. - * - * USAGE: py_cpudist.d # hit Ctrl-C to end - * - * This script prints distribution plots of elapsed time for Python - * operations. Use py_cputime.d for summary reports. - * - * FIELDS: - * 1 Filename of the Python program - * 2 Type of call (func) - * 3 Name of call - * - * Filename and function names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -python*:::function-entry -{ - self->depth++; - self->exclude[self->depth] = 0; - self->function[self->depth] = vtimestamp; -} - -python*:::function-return -/self->function[self->depth]/ -{ - this->oncpu_incl = vtimestamp - self->function[self->depth]; - this->oncpu_excl = this->oncpu_incl - self->exclude[self->depth]; - self->function[self->depth] = 0; - self->exclude[self->depth] = 0; - this->file = basename(copyinstr(arg0)); - this->name = copyinstr(arg1); - - @types_incl[this->file, "func", this->name] = - quantize(this->oncpu_incl / 1000); - @types_excl[this->file, "func", this->name] = - quantize(this->oncpu_excl / 1000); - - self->depth--; - self->exclude[self->depth] += this->oncpu_incl; -} - -dtrace:::END -{ - printf("\nExclusive function on-CPU times (us),\n"); - printa(" %s, %s, %s %@d\n", @types_excl); - - printf("\nInclusive function on-CPU times (us),\n"); - printa(" %s, %s, %s %@d\n", @types_incl); -} diff --git a/cddl/contrib/dtracetoolkit/Python/py_cputime.d b/cddl/contrib/dtracetoolkit/Python/py_cputime.d deleted file mode 100755 index ca40a93abed7..000000000000 --- a/cddl/contrib/dtracetoolkit/Python/py_cputime.d +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * py_cputime.d - measure Python on-CPU times for functions. - * Written for the Python DTrace provider. - * - * $Id: py_cputime.d 41 2007-09-17 02:20:10Z brendan $ - * - * This traces Python activity from all programs running on the system with - * Python provider support. - * - * USAGE: py_cputime.d # hit Ctrl-C to end - * - * FIELDS: - * FILE Filename of the Python program - * TYPE Type of call (func/total) - * NAME Name of call (function name) - * TOTAL Total on-CPU time for calls (us) - * - * Filename and function names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -python*:::function-entry -{ - self->depth++; - self->exclude[self->depth] = 0; - self->function[self->depth] = vtimestamp; -} - -python*:::function-return -/self->function[self->depth]/ -{ - this->oncpu_incl = vtimestamp - self->function[self->depth]; - this->oncpu_excl = this->oncpu_incl - self->exclude[self->depth]; - self->function[self->depth] = 0; - self->exclude[self->depth] = 0; - this->file = basename(copyinstr(arg0)); - this->name = copyinstr(arg1); - - @num[this->file, "func", this->name] = count(); - @num["-", "total", "-"] = count(); - @types_incl[this->file, "func", this->name] = sum(this->oncpu_incl); - @types_excl[this->file, "func", this->name] = sum(this->oncpu_excl); - @types_excl["-", "total", "-"] = sum(this->oncpu_excl); - - self->depth--; - self->exclude[self->depth] += this->oncpu_incl; -} - -dtrace:::END -{ - printf("\nCount,\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "COUNT"); - printa(" %-20s %-10s %-32s %@8d\n", @num); - - normalize(@types_excl, 1000); - printf("\nExclusive function on-CPU times (us),\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "TOTAL"); - printa(" %-20s %-10s %-32s %@8d\n", @types_excl); - - normalize(@types_incl, 1000); - printf("\nInclusive function on-CPU times (us),\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "TOTAL"); - printa(" %-20s %-10s %-32s %@8d\n", @types_incl); -} diff --git a/cddl/contrib/dtracetoolkit/Python/py_flow.d b/cddl/contrib/dtracetoolkit/Python/py_flow.d deleted file mode 100755 index 893ea7802c94..000000000000 --- a/cddl/contrib/dtracetoolkit/Python/py_flow.d +++ /dev/null @@ -1,70 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * py_flow.d - snoop Python execution showing function flow. - * Written for the Python DTrace provider. - * - * $Id: py_flow.d 51 2007-09-24 00:55:23Z brendan $ - * - * This traces Python activity from all Python programs on the system - * running with Python provider support. - * - * USAGE: py_flow.d # hit Ctrl-C to end - * - * This watches Python function entries and returns, and indents child - * function calls. - * - * FIELDS: - * C CPU-id - * TIME(us) Time since boot, us - * FILE Filename that this function belongs to - * FUNC Function name - * - * LEGEND: - * -> function entry - * <- function return - * - * WARNING: Watch the first column carefully, it prints the CPU-id. If it - * changes, then it is very likely that the output has been shuffled. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option switchrate=10 - -self int depth; - -dtrace:::BEGIN -{ - printf("%3s %-16s %-16s -- %s\n", "C", "TIME(us)", "FILE", "FUNC"); -} - -python*:::function-entry -{ - printf("%3d %-16d %-16s %*s-> %s\n", cpu, timestamp / 1000, - basename(copyinstr(arg0)), self->depth * 2, "", copyinstr(arg1)); - self->depth++; -} - -python*:::function-return -{ - self->depth -= self->depth > 0 ? 1 : 0; - printf("%3d %-16d %-16s %*s<- %s\n", cpu, timestamp / 1000, - basename(copyinstr(arg0)), self->depth * 2, "", copyinstr(arg1)); -} diff --git a/cddl/contrib/dtracetoolkit/Python/py_flowinfo.d b/cddl/contrib/dtracetoolkit/Python/py_flowinfo.d deleted file mode 100755 index ccba1df7d364..000000000000 --- a/cddl/contrib/dtracetoolkit/Python/py_flowinfo.d +++ /dev/null @@ -1,86 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * py_flowinfo.d - snoop Python function flow with info using DTrace. - * Written for the Python DTrace provider. - * - * $Id: py_flowinfo.d 41 2007-09-17 02:20:10Z brendan $ - * - * This traces activity from all Python programs on the system that are - * running with Python provider support. - * - * USAGE: py_flowinfo.d # hit Ctrl-C to end - * - * FIELDS: - * C CPU-id - * PID Process ID - * DELTA(us) Elapsed time from previous line to this line - * FILE Filename of the Python program - * LINE Line number of filename - * TYPE Type of call (func) - * FUNC Python function - * - * LEGEND: - * -> function entry - * <- function return - * - * Filename and function names are printed if available. - * - * WARNING: Watch the first column carefully, it prints the CPU-id. If it - * changes, then it is very likely that the output has been shuffled. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option switchrate=10 - -self int depth; - -dtrace:::BEGIN -{ - printf("%s %6s %10s %16s:%-4s %-8s -- %s\n", "C", "PID", "DELTA(us)", - "FILE", "LINE", "TYPE", "FUNC"); -} - -python*:::function-entry, -python*:::function-return -/self->last == 0/ -{ - self->last = timestamp; -} - -python*:::function-entry -{ - this->delta = (timestamp - self->last) / 1000; - printf("%d %6d %10d %16s:%-4d %-8s %*s-> %s\n", cpu, pid, this->delta, - basename(copyinstr(arg0)), arg2, "func", self->depth * 2, "", - copyinstr(arg1)); - self->depth++; - self->last = timestamp; -} - -python*:::function-return -{ - this->delta = (timestamp - self->last) / 1000; - self->depth -= self->depth > 0 ? 1 : 0; - printf("%d %6d %10d %16s:%-4d %-8s %*s<- %s\n", cpu, pid, this->delta, - basename(copyinstr(arg0)), arg2, "func", self->depth * 2, "", - copyinstr(arg1)); - self->last = timestamp; -} diff --git a/cddl/contrib/dtracetoolkit/Python/py_flowtime.d b/cddl/contrib/dtracetoolkit/Python/py_flowtime.d deleted file mode 100755 index a339eace3aed..000000000000 --- a/cddl/contrib/dtracetoolkit/Python/py_flowtime.d +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * py_flowtime.d - snoop Python functions with flow and delta times. - * Written for the Python DTrace provider. - * - * $Id: py_flowtime.d 41 2007-09-17 02:20:10Z brendan $ - * - * This traces shell activity from Python programs on the system that are - * running with Python provider support. - * - * USAGE: py_flowtime.d # hit Ctrl-C to end - * - * This watches Python function entries and returns, and indents child - * function calls. - * - * FIELDS: - * C CPU-id - * TIME(us) Time since boot, us - * FILE Filename that this function belongs to - * DELTA(us) Elapsed time from previous line to this line - * FUNC Python function name - * - * LEGEND: - * -> function entry - * <- function return - * - * Filename and function names are printed if available. - * - * WARNING: Watch the first column carefully, it prints the CPU-id. If it - * changes, then it is very likely that the output has been shuffled. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option switchrate=10 - -self int depth; - -self int last; - -dtrace:::BEGIN -{ - printf("%3s %-16s %-16s %9s -- %s\n", "C", "TIME(us)", "FILE", - "DELTA(us)", "FUNC"); -} - -python*:::function-entry, -python*:::function-return -/self->last == 0/ -{ - self->last = timestamp; -} - -python*:::function-entry -{ - this->delta = (timestamp - self->last) / 1000; - printf("%3d %-16d %-16s %9d %*s-> %s\n", cpu, timestamp / 1000, - basename(copyinstr(arg0)), this->delta, self->depth * 2, "", - copyinstr(arg1)); - self->depth++; - self->last = timestamp; -} - -python*:::function-return -{ - this->delta = (timestamp - self->last) / 1000; - self->depth -= self->depth > 0 ? 1 : 0; - printf("%3d %-16d %-16s %9d %*s<- %s\n", cpu, timestamp / 1000, - basename(copyinstr(arg0)), this->delta, self->depth * 2, "", - copyinstr(arg1)); - self->last = timestamp; -} diff --git a/cddl/contrib/dtracetoolkit/Python/py_funccalls.d b/cddl/contrib/dtracetoolkit/Python/py_funccalls.d deleted file mode 100755 index b430f293e2bb..000000000000 --- a/cddl/contrib/dtracetoolkit/Python/py_funccalls.d +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * py_funccalls.d - measure Python function calls using DTrace. - * Written for the Python DTrace provider. - * - * $Id: py_funccalls.d 25 2007-09-12 09:51:58Z brendan $ - * - * This traces Python activity from all running programs on the system - * which support the Python DTrace provider. - * - * USAGE: py_funccalls.d # hit Ctrl-C to end - * - * FIELDS: - * FILE Filename that contained the function - * FUNC Python function name - * CALLS Function calls during this sample - * - * Filename and function names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -python*:::function-entry -{ - @funcs[basename(copyinstr(arg0)), copyinstr(arg1)] = count(); -} - -dtrace:::END -{ - printf(" %-32s %-32s %8s\n", "FILE", "FUNC", "CALLS"); - printa(" %-32s %-32s %@8d\n", @funcs); -} diff --git a/cddl/contrib/dtracetoolkit/Python/py_malloc.d b/cddl/contrib/dtracetoolkit/Python/py_malloc.d deleted file mode 100755 index 7f0860ea6360..000000000000 --- a/cddl/contrib/dtracetoolkit/Python/py_malloc.d +++ /dev/null @@ -1,81 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * py_malloc.d - Python libc malloc analysis. - * Written for the Python DTrace provider. - * - * $Id: py_malloc.d 19 2007-09-12 07:47:59Z brendan $ - * - * This is an expiremental script to identify who is calling malloc() for - * memory allocation, and to print distribution plots of the requested bytes. - * If a malloc() occured while in a Python function, then that function is - * identified as responsible; else the caller of malloc() is identified as - * responsible - which will be a function from the Python engine. - * - * USAGE: py_malloc.d { -p PID | -c cmd } # hit Ctrl-C to end - * - * Filename and function names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -python$target:::function-entry -{ - self->file = basename(copyinstr(arg0)); - self->name = copyinstr(arg1); -} - -python$target:::function-return -{ - self->file = 0; - self->name = 0; -} - -pid$target:libc:malloc:entry -/self->file != NULL/ -{ - @malloc_func_size[self->file, self->name] = sum(arg0); - @malloc_func_dist[self->file, self->name] = quantize(arg0); -} - -pid$target:libc:malloc:entry -/self->name == NULL/ -{ - @malloc_lib_size[usym(ucaller)] = sum(arg0); - @malloc_lib_dist[usym(ucaller)] = quantize(arg0); -} - - -dtrace:::END -{ - printf("\nPython malloc byte distributions by engine caller,\n\n"); - printa(" %A, total bytes = %@d %@d\n", @malloc_lib_size, - @malloc_lib_dist); - - printf("\nPython malloc byte distributions by Python file and "); - printf("function,\n\n"); - printa(" %s, %s, bytes total = %@d %@d\n", @malloc_func_size, - @malloc_func_dist); -} diff --git a/cddl/contrib/dtracetoolkit/Python/py_mallocstk.d b/cddl/contrib/dtracetoolkit/Python/py_mallocstk.d deleted file mode 100755 index ca428016b479..000000000000 --- a/cddl/contrib/dtracetoolkit/Python/py_mallocstk.d +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * py_mallocstk.d - Python libc malloc analysis with full stack traces. - * Written for the Python DTrace provider. - * - * $Id: py_mallocstk.d 19 2007-09-12 07:47:59Z brendan $ - * - * USAGE: py_mallocstk.d { -p PID | -c cmd } # hit Ctrl-C to end - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -/* tune as desired, */ -#pragma D option jstackframes=64 -#pragma D option jstackstrsize=1024 - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -pid$target:libc:malloc:entry -{ - @mallocs[jstack()] = quantize(arg0); -} - -dtrace:::END -{ - printf("\nPython malloc byte distributions by stack trace,\n\n"); - printa(@mallocs); -} diff --git a/cddl/contrib/dtracetoolkit/Python/py_profile.d b/cddl/contrib/dtracetoolkit/Python/py_profile.d deleted file mode 100755 index ff02df6e9327..000000000000 --- a/cddl/contrib/dtracetoolkit/Python/py_profile.d +++ /dev/null @@ -1,79 +0,0 @@ -#!/usr/sbin/dtrace -CZs -/* - * py_profile.d - sample stack traces with Python translations using DTrace. - * Written for the Python DTrace provider. - * - * $Id: py_profile.d 19 2007-09-12 07:47:59Z brendan $ - * - * USAGE: py_profile.d { -p PID | -c cmd } # hit Ctrl-C to end - * - * This samples stack traces for the process specified. This stack trace - * will cross the Python engine and system libraries, and insert - * translations for Python stack frames where appropriate. This is best - * explained with an example stack frame output, - * - * libpython2.4.so.1.0`PyEval_EvalFrame+0x2fbf - * [ ./func_loop.py:5 (func_c) ] - * libpython2.4.so.1.0`fast_function+0xa8 - * libpython2.4.so.1.0`call_function+0xda - * libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - * [ ./func_loop.py:11 (func_b) ] - * libpython2.4.so.1.0`fast_function+0xa8 - * libpython2.4.so.1.0`call_function+0xda - * libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - * [ ./func_loop.py:14 (func_a) ] - * libpython2.4.so.1.0`fast_function+0xa8 - * libpython2.4.so.1.0`call_function+0xda - * libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf - * [ ./func_loop.py:16 (?) ] - * - * The lines in square brackets are the native Python frames, the rest - * are the Python engine. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option jstackstrsize=1024 - -/* - * Tunables - */ -#define DEPTH 10 /* stack depth, frames */ -#define RATE 1001 /* sampling rate, Hertz */ -#define TOP 25 /* number of stacks to output */ - -dtrace:::BEGIN -{ - printf("Sampling %d-level stacks at %d Hertz... Hit Ctrl-C to end.\n", - DEPTH, RATE); -} - -profile-RATE -/pid == $target/ -{ - @stacks[jstack(DEPTH)] = count(); -} - -dtrace:::END -{ - trunc(@stacks, TOP); - printf("Top %d most frequently sampled stacks,\n", TOP); - printa(@stacks); -} diff --git a/cddl/contrib/dtracetoolkit/Python/py_syscalls.d b/cddl/contrib/dtracetoolkit/Python/py_syscalls.d deleted file mode 100755 index 2b3e44dc80b7..000000000000 --- a/cddl/contrib/dtracetoolkit/Python/py_syscalls.d +++ /dev/null @@ -1,63 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * py_syscalls.d - count Python function calls and syscalls using DTrace. - * Written for the Python DTrace provider. - * - * $Id: py_syscalls.d 25 2007-09-12 09:51:58Z brendan $ - * - * USAGE: py_syscalls.d { -p PID | -c cmd } # hit Ctrl-C to end - * - * FIELDS: - * FILE Filename of the Python program - * TYPE Type of call (func/syscall) - * NAME Name of call - * COUNT Number of calls during sample - * - * Filename and function names are printed if available. - * The filename for syscalls may be printed as "python", if the program - * was invoked using the form "python filename" rather than running the - * program with an interpreter line. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -python$target:::function-entry -{ - @calls[basename(copyinstr(arg0)), "func", copyinstr(arg1)] = count(); -} - -syscall:::entry -/pid == $target/ -{ - @calls[basename(execname), "syscall", probefunc] = count(); -} - -dtrace:::END -{ - printf("\nCalls for PID %d,\n\n", $target); - printf(" %-32s %-10s %-22s %8s\n", "FILE", "TYPE", "NAME", "COUNT"); - printa(" %-32s %-10s %-22s %@8d\n", @calls); -} diff --git a/cddl/contrib/dtracetoolkit/Python/py_syscolors.d b/cddl/contrib/dtracetoolkit/Python/py_syscolors.d deleted file mode 100755 index 9f958ef23530..000000000000 --- a/cddl/contrib/dtracetoolkit/Python/py_syscolors.d +++ /dev/null @@ -1,116 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * py_syscolors.d - trace Python function flow plus syscalls, in color. - * Written for the Python DTrace provider. - * - * $Id: py_syscolors.d 27 2007-09-13 09:26:01Z brendan $ - * - * USAGE: py_syscolors.d { -p PID | -c cmd } # hit Ctrl-C to end - * - * This watches Python function entries and returns, and indents child - * function calls. - * - * FIELDS: - * C CPU-id - * PID Process ID - * DELTA(us) Elapsed time from previous line to this line - * FILE Filename of the Python program - * LINE Line number of filename - * TYPE Type of call (func/syscall) - * NAME Python function or syscall name - * - * Filename and function names are printed if available. - * - * WARNING: Watch the first column carefully, it prints the CPU-id. If it - * changes, then it is very likely that the output has been shuffled. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option switchrate=10 - -self int depth; - -dtrace:::BEGIN -{ - color_python = "\033[2;35m"; /* violet, faint */ - color_syscall = "\033[2;32m"; /* green, faint */ - color_off = "\033[0m"; /* default */ - - self->depth = 0; - printf("%s %6s %10s %16s:%-4s %-8s -- %s\n", "C", "PID", "DELTA(us)", - "FILE", "LINE", "TYPE", "NAME"); -} - -python$target:::function-entry, -python$target:::function-return, -syscall:::entry, -syscall:::return -/self->last == 0 && pid == $target/ -{ - self->last = timestamp; -} - -python$target:::function-entry -{ - this->delta = (timestamp - self->last) / 1000; - printf("%s%d %6d %10d %16s:%-4d %-8s %*s-> %s%s\n", color_python, - cpu, pid, this->delta, basename(copyinstr(arg0)), arg2, "func", - self->depth * 2, "", copyinstr(arg1), color_off); - self->depth++; - self->last = timestamp; -} - -python$target:::function-return -{ - this->delta = (timestamp - self->last) / 1000; - this->name = strjoin(strjoin(copyinstr(arg0), "::"), copyinstr(arg1)); - self->depth -= self->depth > 0 ? 1 : 0; - printf("%s%d %6d %10d %16s:%-4d %-8s %*s<- %s%s\n", color_python, - cpu, pid, this->delta, basename(copyinstr(arg0)), arg2, "func", - self->depth * 2, "", copyinstr(arg1), color_off); - self->last = timestamp; -} - -syscall:::entry -/pid == $target/ -{ - this->delta = (timestamp - self->last) / 1000; - printf("%s%d %6d %10d %16s:- %-8s %*s-> %s%s\n", color_syscall, - cpu, pid, this->delta, "\"", "syscall", self->depth * 2, "", - probefunc, color_off); - self->last = timestamp; -} - -syscall:::return -/pid == $target/ -{ - this->delta = (timestamp - self->last) / 1000; - printf("%s%d %6d %10d %16s:- %-8s %*s<- %s%s\n", color_syscall, - cpu, pid, this->delta, "\"", "syscall", self->depth * 2, "", - probefunc, color_off); - self->last = timestamp; -} - -proc:::exit -/pid == $target/ -{ - exit(0); -} diff --git a/cddl/contrib/dtracetoolkit/Python/py_who.d b/cddl/contrib/dtracetoolkit/Python/py_who.d deleted file mode 100755 index 3a772e34d85f..000000000000 --- a/cddl/contrib/dtracetoolkit/Python/py_who.d +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * py_who.d - trace Python function execution by process using DTrace. - * Written for the Python DTrace provider. - * - * $Id: py_who.d 25 2007-09-12 09:51:58Z brendan $ - * - * This traces Python activity from all Python programs on the system that are - * running with Python provider support. - * - * USAGE: py_who.d # hit Ctrl-C to end - * - * FIELDS: - * PID Process ID of Python - * UID User ID of the owner - * FUNCS Number of function calls - * FILE Pathname of the Python program - * - * Filenames are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -python*:::function-entry -{ - @lines[pid, uid, copyinstr(arg0)] = count(); -} - -dtrace:::END -{ - printf(" %6s %6s %6s %s\n", "PID", "UID", "FUNCS", "FILE"); - printa(" %6d %6d %@6d %s\n", @lines); -} diff --git a/cddl/contrib/dtracetoolkit/README b/cddl/contrib/dtracetoolkit/README deleted file mode 120000 index 216661b1bdd6..000000000000 --- a/cddl/contrib/dtracetoolkit/README +++ /dev/null @@ -1 +0,0 @@ -Guide \ No newline at end of file diff --git a/cddl/contrib/dtracetoolkit/Ruby/Readme b/cddl/contrib/dtracetoolkit/Ruby/Readme deleted file mode 100644 index 9dc3cc303981..000000000000 --- a/cddl/contrib/dtracetoolkit/Ruby/Readme +++ /dev/null @@ -1,31 +0,0 @@ -Ruby - DTracing Ruby - - These scripts trace activity of the Ruby programming language, and - require the DTrace Ruby provider written by Joyent. - - Currently, the DTrace Ruby provider is a seperate download either in - patch, source or binary form. Start with the "Ruby DTrace" link on - http://dtrace.joyent.com/, and after getting a version running, the - scripts in this directory should work. - - Since the DTrace Ruby provider is under development, there is a chance - that it has changed slightly by the time you are reading this, causing - these scripts to either break or behave oddly. Firstly, check for newer - versions of the DTraceToolkit; if it hasn't been updated and you need - to use these scripts immediately, then updating them shouldn't take - too long. The following was the state of the provider when these scripts - were written - check for changes and update the scripts accordingly, - - provider ruby { - probe function-entry(class, method, file, lineno); - probe function-return(class, method, file, lineno); - probe raise(errinfo, file, lineno); - probe rescue(file, lineno); - probe line(file, lineno); - probe gc-begin(); - probe gc-end(); - probe object-create-start(object, file, lineno); - probe object-create-done(object, file, lineno); - probe object-free(object); - }; - diff --git a/cddl/contrib/dtracetoolkit/Ruby/rb_calldist.d b/cddl/contrib/dtracetoolkit/Ruby/rb_calldist.d deleted file mode 100755 index e3018eaf9761..000000000000 --- a/cddl/contrib/dtracetoolkit/Ruby/rb_calldist.d +++ /dev/null @@ -1,120 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * rb_calldist.d - measure Ruby elapsed times for types of operation. - * Written for the Ruby DTrace provider. - * - * $Id: rb_calldist.d 28 2007-09-13 10:49:37Z brendan $ - * - * This traces Ruby activity from all programs running on the system with - * Ruby provider support. - * - * USAGE: rb_calldist.d # hit Ctrl-C to end - * - * This script prints distribution plots of elapsed time for Ruby - * operations. Use rb_calltime.d for summary reports. - * - * FIELDS: - * 1 Filename of the Ruby program - * 2 Type of call (method/obj-new/gc) - * 3 Name of call - * - * Filename and method names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -ruby*:::function-entry -{ - self->depth++; - self->exclude[self->depth] = 0; - self->function[self->depth] = timestamp; -} - -ruby*:::function-return -/self->function[self->depth]/ -{ - this->elapsed_incl = timestamp - self->function[self->depth]; - this->elapsed_excl = this->elapsed_incl - self->exclude[self->depth]; - self->function[self->depth] = 0; - self->exclude[self->depth] = 0; - this->file = basename(copyinstr(arg2)); - this->name = strjoin(strjoin(copyinstr(arg0), "::"), copyinstr(arg1)); - - @types_incl[this->file, "func", this->name] = - quantize(this->elapsed_incl / 1000); - @types_excl[this->file, "func", this->name] = - quantize(this->elapsed_excl / 1000); - - self->depth--; - self->exclude[self->depth] += this->elapsed_incl; -} - -ruby*:::object-create-start -{ - self->object = timestamp; -} - -ruby*:::object-create-done -/self->object/ -{ - this->elapsed = timestamp - self->object; - self->object = 0; - this->file = basename(copyinstr(arg1)); - this->file = this->file != NULL ? this->file : "."; - - @types[this->file, "obj-new", copyinstr(arg0)] = - quantize(this->elapsed / 1000); - - self->exclude[self->depth] += this->elapsed; -} - -ruby*:::gc-begin -{ - self->gc = timestamp; -} - -ruby*:::gc-end -/self->gc/ -{ - this->elapsed = timestamp - self->gc; - self->gc = 0; - - @types[".", "gc", "-"] = quantize(this->elapsed / 1000); - - self->exclude[self->depth] += this->elapsed; -} - -dtrace:::END -{ - printf("\nElapsed times (us),\n"); - printa(" %s, %s, %s %@d\n", @types); - - printf("\nExclusive function elapsed times (us),\n"); - printa(" %s, %s, %s %@d\n", @types_excl); - - printf("\nInclusive function elapsed times (us),\n"); - printa(" %s, %s, %s %@d\n", @types_incl); -} diff --git a/cddl/contrib/dtracetoolkit/Ruby/rb_calls.d b/cddl/contrib/dtracetoolkit/Ruby/rb_calls.d deleted file mode 100755 index 10e3b5a75bc7..000000000000 --- a/cddl/contrib/dtracetoolkit/Ruby/rb_calls.d +++ /dev/null @@ -1,87 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * rb_calls.d - count Ruby calls using DTrace. - * Written for the Ruby DTrace provider. - * - * $Id: rb_calls.d 28 2007-09-13 10:49:37Z brendan $ - * - * This traces activity from all Ruby programs on the system that are - * running with Ruby provider support. - * - * USAGE: rb_calls.d # hit Ctrl-C to end - * - * FIELDS: - * FILE Filename of the Ruby program - * TYPE Type of call (method/obj-new/...) - * NAME Descriptive name of call - * COUNT Number of calls during sample - * - * Filename and method names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -ruby*:::function-entry -{ - this->name = strjoin(strjoin(copyinstr(arg0), "::"), copyinstr(arg1)); - @calls[basename(copyinstr(arg2)), "method", this->name] = count(); -} - -ruby*:::object-create-start -{ - this->name = copyinstr(arg0); - this->filename = basename(copyinstr(arg1)); - this->filename = this->filename != NULL ? this->filename : "."; - @calls[this->filename, "obj-new", this->name] = count(); -} - -ruby*:::object-free -{ - this->name = copyinstr(arg0); - @calls[".", "obj-free", this->name] = count(); -} - -ruby*:::gc-begin -{ - @calls[".", "gc", "begin"] = count(); -} - -ruby*:::raise -{ - this->name = copyinstr(arg0); - @calls[basename(copyinstr(arg1)), "raise", this->name] = count(); -} - -ruby*:::rescue -{ - @calls[basename(copyinstr(arg0)), "rescue", "-"] = count(); -} - -dtrace:::END -{ - printf(" %-24s %-10s %-30s %8s\n", "FILE", "TYPE", "NAME", "CALLS"); - printa(" %-24s %-10s %-30s %@8d\n", @calls); -} diff --git a/cddl/contrib/dtracetoolkit/Ruby/rb_calltime.d b/cddl/contrib/dtracetoolkit/Ruby/rb_calltime.d deleted file mode 100755 index fac1261f917f..000000000000 --- a/cddl/contrib/dtracetoolkit/Ruby/rb_calltime.d +++ /dev/null @@ -1,129 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * rb_calltime.d - measure Ruby elapsed times for types of operation. - * Written for the Ruby DTrace provider. - * - * $Id: rb_calltime.d 41 2007-09-17 02:20:10Z brendan $ - * - * This traces Ruby activity from all programs running on the system with - * Ruby provider support. - * - * USAGE: rb_calltime.d # hit Ctrl-C to end - * - * FIELDS: - * FILE Filename of the Ruby program - * TYPE Type of call (method/obj-new/gc/total) - * NAME Name of call - * TOTAL Total elapsed time for calls (us) - * - * Filename and method names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -ruby*:::function-entry -{ - self->depth++; - self->exclude[self->depth] = 0; - self->function[self->depth] = timestamp; -} - -ruby*:::function-return -/self->function[self->depth]/ -{ - this->elapsed_incl = timestamp - self->function[self->depth]; - this->elapsed_excl = this->elapsed_incl - self->exclude[self->depth]; - self->function[self->depth] = 0; - self->exclude[self->depth] = 0; - this->file = basename(copyinstr(arg2)); - this->name = strjoin(strjoin(copyinstr(arg0), "::"), copyinstr(arg1)); - - @num[this->file, "func", this->name] = count(); - @num["-", "total", "-"] = count(); - @types_incl[this->file, "func", this->name] = sum(this->elapsed_incl); - @types_excl[this->file, "func", this->name] = sum(this->elapsed_excl); - @types_excl["-", "total", "-"] = sum(this->elapsed_excl); - - self->depth--; - self->exclude[self->depth] += this->elapsed_incl; -} - -ruby*:::object-create-start -{ - self->object = timestamp; -} - -ruby*:::object-create-done -/self->object/ -{ - this->elapsed = timestamp - self->object; - self->object = 0; - this->file = basename(copyinstr(arg1)); - this->file = this->file != NULL ? this->file : "."; - this->name = copyinstr(arg0); - - @num[this->file, "obj-new", this->name] = count(); - @types[this->file, "obj-new", this->name] = sum(this->elapsed); - - self->exclude[self->depth] += this->elapsed; -} - -ruby*:::gc-begin -{ - self->gc = timestamp; -} - -ruby*:::gc-end -/self->gc/ -{ - this->elapsed = timestamp - self->gc; - self->gc = 0; - @num[".", "gc", "-"] = count(); - @types[".", "gc", "-"] = sum(this->elapsed); - self->exclude[self->depth] += this->elapsed; -} - -dtrace:::END -{ - printf("\nCount,\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "COUNT"); - printa(" %-20s %-10s %-32s %@8d\n", @num); - - normalize(@types, 1000); - printf("\nElapsed times (us),\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "TOTAL"); - printa(" %-20s %-10s %-32s %@8d\n", @types); - - normalize(@types_excl, 1000); - printf("\nExclusive function elapsed times (us),\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "TOTAL"); - printa(" %-20s %-10s %-32s %@8d\n", @types_excl); - - normalize(@types_incl, 1000); - printf("\nInclusive function elapsed times (us),\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "TOTAL"); - printa(" %-20s %-10s %-32s %@8d\n", @types_incl); -} diff --git a/cddl/contrib/dtracetoolkit/Ruby/rb_cpudist.d b/cddl/contrib/dtracetoolkit/Ruby/rb_cpudist.d deleted file mode 100755 index daa4d1a8296a..000000000000 --- a/cddl/contrib/dtracetoolkit/Ruby/rb_cpudist.d +++ /dev/null @@ -1,120 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * rb_cpudist.d - measure Ruby on-CPU times for types of operation. - * Written for the Ruby DTrace provider. - * - * $Id: rb_cpudist.d 28 2007-09-13 10:49:37Z brendan $ - * - * This traces Ruby activity from all programs running on the system with - * Ruby provider support. - * - * USAGE: rb_cpudist.d # hit Ctrl-C to end - * - * This script prints distribution plots of elapsed time for Ruby - * operations. Use rb_cputime.d for summary reports. - * - * FIELDS: - * 1 Filename of the Ruby program - * 2 Type of call (method/obj-new/gc) - * 3 Name of call - * - * Filename and method names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -ruby*:::function-entry -{ - self->depth++; - self->exclude[self->depth] = 0; - self->function[self->depth] = vtimestamp; -} - -ruby*:::function-return -/self->function[self->depth]/ -{ - this->oncpu_incl = vtimestamp - self->function[self->depth]; - this->oncpu_excl = this->oncpu_incl - self->exclude[self->depth]; - self->function[self->depth] = 0; - self->exclude[self->depth] = 0; - this->file = basename(copyinstr(arg2)); - this->name = strjoin(strjoin(copyinstr(arg0), "::"), copyinstr(arg1)); - - @types_incl[this->file, "func", this->name] = - quantize(this->oncpu_incl / 1000); - @types_excl[this->file, "func", this->name] = - quantize(this->oncpu_excl / 1000); - - self->depth--; - self->exclude[self->depth] += this->oncpu_incl; -} - -ruby*:::object-create-start -{ - self->object = vtimestamp; -} - -ruby*:::object-create-done -/self->object/ -{ - this->oncpu = vtimestamp - self->object; - self->object = 0; - this->file = basename(copyinstr(arg1)); - this->file = this->file != NULL ? this->file : "."; - - @types[this->file, "obj-new", copyinstr(arg0)] = - quantize(this->oncpu / 1000); - - self->exclude[self->depth] += this->oncpu; -} - -ruby*:::gc-begin -{ - self->gc = vtimestamp; -} - -ruby*:::gc-end -/self->gc/ -{ - this->oncpu = vtimestamp - self->gc; - self->gc = 0; - - @types[".", "gc", "-"] = quantize(this->oncpu / 1000); - - self->exclude[self->depth] += this->oncpu; -} - -dtrace:::END -{ - printf("\nOn-CPU times (us),\n"); - printa(" %s, %s, %s %@d\n", @types); - - printf("\nExclusive function on-CPU times (us),\n"); - printa(" %s, %s, %s %@d\n", @types_excl); - - printf("\nInclusive function on-CPU times (us),\n"); - printa(" %s, %s, %s %@d\n", @types_incl); -} diff --git a/cddl/contrib/dtracetoolkit/Ruby/rb_cputime.d b/cddl/contrib/dtracetoolkit/Ruby/rb_cputime.d deleted file mode 100755 index d5885c8188ad..000000000000 --- a/cddl/contrib/dtracetoolkit/Ruby/rb_cputime.d +++ /dev/null @@ -1,129 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * rb_cputime.d - measure Ruby on-CPU times for types of operation. - * Written for the Ruby DTrace provider. - * - * $Id: rb_cputime.d 49 2007-09-17 12:03:20Z brendan $ - * - * This traces Ruby activity from all programs running on the system with - * Ruby provider support. - * - * USAGE: rb_cputime.d # hit Ctrl-C to end - * - * FIELDS: - * FILE Filename of the Ruby program - * TYPE Type of call (method/obj-new/gc/total) - * NAME Name of call - * TOTAL Total on-CPU time for calls (us) - * - * Filename and method names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -ruby*:::function-entry -{ - self->depth++; - self->exclude[self->depth] = 0; - self->function[self->depth] = vtimestamp; -} - -ruby*:::function-return -/self->function[self->depth]/ -{ - this->oncpu_incl = vtimestamp - self->function[self->depth]; - this->oncpu_excl = this->oncpu_incl - self->exclude[self->depth]; - self->function[self->depth] = 0; - self->exclude[self->depth] = 0; - this->file = basename(copyinstr(arg2)); - this->name = strjoin(strjoin(copyinstr(arg0), "::"), copyinstr(arg1)); - - @num[this->file, "func", this->name] = count(); - @num["-", "total", "-"] = count(); - @types_incl[this->file, "func", this->name] = sum(this->oncpu_incl); - @types_excl[this->file, "func", this->name] = sum(this->oncpu_excl); - @types_excl["-", "total", "-"] = sum(this->oncpu_excl); - - self->depth--; - self->exclude[self->depth] += this->oncpu_incl; -} - -ruby*:::object-create-start -{ - self->object = vtimestamp; -} - -ruby*:::object-create-done -/self->object/ -{ - this->oncpu = vtimestamp - self->object; - self->object = 0; - this->file = basename(copyinstr(arg1)); - this->file = this->file != NULL ? this->file : "."; - this->name = copyinstr(arg0); - - @num[this->file, "obj-new", this->name] = count(); - @types[this->file, "obj-new", this->name] = sum(this->oncpu); - - self->exclude[self->depth] += this->oncpu; -} - -ruby*:::gc-begin -{ - self->gc = vtimestamp; -} - -ruby*:::gc-end -/self->gc/ -{ - this->oncpu = vtimestamp - self->gc; - self->gc = 0; - @num[".", "gc", "-"] = count(); - @types[".", "gc", "-"] = sum(this->oncpu); - self->exclude[self->depth] += this->oncpu; -} - -dtrace:::END -{ - printf("\nCount,\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "COUNT"); - printa(" %-20s %-10s %-32s %@8d\n", @num); - - normalize(@types, 1000); - printf("\nElapsed times (us),\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "TOTAL"); - printa(" %-20s %-10s %-32s %@8d\n", @types); - - normalize(@types_excl, 1000); - printf("\nExclusive function on-CPU times (us),\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "TOTAL"); - printa(" %-20s %-10s %-32s %@8d\n", @types_excl); - - normalize(@types_incl, 1000); - printf("\nInclusive function on-CPU times (us),\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "TOTAL"); - printa(" %-20s %-10s %-32s %@8d\n", @types_incl); -} diff --git a/cddl/contrib/dtracetoolkit/Ruby/rb_flow.d b/cddl/contrib/dtracetoolkit/Ruby/rb_flow.d deleted file mode 100755 index e4ff76001534..000000000000 --- a/cddl/contrib/dtracetoolkit/Ruby/rb_flow.d +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * rb_flow.d - snoop Ruby execution showing method flow using DTrace. - * Written for the Ruby DTrace provider. - * - * $Id: rb_flow.d 41 2007-09-17 02:20:10Z brendan $ - * - * This traces activity from all Ruby programs on the system that are - * running with Ruby provider support. - * - * USAGE: rb_flow.d # hit Ctrl-C to end - * - * FIELDS: - * C CPU-id - * TIME(us) Time since boot, us - * FILE Filename that this method belongs to - * CLASS::METHOD Ruby classname and method - * - * LEGEND: - * -> method entry - * <- method return - * - * Filename and method names are printed if available. - * - * WARNING: Watch the first column carefully, it prints the CPU-id. If it - * changes, then it is very likely that the output has been shuffled. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option switchrate=10 - -self int depth; - -dtrace:::BEGIN -{ - printf("%3s %-16s %-22s -- %s\n", "C", "TIME(us)", "FILE", - "CLASS::METHOD"); -} - -ruby*:::function-entry -{ - printf("%3d %-16d %-22s %*s-> %s::%s\n", cpu, timestamp / 1000, - basename(copyinstr(arg2)), self->depth * 2, "", copyinstr(arg0), - copyinstr(arg1)); - self->depth++; -} - -ruby*:::function-return -{ - self->depth -= self->depth > 0 ? 1 : 0; - printf("%3d %-16d %-22s %*s<- %s::%s\n", cpu, timestamp / 1000, - basename(copyinstr(arg2)), self->depth * 2, "", copyinstr(arg0), - copyinstr(arg1)); -} diff --git a/cddl/contrib/dtracetoolkit/Ruby/rb_flowinfo.d b/cddl/contrib/dtracetoolkit/Ruby/rb_flowinfo.d deleted file mode 100755 index 4657263a0b32..000000000000 --- a/cddl/contrib/dtracetoolkit/Ruby/rb_flowinfo.d +++ /dev/null @@ -1,88 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * rb_flowinfo.d - snoop Ruby function (method) flow with info using DTrace. - * Written for the Ruby DTrace provider. - * - * $Id: rb_flowinfo.d 41 2007-09-17 02:20:10Z brendan $ - * - * This traces activity from all Ruby programs on the system that are - * running with Ruby provider support. - * - * USAGE: rb_flowinfo.d # hit Ctrl-C to end - * - * FIELDS: - * C CPU-id - * PID Process ID - * DELTA(us) Elapsed time from previous line to this line - * FILE Filename of the Ruby program - * LINE Line number of filename - * TYPE Type of call (method) - * NAME Ruby class and method name - * - * LEGEND: - * -> method entry - * <- method return - * - * Filename and method names are printed if available. - * - * WARNING: Watch the first column carefully, it prints the CPU-id. If it - * changes, then it is very likely that the output has been shuffled. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option switchrate=10 - -self int depth; - -dtrace:::BEGIN -{ - printf("%s %6s %10s %16s:%-4s %-8s -- %s\n", "C", "PID", "DELTA(us)", - "FILE", "LINE", "TYPE", "NAME"); -} - -ruby*:::function-entry, -ruby*:::function-return -/self->last == 0/ -{ - self->last = timestamp; -} - -ruby*:::function-entry -{ - this->delta = (timestamp - self->last) / 1000; - this->name = strjoin(strjoin(copyinstr(arg0), "::"), copyinstr(arg1)); - printf("%d %6d %10d %16s:%-4d %-8s %*s-> %s\n", cpu, pid, this->delta, - basename(copyinstr(arg2)), arg3, "method", self->depth * 2, "", - this->name); - self->depth++; - self->last = timestamp; -} - -ruby*:::function-return -{ - this->delta = (timestamp - self->last) / 1000; - self->depth -= self->depth > 0 ? 1 : 0; - this->name = strjoin(strjoin(copyinstr(arg0), "::"), copyinstr(arg1)); - printf("%d %6d %10d %16s:%-4d %-8s %*s<- %s\n", cpu, pid, this->delta, - basename(copyinstr(arg2)), arg3, "method", self->depth * 2, "", - this->name); - self->last = timestamp; -} diff --git a/cddl/contrib/dtracetoolkit/Ruby/rb_flowtime.d b/cddl/contrib/dtracetoolkit/Ruby/rb_flowtime.d deleted file mode 100755 index 9b1c66803b2f..000000000000 --- a/cddl/contrib/dtracetoolkit/Ruby/rb_flowtime.d +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * rb_flowtime.d - snoop Ruby function (method) flow using DTrace. - * Written for the Ruby DTrace provider. - * - * $Id: rb_flowtime.d 41 2007-09-17 02:20:10Z brendan $ - * - * This traces activity from all Ruby programs on the system that are - * running with Ruby provider support. - * - * USAGE: rb_flowtime.d # hit Ctrl-C to end - * - * FIELDS: - * C CPU-id - * TIME(us) Time since boot, us - * FILE Filename that this method belongs to - * DELTA(us) Elapsed time from previous line to this line - * CLASS::METHOD Ruby class and method name - * - * LEGEND: - * -> method entry - * <- method return - * - * Filename and method names are printed if available. - * - * WARNING: Watch the first column carefully, it prints the CPU-id. If it - * changes, then it is very likely that the output has been shuffled. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option switchrate=10 - -self int depth; - -dtrace:::BEGIN -{ - printf("%3s %-16s %-16s %9s -- %s\n", "C", "TIME(us)", "FILE", - "DELTA(us)", "CLASS::METHOD"); -} - -ruby*:::function-entry, -ruby*:::function-return -/self->last == 0/ -{ - self->last = timestamp; -} - -ruby*:::function-entry -{ - this->delta = (timestamp - self->last) / 1000; - printf("%3d %-16d %-16s %9d %*s-> %s::%s\n", cpu, timestamp / 1000, - basename(copyinstr(arg2)), this->delta, self->depth * 2, "", - copyinstr(arg0), copyinstr(arg1)); - self->depth++; - self->last = timestamp; -} - -ruby*:::function-return -{ - this->delta = (timestamp - self->last) / 1000; - self->depth -= self->depth > 0 ? 1 : 0; - printf("%3d %-16d %-16s %9d %*s<- %s::%s\n", cpu, timestamp / 1000, - basename(copyinstr(arg2)), this->delta, self->depth * 2, "", - copyinstr(arg0), copyinstr(arg1)); - self->last = timestamp; -} diff --git a/cddl/contrib/dtracetoolkit/Ruby/rb_funccalls.d b/cddl/contrib/dtracetoolkit/Ruby/rb_funccalls.d deleted file mode 100755 index 76215006cfb9..000000000000 --- a/cddl/contrib/dtracetoolkit/Ruby/rb_funccalls.d +++ /dev/null @@ -1,57 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * rb_funccalls.d - count Ruby function (method) calls using DTrace. - * Written for the Ruby DTrace provider. - * - * $Id: rb_funccalls.d 20 2007-09-12 09:28:22Z brendan $ - * - * This traces activity from all Ruby programs on the system that are - * running with Ruby provider support. - * - * USAGE: rb_funccalls.d # hit Ctrl-C to end - * - * FIELDS: - * FILE Filename of the Ruby program - * METHOD Method name - * COUNT Number of calls during sample - * - * Filename and method names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -ruby*:::function-entry -{ - @funcs[basename(copyinstr(arg2)), copyinstr(arg0), copyinstr(arg1)] = - count(); -} - -dtrace:::END -{ - printf(" %-32.32s %-16s %-16s %8s\n", "FILE", "CLASS", "METHOD", - "CALLS"); - printa(" %-32.32s %-16s %-16s %@8d\n", @funcs); -} diff --git a/cddl/contrib/dtracetoolkit/Ruby/rb_lines.d b/cddl/contrib/dtracetoolkit/Ruby/rb_lines.d deleted file mode 100755 index 438f1f11a679..000000000000 --- a/cddl/contrib/dtracetoolkit/Ruby/rb_lines.d +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * rb_lines.d - trace Ruby line execution by process using DTrace. - * Written for the Ruby DTrace provider. - * - * $Id: rb_lines.d 20 2007-09-12 09:28:22Z brendan $ - * - * This traces Ruby activity from all Ruby programs on the system that are - * running with Ruby provider support. - * - * USAGE: rb_who.d # hit Ctrl-C to end - * - * FIELDS: - * FILE Filename of the Ruby program - * LINE Line number - * COUNT Number of times a line was executed - * - * Filenames are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -ruby*:::line -{ - @calls[basename(copyinstr(arg0)), arg1] = count(); -} - -dtrace:::END -{ - printf(" %32s:%-6s %10s\n", "FILE", "LINE", "COUNT"); - printa(" %32s:%-6d %@10d\n", @calls); -} diff --git a/cddl/contrib/dtracetoolkit/Ruby/rb_malloc.d b/cddl/contrib/dtracetoolkit/Ruby/rb_malloc.d deleted file mode 100755 index 891b84050293..000000000000 --- a/cddl/contrib/dtracetoolkit/Ruby/rb_malloc.d +++ /dev/null @@ -1,80 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * rb_malloc.d - Ruby operations and libc malloc statistics. - * Written for the Ruby DTrace provider. - * - * $Id: rb_malloc.d 20 2007-09-12 09:28:22Z brendan $ - * - * WARNING: This script is not 100% accurate; This prints libc malloc() byte - * distributions by "recent" Ruby operation, which we hope will be usually - * relevant. This is an experimental script that may be improved over time. - * - * USAGE: rb_malloc.d { -p PID | -c cmd } # hit Ctrl-C to end - * - * FIELDS: - * 1 Filename of the Ruby program - * 2 Type of operation (method/objnew/startup) - * 3 Name of operation - * - * Filename and method names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -self string filename; - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -ruby$target:::function-entry -{ - self->file = basename(copyinstr(arg2)); - self->type = "method"; - self->name = strjoin(strjoin(copyinstr(arg0), "::"), copyinstr(arg1)); -} - -ruby$target:::object-create-start -{ - self->file = basename(copyinstr(arg1)); - self->type = "objnew"; - self->name = copyinstr(arg0); -} - -pid$target:libc:malloc:entry -/self->file != NULL/ -{ - @mallocs[self->file, self->type, self->name] = quantize(arg0); -} - -pid$target:libc:malloc:entry -/self->file == NULL/ -{ - @mallocs["ruby", "startup", "-"] = quantize(arg0); -} - - -dtrace:::END -{ - printf("Ruby malloc byte distributions by recent Ruby operation,\n"); - printa(" %s, %s, %s %@d\n", @mallocs); -} diff --git a/cddl/contrib/dtracetoolkit/Ruby/rb_objcpu.d b/cddl/contrib/dtracetoolkit/Ruby/rb_objcpu.d deleted file mode 100755 index 23c55e88592c..000000000000 --- a/cddl/contrib/dtracetoolkit/Ruby/rb_objcpu.d +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * rb_objcpu.d - measure Ruby object creation on-CPU time using DTrace. - * Written for the Ruby DTrace provider. - * - * $Id: rb_objcpu.d 20 2007-09-12 09:28:22Z brendan $ - * - * This traces Ruby activity from all programs running on the system with - * Ruby provider support. - * - * USAGE: rb_objcpu.d # hit Ctrl-C to end - * - * Class names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -ruby*:::object-create-start -{ - self->vstart = vtimestamp; -} - -ruby*:::object-create-done -/self->vstart/ -{ - this->oncpu = vtimestamp - self->vstart; - @total = sum(this->oncpu); - @dist[copyinstr(arg0)] = quantize(this->oncpu / 1000); - self->vstart = 0; -} - -dtrace:::END -{ - normalize(@total, 1000000); - printa("Total object creation on-CPU time (ms): %@d\n\n", @total); - printf("Object creation on-CPU time distributions (us),\n"); - printa(@dist); -} diff --git a/cddl/contrib/dtracetoolkit/Ruby/rb_objnew.d b/cddl/contrib/dtracetoolkit/Ruby/rb_objnew.d deleted file mode 100755 index f6f00f1d7af9..000000000000 --- a/cddl/contrib/dtracetoolkit/Ruby/rb_objnew.d +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * rb_objnew.d - count Ruby object creation using DTrace. - * Written for the Ruby DTrace provider. - * - * $Id: rb_objnew.d 20 2007-09-12 09:28:22Z brendan $ - * - * This traces Ruby activity from all programs running on the system with - * Ruby provider support. - * - * USAGE: rb_objnew.d # hit Ctrl-C to end - * - * FIELDS: - * FILE Filename of the Ruby program - * CLASS Class of new object - * COUNT Number of object creations during tracing - * - * Filename and class names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -ruby*:::object-create-done -{ - @objs[basename(copyinstr(arg1)), copyinstr(arg0)] = count(); -} - -dtrace:::END -{ - printf(" %-24s %-36s %8s\n", "FILE", "CLASS", "COUNT"); - printa(" %-24.24s %-36s %@8d\n", @objs); -} diff --git a/cddl/contrib/dtracetoolkit/Ruby/rb_stat.d b/cddl/contrib/dtracetoolkit/Ruby/rb_stat.d deleted file mode 100755 index 6de19f6e5b41..000000000000 --- a/cddl/contrib/dtracetoolkit/Ruby/rb_stat.d +++ /dev/null @@ -1,146 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * rb_stat.d - Ruby operation stats using DTrace. - * Written for the Ruby DTrace provider. - * - * $Id: rb_stat.d 20 2007-09-12 09:28:22Z brendan $ - * - * This traces activity from all Ruby programs on the system that are - * running with Ruby provider support. - * - * USAGE: rb_stat.d [interval [count]] - * - * FIELDS: - * EXEC/s Ruby programs executed per second, including - * those without Ruby provider support - * METHOD/s Methods called, per second - * OBJNEW/s Objects created, per second - * OBJFRE/s Objects freed, per second - * RAIS/s Raises, per second - * RESC/s Rescues, per second - * GC/s Garbage collects, per second - * - * The numbers are counts for the interval specified. The default interval - * is 1 second. - * - * If you see a count in "EXECS" but not in the other columns, then your - * Ruby software is probably not running with the DTrace Ruby provider. - * See Ruby/Readme. - * - * Filename and method names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option defaultargs - -inline int SCREEN = 21; - -dtrace:::BEGIN -{ - execs = methods = objnew = objfree = gc = raised = rescue = 0; - lines = SCREEN + 1; - interval = $1 ? $1 : 1; - counts = $2 ? $2 : -1; - secs = interval; - first = 1; -} - -profile:::tick-1sec -{ - secs--; -} - -/* - * Print Header - */ -dtrace:::BEGIN, -profile:::tick-1sec -/first || (secs == 0 && lines > SCREEN)/ -{ - printf("%-20s %8s %8s %8s %8s %6s %6s %6s\n", "TIME", "EXEC/s", - "METHOD/s", "OBJNEW/s", "OBJFRE/s", "RAIS/s", "RESC/s", "GC/s"); - lines = 0; - first = 0; -} - -/* - * Tally Data - */ -proc:::exec-success -/execname == "ruby"/ -{ - execs++; -} - -ruby*:::function-entry -{ - methods++; -} - -ruby*:::object-create-start -{ - objnew++; -} - -ruby*:::object-free -{ - objfree++; -} - -ruby*:::raise -{ - raised++; -} - -ruby*:::rescue -{ - rescue++; -} - -ruby*:::gc-begin -{ - gc++; -} - -/* - * Print Output - */ -profile:::tick-1sec -/secs == 0/ -{ - printf("%-20Y %8d %8d %8d %8d %6d %6d %6d\n", walltimestamp, - execs / interval, methods / interval, objnew / interval, - objfree / interval, raised / interval, rescue / interval, - gc / interval); - execs = methods = objnew = objfree = gc = raised = rescue = 0; - secs = interval; - lines++; - counts--; -} - -/* - * End - */ -profile:::tick-1sec -/counts == 0/ -{ - exit(0); -} diff --git a/cddl/contrib/dtracetoolkit/Ruby/rb_syscalls.d b/cddl/contrib/dtracetoolkit/Ruby/rb_syscalls.d deleted file mode 100755 index 495060b9da80..000000000000 --- a/cddl/contrib/dtracetoolkit/Ruby/rb_syscalls.d +++ /dev/null @@ -1,66 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * rb_syscalls.d - count Ruby calls and syscalls using DTrace. - * Written for the Ruby DTrace provider. - * - * $Id: rb_syscalls.d 20 2007-09-12 09:28:22Z brendan $ - * - * USAGE: rb_syscalls.d { -p PID | -c cmd } # hit Ctrl-C to end - * - * FIELDS: - * FILE Filename of the Ruby program - * TYPE Type of call (method/syscall) - * NAME Name of call - * COUNT Number of calls during sample - * - * Filename and method names are printed if available. - * The filename for syscalls may be printed as "ruby", if the program - * was invoked using the form "ruby filename" rather than running the - * program with an interpreter line. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -self string filename; - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -ruby$target:::function-entry -{ - this->name = strjoin(strjoin(copyinstr(arg0), "::"), copyinstr(arg1)); - @calls[basename(copyinstr(arg2)), "method", this->name] = count(); -} - -syscall:::entry -/pid == $target/ -{ - @calls[basename(execname), "syscall", probefunc] = count(); -} - -dtrace:::END -{ - printf("\nCalls for PID %d,\n\n", $target); - printf(" %-32s %-10s %-22s %8s\n", "FILE", "TYPE", "NAME", "COUNT"); - printa(" %-32s %-10s %-22s %@8d\n", @calls); -} diff --git a/cddl/contrib/dtracetoolkit/Ruby/rb_syscolors.d b/cddl/contrib/dtracetoolkit/Ruby/rb_syscolors.d deleted file mode 100755 index e14ac0802e8a..000000000000 --- a/cddl/contrib/dtracetoolkit/Ruby/rb_syscolors.d +++ /dev/null @@ -1,133 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * rb_syscolors.d - trace Ruby method flow plus syscalls, in color. - * Written for the Ruby DTrace provider. - * - * $Id: rb_syscolors.d 27 2007-09-13 09:26:01Z brendan $ - * - * USAGE: rb_syscolors.d { -p PID | -c cmd } # hit Ctrl-C to end - * - * This watches Ruby method entries and returns, and indents child - * function calls. - * - * FIELDS: - * C CPU-id - * PID Process ID - * DELTA(us) Elapsed time from previous line to this line - * FILE Filename of the Ruby program - * LINE Line number of filename - * TYPE Type of call (method/line/syscall) - * NAME Ruby method or syscall name - * - * Filename and method names are printed if available. - * - * WARNING: Watch the first column carefully, it prints the CPU-id. If it - * changes, then it is very likely that the output has been shuffled. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option switchrate=10 - -self int depth; - -dtrace:::BEGIN -{ - /* - * The following are terminal color escape sequences. - * Change them to whatever you prefer, eg HTML font tags. - */ - color_ruby = "\033[2;35m"; /* violet, faint */ - color_line = "\033[1;35m"; /* violet, bold */ - color_syscall = "\033[2;32m"; /* green, faint */ - color_off = "\033[0m"; /* default */ - - printf("%s %6s %10s %16s:%-4s %-8s -- %s\n", "C", "PID", "DELTA(us)", - "FILE", "LINE", "TYPE", "NAME"); -} - -ruby$target:::function-entry, -ruby$target:::function-return, -ruby$target:::line, -syscall:::entry, -syscall:::return -/self->last == 0 && pid == $target/ -{ - self->last = timestamp; -} - -ruby$target:::function-entry -{ - this->delta = (timestamp - self->last) / 1000; - this->name = strjoin(strjoin(copyinstr(arg0), "::"), copyinstr(arg1)); - printf("%s%d %6d %10d %16s:%-4d %-8s %*s-> %s%s\n", color_ruby, - cpu, pid, this->delta, basename(copyinstr(arg2)), arg3, "method", - self->depth * 2, "", this->name, color_off); - self->depth++; - self->last = timestamp; -} - -ruby$target:::function-return -{ - this->delta = (timestamp - self->last) / 1000; - this->name = strjoin(strjoin(copyinstr(arg0), "::"), copyinstr(arg1)); - self->depth--; - printf("%s%d %6d %10d %16s:%-4d %-8s %*s<- %s%s\n", color_ruby, - cpu, pid, this->delta, basename(copyinstr(arg2)), arg3, "method", - self->depth * 2, "", this->name, color_off); - self->last = timestamp; -} - -ruby$target:::line -{ - this->delta = (timestamp - self->last) / 1000; - printf("%s%d %6d %10d %16s:%-4d %-8s %*s-- %s\n", color_line, - cpu, pid, this->delta, basename(copyinstr(arg0)), arg1, "line", - self->depth * 2, "", color_off); - self->last = timestamp; -} - -syscall:::entry -/pid == $target/ -{ - this->delta = (timestamp - self->last) / 1000; - printf("%s%d %6d %10d %16s:- %-8s %*s-> %s%s\n", color_syscall, - cpu, pid, this->delta, "\"", "syscall", self->depth * 2, "", - probefunc, color_off); - self->depth++; - self->last = timestamp; -} - -syscall:::return -/pid == $target/ -{ - this->delta = (timestamp - self->last) / 1000; - self->depth--; - printf("%s%d %6d %10d %16s:- %-8s %*s<- %s%s\n", color_syscall, - cpu, pid, this->delta, "\"", "syscall", self->depth * 2, "", - probefunc, color_off); - self->last = timestamp; -} - -proc:::exit -/pid == $target/ -{ - exit(0); -} diff --git a/cddl/contrib/dtracetoolkit/Ruby/rb_who.d b/cddl/contrib/dtracetoolkit/Ruby/rb_who.d deleted file mode 100755 index 01193689363e..000000000000 --- a/cddl/contrib/dtracetoolkit/Ruby/rb_who.d +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * rb_who.d - trace Ruby line execution by process using DTrace. - * Written for the Ruby DTrace provider. - * - * $Id: rb_who.d 49 2007-09-17 12:03:20Z brendan $ - * - * This traces Ruby activity from all Ruby programs on the system that are - * running with Ruby provider support. - * - * USAGE: rb_who.d # hit Ctrl-C to end - * - * FIELDS: - * PID Process ID of Ruby - * UID User ID of the owner - * LINES Number of times a line was executed - * FILE Pathname of the Ruby program - * - * Filenames are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -ruby*:::line -{ - @lines[pid, uid, copyinstr(arg0)] = count(); -} - -dtrace:::END -{ - printf(" %6s %6s %10s %s\n", "PID", "UID", "LINES", "FILE"); - printa(" %6d %6d %@10d %s\n", @lines); -} diff --git a/cddl/contrib/dtracetoolkit/Shell/Readme b/cddl/contrib/dtracetoolkit/Shell/Readme deleted file mode 100644 index 9bf96ffdf8b5..000000000000 --- a/cddl/contrib/dtracetoolkit/Shell/Readme +++ /dev/null @@ -1,35 +0,0 @@ -Shell - DTracing Shell Scripting - - These scripts trace activity of various shell programming languages, - and make use of specific shell DTrace providers, which are either - integrated or available for download from the shells page listed below. - Each script has a prefix to make the shell language clear. - - http://www.opensolaris.org/os/community/dtrace/shells/ - - sh - the Bourne Shell. This provider was written by Alan Hargreaves and - is currently available both as a diff and in binary form from the shells - page. - - Since the DTrace Shell providers are under development, there is a chance - that they have changed slightly by the time you are reading this, causing - these scripts to either break or behave oddly. Firstly, check for newer - versions of the DTraceToolkit; if it hasn't been updated and you need - to use these scripts immediately, then updating them shouldn't take - too long. The following was the state of the providers when these scripts - were written - check for changes and update the scripts accordingly, - - provider sh { - probe function-entry(file, function, lineno); - probe function-return(file, function, rval); - probe builtin-entry(file, function, lineno); - probe builtin-return(file, function, rval); - probe command-entry(file, function, lineno); - probe command-return(file, function, rval); - probe script-start(file); - probe script-done(file, rval); - probe subshell-entry(file, childpid); - probe subshell-return(file, rval); - probe line(file, lineno); - }; - diff --git a/cddl/contrib/dtracetoolkit/Shell/sh_calldist.d b/cddl/contrib/dtracetoolkit/Shell/sh_calldist.d deleted file mode 100755 index e758bab9db16..000000000000 --- a/cddl/contrib/dtracetoolkit/Shell/sh_calldist.d +++ /dev/null @@ -1,119 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * sh_calldist.d - measure Bourne shell elapsed times for types of operation. - * Written for the sh DTrace provider. - * - * $Id: sh_calldist.d 28 2007-09-13 10:49:37Z brendan $ - * - * This traces shell activity from all Bourne shells on the system that are - * running with sh provider support. - * - * USAGE: sh_calldist.d # hit Ctrl-C to end - * - * This script prints distribution plots of elapsed time for shell - * operations. Use sh_calltime.d for summary reports. - * - * FIELDS: - * 1 Filename of the shell or shellscript - * 2 Type of call (func/builtin/cmd) - * 3 Name of call - * - * Filename and call names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -sh*:::function-entry -{ - self->depth++; - self->exclude[self->depth] = 0; - self->function[self->depth] = timestamp; -} - -sh*:::function-return -/self->function[self->depth]/ -{ - this->elapsed_incl = timestamp - self->function[self->depth]; - this->elapsed_excl = this->elapsed_incl - self->exclude[self->depth]; - self->function[self->depth] = 0; - self->exclude[self->depth] = 0; - this->file = basename(copyinstr(arg0)); - this->name = copyinstr(arg1); - - @types_incl[this->file, "func", this->name] = - quantize(this->elapsed_incl / 1000); - @types_excl[this->file, "func", this->name] = - quantize(this->elapsed_excl / 1000); - - self->depth--; - self->exclude[self->depth] += this->elapsed_incl; -} - -sh*:::builtin-entry -{ - self->builtin = timestamp; -} - -sh*:::builtin-return -/self->builtin/ -{ - this->elapsed = timestamp - self->builtin; - self->builtin = 0; - - @types[basename(copyinstr(arg0)), "builtin", copyinstr(arg1)] = - quantize(this->elapsed / 1000); - - self->exclude[self->depth] += this->elapsed; -} - -sh*:::command-entry -{ - self->command = timestamp; -} - -sh*:::command-return -/self->command/ -{ - this->elapsed = timestamp - self->command; - self->command = 0; - - @types[basename(copyinstr(arg0)), "cmd", copyinstr(arg1)] = - quantize(this->elapsed / 1000); - - self->exclude[self->depth] += this->elapsed; -} - -dtrace:::END -{ - printf("Elapsed times (us),\n\n"); - printa(" %s, %s, %s %@d\n", @types); - - printf("Exclusive function elapsed times (us),\n\n"); - printa(" %s, %s, %s %@d\n", @types_excl); - - printf("Inclusive function elapsed times (us),\n\n"); - printa(" %s, %s, %s %@d\n", @types_incl); -} diff --git a/cddl/contrib/dtracetoolkit/Shell/sh_calls.d b/cddl/contrib/dtracetoolkit/Shell/sh_calls.d deleted file mode 100755 index 2ad72f108f68..000000000000 --- a/cddl/contrib/dtracetoolkit/Shell/sh_calls.d +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * sh_calls.d - count Bourne calls (func/builtin/cmd/subsh) using DTrace. - * Written for the sh DTrace provider. - * - * $Id: sh_calls.d 52 2007-09-24 04:28:01Z brendan $ - * - * This traces shell activity from all Bourne shells on the system that are - * running with sh provider support. - * - * USAGE: sh_calls.d # hit Ctrl-C to end - * - * FIELDS: - * FILE Filename of the shell or shellscript - * TYPE Type of call (func/builtin/cmd/subsh) - * NAME Name of call - * COUNT Number of calls during sample - * - * Filename and function names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -sh*:::function-entry -{ - @calls[basename(copyinstr(arg0)), "func", copyinstr(arg1)] = count(); -} - -sh*:::builtin-entry -{ - @calls[basename(copyinstr(arg0)), "builtin", copyinstr(arg1)] = count(); -} - -sh*:::command-entry -{ - @calls[basename(copyinstr(arg0)), "cmd", copyinstr(arg1)] = count(); -} - -sh*:::subshell-entry -/arg1 != 0/ -{ - @calls[basename(copyinstr(arg0)), "subsh", "-"] = count(); -} - -dtrace:::END -{ - printf(" %-22s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "COUNT"); - printa(" %-22s %-10s %-32s %@8d\n", @calls); -} diff --git a/cddl/contrib/dtracetoolkit/Shell/sh_calltime.d b/cddl/contrib/dtracetoolkit/Shell/sh_calltime.d deleted file mode 100755 index e3c72b4ae4f8..000000000000 --- a/cddl/contrib/dtracetoolkit/Shell/sh_calltime.d +++ /dev/null @@ -1,136 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * sh_calltime.d - measure Bourne shell elapsed times for types of operation. - * Written for the sh DTrace provider. - * - * $Id: sh_calltime.d 46 2007-09-17 10:25:36Z brendan $ - * - * This traces shell activity from all Bourne shells on the system that are - * running with sh provider support. - * - * USAGE: sh_calltime.d # hit Ctrl-C to end - * - * FIELDS: - * FILE Filename of the shell or shellscript - * TYPE Type of call (func/builtin/cmd/total) - * NAME Name of call - * TOTAL Total elapsed time for calls (us) - * - * Filename and call names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -sh*:::function-entry -{ - self->depth++; - self->exclude[self->depth] = 0; - self->function[self->depth] = timestamp; -} - -sh*:::function-return -/self->function[self->depth]/ -{ - this->elapsed_incl = timestamp - self->function[self->depth]; - this->elapsed_excl = this->elapsed_incl - self->exclude[self->depth]; - self->function[self->depth] = 0; - self->exclude[self->depth] = 0; - this->file = basename(copyinstr(arg0)); - this->name = copyinstr(arg1); - - @num[this->file, "func", this->name] = count(); - @num["-", "total", "-"] = count(); - @types_incl[this->file, "func", this->name] = sum(this->elapsed_incl); - @types_excl[this->file, "func", this->name] = sum(this->elapsed_excl); - @types_excl["-", "total", "-"] = sum(this->elapsed_excl); - - self->depth--; - self->exclude[self->depth] += this->elapsed_incl; -} - -sh*:::builtin-entry -{ - self->builtin = timestamp; -} - -sh*:::builtin-return -/self->builtin/ -{ - this->elapsed = timestamp - self->builtin; - self->builtin = 0; - this->file = basename(copyinstr(arg0)); - this->name = copyinstr(arg1); - - @num[this->file, "builtin", this->name] = count(); - @num["-", "total", "-"] = count(); - @types[this->file, "builtin", this->name] = sum(this->elapsed); - @types["-", "total", "-"] = sum(this->elapsed); - - self->exclude[self->depth] += this->elapsed; -} - -sh*:::command-entry -{ - self->command = timestamp; -} - -sh*:::command-return -/self->command/ -{ - this->elapsed = timestamp - self->command; - self->command = 0; - this->file = basename(copyinstr(arg0)); - this->name = copyinstr(arg1); - - @num[this->file, "cmd", this->name] = count(); - @num["-", "total", "-"] = count(); - @types[this->file, "cmd", this->name] = sum(this->elapsed); - @types["-", "total", "-"] = sum(this->elapsed); - - self->exclude[self->depth] += this->elapsed; -} - -dtrace:::END -{ - printf("\nCounts,\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "COUNT"); - printa(" %-20s %-10s %-32s %@8d\n", @num); - - normalize(@types, 1000); - printf("\nElapsed times (us),\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "TOTAL"); - printa(" %-20s %-10s %-32s %@8d\n", @types); - - normalize(@types_excl, 1000); - printf("\nExclusive function elapsed times (us),\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "TOTAL"); - printa(" %-20s %-10s %-32s %@8d\n", @types_excl); - - normalize(@types_incl, 1000); - printf("\nInclusive function elapsed times (us),\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "TOTAL"); - printa(" %-20s %-10s %-32s %@8d\n", @types_incl); -} diff --git a/cddl/contrib/dtracetoolkit/Shell/sh_cpudist.d b/cddl/contrib/dtracetoolkit/Shell/sh_cpudist.d deleted file mode 100755 index 0809fd5cd396..000000000000 --- a/cddl/contrib/dtracetoolkit/Shell/sh_cpudist.d +++ /dev/null @@ -1,142 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * sh_cpudist.d - measure Bourne shell on-CPU times for types of operation. - * Written for the sh DTrace provider. - * - * $Id: sh_cpudist.d 28 2007-09-13 10:49:37Z brendan $ - * - * This traces shell activity from all Bourne shells on the system that are - * running with sh provider support. - * - * USAGE: sh_cpudist.d # hit Ctrl-C to end - * - * This script prints distribution plots of on-CPU time for shell - * operations. Use sh_cputime.d for summary reports. - * - * FIELDS: - * 1 Filename of the shell or shellscript - * 2 Type of call (func/builtin/cmd) - * 3 Name of call - * - * Filename and call names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -sh*:::function-entry -{ - self->depth++; - self->function[self->depth] = vtimestamp; - self->exclude[self->depth] = 0; -} - -sh*:::function-return -/self->function[self->depth]/ -{ - this->oncpu_incl = vtimestamp - self->function[self->depth]; - this->oncpu_excl = this->oncpu_incl - self->exclude[self->depth]; - self->function[self->depth] = 0; - self->exclude[self->depth] = 0; - this->file = basename(copyinstr(arg0)); - this->name = copyinstr(arg1); - - @types_incl[this->file, "func", this->name] = - quantize(this->oncpu_incl / 1000); - @types_excl[this->file, "func", this->name] = - quantize(this->oncpu_excl / 1000); - - self->depth--; - self->exclude[self->depth] += this->oncpu_incl; -} - -sh*:::builtin-entry -{ - self->builtin = vtimestamp; -} - -sh*:::builtin-return -/self->builtin/ -{ - this->oncpu = vtimestamp - self->builtin; - self->builtin = 0; - - @types[basename(copyinstr(arg0)), "builtin", copyinstr(arg1)] = - quantize(this->oncpu / 1000); - - self->exclude[self->depth] += this->oncpu; -} - -sh*:::command-entry -{ - incmd[pid] = basename(copyinstr(arg0)); - depth[pid] = self->depth; -} - -sh*:::command-return -{ - incmd[pid] = 0; -} - -proc:::exec-success -{ - /* - * Due to thread timing after fork(), this probe can fire before - * sh*:::command-entry has, which means we can't predicate this - * exec() away just yet. Store the vtimestamp in case it is needed. - */ - self->command = vtimestamp; -} - -proc:::exit -/incmd[ppid] == NULL/ -{ - self->command = 0; -} - -proc:::exit -/incmd[ppid] != NULL/ -{ - this->oncpu = vtimestamp - self->command; - self->command = 0; - - @types[incmd[ppid], "cmd", execname] = quantize(this->oncpu / 1000); - - self->exclude[depth[ppid]] += this->oncpu; - incmd[ppid] = 0; - depth[ppid] = 0; -} - -dtrace:::END -{ - printf("On-CPU times (us),\n\n"); - printa(" %s, %s, %s %@d\n", @types); - - printf("Exclusive function on-CPU times (us),\n\n"); - printa(" %s, %s, %s %@d\n", @types_excl); - - printf("Inclusive function on-CPU times (us),\n\n"); - printa(" %s, %s, %s %@d\n", @types_incl); -} diff --git a/cddl/contrib/dtracetoolkit/Shell/sh_cputime.d b/cddl/contrib/dtracetoolkit/Shell/sh_cputime.d deleted file mode 100755 index 433ce8e2088b..000000000000 --- a/cddl/contrib/dtracetoolkit/Shell/sh_cputime.d +++ /dev/null @@ -1,158 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * sh_cputime.d - measure Bourne shell on-CPU times for types of operation. - * Written for the sh DTrace provider. - * - * $Id: sh_cputime.d 46 2007-09-17 10:25:36Z brendan $ - * - * This traces shell activity from all Bourne shells on the system that are - * running with sh provider support. - * - * USAGE: sh_cputime.d # hit Ctrl-C to end - * - * FIELDS: - * FILE Filename of the shell or shellscript - * TYPE Type of call (func/builtin/cmd/total) - * NAME Name of call - * TOTAL Total on-CPU time for calls (us) - * - * Filename and call names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -sh*:::function-entry -{ - self->depth++; - self->function[self->depth] = vtimestamp; - self->exclude[self->depth] = 0; -} - -sh*:::function-return -/self->function[self->depth]/ -{ - this->oncpu_incl = vtimestamp - self->function[self->depth]; - this->oncpu_excl = this->oncpu_incl - self->exclude[self->depth]; - self->function[self->depth] = 0; - self->exclude[self->depth] = 0; - this->file = basename(copyinstr(arg0)); - this->name = copyinstr(arg1); - - @num[this->file, "func", this->name] = count(); - @num["-", "total", "-"] = count(); - @types_incl[this->file, "func", this->name] = sum(this->oncpu_incl); - @types_excl[this->file, "func", this->name] = sum(this->oncpu_excl); - @types_excl["-", "total", "-"] = sum(this->oncpu_excl); - - self->depth--; - self->exclude[self->depth] += this->oncpu_incl; -} - -sh*:::builtin-entry -{ - self->builtin = vtimestamp; -} - -sh*:::builtin-return -/self->builtin/ -{ - this->oncpu = vtimestamp - self->builtin; - self->builtin = 0; - this->file = basename(copyinstr(arg0)); - this->name = copyinstr(arg1); - - @num[this->file, "builtin", this->name] = count(); - @num["-", "total", "-"] = count(); - @types[this->file, "builtin", this->name] = sum(this->oncpu); - @types["-", "total", "-"] = sum(this->oncpu); - - self->exclude[self->depth] += this->oncpu; -} - -sh*:::command-entry -{ - incmd[pid] = basename(copyinstr(arg0)); - depth[pid] = self->depth; -} - -sh*:::command-return -{ - incmd[pid] = 0; -} - -proc:::exec-success -{ - /* - * Due to thread timing after fork(), this probe can fire before - * sh*:::command-entry has, which means we can't predicate this - * exec() away just yet. Store the vtimestamp in case it is needed. - */ - self->command = vtimestamp; -} - -proc:::exit -/incmd[ppid] == NULL/ -{ - self->command = 0; -} - -proc:::exit -/incmd[ppid] != NULL/ -{ - this->oncpu = vtimestamp - self->command; - self->command = 0; - - @num[incmd[ppid], "cmd", execname] = count(); - @num["-", "total", "-"] = count(); - @types[incmd[ppid], "cmd", execname] = sum(this->oncpu); - @types["-", "total", "-"] = sum(this->oncpu); - - self->exclude[depth[ppid]] += this->oncpu; - incmd[ppid] = 0; - depth[ppid] = 0; -} - -dtrace:::END -{ - printf("\nCounts,\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "COUNT"); - printa(" %-20s %-10s %-32s %@8d\n", @num); - - normalize(@types, 1000); - printf("\nOn-CPU times (us),\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "TOTAL"); - printa(" %-20s %-10s %-32s %@8d\n", @types); - - normalize(@types_excl, 1000); - printf("\nExclusive function on-CPU times (us),\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "TOTAL"); - printa(" %-20s %-10s %-32s %@8d\n", @types_excl); - - normalize(@types_incl, 1000); - printf("\nInclusive function on-CPU times (us),\n"); - printf(" %-20s %-10s %-32s %8s\n", "FILE", "TYPE", "NAME", "TOTAL"); - printa(" %-20s %-10s %-32s %@8d\n", @types_incl); -} diff --git a/cddl/contrib/dtracetoolkit/Shell/sh_flow.d b/cddl/contrib/dtracetoolkit/Shell/sh_flow.d deleted file mode 100755 index ff24f595cb8c..000000000000 --- a/cddl/contrib/dtracetoolkit/Shell/sh_flow.d +++ /dev/null @@ -1,85 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * sh_flow.d - snoop Bourne shell execution showing function flow using DTrace. - * Written for the sh DTrace provider. - * - * $Id: sh_flow.d 41 2007-09-17 02:20:10Z brendan $ - * - * This traces shell activity from all Bourne shells on the system that are - * running with sh provider support. - * - * USAGE: sh_flow.d # hit Ctrl-C to end - * - * This watches shell function entries and returns, and indents child - * function calls. Shell builtins are also printed. - * - * FIELDS: - * C CPU-id - * TIME(us) Time since boot, us - * FILE Filename that this function belongs to - * NAME Shell function, builtin or command name - * - * LEGEND: - * -> function entry - * <- function return - * > builtin - * | external command - * - * WARNING: Watch the first column carefully, it prints the CPU-id. If it - * changes, then it is very likely that the output has been shuffled. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option switchrate=10 - -self int depth; - -dtrace:::BEGIN -{ - self->depth = 0; - printf("%3s %-16s %-16s -- %s\n", "C", "TIME(us)", "FILE", "NAME"); -} - -sh*:::function-entry -{ - printf("%3d %-16d %-16s %*s-> %s\n", cpu, timestamp / 1000, - basename(copyinstr(arg0)), self->depth * 2, "", copyinstr(arg1)); - self->depth++; -} - -sh*:::function-return -{ - self->depth -= self->depth > 0 ? 1 : 0; - printf("%3d %-16d %-16s %*s<- %s\n", cpu, timestamp / 1000, - basename(copyinstr(arg0)), self->depth * 2, "", copyinstr(arg1)); -} - -sh*:::builtin-entry -{ - printf("%3d %-16d %-16s %*s> %s\n", cpu, timestamp / 1000, - basename(copyinstr(arg0)), self->depth * 2, "", copyinstr(arg1)); -} - -sh*:::command-entry -{ - printf("%3d %-16d %-16s %*s| %s\n", cpu, timestamp / 1000, - basename(copyinstr(arg0)), self->depth * 2, "", copyinstr(arg1)); -} diff --git a/cddl/contrib/dtracetoolkit/Shell/sh_flowinfo.d b/cddl/contrib/dtracetoolkit/Shell/sh_flowinfo.d deleted file mode 100755 index 6da083681b17..000000000000 --- a/cddl/contrib/dtracetoolkit/Shell/sh_flowinfo.d +++ /dev/null @@ -1,152 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * sh_flowinfo.d - snoop Bourne shell flow with additional info. - * Written for the sh DTrace provider. - * - * $Id: sh_flowinfo.d 52 2007-09-24 04:28:01Z brendan $ - * - * This traces shell activity from all Bourne shells on the system that are - * running with sh provider support. - * - * USAGE: sh_flowinfo.d # hit Ctrl-C to end - * - * This watches shell function entries and returns, and indents child - * function calls. Shell builtins and external commands are also printed. - * - * FIELDS: - * C CPU-id - * PID Process ID - * DELTA(us) Elapsed time from previous line to this line - * FILE Filename of the shell script - * LINE Line number of filename - * TYPE Type of call (func/builtin/cmd/subsh) - * NAME Shell function, builtin or command name - * - * WARNING: Watch the first column carefully, it prints the CPU-id. If it - * changes, then it is very likely that the output has been shuffled. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option switchrate=10 - -self int depth; - -dtrace:::BEGIN -{ - self->depth = 0; - printf("%3s %6s %10s %16s:%-4s %-8s -- %s\n", "C", "PID", "DELTA(us)", - "FILE", "LINE", "TYPE", "NAME"); -} - -sh*:::function-entry, -sh*:::function-return, -sh*:::builtin-entry, -sh*:::builtin-return, -sh*:::command-entry, -sh*:::command-return, -sh*:::subshell-entry, -sh*:::subshell-return -/self->last == 0/ -{ - self->last = timestamp; -} - -sh*:::function-entry -{ - this->delta = (timestamp - self->last) / 1000; - printf("%3d %6d %10d %16s:%-4d %-8s %*s-> %s\n", cpu, pid, - this->delta, basename(copyinstr(arg0)), arg2, "func", - self->depth * 2, "", copyinstr(arg1)); - self->depth++; - self->last = timestamp; -} - -sh*:::function-return -{ - this->delta = (timestamp - self->last) / 1000; - self->depth -= self->depth > 0 ? 1 : 0; - printf("%3d %6d %10d %16s:- %-8s %*s<- %s\n", cpu, pid, - this->delta, basename(copyinstr(arg0)), "func", self->depth * 2, - "", copyinstr(arg1)); - self->last = timestamp; -} - -sh*:::builtin-entry -{ - this->delta = (timestamp - self->last) / 1000; - printf("%3d %6d %10d %16s:%-4d %-8s %*s-> %s\n", cpu, pid, - this->delta, basename(copyinstr(arg0)), arg2, "builtin", - self->depth * 2, "", copyinstr(arg1)); - self->depth++; - self->last = timestamp; -} - -sh*:::builtin-return -{ - this->delta = (timestamp - self->last) / 1000; - self->depth -= self->depth > 0 ? 1 : 0; - printf("%3d %6d %10d %16s:- %-8s %*s<- %s\n", cpu, pid, - this->delta, basename(copyinstr(arg0)), "builtin", - self->depth * 2, "", copyinstr(arg1)); - self->last = timestamp; -} - -sh*:::command-entry -{ - this->delta = (timestamp - self->last) / 1000; - printf("%3d %6d %10d %16s:%-4d %-8s %*s-> %s\n", cpu, pid, - this->delta, basename(copyinstr(arg0)), arg2, "cmd", - self->depth * 2, "", copyinstr(arg1)); - self->depth++; - self->last = timestamp; -} - -sh*:::command-return -{ - this->delta = (timestamp - self->last) / 1000; - self->depth -= self->depth > 0 ? 1 : 0; - printf("%3d %6d %10d %16s:- %-8s %*s<- %s\n", cpu, pid, - this->delta, basename(copyinstr(arg0)), "cmd", - self->depth * 2, "", copyinstr(arg1)); - self->last = timestamp; -} - -sh*:::subshell-entry -/arg1 != 0/ -{ - this->delta = (timestamp - self->last) / 1000; - printf("%3d %6d %10d %16s:- %-8s %*s-> pid %d\n", cpu, pid, - this->delta, basename(copyinstr(arg0)), "subsh", - self->depth * 2, "", arg1); - self->depth++; - self->last = timestamp; -} - -sh*:::subshell-return -/self->last/ -{ - this->delta = (timestamp - self->last) / 1000; - self->depth -= self->depth > 0 ? 1 : 0; - printf("%3d %6d %10d %16s:- %-8s %*s<- = %d\n", cpu, pid, - this->delta, basename(copyinstr(arg0)), "subsh", - self->depth * 2, "", arg1); - self->last = timestamp; -} diff --git a/cddl/contrib/dtracetoolkit/Shell/sh_flowtime.d b/cddl/contrib/dtracetoolkit/Shell/sh_flowtime.d deleted file mode 100755 index 5df118be1715..000000000000 --- a/cddl/contrib/dtracetoolkit/Shell/sh_flowtime.d +++ /dev/null @@ -1,118 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * sh_flowtime.d - snoop Bourne shell execution with flow and delta times. - * Written for the sh DTrace provider. - * - * $Id: sh_flowtime.d 45 2007-09-17 08:54:56Z brendan $ - * - * This traces shell activity from all Bourne shells on the system that are - * running with sh provider support. - * - * USAGE: sh_flowtime.d # hit Ctrl-C to end - * - * This watches shell function entries and returns, and indents child - * function calls. Shell builtins are also printed. - * - * FIELDS: - * C CPU-id - * TIME(us) Time since boot, us - * FILE Filename that this function belongs to - * NAME Shell function or builtin name - * - * LEGEND: - * -> function entry - * <- function return - * > builtin - * | external command - * - * DELTAs: - * -> previous line to the start of this function - * <- previous line to the end of this function - * > previous line to the end of this builtin - * | previous line to the end of this command - * - * See sh_flowinfo.d for more verbose and more straightforward delta times. - * - * Filename and function names are printed if available. - * - * WARNING: Watch the first column carefully, it prints the CPU-id. If it - * changes, then it is very likely that the output has been shuffled. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option switchrate=10 - -self int depth; - -self uint64_t last; - -dtrace:::BEGIN -{ - printf("%3s %-16s %-16s %9s -- %s\n", "C", "TIME(us)", "FILE", - "DELTA(us)", "NAME"); -} - -sh*:::function-entry, -sh*:::function-return, -sh*:::builtin-return, -sh*:::command-return -/self->last == 0/ -{ - self->last = timestamp; -} - -sh*:::function-entry -{ - this->elapsed = (timestamp - self->last) / 1000; - printf("%3d %-16d %-16s %9d %*s-> %s\n", cpu, timestamp / 1000, - basename(copyinstr(arg0)), this->elapsed, self->depth * 2, "", - copyinstr(arg1)); - self->depth++; - self->last = timestamp; -} - -sh*:::function-return -{ - this->elapsed = (timestamp - self->last) / 1000; - self->depth -= self->depth > 0 ? 1 : 0; - printf("%3d %-16d %-16s %9d %*s<- %s\n", cpu, timestamp / 1000, - basename(copyinstr(arg0)), this->elapsed, self->depth * 2, "", - copyinstr(arg1)); - self->last = timestamp; -} - -sh*:::builtin-return -{ - this->elapsed = (timestamp - self->last) / 1000; - printf("%3d %-16d %-16s %9d %*s> %s\n", cpu, timestamp / 1000, - basename(copyinstr(arg0)), this->elapsed, self->depth * 2, "", - copyinstr(arg1)); - self->last = timestamp; -} - -sh*:::command-return -{ - this->elapsed = (timestamp - self->last) / 1000; - printf("%3d %-16d %-16s %9d %*s| %s\n", cpu, timestamp / 1000, - basename(copyinstr(arg0)), this->elapsed, self->depth * 2, "", - copyinstr(arg1)); - self->last = timestamp; -} diff --git a/cddl/contrib/dtracetoolkit/Shell/sh_lines.d b/cddl/contrib/dtracetoolkit/Shell/sh_lines.d deleted file mode 100755 index 5cfeb4912102..000000000000 --- a/cddl/contrib/dtracetoolkit/Shell/sh_lines.d +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * sh_lines.d - trace Bourne shell line execution using DTrace. - * Written for the sh DTrace provider. - * - * $Id: sh_lines.d 25 2007-09-12 09:51:58Z brendan $ - * - * This traces shell activity from all Bourne shells on the system that are - * running with sh provider support. - * - * USAGE: sh_lines.d # hit Ctrl-C to end - * - * FIELDS: - * FILE Filename of the shell or shellscript - * LINE Line number - * COUNT Number of times a line was executed - * - * Filenames are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -sh*:::line -{ - @calls[basename(copyinstr(arg0)), arg1] = count(); -} - -dtrace:::END -{ - printf(" %32s:%-6s %10s\n", "FILE", "LINE", "COUNT"); - printa(" %32s:%-6d %@10d\n", @calls); -} diff --git a/cddl/contrib/dtracetoolkit/Shell/sh_pidcolors.d b/cddl/contrib/dtracetoolkit/Shell/sh_pidcolors.d deleted file mode 100755 index 0196218580d0..000000000000 --- a/cddl/contrib/dtracetoolkit/Shell/sh_pidcolors.d +++ /dev/null @@ -1,203 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * sh_pidcolors.d - Demonstration of deeper DTrace Bourne shell analysis. - * Written for the sh DTrace provider. - * - * $Id: sh_pidcolors.d 27 2007-09-13 09:26:01Z brendan $ - * - * USAGE: sh_pidcolors.d { -p PID | -c cmd } # hit Ctrl-C to end - * - * This extends sh_syscolors.d by including some "pid" provider tracing - * as a starting point for deeper analysis. Currently it adds the probes, - * - * pid$target:a.out:e*:entry, - * pid$target:a.out:e*:return - * - * which means, all functions from the /usr/bin/sh binary that begin with - * the letter "e". This adds about 34 probes. Customise it to whichever - * parts of /usr/bin/sh or the system libraries you are interested in. - * - * FIELDS: - * C CPU-id - * PID Process ID - * DELTA(us) Elapsed time from previous line to this line - * FILE Filename of the shell script - * LINE Line number of filename - * TYPE Type of call (func/builtin/cmd/line/shell) - * NAME Shell function, builtin or command name - * - * The filename for syscalls may be printed as the shell name, if the - * script was invoked using the form "shell filename" rather than running - * the script with an interpreter line. - * - * WARNING: Watch the first column carefully, it prints the CPU-id. If it - * changes, then it is very likely that the output has been shuffled. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option switchrate=10 - -self int depth; - -dtrace:::BEGIN -{ - color_shell = "\033[2;35m"; /* violet, faint */ - color_line = "\033[1;35m"; /* violet, bold */ - color_lib = "\033[2;34m"; /* blue, faint */ - color_syscall = "\033[2;32m"; /* green, faint */ - color_off = "\033[0m"; /* default */ - - printf("%s %6s %10s %16s:%-4s %-8s -- %s\n", "C", "PID", "DELTA(us)", - "FILE", "LINE", "TYPE", "NAME"); -} - -sh$target:::function-entry, -sh$target:::function-return, -sh$target:::builtin-entry, -sh$target:::command-entry, -syscall:::entry, -syscall:::return, -/* Customize Here, */ -pid$target:a.out:e*:entry, -pid$target:a.out:e*:return -/self->last == 0 && pid == $target/ -{ - self->last = timestamp; -} - -sh$target:::function-entry -{ - this->delta = (timestamp - self->last) / 1000; - printf("%s%d %6d %10d %16s:%-4d %-8s %*s-> %s%s\n", color_shell, - cpu, pid, this->delta, basename(copyinstr(arg0)), arg2, "func", - self->depth * 2, "", copyinstr(arg1), color_off); - self->depth++; - self->last = timestamp; -} - -sh$target:::function-return -{ - this->delta = (timestamp - self->last) / 1000; - self->depth -= self->depth > 0 ? 1 : 0; - printf("%s%d %6d %10d %16s:- %-8s %*s<- %s%s\n", color_shell, - cpu, pid, this->delta, basename(copyinstr(arg0)), "func", - self->depth * 2, "", copyinstr(arg1), color_off); - self->last = timestamp; -} - -sh$target:::builtin-entry -{ - this->delta = (timestamp - self->last) / 1000; - printf("%s%d %6d %10d %16s:%-4d %-8s %*s-> %s%s\n", color_shell, - cpu, pid, this->delta, basename(copyinstr(arg0)), arg2, "builtin", - self->depth * 2, "", copyinstr(arg1), color_off); - self->depth++; - self->last = timestamp; -} - -sh$target:::builtin-return -{ - this->delta = (timestamp - self->last) / 1000; - self->depth -= self->depth > 0 ? 1 : 0; - printf("%s%d %6d %10d %16s:%-4d %-8s %*s<- %s%s\n", color_shell, - cpu, pid, this->delta, basename(copyinstr(arg0)), arg2, "builtin", - self->depth * 2, "", copyinstr(arg1), color_off); - self->last = timestamp; -} - -sh$target:::command-entry -{ - this->delta = (timestamp - self->last) / 1000; - printf("%s%d %6d %10d %16s:%-4d %-8s %*s-> %s%s\n", color_shell, - cpu, pid, this->delta, basename(copyinstr(arg0)), arg2, "cmd", - self->depth * 2, "", copyinstr(arg1), color_off); - self->depth++; - self->last = timestamp; -} - -sh$target:::command-return -{ - this->delta = (timestamp - self->last) / 1000; - self->depth -= self->depth > 0 ? 1 : 0; - printf("%s%d %6d %10d %16s:%-4d %-8s %*s<- %s%s\n", color_shell, - cpu, pid, this->delta, basename(copyinstr(arg0)), arg2, "cmd", - self->depth * 2, "", copyinstr(arg1), color_off); - self->last = timestamp; -} - -sh$target:::line -{ - this->delta = (timestamp - self->last) / 1000; - printf("%s%d %6d %10d %16s:%-4d %-8s %*s-- %s\n", color_line, - cpu, pid, this->delta, basename(copyinstr(arg0)), arg1, "line", - self->depth * 2, "", color_off); - self->last = timestamp; -} - -/* Customise Here, */ -pid$target:a.out:e*:entry -{ - this->delta = (timestamp - self->last) / 1000; - printf("%s%d %6d %10d %16s:- %-8s %*s-> %s%s\n", color_lib, - cpu, pid, this->delta, basename(execname), "sh", - self->depth * 2, "", probefunc, color_off); - self->depth++; - self->last = timestamp; -} - -/* Customise Here, */ -pid$target:a.out:e*:return -{ - this->delta = (timestamp - self->last) / 1000; - self->depth -= self->depth > 0 ? 1 : 0; - printf("%s%d %6d %10d %16s:- %-8s %*s<- %s%s\n", color_lib, - cpu, pid, this->delta, basename(execname), "sh", - self->depth * 2, "", probefunc, color_off); - self->last = timestamp; -} - -syscall:::entry -/pid == $target/ -{ - this->delta = (timestamp - self->last) / 1000; - printf("%s%d %6d %10d %16s:- %-8s %*s-> %s%s\n", color_syscall, - cpu, pid, this->delta, basename(execname), "syscall", - self->depth * 2, "", probefunc, color_off); - self->depth++; - self->last = timestamp; -} - -syscall:::return -/pid == $target/ -{ - this->delta = (timestamp - self->last) / 1000; - self->depth -= self->depth > 0 ? 1 : 0; - printf("%s%d %6d %10d %16s:- %-8s %*s<- %s%s\n", color_syscall, - cpu, pid, this->delta, basename(execname), "syscall", - self->depth * 2, "", probefunc, color_off); - self->last = timestamp; -} - -proc:::exit -/pid == $target/ -{ - exit(0); -} diff --git a/cddl/contrib/dtracetoolkit/Shell/sh_stat.d b/cddl/contrib/dtracetoolkit/Shell/sh_stat.d deleted file mode 100755 index 70e29b480ee3..000000000000 --- a/cddl/contrib/dtracetoolkit/Shell/sh_stat.d +++ /dev/null @@ -1,133 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * sh_stat.d - Bourne shell operation stats using DTrace. - * Written for the sh DTrace provider. - * - * $Id: sh_stat.d 52 2007-09-24 04:28:01Z brendan $ - * - * This traces activity from all sh processes on the system that are running - * with sh provider support. - * - * USAGE: sh_stat.d [interval [count]] - * - * FIELDS: - * EXEC/s Bourne shells executed per second, including - * those without sh provider support - * FUNC/s Functions called, per second - * BLTIN/s Builtins called, per second - * SUB-SH/s Sub-shells called, per second - * CMD/s External commands called, per second - * - * The numbers are counts for the interval specified. The default interval - * is 1 second. - * - * If you see a count in "EXECS" but not in the other columns, then sh - * scripts may be running without the DTrace sh provider. See Shell/Readme. - * - * Filename and function names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option defaultargs - -inline int SCREEN = 21; - -dtrace:::BEGIN -{ - execs = funcs = builtins = subs = cmds = 0; - lines = SCREEN + 1; - interval = $1 ? $1 : 1; - counts = $2 ? $2 : -1; - secs = interval; - first = 1; -} - -profile:::tick-1sec -{ - secs--; -} - -/* - * Print Header - */ -dtrace:::BEGIN, -profile:::tick-1sec -/first || (secs == 0 && lines > SCREEN)/ -{ - printf("%-20s %8s %8s %8s %8s %8s\n", "TIME", "EXEC/s", "FUNCS/s", - "BLTINS/s", "SUB-SH/s", "CMD/s"); - lines = 0; - first = 0; -} - -/* - * Tally Data - */ -proc:::exec-success -/execname == "sh"/ -{ - execs++; -} - -sh*:::function-entry -{ - funcs++; -} - -sh*:::builtin-entry -{ - builtins++; -} - -sh*:::subshell-entry -/arg0 != 0/ -{ - subs++; -} - -sh*:::command-entry -{ - cmds++; -} - -/* - * Print Output - */ -profile:::tick-1sec -/secs == 0/ -{ - printf("%-20Y %8d %8d %8d %8d %8d\n", walltimestamp, execs / interval, - funcs / interval, builtins / interval, subs / interval, - cmds / interval); - execs = funcs = builtins = subs = cmds = 0; - secs = interval; - lines++; - counts--; -} - -/* - * End - */ -profile:::tick-1sec -/counts == 0/ -{ - exit(0); -} diff --git a/cddl/contrib/dtracetoolkit/Shell/sh_syscalls.d b/cddl/contrib/dtracetoolkit/Shell/sh_syscalls.d deleted file mode 100755 index 127bede5d8e1..000000000000 --- a/cddl/contrib/dtracetoolkit/Shell/sh_syscalls.d +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * sh_syscalls.d - count Bourne calls and syscalls using DTrace. - * Written for the sh DTrace provider. - * - * $Id: sh_syscalls.d 25 2007-09-12 09:51:58Z brendan $ - * - * USAGE: sh_syscalls.d { -p PID | -c cmd } # hit Ctrl-C to end - * - * FIELDS: - * FILE Filename of the shell or shellscript - * TYPE Type of call (func/builtin/cmd/syscall) - * NAME Name of call - * COUNT Number of calls during sample - * - * Filename and function names are printed if available. - * The filename for syscalls may be printed as the shell name, if the - * script was invoked using the form "shell filename" rather than running - * the script with an interpreter line. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -self string filename; - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -sh$target:::function-entry, -sh$target:::builtin-entry, -sh$target:::command-entry -/self->filename == NULL/ -{ - self->filename = basename(copyinstr(arg0)); -} - -sh$target:::function-entry -{ - @calls[self->filename, "func", copyinstr(arg1)] = count(); -} - -sh$target:::builtin-entry -{ - @calls[self->filename, "builtin", copyinstr(arg1)] = count(); -} - -sh$target:::command-entry -{ - @calls[self->filename, "cmd", copyinstr(arg1)] = count(); -} - -syscall:::entry -/pid == $target/ -{ - @calls[basename(execname), "syscall", probefunc] = count(); -} - -dtrace:::END -{ - printf("\nCalls for PID %d,\n\n", $target); - printf(" %-32s %-10s %-22s %8s\n", "FILE", "TYPE", "NAME", "COUNT"); - printa(" %-32s %-10s %-22s %@8d\n", @calls); -} diff --git a/cddl/contrib/dtracetoolkit/Shell/sh_syscolors.d b/cddl/contrib/dtracetoolkit/Shell/sh_syscolors.d deleted file mode 100755 index 3622cb39f487..000000000000 --- a/cddl/contrib/dtracetoolkit/Shell/sh_syscolors.d +++ /dev/null @@ -1,169 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * sh_syscolors.d - trace Bourne shell flow plus syscalls, in color. - * Written for the sh DTrace provider. - * - * $Id: sh_syscolors.d 27 2007-09-13 09:26:01Z brendan $ - * - * USAGE: sh_syscolors.d { -p PID | -c cmd } # hit Ctrl-C to end - * - * This watches shell function entries and returns, and indents child - * function calls. Shell builtins, commands and lines are also printed. - * - * FIELDS: - * C CPU-id - * PID Process ID - * DELTA(us) Elapsed time from previous line to this line - * FILE Filename of the shell script - * LINE Line number of filename - * TYPE Type of call (func/builtin/cmd/line/shell) - * NAME Shell function, builtin or command name - * - * The filename for syscalls may be printed as the shell name, if the - * script was invoked using the form "shell filename" rather than running - * the script with an interpreter line. - * - * WARNING: Watch the first column carefully, it prints the CPU-id. If it - * changes, then it is very likely that the output has been shuffled. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option switchrate=10 - -self int depth; - -dtrace:::BEGIN -{ - color_shell = "\033[2;35m"; /* violet, faint */ - color_line = "\033[1;35m"; /* violet, bold */ - color_syscall = "\033[2;32m"; /* green, faint */ - color_off = "\033[0m"; /* default */ - - printf("%s %6s %10s %16s:%-4s %-8s -- %s\n", "C", "PID", "DELTA(us)", - "FILE", "LINE", "TYPE", "NAME"); -} - -sh$target:::function-entry, -sh$target:::function-return, -sh$target:::builtin-entry, -sh$target:::command-entry, -sh$target:::line, -syscall:::entry, -syscall:::return -/self->last == 0 && pid == $target/ -{ - self->last = timestamp; -} - -sh$target:::function-entry -{ - this->delta = (timestamp - self->last) / 1000; - printf("%s%d %6d %10d %16s:%-4d %-8s %*s-> %s%s\n", color_shell, - cpu, pid, this->delta, basename(copyinstr(arg0)), arg2, "func", - self->depth * 2, "", copyinstr(arg1), color_off); - self->depth++; - self->last = timestamp; -} - -sh$target:::function-return -{ - this->delta = (timestamp - self->last) / 1000; - self->depth -= self->depth > 0 ? 1 : 0; - printf("%s%d %6d %10d %16s:- %-8s %*s<- %s%s\n", color_shell, - cpu, pid, this->delta, basename(copyinstr(arg0)), "func", - self->depth * 2, "", copyinstr(arg1), color_off); - self->last = timestamp; -} - -sh$target:::builtin-entry -{ - this->delta = (timestamp - self->last) / 1000; - printf("%s%d %6d %10d %16s:%-4d %-8s %*s-> %s%s\n", color_shell, - cpu, pid, this->delta, basename(copyinstr(arg0)), arg2, "builtin", - self->depth * 2, "", copyinstr(arg1), color_off); - self->depth++; - self->last = timestamp; -} - -sh$target:::builtin-return -{ - this->delta = (timestamp - self->last) / 1000; - self->depth -= self->depth > 0 ? 1 : 0; - printf("%s%d %6d %10d %16s:%-4d %-8s %*s<- %s%s\n", color_shell, - cpu, pid, this->delta, basename(copyinstr(arg0)), arg2, "builtin", - self->depth * 2, "", copyinstr(arg1), color_off); - self->last = timestamp; -} - -sh$target:::command-entry -{ - this->delta = (timestamp - self->last) / 1000; - printf("%s%d %6d %10d %16s:%-4d %-8s %*s-> %s%s\n", color_shell, - cpu, pid, this->delta, basename(copyinstr(arg0)), arg2, "cmd", - self->depth * 2, "", copyinstr(arg1), color_off); - self->depth++; - self->last = timestamp; -} - -sh$target:::command-return -{ - this->delta = (timestamp - self->last) / 1000; - self->depth -= self->depth > 0 ? 1 : 0; - printf("%s%d %6d %10d %16s:%-4d %-8s %*s<- %s%s\n", color_shell, - cpu, pid, this->delta, basename(copyinstr(arg0)), arg2, "cmd", - self->depth * 2, "", copyinstr(arg1), color_off); - self->last = timestamp; -} - -sh$target:::line -{ - this->delta = (timestamp - self->last) / 1000; - printf("%s%d %6d %10d %16s:%-4d %-8s %*s-- %s\n", color_line, - cpu, pid, this->delta, basename(copyinstr(arg0)), arg1, "line", - self->depth * 2, "", color_off); - self->last = timestamp; -} - -syscall:::entry -/pid == $target/ -{ - this->delta = (timestamp - self->last) / 1000; - printf("%s%d %6d %10d %16s:- %-8s %*s-> %s%s\n", color_syscall, - cpu, pid, this->delta, basename(execname), "syscall", - self->depth * 2, "", probefunc, color_off); - self->last = timestamp; -} - -syscall:::return -/pid == $target/ -{ - this->delta = (timestamp - self->last) / 1000; - printf("%s%d %6d %10d %16s:- %-8s %*s<- %s%s\n", color_syscall, - cpu, pid, this->delta, basename(execname), "syscall", - self->depth * 2, "", probefunc, color_off); - self->last = timestamp; -} - -proc:::exit -/pid == $target/ -{ - exit(0); -} diff --git a/cddl/contrib/dtracetoolkit/Shell/sh_wasted.d b/cddl/contrib/dtracetoolkit/Shell/sh_wasted.d deleted file mode 100755 index e20db8ea6efe..000000000000 --- a/cddl/contrib/dtracetoolkit/Shell/sh_wasted.d +++ /dev/null @@ -1,101 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * sh_wasted.d - measure Bourne shell elapsed times for "wasted" commands. - * Written for the sh DTrace provider. - * - * $Id: sh_wasted.d 25 2007-09-12 09:51:58Z brendan $ - * - * USAGE: sh_wasted.d { -p PID | -c cmd } # hit Ctrl-C to end - * - * This script measures "wasted" commands - those which are called externally - * but are in fact builtins to the shell. Ever seen a script which calls - * /usr/bin/echo needlessly? This script measures that cost. - * - * FIELDS: - * FILE Filename of the shell or shellscript - * NAME Name of call - * TIME Total elapsed time for calls (us) - * - * IDEA: Mike Shapiro - * - * Filename and call names are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - isbuiltin["echo"] = 1; - isbuiltin["test"] = 1; - /* add builtins here */ - - printf("Tracing... Hit Ctrl-C to end.\n"); - self->start = timestamp; -} - -sh$target:::command-entry -{ - self->command = timestamp; -} - -sh$target:::command-return -{ - this->elapsed = timestamp - self->command; - this->path = copyinstr(arg1); - this->cmd = basename(this->path); -} - -sh$target:::command-return -/self->command && !isbuiltin[this->cmd]/ -{ - @types_cmd[basename(copyinstr(arg0)), this->path] = sum(this->elapsed); - self->command = 0; -} - -sh$target:::command-return -/self->command/ -{ - @types_wasted[basename(copyinstr(arg0)), this->path] = - sum(this->elapsed); - self->command = 0; -} - -proc:::exit -/pid == $target/ -{ - exit(0); -} - -dtrace:::END -{ - this->elapsed = (timestamp - self->start) / 1000; - printf("Script duration: %d us\n", this->elapsed); - - normalize(@types_cmd, 1000); - printf("\nExternal command elapsed times,\n"); - printf(" %-30s %-22s %8s\n", "FILE", "NAME", "TIME(us)"); - printa(" %-30s %-22s %@8d\n", @types_cmd); - - normalize(@types_wasted, 1000); - printf("\nWasted command elapsed times,\n"); - printf(" %-30s %-22s %8s\n", "FILE", "NAME", "TIME(us)"); - printa(" %-30s %-22s %@8d\n", @types_wasted); -} diff --git a/cddl/contrib/dtracetoolkit/Shell/sh_who.d b/cddl/contrib/dtracetoolkit/Shell/sh_who.d deleted file mode 100755 index 3e106ff80f50..000000000000 --- a/cddl/contrib/dtracetoolkit/Shell/sh_who.d +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * sh_who.d - trace Bourne shell line execution by process using DTrace. - * Written for the sh DTrace provider. - * - * $Id: sh_who.d 25 2007-09-12 09:51:58Z brendan $ - * - * This traces shell activity from all Bourne shells on the system that are - * running with sh provider support. - * - * USAGE: sh_who.d # hit Ctrl-C to end - * - * FIELDS: - * PID Process ID of the shell - * UID User ID of the owner - * LINES Number of times a line was executed - * FILE Pathname of the shell or shellscript - * - * Filenames are printed if available. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -sh*:::line -{ - @lines[pid, uid, copyinstr(arg0)] = count(); -} - -dtrace:::END -{ - printf(" %6s %6s %6s %s\n", "PID", "UID", "LINES", "FILE"); - printa(" %6d %6d %@6d %s\n", @lines); -} diff --git a/cddl/contrib/dtracetoolkit/Snippits/Readme b/cddl/contrib/dtracetoolkit/Snippits/Readme deleted file mode 100644 index b54dc77583b0..000000000000 --- a/cddl/contrib/dtracetoolkit/Snippits/Readme +++ /dev/null @@ -1,11 +0,0 @@ -Snippits - DTrace code snippits - - This directory has useful snippits of D scripting in seperate files. - - When coding in DTrace, I frequently refer to the same chunks of code - from the same scripts, when I need to do certain things that I have - solved in the past. I also refer other people to them when asked. - This directory is a library for such "snippits" of code. - - This directory does not contain runnable DTrace scripts. - diff --git a/cddl/contrib/dtracetoolkit/Snippits/fd2pathname.txt b/cddl/contrib/dtracetoolkit/Snippits/fd2pathname.txt deleted file mode 100644 index b056e1318135..000000000000 --- a/cddl/contrib/dtracetoolkit/Snippits/fd2pathname.txt +++ /dev/null @@ -1,32 +0,0 @@ -You have a file descriptor (probably from a syscall), and you want the -corresponding pathname. - -If you are on newer versions of DTrace, there is the fds[] array, - -# dtrace -n 'syscall::read:entry { @[fds[arg0].fi_pathname] = count(); }' -dtrace: description 'syscall::read:entry ' matched 1 probe -^C - - /etc/minor_perm 2 - /etc/mnttab 2 - /etc/motd 2 - /etc/magic 4 - /usr/sbin/clri 5 - /devices/pseudo/clone@0:ptm 6 - /sbin/mount 6 - /dev/pts/28 7 - /devices/pseudo/consms@0:mouse 31 - /devices/pseudo/conskbd@0:kbd 47 - 351 - -easy. - -but if you are on an older version of DTrace, try this to convert from -this->fd to self->vpath, - - this->filep = - curthread->t_procp->p_user.u_finfo.fi_list[this->fd].uf_file; - this->vnodep = this->filep != 0 ? this->filep->f_vnode : 0; - self->vpath = this->vnodep ? (this->vnodep->v_path != 0 ? - cleanpath(this->vnodep->v_path) : "") : ""; - diff --git a/cddl/contrib/dtracetoolkit/System/Readme b/cddl/contrib/dtracetoolkit/System/Readme deleted file mode 100644 index 3d739da38ee0..000000000000 --- a/cddl/contrib/dtracetoolkit/System/Readme +++ /dev/null @@ -1,3 +0,0 @@ -System - System based analysis - - This would include measuring system wide activity. diff --git a/cddl/contrib/dtracetoolkit/System/sar-c.d b/cddl/contrib/dtracetoolkit/System/sar-c.d deleted file mode 100755 index ef6319868583..000000000000 --- a/cddl/contrib/dtracetoolkit/System/sar-c.d +++ /dev/null @@ -1,101 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * sar-c.d - sar -c demo in DTrace. - * Written using DTrace (Solaris 10 3/05). - * - * This has been written to demonstrate fetching similar data as sar -c - * from DTrace. This program is intended as a starting point for other - * DTrace scripts, by beginning with familiar statistics. - * - * $Id: sar-c.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: sar-c.d - * - * FIELDS: - * scall/s System calls - * sread/s reads - * swrit/s writes - * fork/s forks - * exec/s execs - * rchar/s read characters - * wchar/s write characters - * - * IDEA: David Rubio, who also wrote the original. - * - * NOTES: - * As this program does not use Kstat, there is no summary since boot line. - * - * SEE ALSO: sar(1) - * - * COPYRIGHT: Copyright (c) 2005 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 12-Jun-2005 Brendan Gregg Created this. - * 12-Jun-2005 " " Last update. - */ - -#pragma D option quiet - -inline int SCREEN = 21; - -/* - * Initialise variables - */ -dtrace:::BEGIN -{ - scall = 0; sread = 0; swrit = 0; fork = 0; exec = 0; - rchar = 0; wchar = 0; - lines = SCREEN + 1; -} - -/* - * Print header - */ -dtrace:::BEGIN, -tick-1sec -/lines++ > SCREEN/ -{ - printf("%-20s %7s %7s %7s %7s %7s %8s %8s\n", - "Time", "scall/s", "sread/s", "swrit/s", "fork/s", - "exec/s", "rchar/s", "wchar/s"); - lines = 0; -} - -/* - * Probe events - */ -syscall:::entry { scall++; } -sysinfo:::sysread { sread++; } -sysinfo:::syswrite { swrit++; } -sysinfo:::sysfork { fork++; } -sysinfo:::sysvfork { fork++; } -sysinfo:::sysexec { exec++; } -sysinfo:::readch { rchar += arg0; } -sysinfo:::writech { wchar += arg0; } - -/* - * Print output line - */ -profile:::tick-1sec -{ - /* print line */ - printf("%20Y %7d %7d %7d %4d.00 %4d.00 %8d %8d\n", - walltimestamp, scall, sread, swrit, fork, exec, rchar, wchar); - - /* clear counters */ - scall = 0; sread = 0; swrit = 0; fork = 0; exec = 0; - rchar = 0; wchar = 0; -} diff --git a/cddl/contrib/dtracetoolkit/System/syscallbysysc.d b/cddl/contrib/dtracetoolkit/System/syscallbysysc.d deleted file mode 100755 index 86b8ac3e58a8..000000000000 --- a/cddl/contrib/dtracetoolkit/System/syscallbysysc.d +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * syscallbysysc.d - report on syscalls by syscall. DTrace OneLiner. - * - * This is a DTrace OneLiner from the DTraceToolkit. - * - * $Id: syscallbysysc.d 3 2007-08-01 10:50:08Z brendan $ - */ - -syscall:::entry { @num[probefunc] = count(); } diff --git a/cddl/contrib/dtracetoolkit/System/topsyscall b/cddl/contrib/dtracetoolkit/System/topsyscall deleted file mode 100755 index 63ef8c620345..000000000000 --- a/cddl/contrib/dtracetoolkit/System/topsyscall +++ /dev/null @@ -1,184 +0,0 @@ -#!/usr/bin/ksh -# -# topsyscall - display top syscalls by syscall name. -# Written using DTrace (Solaris 10 3/05). -# -# This program continually prints a report of the top system calls, -# and refreshes the display every 1 second or as specified at the -# command line. -# -# $Id: topsyscall 3 2007-08-01 10:50:08Z brendan $ -# -# USAGE: topsyscall [-Cs] [interval [count]] -# -# -C # don't clear the screen -# -s # print per second values -# -# FIELDS: -# load avg load averages, see uptime(1) -# syscalls total syscalls in this interval -# syscalls/s syscalls per second -# SYSCALL system call name -# COUNT total syscalls in this interval -# COUNT/s syscalls per second -# -# INSPIRATION: top(1) by William LeFebvre -# -# COPYRIGHT: Copyright (c) 2005, 2006 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# 13-Jun-2005 Brendan Gregg Created this. -# 20-Apr-2006 " " Last update. -# - -############################## -# --- Process Arguments --- -# - -### Default variables -count=-1; interval=1; opt_persec=0; opt_clear=1 - -### Process options -while getopts Chs name -do - case $name in - C) opt_clear=0 ;; - s) opt_persec=1 ;; - h|?) cat <<-END >&2 - USAGE: topsyscall [-s] [interval [count]] - -C # don't clear the screen - -s # print per second values - eg, - topsyscall # default, 1 second updates - topsyscall 5 # 5 second updates - END - exit 1 - esac -done -shift $(( $OPTIND - 1 )) - -### option logic -if [[ "$1" > 0 ]]; then - interval=$1; shift -fi -if [[ "$1" > 0 ]]; then - count=$1; shift -fi -if (( opt_clear )); then - clearstr=`clear` -else - clearstr=. -fi - - - -################################# -# --- Main Program, DTrace --- -# -/usr/sbin/dtrace -n ' - #pragma D option quiet - #pragma D option destructive - - /* constants */ - inline int OPT_clear = '$opt_clear'; - inline int OPT_persec = '$opt_persec'; - inline int INTERVAL = '$interval'; - inline int COUNTER = '$count'; - inline int SCREEN = 20; - inline string CLEAR = "'$clearstr'"; - - /* variables */ - dtrace:::BEGIN - { - secs = INTERVAL; - counts = COUNTER; - printf("Tracing... Please wait.\n"); - } - - /* record syscall event */ - syscall:::entry - { - @Name[probefunc] = count(); - @Total = count(); - } - - /* timer */ - profile:::tick-1sec - { - secs--; - } - - /* update screen */ - profile:::tick-1sec - /secs == 0/ - { - /* fetch load averages */ - this->load1a = `hp_avenrun[0] / 65536; - this->load5a = `hp_avenrun[1] / 65536; - this->load15a = `hp_avenrun[2] / 65536; - this->load1b = ((`hp_avenrun[0] % 65536) * 100) / 65536; - this->load5b = ((`hp_avenrun[1] % 65536) * 100) / 65536; - this->load15b = ((`hp_avenrun[2] % 65536) * 100) / 65536; - - /* clear screen */ - OPT_clear ? printf("%s", CLEAR) : 1; - - /* print load average */ - printf("%Y, load average: %d.%02d, %d.%02d, %d.%02d", - walltimestamp, this->load1a, this->load1b, this->load5a, - this->load5b, this->load15a, this->load15b); - - /* calculate per second values if needed */ - OPT_persec ? normalize(@Total, INTERVAL) : 1; - OPT_persec ? normalize(@Name, INTERVAL) : 1; - - /* print syscall count */ - printf(" %s: ", OPT_persec ? "syscalls/s" : "syscalls"); - printa("%@d\n",@Total); - - /* print report */ - trunc(@Name, SCREEN); - printf("\n %-25s %12s\n", "SYSCALL", - OPT_persec ? "COUNT/s" : "COUNT"); - printa(" %-25s %@12d\n", @Name); - printf("\n"); - - /* reset variables */ - trunc(@Name); - clear(@Total); - secs = INTERVAL; - counts--; - } - - /* - * End of program - */ - profile:::tick-1sec - /counts == 0/ - { - exit(0); - } - - /* - * Cleanup for Ctrl-C - */ - dtrace:::END - { - trunc(@Name); - trunc(@Total); - } -' - diff --git a/cddl/contrib/dtracetoolkit/System/uname-a.d b/cddl/contrib/dtracetoolkit/System/uname-a.d deleted file mode 100755 index 777502109692..000000000000 --- a/cddl/contrib/dtracetoolkit/System/uname-a.d +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * uname-a.d - "uname -a" demo in DTrace. - * Written using DTrace (Solaris 10 3/05). - * - * This has been written to demonstrate fetching the "uname -a" info - * from a DTrace script, which turns out to be all kernel variables. - * This is intended as a starting point for other DTrace scripts, by - * beginning with familiar statistics. - * - * $Id: uname-a.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: uname-a.d - * - * FIELDS: See uname(1) manpage for documentation. - * - * SEE ALSO: uname - * - * COPYRIGHT: Copyright (c) 2005 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * 24-Jul-2005 Brendan Gregg Created this. - * 24-Jul-2005 " " Last update. - */ - -#pragma D option quiet -#pragma D option bufsize=8k - -/* print system info */ -dtrace:::BEGIN -{ - printf("%s %s %s %s %s %s %s", - `utsname.sysname, - `utsname.nodename, - `utsname.release, - `utsname.version, - `utsname.machine, - `architecture, - `platform); - - exit(0); -} diff --git a/cddl/contrib/dtracetoolkit/Tcl/Readme b/cddl/contrib/dtracetoolkit/Tcl/Readme deleted file mode 100644 index 68c73528085c..000000000000 --- a/cddl/contrib/dtracetoolkit/Tcl/Readme +++ /dev/null @@ -1,39 +0,0 @@ -Tcl - DTracing Tcl Programs - - These scripts trace activity of the Tcl programming language, making use - of the Tcl DTrace provider which was integrated into the Tcl source in - version tcl8.4.16. See the Tcl DTrace wiki page for details: - - http://wiki.tcl.tk/19923 - - This provider was written by Daniel Steffen and is currently available - by downloading and compiling the Tcl source with the --enable-dtrace - option to configure. - - Since the DTrace Tcl provider could be developed a little further, there is - a chance that it has changed slightly by the time you are reading this, - causing these scripts to either break or behave oddly. Firstly, check for - newer versions of the DTraceToolkit; if it hasn't been updated and you need - to use these scripts immediately, then updating them shouldn't take - too long. The following was the state of the provider when these scripts - were written - check for changes and update the scripts accordingly, - - provider tcl { - probe proc-entry(procname, argc, argv); - probe proc-return(procname, retcode); - probe proc-result(procname, retcode, retval, retobj); - probe proc-args(procname, args, ...); - probe cmd-entry(cmdname, argc, argv); - probe cmd-return(cmdname, retval); - probe cmd-args(procname, args, ...); - probe inst-start(instname, depth, stackobj); - probe inst-done(instname, depth, stackobj); - probe obj-create(object); - probe obj-free(object); - proobe tcl-probe(strings, ...); - }; - - Update: it looks like two new probes have recently been added to the - provider: proc-info and cmd-info. I'll need to update these scripts to - make use of these new probes. - diff --git a/cddl/contrib/dtracetoolkit/Tcl/tcl_calldist.d b/cddl/contrib/dtracetoolkit/Tcl/tcl_calldist.d deleted file mode 100755 index 47cbd4c9692d..000000000000 --- a/cddl/contrib/dtracetoolkit/Tcl/tcl_calldist.d +++ /dev/null @@ -1,111 +0,0 @@ -#!/usr/sbin/dtrace -CZs -/* - * tcl_calldist.d - measure Tcl elapsed time for different types of operation. - * Written for the Tcl DTrace provider. - * - * $Id: tcl_calldist.d 63 2007-10-04 04:34:38Z brendan $ - * - * USAGE: tcl_calldist.d [top] # hit Ctrl-C to end - * eg, - * tcl_calldist.d # default, truncate to 10 lines - * tcl_calldist.d 25 # truncate each report section to 25 lines - * - * This traces activity from all Tcl processes on the system with DTrace - * provider support (tcl8.4.16). - * - * FIELDS: - * 1 Process ID - * 2 Type of call (proc/cmd/total) - * 3 Name of call - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#define TOP 10 /* default output truncation */ -#define B_FALSE 0 - -#pragma D option quiet -#pragma D option defaultargs - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); - top = $1 != 0 ? $1 : TOP; -} - -tcl*:::proc-entry -{ - self->depth++; - self->exclude[self->depth] = 0; - self->proc[self->depth] = timestamp; -} - -tcl*:::proc-return -/self->proc[self->depth]/ -{ - this->elapsed_incl = timestamp - self->proc[self->depth]; - this->elapsed_excl = this->elapsed_incl - self->exclude[self->depth]; - self->proc[self->depth] = 0; - self->exclude[self->depth] = 0; - this->name = copyinstr(arg0); - - @types_incl[pid, "proc", this->name] = - quantize(this->elapsed_incl / 1000); - @types_excl[pid, "proc", this->name] = - quantize(this->elapsed_excl / 1000); - - self->depth--; - self->exclude[self->depth] += this->elapsed_incl; -} - -tcl*:::cmd-entry -{ - self->depth++; - self->exclude[self->depth] = 0; - self->cmd[self->depth] = timestamp; -} - -tcl*:::cmd-return -/self->cmd[self->depth]/ -{ - this->elapsed_incl = timestamp - self->cmd[self->depth]; - this->elapsed_excl = this->elapsed_incl - self->exclude[self->depth]; - self->cmd[self->depth] = 0; - self->exclude[self->depth] = 0; - this->name = copyinstr(arg0); - - @types_incl[pid, "cmd", this->name] = - quantize(this->elapsed_incl / 1000); - @types_excl[pid, "cmd", this->name] = - quantize(this->elapsed_excl / 1000); - - self->depth--; - self->exclude[self->depth] += this->elapsed_incl; -} - -dtrace:::END -{ - trunc(@types_excl, top); - printf("\nTop %d exclusive elapsed times (us),\n", top); - printa(" PID=%d, %s, %s %@d\n", @types_excl); - - trunc(@types_incl, top); - printf("\nTop %d inclusive elapsed times (us),\n", top); - printa(" PID=%d, %s, %s %@d\n", @types_incl); -} diff --git a/cddl/contrib/dtracetoolkit/Tcl/tcl_calls.d b/cddl/contrib/dtracetoolkit/Tcl/tcl_calls.d deleted file mode 100755 index 755efe72bcb2..000000000000 --- a/cddl/contrib/dtracetoolkit/Tcl/tcl_calls.d +++ /dev/null @@ -1,63 +0,0 @@ -#!/usr/sbin/dtrace -ZCs -/* - * tcl_calls.d - count Tcl calls (proc/cmd) using DTrace. - * Written for the Tcl DTrace provider. - * - * $Id: tcl_calls.d 63 2007-10-04 04:34:38Z brendan $ - * - * This traces activity from all Tcl processes on the system with DTrace - * provider support (tcl8.4.16). - * - * USAGE: tcl_calls.d # hit Ctrl-C to end - * - * FIELDS: - * PID Process ID - * TYPE Type of call (see below) - * NAME Name of proc or cmd call - * COUNT Number of calls during sample - * - * TYPEs: - * proc procedure - * cmd command - * - * PORTIONS: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -tcl*:::proc-entry -{ - @calls[pid, "proc", copyinstr(arg0)] = count(); -} - -tcl*:::cmd-entry -{ - @calls[pid, "cmd", copyinstr(arg0)] = count(); -} - -dtrace:::END -{ - printf(" %6s %-8s %-52s %8s\n", "PID", "TYPE", "NAME", "COUNT"); - printa(" %6d %-8s %-52s %@8d\n", @calls); -} diff --git a/cddl/contrib/dtracetoolkit/Tcl/tcl_calltime.d b/cddl/contrib/dtracetoolkit/Tcl/tcl_calltime.d deleted file mode 100755 index bab2ade2d50c..000000000000 --- a/cddl/contrib/dtracetoolkit/Tcl/tcl_calltime.d +++ /dev/null @@ -1,123 +0,0 @@ -#!/usr/sbin/dtrace -CZs -/* - * tcl_calltime.d - measure Tcl elapsed times for different types of operation. - * Written for the Tcl DTrace provider. - * - * $Id: tcl_calltime.d 63 2007-10-04 04:34:38Z brendan $ - * - * USAGE: tcl_calltime.d [top] # hit Ctrl-C to end - * eg, - * tcl_calltime.d # default, truncate to 10 lines - * tcl_calltime.d 25 # truncate each report section to 25 lines - * - * This traces activity from all Tcl processes on the system with DTrace - * provider support (tcl8.4.16). - * - * FIELDS: - * PID Process ID - * TYPE Type of call (proc/cmd/total) - * NAME Name of call - * TOTAL Total elapsed time for calls (us) - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#define TOP 10 /* default output truncation */ -#define B_FALSE 0 - -#pragma D option quiet -#pragma D option defaultargs - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); - top = $1 != 0 ? $1 : TOP; -} - -tcl*:::proc-entry -{ - self->depth++; - self->exclude[self->depth] = 0; - self->proc[self->depth] = timestamp; -} - -tcl*:::proc-return -/self->proc[self->depth]/ -{ - this->elapsed_incl = timestamp - self->proc[self->depth]; - this->elapsed_excl = this->elapsed_incl - self->exclude[self->depth]; - self->proc[self->depth] = 0; - self->exclude[self->depth] = 0; - this->name = copyinstr(arg0); - - @num[pid, "proc", this->name] = count(); - @num[0, "total", "-"] = count(); - @types_incl[pid, "proc", this->name] = sum(this->elapsed_incl); - @types_excl[pid, "proc", this->name] = sum(this->elapsed_excl); - @types_excl[0, "total", "-"] = sum(this->elapsed_excl); - - self->depth--; - self->exclude[self->depth] += this->elapsed_incl; -} - -tcl*:::cmd-entry -{ - self->depth++; - self->exclude[self->depth] = 0; - self->cmd[self->depth] = timestamp; -} - -tcl*:::cmd-return -/self->cmd[self->depth]/ -{ - this->elapsed_incl = timestamp - self->cmd[self->depth]; - this->elapsed_excl = this->elapsed_incl - self->exclude[self->depth]; - self->cmd[self->depth] = 0; - self->exclude[self->depth] = 0; - this->name = copyinstr(arg0); - - @num[pid, "cmd", this->name] = count(); - @num[0, "total", "-"] = count(); - @types_incl[pid, "cmd", this->name] = sum(this->elapsed_incl); - @types_excl[pid, "cmd", this->name] = sum(this->elapsed_excl); - @types_excl[0, "total", "-"] = sum(this->elapsed_excl); - - self->depth--; - self->exclude[self->depth] += this->elapsed_incl; -} - -dtrace:::END -{ - trunc(@num, top); - printf("\nTop %d counts,\n", top); - printf(" %6s %-10s %-48s %8s\n", "PID", "TYPE", "NAME", "COUNT"); - printa(" %6d %-10s %-48s %@8d\n", @num); - - trunc(@types_excl, top); - normalize(@types_excl, 1000); - printf("\nTop %d exclusive elapsed times (us),\n", top); - printf(" %6s %-10s %-48s %8s\n", "PID", "TYPE", "NAME", "TOTAL"); - printa(" %6d %-10s %-48s %@8d\n", @types_excl); - - trunc(@types_incl, top); - normalize(@types_incl, 1000); - printf("\nTop %d inclusive elapsed times (us),\n", top); - printf(" %6s %-10s %-48s %8s\n", "PID", "TYPE", "NAME", "TOTAL"); - printa(" %6d %-10s %-48s %@8d\n", @types_incl); -} diff --git a/cddl/contrib/dtracetoolkit/Tcl/tcl_cpudist.d b/cddl/contrib/dtracetoolkit/Tcl/tcl_cpudist.d deleted file mode 100755 index 69f4ba2bc2ef..000000000000 --- a/cddl/contrib/dtracetoolkit/Tcl/tcl_cpudist.d +++ /dev/null @@ -1,111 +0,0 @@ -#!/usr/sbin/dtrace -CZs -/* - * tcl_cpudist.d - measure Tcl on-CPU time for different types of operation. - * Written for the Tcl DTrace provider. - * - * $Id: tcl_cpudist.d 63 2007-10-04 04:34:38Z brendan $ - * - * USAGE: tcl_cpudist.d [top] # hit Ctrl-C to end - * eg, - * tcl_cpudist.d # default, truncate to 10 lines - * tcl_cpudist.d 25 # truncate each report section to 25 lines - * - * This traces activity from all Tcl processes on the system with DTrace - * provider support (tcl8.4.16). - * - * FIELDS: - * 1 Process ID - * 2 Type of call (proc/cmd/total) - * 3 Name of call - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#define TOP 10 /* default output truncation */ -#define B_FALSE 0 - -#pragma D option quiet -#pragma D option defaultargs - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); - top = $1 != 0 ? $1 : TOP; -} - -tcl*:::proc-entry -{ - self->depth++; - self->exclude[self->depth] = 0; - self->proc[self->depth] = vtimestamp; -} - -tcl*:::proc-return -/self->proc[self->depth]/ -{ - this->oncpu_incl = vtimestamp - self->proc[self->depth]; - this->oncpu_excl = this->oncpu_incl - self->exclude[self->depth]; - self->proc[self->depth] = 0; - self->exclude[self->depth] = 0; - this->name = copyinstr(arg0); - - @types_incl[pid, "proc", this->name] = - quantize(this->oncpu_incl / 1000); - @types_excl[pid, "proc", this->name] = - quantize(this->oncpu_excl / 1000); - - self->depth--; - self->exclude[self->depth] += this->oncpu_incl; -} - -tcl*:::cmd-entry -{ - self->depth++; - self->exclude[self->depth] = 0; - self->cmd[self->depth] = vtimestamp; -} - -tcl*:::cmd-return -/self->cmd[self->depth]/ -{ - this->oncpu_incl = vtimestamp - self->cmd[self->depth]; - this->oncpu_excl = this->oncpu_incl - self->exclude[self->depth]; - self->cmd[self->depth] = 0; - self->exclude[self->depth] = 0; - this->name = copyinstr(arg0); - - @types_incl[pid, "cmd", this->name] = - quantize(this->oncpu_incl / 1000); - @types_excl[pid, "cmd", this->name] = - quantize(this->oncpu_excl / 1000); - - self->depth--; - self->exclude[self->depth] += this->oncpu_incl; -} - -dtrace:::END -{ - trunc(@types_excl, top); - printf("\nTop %d exclusive on-CPU times (us),\n", top); - printa(" PID=%d, %s, %s %@d\n", @types_excl); - - trunc(@types_incl, top); - printf("\nTop %d inclusive on-CPU times (us),\n", top); - printa(" PID=%d, %s, %s %@d\n", @types_incl); -} diff --git a/cddl/contrib/dtracetoolkit/Tcl/tcl_cputime.d b/cddl/contrib/dtracetoolkit/Tcl/tcl_cputime.d deleted file mode 100755 index a29a541ed74f..000000000000 --- a/cddl/contrib/dtracetoolkit/Tcl/tcl_cputime.d +++ /dev/null @@ -1,123 +0,0 @@ -#!/usr/sbin/dtrace -CZs -/* - * tcl_cputime.d - measure Tcl on-CPU times for different types of operation. - * Written for the Tcl DTrace provider. - * - * $Id: tcl_cputime.d 63 2007-10-04 04:34:38Z brendan $ - * - * USAGE: tcl_cputime.d [top] # hit Ctrl-C to end - * eg, - * tcl_cputime.d # default, truncate to 10 lines - * tcl_cputime.d 25 # truncate each report section to 25 lines - * - * This traces activity from all Tcl processes on the system with DTrace - * provider support (tcl8.4.16). - * - * FIELDS: - * PID Process ID - * TYPE Type of call (proc/cmd/total) - * NAME Name of call - * TOTAL Total on-CPU time for calls (us) - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#define TOP 10 /* default output truncation */ -#define B_FALSE 0 - -#pragma D option quiet -#pragma D option defaultargs - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); - top = $1 != 0 ? $1 : TOP; -} - -tcl*:::proc-entry -{ - self->depth++; - self->exclude[self->depth] = 0; - self->proc[self->depth] = vtimestamp; -} - -tcl*:::proc-return -/self->proc[self->depth]/ -{ - this->oncpu_incl = vtimestamp - self->proc[self->depth]; - this->oncpu_excl = this->oncpu_incl - self->exclude[self->depth]; - self->proc[self->depth] = 0; - self->exclude[self->depth] = 0; - this->name = copyinstr(arg0); - - @num[pid, "proc", this->name] = count(); - @num[0, "total", "-"] = count(); - @types_incl[pid, "proc", this->name] = sum(this->oncpu_incl); - @types_excl[pid, "proc", this->name] = sum(this->oncpu_excl); - @types_excl[0, "total", "-"] = sum(this->oncpu_excl); - - self->depth--; - self->exclude[self->depth] += this->oncpu_incl; -} - -tcl*:::cmd-entry -{ - self->depth++; - self->exclude[self->depth] = 0; - self->cmd[self->depth] = vtimestamp; -} - -tcl*:::cmd-return -/self->cmd[self->depth]/ -{ - this->oncpu_incl = vtimestamp - self->cmd[self->depth]; - this->oncpu_excl = this->oncpu_incl - self->exclude[self->depth]; - self->cmd[self->depth] = 0; - self->exclude[self->depth] = 0; - this->name = copyinstr(arg0); - - @num[pid, "cmd", this->name] = count(); - @num[0, "total", "-"] = count(); - @types_incl[pid, "cmd", this->name] = sum(this->oncpu_incl); - @types_excl[pid, "cmd", this->name] = sum(this->oncpu_excl); - @types_excl[0, "total", "-"] = sum(this->oncpu_excl); - - self->depth--; - self->exclude[self->depth] += this->oncpu_incl; -} - -dtrace:::END -{ - trunc(@num, top); - printf("\nTop %d counts,\n", top); - printf(" %6s %-10s %-48s %8s\n", "PID", "TYPE", "NAME", "COUNT"); - printa(" %6d %-10s %-48s %@8d\n", @num); - - trunc(@types_excl, top); - normalize(@types_excl, 1000); - printf("\nTop %d exclusive on-CPU times (us),\n", top); - printf(" %6s %-10s %-48s %8s\n", "PID", "TYPE", "NAME", "TOTAL"); - printa(" %6d %-10s %-48s %@8d\n", @types_excl); - - trunc(@types_incl, top); - normalize(@types_incl, 1000); - printf("\nTop %d inclusive on-CPU times (us),\n", top); - printf(" %6s %-10s %-48s %8s\n", "PID", "TYPE", "NAME", "TOTAL"); - printa(" %6d %-10s %-48s %@8d\n", @types_incl); -} diff --git a/cddl/contrib/dtracetoolkit/Tcl/tcl_flow.d b/cddl/contrib/dtracetoolkit/Tcl/tcl_flow.d deleted file mode 100755 index 914682826998..000000000000 --- a/cddl/contrib/dtracetoolkit/Tcl/tcl_flow.d +++ /dev/null @@ -1,86 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * tcl_flow.d - snoop Tcl execution showing procedure flow using DTrace. - * Written for the Tcl DTrace provider. - * - * $Id: tcl_flow.d 63 2007-10-04 04:34:38Z brendan $ - * - * This traces activity from all Tcl processes on the system with DTrace - * provider support (tcl8.4.16). - * - * USAGE: tcl_flow.d # hit Ctrl-C to end - * - * This watches Tcl method entries and returns, and indents child - * method calls. - * - * FIELDS: - * C CPU-id - * TIME(us) Time since boot, us - * PID Process ID - * CALL Tcl command or procedure name - * - * LEGEND: - * -> procedure entry - * <- procedure return - * > command entry - * < command return - * - * WARNING: Watch the first column carefully, it prints the CPU-id. If it - * changes, then it is very likely that the output has been shuffled. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option switchrate=10 - -self int depth; - -dtrace:::BEGIN -{ - printf("%3s %6s %-16s -- %s\n", "C", "PID", "TIME(us)", "CALL"); -} - -tcl*:::proc-entry -{ - printf("%3d %6d %-16d %*s-> %s\n", cpu, pid, timestamp / 1000, - self->depth * 2, "", copyinstr(arg0)); - self->depth++; -} - -tcl*:::proc-return -{ - self->depth -= self->depth > 0 ? 1 : 0; - printf("%3d %6d %-16d %*s<- %s\n", cpu, pid, timestamp / 1000, - self->depth * 2, "", copyinstr(arg0)); -} - -tcl*:::cmd-entry -{ - printf("%3d %6d %-16d %*s > %s\n", cpu, pid, timestamp / 1000, - self->depth * 2, "", copyinstr(arg0)); - self->depth++; -} - -tcl*:::cmd-return -{ - self->depth -= self->depth > 0 ? 1 : 0; - printf("%3d %6d %-16d %*s < %s\n", cpu, pid, timestamp / 1000, - self->depth * 2, "", copyinstr(arg0)); -} diff --git a/cddl/contrib/dtracetoolkit/Tcl/tcl_flowtime.d b/cddl/contrib/dtracetoolkit/Tcl/tcl_flowtime.d deleted file mode 100755 index 85f1b998a2e7..000000000000 --- a/cddl/contrib/dtracetoolkit/Tcl/tcl_flowtime.d +++ /dev/null @@ -1,105 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * tcl_flowtime.d - snoop Tcl execution showing procedure flow and delta times. - * Written for the Tcl DTrace provider. - * - * $Id: tcl_flowtime.d 63 2007-10-04 04:34:38Z brendan $ - * - * This traces activity from all Tcl processes on the system with DTrace - * provider support (tcl8.4.16). - * - * USAGE: tcl_flowtime.d # hit Ctrl-C to end - * - * This watches Tcl method entries and returns, and indents child - * method calls. - * - * FIELDS: - * C CPU-id - * PID Process ID - * TIME(us) Time since boot, us - * DELTA(us) Elapsed time from previous line to this line - * CALL Tcl command or procedure name - * - * LEGEND: - * -> procedure entry - * <- procedure return - * > command entry - * < command return - * - * WARNING: Watch the first column carefully, it prints the CPU-id. If it - * changes, then it is very likely that the output has been shuffled. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option switchrate=10 - -self int depth; - -dtrace:::BEGIN -{ - printf("%3s %6s %-16s %9s -- %s\n", "C", "PID", "TIME(us)", - "DELTA(us)", "CALL"); -} - -tcl*:::proc-entry, -tcl*:::proc-return, -tcl*:::cmd-entry, -tcl*:::cmd-return -/self->last == 0/ -{ - self->last = timestamp; -} - -tcl*:::proc-entry -{ - this->delta = (timestamp - self->last) / 1000; - printf("%3d %6d %-16d %9d %*s-> %s\n", cpu, pid, timestamp / 1000, - this->delta, self->depth * 2, "", copyinstr(arg0)); - self->depth++; - self->last = timestamp; -} - -tcl*:::proc-return -{ - this->delta = (timestamp - self->last) / 1000; - self->depth -= self->depth > 0 ? 1 : 0; - printf("%3d %6d %-16d %9d %*s<- %s\n", cpu, pid, timestamp / 1000, - this->delta, self->depth * 2, "", copyinstr(arg0)); - self->last = timestamp; -} - -tcl*:::cmd-entry -{ - this->delta = (timestamp - self->last) / 1000; - printf("%3d %6d %-16d %9d %*s > %s\n", cpu, pid, timestamp / 1000, - this->delta, self->depth * 2, "", copyinstr(arg0)); - self->depth++; - self->last = timestamp; -} - -tcl*:::cmd-return -{ - this->delta = (timestamp - self->last) / 1000; - self->depth -= self->depth > 0 ? 1 : 0; - printf("%3d %6d %-16d %9d %*s < %s\n", cpu, pid, timestamp / 1000, - this->delta, self->depth * 2, "", copyinstr(arg0)); - self->last = timestamp; -} diff --git a/cddl/contrib/dtracetoolkit/Tcl/tcl_ins.d b/cddl/contrib/dtracetoolkit/Tcl/tcl_ins.d deleted file mode 100755 index 39518f9b54bc..000000000000 --- a/cddl/contrib/dtracetoolkit/Tcl/tcl_ins.d +++ /dev/null @@ -1,57 +0,0 @@ -#!/usr/sbin/dtrace -ZCs -/* - * tcl_ins.d - count Tcl instructions using DTrace. - * Written for the Tcl DTrace provider. - * - * $Id: tcl_ins.d 64 2007-10-04 08:35:29Z claire $ - * - * This traces activity from all Tcl processes on the system with DTrace - * provider support (tcl8.4.16). - * - * USAGE: tcl_calls.d # hit Ctrl-C to end - * - * FIELDS: - * PID Process ID - * TYPE Type of call (see below) - * NAME Name of call - * COUNT Number of calls during sample - * - * TYPEs: - * inst instruction - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -tcl*:::inst-start -{ - @calls[pid, "inst", copyinstr(arg0)] = count(); -} - -dtrace:::END -{ - printf(" %6s %-8s %-52s %8s\n", "PID", "TYPE", "NAME", "COUNT"); - printa(" %6d %-8s %-52s %@8d\n", @calls); -} diff --git a/cddl/contrib/dtracetoolkit/Tcl/tcl_insflow.d b/cddl/contrib/dtracetoolkit/Tcl/tcl_insflow.d deleted file mode 100755 index ba5e01cbf671..000000000000 --- a/cddl/contrib/dtracetoolkit/Tcl/tcl_insflow.d +++ /dev/null @@ -1,123 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * tcl_insflow.d - snoop Tcl execution showing procedure flow and delta times. - * Written for the Tcl DTrace provider. - * - * $Id: tcl_insflow.d 63 2007-10-04 04:34:38Z brendan $ - * - * This traces activity from all Tcl processes on the system with DTrace - * provider support (tcl8.4.16). - * - * USAGE: tcl_insflow.d # hit Ctrl-C to end - * - * This watches Tcl method entries and returns, and indents child - * method calls. - * - * FIELDS: - * C CPU-id - * PID Process ID - * TIME(us) Time since boot, us - * DELTA(us) Elapsed time from previous line to this line - * TYPE Type of call (proc/cmd/inst) - * CALL Tcl command or procedure name - * - * LEGEND: - * proc procedure - * cmd command - * inst instruction - * - * WARNING: Watch the first column carefully, it prints the CPU-id. If it - * changes, then it is very likely that the output has been shuffled. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option switchrate=10 - -self int depth; - -dtrace:::BEGIN -{ - printf("%3s %6s %-16s %9s %5s -- %s\n", "C", "PID", "TIME(us)", - "DELTA(us)", "TYPE", "CALL"); -} - -tcl*:::proc-entry, -tcl*:::proc-return, -tcl*:::cmd-entry, -tcl*:::cmd-return -/self->last == 0/ -{ - self->last = timestamp; -} - -tcl*:::proc-entry -{ - this->delta = (timestamp - self->last) / 1000; - printf("%3d %6d %-16d %9d %5s %*s-> %s\n", cpu, pid, timestamp / 1000, - this->delta, "proc", self->depth * 2, "", copyinstr(arg0)); - self->depth++; - self->last = timestamp; -} - -tcl*:::proc-return -{ - this->delta = (timestamp - self->last) / 1000; - self->depth -= self->depth > 0 ? 1 : 0; - printf("%3d %6d %-16d %9d %5s %*s<- %s\n", cpu, pid, timestamp / 1000, - this->delta, "proc", self->depth * 2, "", copyinstr(arg0)); - self->last = timestamp; -} - -tcl*:::cmd-entry -{ - this->delta = (timestamp - self->last) / 1000; - printf("%3d %6d %-16d %9d %5s %*s-> %s\n", cpu, pid, timestamp / 1000, - this->delta, "cmd", self->depth * 2, "", copyinstr(arg0)); - self->depth++; - self->last = timestamp; -} - -tcl*:::cmd-return -{ - this->delta = (timestamp - self->last) / 1000; - self->depth -= self->depth > 0 ? 1 : 0; - printf("%3d %6d %-16d %9d %5s %*s<- %s\n", cpu, pid, timestamp / 1000, - this->delta, "cmd", self->depth * 2, "", copyinstr(arg0)); - self->last = timestamp; -} - -tcl*:::inst-start -{ - this->delta = (timestamp - self->last) / 1000; - printf("%3d %6d %-16d %9d %5s %*s-> %s\n", cpu, pid, timestamp / 1000, - this->delta, "inst", self->depth * 2, "", copyinstr(arg0)); - self->depth++; - self->last = timestamp; -} - -tcl*:::inst-done -{ - this->delta = (timestamp - self->last) / 1000; - self->depth -= self->depth > 0 ? 1 : 0; - printf("%3d %6d %-16d %9d %5s %*s<- %s\n", cpu, pid, timestamp / 1000, - this->delta, "inst", self->depth * 2, "", copyinstr(arg0)); - self->last = timestamp; -} diff --git a/cddl/contrib/dtracetoolkit/Tcl/tcl_proccalls.d b/cddl/contrib/dtracetoolkit/Tcl/tcl_proccalls.d deleted file mode 100755 index c874362f096e..000000000000 --- a/cddl/contrib/dtracetoolkit/Tcl/tcl_proccalls.d +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * tcl_methodcalls.d - count Tcl method calls DTrace. - * Written for the Tcl DTrace provider. - * - * $Id: tcl_proccalls.d 63 2007-10-04 04:34:38Z brendan $ - * - * This traces activity from all Tcl processes on the system with DTrace - * provider support (tcl8.4.16). - * - * USAGE: tcl_methodcalls.d # hit Ctrl-C to end - * - * FIELDS: - * PID Process ID - * COUNT Number of calls during sample - * PROCEDURE Tcl procedure name - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -tcl*:::proc-entry -{ - @calls[pid, copyinstr(arg0)] = count(); -} - -dtrace:::END -{ - printf(" %6s %8s %s\n", "PID", "COUNT", "PROCEDURE"); - printa(" %6d %@8d %s\n", @calls); -} diff --git a/cddl/contrib/dtracetoolkit/Tcl/tcl_procflow.d b/cddl/contrib/dtracetoolkit/Tcl/tcl_procflow.d deleted file mode 100755 index 258c198266b8..000000000000 --- a/cddl/contrib/dtracetoolkit/Tcl/tcl_procflow.d +++ /dev/null @@ -1,70 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * tcl_procflow.d - snoop Tcl execution showing procedure flow using DTrace. - * Written for the Tcl DTrace provider. - * - * $Id: tcl_procflow.d 63 2007-10-04 04:34:38Z brendan $ - * - * This traces activity from all Tcl processes on the system with DTrace - * provider support (tcl8.4.16). - * - * USAGE: tcl_procflow.d # hit Ctrl-C to end - * - * This watches Tcl method entries and returns, and indents child - * method calls. - * - * FIELDS: - * C CPU-id - * TIME(us) Time since boot, us - * PID Process ID - * PROCEDURE Tcl procedure name - * - * LEGEND: - * -> proc entry - * <- proc return - * - * WARNING: Watch the first column carefully, it prints the CPU-id. If it - * changes, then it is very likely that the output has been shuffled. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option switchrate=10 - -self int depth; - -dtrace:::BEGIN -{ - printf("%3s %6s %-16s -- %s\n", "C", "PID", "TIME(us)", "PROCEDURE"); -} - -tcl*:::proc-entry -{ - printf("%3d %6d %-16d %*s-> %s\n", cpu, pid, timestamp / 1000, - self->depth * 2, "", copyinstr(arg0)); - self->depth++; -} - -tcl*:::proc-return -{ - self->depth -= self->depth > 0 ? 1 : 0; - printf("%3d %6d %-16d %*s<- %s\n", cpu, pid, timestamp / 1000, - self->depth * 2, "", copyinstr(arg0)); -} diff --git a/cddl/contrib/dtracetoolkit/Tcl/tcl_stat.d b/cddl/contrib/dtracetoolkit/Tcl/tcl_stat.d deleted file mode 100755 index a321d700cea7..000000000000 --- a/cddl/contrib/dtracetoolkit/Tcl/tcl_stat.d +++ /dev/null @@ -1,137 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * tcl_stat.d - Tcl operation stats using DTrace. - * Written for the Tcl DTrace provider. - * - * $Id: tcl_stat.d 63 2007-10-04 04:34:38Z brendan $ - * - * This traces activity from all Tcl processes on the system with DTrace - * provider support (tcl8.4.16). - * - * USAGE: tcl_stat.d [interval [count]] - * - * FIELDS: - * EXEC/s Tcl programs executed per second, including - * those without Tcl provider support - * PROC/s Procedures called, per second - * CMD/s Commands created, per second - * OBJNEW/s Objects created, per second - * OBJFRE/s Objects freed, per second - * OP/s Bytecode operations, per second - * - * The numbers are counts for the interval specified. The default interval - * is 1 second. - * - * If you see a count in "EXECS" but not in the other columns, then you - * may have older Tcl software that does not have the integrated DTrace - * provider (or newer software where the provider has changed). - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option defaultargs - -inline int SCREEN = 21; - -dtrace:::BEGIN -{ - execs = procs = cmds = objnew = objfree = ops = 0; - lines = SCREEN + 1; - interval = $1 ? $1 : 1; - counts = $2 ? $2 : -1; - secs = interval; - first = 1; -} - -profile:::tick-1sec -{ - secs--; -} - -/* - * Print Header - */ -dtrace:::BEGIN, -profile:::tick-1sec -/first || (secs == 0 && lines > SCREEN)/ -{ - printf("%-20s %6s %8s %8s %8s %8s %8s\n", "TIME", "EXEC/s", - "PROC/s", "CMD/s", "OBJNEW/s", "OBJFRE/s", "OP/s"); - lines = 0; - first = 0; -} - -/* - * Tally Data - */ -proc:::exec-success -/execname == "tcl" || execname == "tclsh"/ -{ - execs++; -} - -tcl*:::proc-entry -{ - procs++; -} - -tcl*:::cmd-entry -{ - cmds++; -} - -tcl*:::obj-create -{ - objnew++; -} - -tcl*:::obj-free -{ - objfree++; -} - -tcl*:::inst-start -{ - ops++; -} - -/* - * Print Output - */ -profile:::tick-1sec -/secs == 0/ -{ - printf("%-20Y %6d %8d %8d %8d %8d %8d\n", walltimestamp, - execs / interval, procs / interval, cmds / interval, - objnew / interval, objfree / interval, ops / interval); - execs = procs = cmds = objnew = objfree = ops = 0; - secs = interval; - lines++; - counts--; -} - -/* - * End - */ -profile:::tick-1sec -/counts == 0/ -{ - exit(0); -} diff --git a/cddl/contrib/dtracetoolkit/Tcl/tcl_syscalls.d b/cddl/contrib/dtracetoolkit/Tcl/tcl_syscalls.d deleted file mode 100755 index 239d7d0a447d..000000000000 --- a/cddl/contrib/dtracetoolkit/Tcl/tcl_syscalls.d +++ /dev/null @@ -1,66 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * tcl_syscalls.d - count Tcl calls and syscalls using DTrace. - * Written for the Tcl DTrace provider. - * - * $Id: tcl_syscalls.d 63 2007-10-04 04:34:38Z brendan $ - * - * This traces activity from all Tcl processes on the system with DTrace - * provider support (tcl8.4.16). - * - * USAGE: tcl_syscalls.d { -p PID | -c cmd } # hit Ctrl-C to end - * - * FIELDS: - * PID Process ID - * TYPE Type of call (method/syscall) - * NAME Name of call - * COUNT Number of calls during sample - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -tcl$target:::proc-entry -{ - @calls[pid, "proc", copyinstr(arg0)] = count(); -} - -tcl$target:::cmd-entry -{ - @calls[pid, "cmd", copyinstr(arg0)] = count(); -} - -syscall:::entry -/pid == $target/ -{ - @calls[pid, "syscall", probefunc] = count(); -} - - -dtrace:::END -{ - printf(" %6s %-8s %-52s %8s\n", "PID", "TYPE", "NAME", "COUNT"); - printa(" %6d %-8s %-52s %@8d\n", @calls); -} diff --git a/cddl/contrib/dtracetoolkit/Tcl/tcl_syscolors.d b/cddl/contrib/dtracetoolkit/Tcl/tcl_syscolors.d deleted file mode 100755 index f2529b5344d9..000000000000 --- a/cddl/contrib/dtracetoolkit/Tcl/tcl_syscolors.d +++ /dev/null @@ -1,139 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * tcl_syscolors.d - trace Tcl program flow plus syscalls, in color. - * Written for the Tcl DTrace provider. - * - * $Id: tcl_syscolors.d 63 2007-10-04 04:34:38Z brendan $ - * - * This traces activity from all Tcl processes on the system with DTrace - * provider support (tcl8.4.16). - * - * USAGE: tcl_syscolors.d { -p PID | -c cmd } # hit Ctrl-C to end - * - * This watches Tcl method entries and returns, and indents child - * method calls. - * - * FIELDS: - * C CPU-id - * PID Process ID - * TID Thread ID - * DELTA(us) Elapsed time from previous line to this line - * TYPE Type of call (proc/cmd/syscall) - * NAME Tcl proc/cmd or syscall name - * - * WARNING: Watch the first column carefully, it prints the CPU-id. If it - * changes, then it is very likely that the output has been shuffled. - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet -#pragma D option switchrate=10 - -self int depth; - -dtrace:::BEGIN -{ - color_tcl = "\033[2;35m"; /* violet, faint */ - color_line = "\033[1;35m"; /* violet, bold */ - color_syscall = "\033[2;32m"; /* green, faint */ - color_off = "\033[0m"; /* default */ - - printf("%3s %6s %9s %-8s -- %s\n", "C", "PID", "DELTA(us)", "TYPE", - "NAME"); -} - -tcl$target:::method-entry, -tcl$target:::method-return, -syscall:::entry, -syscall:::return -/self->last == 0 && pid == $target/ -{ - self->last = timestamp; -} - -tcl$target:::proc-entry -{ - this->delta = (timestamp - self->last) / 1000; - printf("%s%3d %6d %9d %-8s %*s-> %s%s\n", color_tcl, cpu, - pid, this->delta, "proc", self->depth * 2, "", copyinstr(arg0), - color_off); - self->depth++; - self->depthlast = self->depth; - self->last = timestamp; -} - -tcl$target:::proc-return -{ - this->delta = (timestamp - self->last) / 1000; - self->depth -= self->depth > 0 ? 1 : 0; - printf("%s%3d %6d %9d %-8s %*s<- %s%s\n", color_tcl, cpu, - pid, this->delta, "proc", self->depth * 2, "", copyinstr(arg0), - color_off); - self->depthlast = self->depth; - self->last = timestamp; -} - -tcl$target:::cmd-entry -{ - this->delta = (timestamp - self->last) / 1000; - printf("%s%3d %6d %9d %-8s %*s-> %s%s\n", color_tcl, cpu, - pid, this->delta, "cmd", self->depth * 2, "", copyinstr(arg0), - color_off); - self->depth++; - self->depthlast = self->depth; - self->last = timestamp; -} - -tcl$target:::cmd-return -{ - this->delta = (timestamp - self->last) / 1000; - self->depth -= self->depth > 0 ? 1 : 0; - printf("%s%3d %6d %9d %-8s %*s<- %s%s\n", color_tcl, cpu, - pid, this->delta, "cmd", self->depth * 2, "", copyinstr(arg0), - color_off); - self->depthlast = self->depth; - self->last = timestamp; -} - -syscall:::entry -/pid == $target/ -{ - this->delta = (timestamp - self->last) / 1000; - printf("%s%3d %6d %9d %-8s %*s-> %s%s\n", color_syscall, - cpu, pid, this->delta, "syscall", self->depthlast * 2, "", - probefunc, color_off); - self->last = timestamp; -} - -syscall:::return -/pid == $target/ -{ - this->delta = (timestamp - self->last) / 1000; - printf("%s%3d %6d %9d %-8s %*s<- %s%s\n", color_syscall, - cpu, pid, this->delta, "syscall", self->depthlast * 2, "", - probefunc, color_off); - self->last = timestamp; -} - -proc:::exit -/pid == $target/ -{ - exit(0); -} diff --git a/cddl/contrib/dtracetoolkit/Tcl/tcl_who.d b/cddl/contrib/dtracetoolkit/Tcl/tcl_who.d deleted file mode 100755 index 424ad31bf573..000000000000 --- a/cddl/contrib/dtracetoolkit/Tcl/tcl_who.d +++ /dev/null @@ -1,62 +0,0 @@ -#!/usr/sbin/dtrace -Zs -/* - * tcl_who.d - trace Tcl calls by process using DTrace. - * Written for the Tcl DTrace provider. - * - * $Id: tcl_who.d 63 2007-10-04 04:34:38Z brendan $ - * - * This traces activity from all Tcl processes on the system with DTrace - * provider support (tcl8.4.16). - * - * USAGE: tcl_who.d # hit Ctrl-C to end - * - * FIELDS: - * PID Process ID of Tcl - * UID User ID of the owner - * CALLS Number of calls made (proc + cmd) - * ARGS Process name and arguments - * - * Calls is a measure of activity, and is a count of the procedures and - * commands that Tcl called. - * - * The argument list is truncated at 55 characters (up to 80 is easily - * available). To easily read the full argument list, use other system tools; - * on Solaris use "pargs PID". - * - * COPYRIGHT: Copyright (c) 2007 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-Sep-2007 Brendan Gregg Created this. - */ - -#pragma D option quiet - -dtrace:::BEGIN -{ - printf("Tracing... Hit Ctrl-C to end.\n"); -} - -tcl*:::proc-entry, -tcl*:::cmd-entry -{ - @calls[pid, uid, curpsinfo->pr_psargs] = count(); -} - -dtrace:::END -{ - printf(" %6s %6s %6s %-55s\n", "PID", "UID", "CALLS", "ARGS"); - printa(" %6d %6d %@6d %-55.55s\n", @calls); -} diff --git a/cddl/contrib/dtracetoolkit/User/Readme b/cddl/contrib/dtracetoolkit/User/Readme deleted file mode 100644 index d737125ca646..000000000000 --- a/cddl/contrib/dtracetoolkit/User/Readme +++ /dev/null @@ -1,3 +0,0 @@ -User - User based analysis - - This would include activity by UID. diff --git a/cddl/contrib/dtracetoolkit/User/setuids.d b/cddl/contrib/dtracetoolkit/User/setuids.d deleted file mode 100755 index f66d4415dc73..000000000000 --- a/cddl/contrib/dtracetoolkit/User/setuids.d +++ /dev/null @@ -1,82 +0,0 @@ -#!/usr/sbin/dtrace -s -/* - * setuids.d - snoop setuid calls. This can examine user logins. - * Written in DTrace (Solaris 10 3/05). - * - * $Id: setuids.d 3 2007-08-01 10:50:08Z brendan $ - * - * USAGE: setuids.d - * - * FIELDS: - * UID user ID (from) - * SUID set user ID (to) - * PPID parent process ID - * PID process ID - * PCMD parent command - * CMD command (full arguments) - * - * SEE ALSO: BSM auditing - * - * COPYRIGHT: Copyright (c) 2005 Brendan Gregg. - * - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at Docs/cddl1.txt - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * CDDL HEADER END - * - * 09-May-2004 Brendan Gregg Created this. - * 08-May-2005 " " Used modern variable builtins. - * 28-Jul-2005 " " Last update. - */ - -#pragma D option quiet - -/* - * Print header - */ -dtrace:::BEGIN -{ - printf("%5s %5s %5s %5s %-12s %s\n", - "UID", "SUID", "PPID", "PID", "PCMD", "CMD"); -} - -/* - * Save values - */ -syscall::setuid:entry -{ - self->uid = uid; - self->suid = arg0; - self->ok = 1; -} - -/* - * Print output on success - */ -syscall::setuid:return -/arg0 == 0 && self->ok/ -{ - printf("%5d %5d %5d %5d %-12s %S\n", - self->uid, self->suid, ppid, pid, - curthread->t_procp->p_parent->p_user.u_comm, - curpsinfo->pr_psargs); -} - -/* - * Cleanup - */ -syscall::setuid:return -{ - self->uid = 0; - self->suid = 0; - self->ok = 0; -} diff --git a/cddl/contrib/dtracetoolkit/Version b/cddl/contrib/dtracetoolkit/Version deleted file mode 100644 index 261c82361905..000000000000 --- a/cddl/contrib/dtracetoolkit/Version +++ /dev/null @@ -1 +0,0 @@ -DTraceToolkit version 0.99, 30-Sep-2007 diff --git a/cddl/contrib/dtracetoolkit/Zones/Readme b/cddl/contrib/dtracetoolkit/Zones/Readme deleted file mode 100644 index 578e720c217c..000000000000 --- a/cddl/contrib/dtracetoolkit/Zones/Readme +++ /dev/null @@ -1,3 +0,0 @@ -Zones - Zones based analysis - - This would include activity by Zone. diff --git a/cddl/contrib/dtracetoolkit/Zones/zvmstat b/cddl/contrib/dtracetoolkit/Zones/zvmstat deleted file mode 100755 index e49f89c8ed54..000000000000 --- a/cddl/contrib/dtracetoolkit/Zones/zvmstat +++ /dev/null @@ -1,277 +0,0 @@ -#!/usr/bin/ksh -# -# zvmstat - print vmstat style info per Zone. -# This uses DTrace (Solaris 10 3/05). -# -# This program must be run from the global zone as root. -# -# $Id: zvmstat 3 2007-08-01 10:50:08Z brendan $ -# -# USAGE: zvmstat [-ht] [interval [count]] -# -# zvmstat # default output -# -t # print times -# eg, -# zvmstat 1 # print every 1 second -# zvmstat 10 5 # print 5 x 10 second samples -# zvmstat -t 5 # print every 5 seconds with time -# -# -# FIELDS: -# re page reclaims -# mf minor faults -# fr pages freed -# sr scan rate -# epi executable pages paged in -# epo executable pages paged out -# epf executable pages freed -# api anonymous pages paged in -# apo anonymous pages paged out -# apf anonymous pages freed -# fpi filesystem pages paged in -# fpo filesystem pages paged out -# fpf filesystem pages freed -# -# NOTES: -# - Zone status should really be provided by Kstat, which currently -# provides system wide values, per CPU and per processor set, but not per -# zone. DTrace can fill this role in the meantime until Kstat supports zones. -# - First output does not contain summary since boot. -# -# SEE ALSO: prstat -Z -# -# COPYRIGHT: Copyright (c) 2005 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# BUGS: -# - First output may not contain all zones due to how loops are achieved. -# Check for newer versions. -# -# Author: Brendan Gregg [Sydney, Australia] -# -# 11-May-2005 Brendan Gregg Created this. -# 26-Jul-2005 " " Improved code. -# 08-Jan-2006 " " Last update. -# - - -############################## -# --- Process Arguments --- -# - -### default variables -opt_time=0; interval=1; counts=1 - -### process options -while getopts ht name -do - case $name in - t) opt_time=1 ;; - h|?) cat <<-END >&2 - USAGE: zvmstat [-ht] [interval [count]] - zvmstat # default output - -t # print times - eg, - zvmstat 1 # print every 1 second - zvmstat 10 5 # print 5 x 10 second samples - zvmstat -t 5 # print every 5 seconds with time - END - exit 1 - esac -done -shift $(( OPTIND - 1 )) - -### option logic -if (( "0$1" > 0 )); then - interval=$1; counts=-1; shift -fi -if (( "0$1" > 0 )); then - counts=$1; shift -fi - - -################################# -# --- Main Program, DTrace --- -# -dtrace -n ' - #pragma D option quiet - #pragma D option destructive - #pragma D option switchrate=10 - - /* - * Command line arguments - */ - inline int OPT_time = '$opt_time'; - inline int INTERVAL = '$interval'; - inline int COUNTER = '$counts'; - - /* - * Initialise variables - */ - dtrace:::BEGIN - { - secs = INTERVAL; - counts = COUNTER; - zonemax = 0; - listing = 1; - re[""] = 0; pi[""] = 0; po[""] = 0; - mf[""] = 0; sr[""] = 0; fr[""] = 0; - epi[""] = 0; epo[""] = 0; epf[""] = 0; - api[""] = 0; apo[""] = 0; apf[""] = 0; - fpi[""] = 0; fpo[""] = 0; fpf[""] = 0; - } - - /* - * Build zonelist array - * - * Here we want the output of a command to be saved into an array - * inside dtrace. This is done by running the command, sending the - * output to /dev/null, and by probing its write syscalls from dtrace. - * - * This is an example of a "scraper". - */ - - /* - * List zones - */ - dtrace:::BEGIN - { - /* run zoneadm */ - system("/usr/sbin/zoneadm list > /dev/null; echo END > /dev/null"); - } - - /* - * Scrape zone listing - */ - syscall::write:entry - /listing && (execname == "zoneadm") && - (curthread->t_procp->p_parent->p_ppid == $pid)/ - { - /* read zoneadm output */ - zonelist[zonemax] = stringof(copyin(arg1, arg2 - 1)); - - /* increment max number of zones */ - zonemax++; - } - - /* - * Finish scraping zones - */ - syscall::write:entry - /listing && (execname == "sh") && (ppid == $pid)/ - { - /* - * this end tag lets us know our zonelist has finished. - * thanks A. Packer. - */ - listing = stringof(copyin(arg1, arg2 - 1)) == "END" ? 0 : 1; - } - - /* - * Record vminfo counters - */ - vminfo:::pgrec { re[zonename] += arg0; } - vminfo:::as_fault { mf[zonename] += arg0; } - vminfo:::scan { sr[zonename] += arg0; } - vminfo:::execpgin { epi[zonename] += arg0; } - vminfo:::execpgout { epo[zonename] += arg0; } - vminfo:::execfree { epf[zonename] += arg0; fr[zonename] += arg0; } - vminfo:::anonpgin { api[zonename] += arg0; } - vminfo:::anonpgout { apo[zonename] += arg0; } - vminfo:::anonfree { apf[zonename] += arg0; fr[zonename] += arg0; } - vminfo:::fspgin { fpi[zonename] += arg0; } - vminfo:::fspgout { fpo[zonename] += arg0; } - vminfo:::fsfree { fpf[zonename] += arg0; fr[zonename] += arg0; } - - /* - * Timer - */ - profile:::tick-1sec - { - secs--; - } - - /* - * Check for exit - */ - profile:::tick-1sec - /counts == 0/ - { - exit(0); - } - - /* - * Print header line - */ - profile:::tick-1sec - /secs == 0/ - { - /* set counters */ - secs = INTERVAL; - counts--; - zonei = 0; - - /* print time */ - OPT_time ? printf("\n%Y,\n",walltimestamp) : 1; - - /* print output line */ - printf("%10s %4s %5s %4s %5s %4s %4s %4s %4s %4s %4s %4s %4s %4s\n", - "ZONE", "re", "mf", "fr", "sr", "epi", "epo", "epf", "api", "apo", - "apf", "fpi", "fpo", "fpf"); - - /* ensure zone writes are triggered */ - printf(" \b"); - } - - /* - * Print zone status line - * - * This is a fairly interesting function in that it loops over the keys in - * an associative array and prints out the values. DTrace cant really do - * loops, and generally doesnt need to. We "cheat" by generating writes - * in the above probe which in turn trigger the probe below which - * contains the contents of each loop. Dont do this at home! We are - * supposed to use aggreagations instead, wherever possible. - * - * This is an example of a "feedback loop". - */ - syscall::write:return - /pid == $pid && zonei < zonemax/ - { - /* fetch zonename */ - self->zone = zonelist[zonei]; - - /* print output */ - printf("%10s %4d %5d %4d %5d %4d %4d %4d %4d %4d %4d %4d %4d %4d\n", - self->zone, re[self->zone], mf[self->zone], fr[self->zone], - sr[self->zone], epi[self->zone], epo[self->zone], - epf[self->zone], api[self->zone], apo[self->zone], - apf[self->zone], fpi[self->zone], fpo[self->zone], - fpf[self->zone]); - - /* clear values */ - re[self->zone] = 0; mf[self->zone] = 0; fr[self->zone] = 0; - sr[self->zone] = 0; epi[self->zone] = 0; epo[self->zone] = 0; - epf[self->zone] = 0; api[self->zone] = 0; apo[self->zone] = 0; - apf[self->zone] = 0; fpi[self->zone] = 0; fpo[self->zone] = 0; - fpf[self->zone] = 0; - self->zone = 0; - - /* go to next zone */ - zonei++; - } -' - diff --git a/cddl/contrib/dtracetoolkit/dexplorer b/cddl/contrib/dtracetoolkit/dexplorer deleted file mode 100755 index 002c80376359..000000000000 --- a/cddl/contrib/dtracetoolkit/dexplorer +++ /dev/null @@ -1,547 +0,0 @@ -#!/usr/bin/ksh -# -# dexplorer - DTrace system explorer, runs a collection of scripts. -# Written using DTrace (Solaris 10 3/05). -# -# This program automatically runs a collection of DTrace scripts to examine -# many areas of the system, and places the output in a meaningful directory -# structure that is tar'd and gzip'd. -# -# $Id: dexplorer 3 2007-08-01 10:50:08Z brendan $ -# -# USAGE: dexplorer [-yDT] [-d outputdir] [-i interval] -# -# -q # quiet mode -# -y # "yes", don't prompt for confirmation -# -D # don't delete output dir -# -T # don't create output tar.gz -# -d outputdir # output directory -# -i interval # interval for each sample -# eg, -# dexplorer # default is 5 second samples -# dexplorer -y -i30 # no prompting, with 30 second samples -# -# SEE ALSO: DTraceToolkit -# -# THANKS: David Visser, et all. for the idea and encouragement. -# -# COPYRIGHT: Copyright (c) 2005 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# CODE: -# -# This is currently a monolithic script, and while it contains only -# a few dozen straigftforward DTrace scripts I think it's desirable to -# keep it that way. The scripts themselves have designed to be very -# generic (eg, switching on all sdt:::), and are aggregations to keep a -# limit on the size of the output. -# -# Author: Brendan Gregg [Sydney, Australia] -# -# 23-Jun-2005 Brendan Gregg Created this. -# 28-Jun-2005 " " Last update. - -# -# Default variables -# -interval=5 # time of each sample -verbose=1 # print screen output -prompt=1 # prompt before run -tar=1 # create tar file -delete=1 # delete output dirs -dtrace=/usr/sbin/dtrace # path to dtrace -root=. # default output dir -PATH=/usr/bin:/usr/sbin # safe path -dir=de_`uname -n`_`date +%Y%m%d%H%M` # OUTPUT FILENAME -samples=20 # max number of tests -current=0 # current sample - -# -# Process options -# -while getopts d:hi:qyDT name -do - case $name in - d) root=$OPTARG ;; - i) interval=$OPTARG ;; - q) verbose=0 ;; - y) prompt=0 ;; - D) delete=0 ;; - T) tar=0 ;; - h|?) cat <<-END >&2 - USAGE: dexplorer [-qyDT] [-d outputdir] [-i interval] - - -q # quiet mode - -y # "yes", don't prompt for confirmation - -D # don't delete output dir - -T # don't create output tar.gz - -d outputdir # output directory - -i interval # interval for each sample - eg, - dexplorer # default is 5 second samples - dexplorer -y -i30 # no prompting, with 30 second samples - END - exit 1 - esac -done -shift $(( OPTIND - 1 )) - -# -# Confirm path -# -if [[ "$prompt" == "1" ]] ; then - if [[ "$root" == "." ]]; then - print "Output dir will be the current dir ($PWD)." - else - print "Output dir will be $root" - fi - print -n "Hit enter for yes, or type path: " - read ans junk - if [[ "$ans" == [yY] || "$ans" == [yY]es ]]; then - print "WARNING: I didn't ask for \"$ans\"!" - print "\tI was asking for the path or just enter." - print "\tignoring \"$ans\"..." - fi - if [[ "$ans" != "" ]]; then - root=$ans - print "Output is now $root." - fi -fi - -# -# Sanity checks -# -if [[ "$interval" == *[a-zA-Z]* ]]; then - print "ERROR2: Invalid interval $interval.\n" - print "Please use a number of seconds." - exit 2 -fi -if (( ${#interval} < 1 )); then - print "ERROR3: Length of interval $interval too short.\n" - print "Minimum 1 second." - exit 3 -fi -if [[ ! -d "$root" ]]; then - print "ERROR4: Output directory \"$root\" does not exist.\n" - print "Perhaps try a mkdir first?" - print "or use an existing dir, eg \"/tmp\"" - exit 4 -fi -if [[ ! -w "$root" ]]; then - print "ERROR5: Can't write to output directory \"$root\".\n" - print "Are you logged in as root?" - print "Perhaps try another directory, eg \"/tmp\"" - exit 5 -fi -if [[ `$dtrace -b1k -qn 'BEGIN { trace(pid); exit(0); }'` == "" ]]; then - print "ERROR6: Unable to run dtrace!\n" - print "Perhaps this is a permission problem? Try running as root." - exit 6 -fi - -# calculate total time -(( total = interval * samples )) -if (( total > 180 )); then - (( total = total / 60 )) - total="$total minutes" -else - total="$total seconds" -fi - -# -# Common Functions -# -function decho { - if (( verbose )); then print "$*"; fi -} -clean="sed /^\$/d" -header='dtrace:::BEGIN { - printf("%Y, ", walltimestamp); - printf("%s %s %s %s %s, ", `utsname.sysname, `utsname.nodename, - `utsname.release, `utsname.version, `utsname.machine); - printf("%d secs\n",'$interval'); - } - profile:::tick-'$interval'sec { exit(0); } - ' -function dstatus { - if (( verbose )); then - (( percent = current * 100 / samples )) - printf "%3d%% $*\n" $percent - (( current = current + 1 )) - fi -} - -######################################## -# START # -######################################## - -# -# Make dirs -# -err=0 -cd $root -(( err = err + $? )) -mkdir $dir -(( err = err + $? )) -cd $dir -(( err = err + $? )) -base1=${PWD##*/} -base2=${dir##*/} -if [[ "$base1" != "$base2" || "$err" != "0" ]]; then - print "ERROR7: tried to mkdir $dir from $root, but something failed.\n" - print "Check directories before rerunning." - exit 7 -fi -mkdir Cpu -mkdir Disk -mkdir Mem -mkdir Net -mkdir Proc -mkdir Info - -# -# Create Log -# -decho "Starting dexplorer ver 0.76." -decho "Sample interval is $interval seconds. Total run is > $total." -( print "dexplorer ver 0.76\n------------------" -print -n "System: " -uname -a -print -n "Start: " -date ) > log - -# -# Capture Standard Info -# -args='pid,ppid,uid,gid,projid,zoneid,pset,pri,nice,' -args=$args'class,vsz,rss,time,pcpu,pmem,args' -uname -a > Info/uname-a # System -psrinfo -v > Info/psrinfo-v # CPU -prtconf > Info/prtconf # Memory (+ devices) -df -k > Info/df-k # Disk -ifconfig -a > Info/ifconfig-a # Network -ps -eo $args > Info/ps-o # Processes -uptime > Info/uptime # Load - -# -# Cpu Tests, DTrace -# - -dstatus "Interrupts by CPU..." -$dtrace -qn "$header"' - sdt:::interrupt-start { @num[cpu] = count(); } - dtrace:::END - { - printf("%-16s %16s\n", "CPU", "INTERRUPTS"); - printa("%-16d %@16d\n", @num); - } -' | $clean > Cpu/interrupt_by_cpu - -dstatus "Interrupt times..." -$dtrace -qn "$header"' - sdt:::interrupt-start { self->ts = vtimestamp; } - sdt:::interrupt-complete - /self->ts && arg0 != 0/ - { - this->devi = (struct dev_info *)arg0; - self->name = this->devi != 0 ? - stringof(`devnamesp[this->devi->devi_major].dn_name) : "?"; - this->inst = this->devi != 0 ? this->devi->devi_instance : 0; - @num[self->name, this->inst] = sum(vtimestamp - self->ts); - self->name = 0; - } - sdt:::interrupt-complete { self->ts = 0; } - dtrace:::END - { - printf("%11s %16s\n", "DEVICE", "TIME (ns)"); - printa("%10s%-3d %@16d\n", @num); - } -' | $clean > Cpu/interrupt_time - -dstatus "Dispatcher queue length by CPU..." -$dtrace -qn "$header"' - profile:::profile-1000 - { - this->num = curthread->t_cpu->cpu_disp->disp_nrunnable; - @length[cpu] = lquantize(this->num, 0, 100, 1); - } - dtrace:::END { printa(" CPU %d%@d\n", @length); } -' | $clean > Cpu/dispqlen_by_cpu - -dstatus "Sdt counts..." -$dtrace -qn "$header"' - sdt:::{ @num[probefunc, probename] = count(); } - dtrace:::END - { - printf("%-32s %-32s %10s\n", "FUNC", "NAME", "COUNT"); - printa("%-32s %-32s %@10d\n", @num); - } -' | $clean > Cpu/sdt_count - -# -# Disk Tests, DTrace -# - -dstatus "Pages paged in by process..." -$dtrace -qn "$header"' - vminfo:::pgpgin { @pg[pid, execname] = sum(arg0); } - dtrace:::END - { - printf("%6s %-16s %16s\n", "PID", "CMD", "PAGES"); - printa("%6d %-16s %@16d\n", @pg); - } -' | $clean > Disk/pgpgin_by_process - -dstatus "Files opened successfully count..." -$dtrace -qn "$header"' - syscall::open*:entry { self->file = copyinstr(arg0); self->ok = 1; } - syscall::open*:return /self->ok && arg0 != -1/ - { - @num[self->file] = count(); - } - syscall::open*:return /self->ok/ { self->file = 0; self->ok = 0; } - dtrace:::END - { - printf("%-64s %8s\n", "FILE", "COUNT"); - printa("%-64s %@8d\n", @num); - } -' | $clean > Disk/fileopen_count - -dstatus "Disk I/O size distribution by process..." -$dtrace -qn "$header"' - io:::start { @size[pid, execname] = quantize(args[0]->b_bcount); } -' | $clean > Disk/sizedist_by_process - -# -# Mem Tests, DTrace -# - -dstatus "Minor faults by process..." -$dtrace -qn "$header"' - vminfo:::as_fault { @mem[pid, execname] = sum(arg0); } - dtrace:::END - { - printf("%6s %-16s %16s\n", "PID", "CMD", "MINFAULTS"); - printa("%6d %-16s %@16d\n", @mem); - } -' | $clean > Mem/minf_by_process - - -dstatus "Vminfo data by process..." -$dtrace -qn "$header"' - vminfo::: { @data[pid, execname, probename] = sum(arg0); } - dtrace:::END - { - printf("%6s %-16s %-16s %16s\n", - "PID", "CMD", "STATISTIC", "VALUE"); - printa("%6d %-16s %-16s %@16d\n", @data); - } -' | $clean > Mem/vminfo_by_process - -# -# Net Tests, DTrace -# - -dstatus "Mib data by mib statistic..." -$dtrace -qn "$header"' - mib::: { @data[probename] = sum(arg0); } - dtrace:::END - { - printf("%-32s %16s\n", "STATISTIC", "VALUE"); - printa("%-32s %@16d\n", @data); - } -' | $clean > Net/mib_data - -dstatus "TCP write bytes by process..." -$dtrace -qn "$header"' - fbt:ip:tcp_output:entry - { - this->size = msgdsize(args[1]); - @size[pid, execname] = sum(this->size); - } - dtrace:::END - { - printf("%6s %-16s %12s\n", "PID", "CMD", "BYTES"); - printa("%6d %-16s %@12d\n", @size); - } -' | $clean > Net/tcpw_by_process - -# -# Proc Tests, DTrace -# - -dstatus "Sample process @ 1000 Hz..." -$dtrace -qn "$header"' - profile:::profile-1000 - { - @num[pid, curpsinfo->pr_psargs] = count(); - } - dtrace:::END - { - printf("%6s %12s %s\n", "PID", "SAMPLES", "ARGS"); - printa("%6d %@12d %S\n", @num); - } -' | $clean > Proc/sample_process - -dstatus "Syscall count by process..." -$dtrace -qn "$header"' - syscall:::entry { @num[pid, execname, probefunc] = count(); } - dtrace:::END - { - printf("%6s %-24s %-24s %8s\n", - "PID", "CMD", "SYSCALL", "COUNT"); - printa("%6d %-24s %-24s %@8d\n", @num); - } -' | $clean > Proc/syscall_by_process - -dstatus "Syscall count by syscall..." -$dtrace -qn "$header"' - syscall:::entry { @num[probefunc] = count(); } - dtrace:::END - { - printf("%-32s %16s\n", "SYSCALL", "COUNT"); - printa("%-32s %@16d\n", @num); - } -' | $clean > Proc/syscall_count - -dstatus "Read bytes by process..." -$dtrace -qn "$header"' - sysinfo:::readch { @bytes[pid, execname] = sum(arg0); } - dtrace:::END - { - printf("%6s %-16s %16s\n", "PID", "CMD", "BYTES"); - printa("%6d %-16s %@16d\n", @bytes); - } -' | $clean > Proc/readb_by_process - -dstatus "Write bytes by process..." -$dtrace -qn "$header"' - sysinfo:::writech { @bytes[pid, execname] = sum(arg0); } - dtrace:::END - { - printf("%6s %-16s %16s\n", "PID", "CMD", "BYTES"); - printa("%6d %-16s %@16d\n", @bytes); - } -' | $clean > Proc/writeb_by_process - -dstatus "Sysinfo counts by process..." -$dtrace -qn "$header"' - sysinfo::: { @num[pid, execname, probename] = sum(arg0); } - dtrace:::END - { - printf("%6s %-16s %-16s %16s\n", - "PID", "CMD", "STATISTIC", "COUNT"); - printa("%6d %-16s %-16s %@16d\n", @num); - } -' | $clean > Proc/sysinfo_by_process - -dstatus "New process counts with arguments..." -$dtrace -qn "$header"' - proc:::exec-success - { - @num[pid, ppid, curpsinfo->pr_psargs] = count(); - } - dtrace:::END - { - printf("%6s %6s %8s %s\n", "PID", "PPID", "COUNT", "ARGS"); - printa("%6d %6d %@8d %S\n", @num); - } -' | $clean > Proc/newprocess_count - -dstatus "Signal counts..." -$dtrace -qn "$header"' - proc:::signal-send { - @num[execname,args[2],stringof(args[1]->pr_fname)] = count(); - } - dtrace:::END - { - printf("%-16s %-8s %-16s %8s\n", - "FROM", "SIG", "TO", "COUNT"); - printa("%-16s %-8d %-16s %@8d\n", @num); - } -' | $clean > Proc/signal_count - -dstatus "Syscall error counts..." -$dtrace -qn "$header"' - syscall:::return /(int)arg0 == -1/ - { - @num[pid, execname, probefunc, errno] = count(); - } - dtrace:::END - { - printf("%6s %-16s %-32s %-6s %8s\n", - "PID", "CMD", "SYSCALL", "ERRNO", "COUNT"); - printa("%6d %-16s %-32s %-6d %@8d\n", @num); - } -' | $clean > Proc/syscall_errors - - -########### -# Done -# -( print -n "End: " -date ) >> log -decho "100% Done." -if (( tar )); then - cd .. - tar cf $dir.tar $dir - gzip $dir.tar - decho "File is $dir.tar.gz" -fi -if (( delete && tar )); then - cd $dir - # this could be all an "rm -r $dir", but since it will be run - # as root on production servers - lets be analy cautious, - rm Cpu/interrupt_by_cpu - rm Cpu/interrupt_time - rm Cpu/dispqlen_by_cpu - rm Cpu/sdt_count - rm Disk/pgpgin_by_process - rm Disk/fileopen_count - rm Disk/sizedist_by_process - rm Mem/minf_by_process - rm Mem/vminfo_by_process - rm Net/mib_data - rm Net/tcpw_by_process - rm Proc/sample_process - rm Proc/syscall_by_process - rm Proc/syscall_count - rm Proc/readb_by_process - rm Proc/writeb_by_process - rm Proc/sysinfo_by_process - rm Proc/newprocess_count - rm Proc/signal_count - rm Proc/syscall_errors - rmdir Cpu - rmdir Disk - rmdir Mem - rmdir Net - rmdir Proc - rm Info/uname-a - rm Info/psrinfo-v - rm Info/prtconf - rm Info/df-k - rm Info/ifconfig-a - rm Info/ps-o - rm Info/uptime - rmdir Info - rm log - cd .. - rmdir $dir -else - decho "Directory is $dir" -fi - diff --git a/cddl/contrib/dtracetoolkit/dtruss b/cddl/contrib/dtracetoolkit/dtruss deleted file mode 100755 index 93b12d3b80c9..000000000000 --- a/cddl/contrib/dtracetoolkit/dtruss +++ /dev/null @@ -1,464 +0,0 @@ -#!/bin/sh -# -# dtruss - print process system call time details. -# Written using DTrace (Solaris 10 3/05). -# -# $Id: dtruss 9 2007-08-07 10:21:07Z brendan $ -# -# USAGE: dtruss [-acdeflhoLs] [-t syscall] { -p PID | -n name | command } -# -# -p PID # examine this PID -# -n name # examine this process name -# -t syscall # examine this syscall only -# -a # print all details -# -c # print system call counts -# -d # print relative timestamps (us) -# -e # print elapsed times (us) -# -f # follow children as they are forked -# -l # force printing of pid/lwpid per line -# -o # print on cpu times (us) -# -s # print stack backtraces -# -L # don't print pid/lwpid per line -# -b bufsize # dynamic variable buf size (default is "4m") -# eg, -# dtruss df -h # run and examine the "df -h" command -# dtruss -p 1871 # examine PID 1871 -# dtruss -n tar # examine all processes called "tar" -# dtruss -f test.sh # run test.sh and follow children -# -# See the man page dtruss(1M) for further details. -# -# SEE ALSO: procsystime # DTraceToolkit -# dapptrace # DTraceToolkit -# truss -# -# COPYRIGHT: Copyright (c) 2005, 2006, 2007 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# TODO: Track signals, more output formatting. -# -# 29-Apr-2005 Brendan Gregg Created this. -# 09-May-2005 " " Fixed evaltime (thanks Adam L.) -# 16-May-2005 " " Added -t syscall tracing. -# 17-Jun-2005 " " Added -s stack backtraces. -# 17-Jun-2005 " " Last update. -# 29-Jun-2007 " " Used progenyof() (thanks Aaron Gutman). -# 06-Aug-2007 " " Various updates. -# - - -############################## -# --- Process Arguments --- -# - -### Default variables -opt_pid=0; opt_name=0; pid=0; pname="."; opt_elapsed=0; opt_cpu=0 -opt_counts=0; opt_relative=0; opt_printid=0; opt_follow=0; opt_command=0 -command=""; opt_buf=0; buf="4m"; opt_trace=0; trace="."; opt_stack=0 - -### Process options -while getopts ab:cdefhln:op:st:L name -do - case $name in - b) opt_buf=1; buf=$OPTARG ;; - p) opt_pid=1; pid=$OPTARG ;; - n) opt_name=1; pname=$OPTARG ;; - t) opt_trace=1; trace=$OPTARG ;; - a) opt_counts=1; opt_relative=1; opt_elapsed=1; opt_follow=1 - opt_printid=1; opt_cpu=1 ;; - c) opt_counts=1 ;; - d) opt_relative=1 ;; - e) opt_elapsed=1 ;; - f) opt_follow=1 ;; - l) opt_printid=1 ;; - o) opt_cpu=1 ;; - L) opt_printid=-1 ;; - s) opt_stack=-1 ;; - h|?) cat <<-END >&2 - USAGE: dtruss [-acdefholLs] [-t syscall] { -p PID | -n name | command } - - -p PID # examine this PID - -n name # examine this process name - -t syscall # examine this syscall only - -a # print all details - -c # print syscall counts - -d # print relative times (us) - -e # print elapsed times (us) - -f # follow children (-p or cmd only) - -l # force printing pid/lwpid - -o # print on cpu times - -s # print stack backtraces - -L # don't print pid/lwpid - -b bufsize # dynamic variable buf size - eg, - dtruss df -h # run and examine "df -h" - dtruss -p 1871 # examine PID 1871 - dtruss -n tar # examine all processes called "tar" - dtruss -f test.sh # run test.sh and follow children - END - exit 1 - esac -done -shift `expr $OPTIND - 1` - -### Option logic -if [ $opt_pid -eq 0 -a $opt_name -eq 0 ]; then - opt_command=1 - if [ "$*" = "" ]; then - $0 -h - exit - fi - command="$*" # yes, I meant $*! -fi -if [ $opt_follow -eq 1 -o $opt_name -eq 1 ]; then - if [ $opt_printid -ne -1 ]; then - opt_printid=1 - else - opt_printid=0 - fi -fi -if [ $opt_follow -eq 1 -a $opt_name -eq 1 ]; then - echo "ERROR: -f option cannot be used with -n (use -p or cmd instead)." - exit 1 -fi - -### Option translation -if [ "$trace" = "exec" ]; then trace="exece"; fi -if [ "$trace" = "time" ]; then trace="gtime"; fi -if [ "$trace" = "exit" ]; then trace="rexit"; fi - - -################################# -# --- Main Program, DTrace --- -# - -### Define D Script -dtrace=' -#pragma D option quiet -#pragma D option switchrate=10 - -/* - * Command line arguments - */ -inline int OPT_command = '$opt_command'; -inline int OPT_follow = '$opt_follow'; -inline int OPT_printid = '$opt_printid'; -inline int OPT_relative = '$opt_relative'; -inline int OPT_elapsed = '$opt_elapsed'; -inline int OPT_cpu = '$opt_cpu'; -inline int OPT_counts = '$opt_counts'; -inline int OPT_pid = '$opt_pid'; -inline int OPT_name = '$opt_name'; -inline int OPT_trace = '$opt_trace'; -inline int OPT_stack = '$opt_stack'; -inline string NAME = "'$pname'"; -inline string TRACE = "'$trace'"; - -dtrace:::BEGIN -{ - /* print header */ - OPT_printid ? printf("%-9s ", "PID/LWP") : 1; - OPT_relative ? printf("%8s ", "RELATIVE") : 1; - OPT_elapsed ? printf("%7s ", "ELAPSD") : 1; - OPT_cpu ? printf("%6s ", "CPU") : 1; - printf("SYSCALL(args) \t\t = return\n"); -} - -/* - * Save syscall entry info - */ -syscall:::entry -/((OPT_command || OPT_pid) && pid == $target) || - (OPT_name && execname == NAME) || - (OPT_follow && progenyof($target))/ -{ - /* set start details */ - self->start = timestamp; - self->vstart = vtimestamp; - self->arg0 = arg0; - self->arg1 = arg1; - self->arg2 = arg2; - - /* count occurances */ - OPT_counts == 1 ? @Counts[probefunc] = count() : 1; -} - -/* - * Follow children - */ -syscall::fork*:return -/(OPT_follow && progenyof($target)) && (!OPT_trace || (TRACE == probefunc))/ -{ - /* print output */ - self->code = errno == 0 ? "" : "Err#"; - OPT_printid ? printf("%6d/%d: ", pid, tid) : 1; - OPT_relative ? printf("%8d: ", vtimestamp/1000) : 1; - OPT_elapsed ? printf("%7d: ", 0) : 1; - OPT_cpu ? printf("%6d ", 0) : 1; - printf("%s(0x%X, 0x%X, 0x%X)\t\t = %d %s%d\n", probefunc, - self->arg0, self->arg1, self->arg2, (int)arg0, self->code, - (int)errno); -} - -/* - * Check for syscall tracing - */ -syscall:::entry -/OPT_trace && probefunc != TRACE/ -{ - /* drop info */ - self->start = 0; - self->vstart = 0; - self->arg0 = 0; - self->arg1 = 0; - self->arg2 = 0; -} - -/* - * Print return data - */ - -/* - * The following code is written in an intentionally repetative way. - * The first versions had no code redundancies, but performed badly during - * benchmarking. The priority here is speed, not cleverness. I know there - * are many obvious shortcuts to this code, I have tried them. This style has - * shown in benchmarks to be the fastest (fewest probes fired, fewest actions). - */ - -/* print 3 args, return as hex */ -syscall::sigprocmask:return -/self->start/ -{ - /* calculate elapsed time */ - this->elapsed = timestamp - self->start; - self->start = 0; - this->cpu = vtimestamp - self->vstart; - self->vstart = 0; - self->code = errno == 0 ? "" : "Err#"; - - /* print optional fields */ - OPT_printid ? printf("%6d/%d: ", pid, tid) : 1; - OPT_relative ? printf("%8d ", vtimestamp/1000) : 1; - OPT_elapsed ? printf("%7d ", this->elapsed/1000) : 1; - OPT_cpu ? printf("%6d ", this->cpu/1000) : 1; - - /* print main data */ - printf("%s(0x%X, 0x%X, 0x%X)\t\t = 0x%X %s%d\n", probefunc, - (int)self->arg0, self->arg1, self->arg2, (int)arg0, - self->code, (int)errno); - OPT_stack ? ustack() : 1; - OPT_stack ? trace("\n") : 1; - self->arg0 = 0; - self->arg1 = 0; - self->arg2 = 0; -} - -/* print 3 args, arg0 as a string */ -syscall::access*:return, -syscall::stat*:return, -syscall::lstat*:return, -syscall::readlink*:return, -syscall::open*:return -/self->start/ -{ - /* calculate elapsed time */ - this->elapsed = timestamp - self->start; - self->start = 0; - this->cpu = vtimestamp - self->vstart; - self->vstart = 0; - self->code = errno == 0 ? "" : "Err#"; - - /* print optional fields */ - OPT_printid ? printf("%6d/%d: ", pid, tid) : 1; - OPT_relative ? printf("%8d ", vtimestamp/1000) : 1; - OPT_elapsed ? printf("%7d ", this->elapsed/1000) : 1; - OPT_cpu ? printf("%6d ", this->cpu/1000) : 1; - - /* print main data */ - printf("%s(\"%S\", 0x%X, 0x%X)\t\t = %d %s%d\n", probefunc, - copyinstr(self->arg0), self->arg1, self->arg2, (int)arg0, - self->code, (int)errno); - OPT_stack ? ustack() : 1; - OPT_stack ? trace("\n") : 1; - self->arg0 = 0; - self->arg1 = 0; - self->arg2 = 0; -} - -/* print 3 args, arg1 as a string */ -syscall::write:return, -syscall::pwrite:return, -syscall::*read*:return -/self->start/ -{ - /* calculate elapsed time */ - this->elapsed = timestamp - self->start; - self->start = 0; - this->cpu = vtimestamp - self->vstart; - self->vstart = 0; - self->code = errno == 0 ? "" : "Err#"; - - /* print optional fields */ - OPT_printid ? printf("%6d/%d: ", pid, tid) : 1; - OPT_relative ? printf("%8d ", vtimestamp/1000) : 1; - OPT_elapsed ? printf("%7d ", this->elapsed/1000) : 1; - OPT_cpu ? printf("%6d ", this->cpu/1000) : 1; - - /* print main data */ - printf("%s(0x%X, \"%S\", 0x%X)\t\t = %d %s%d\n", probefunc, self->arg0, - stringof(copyin(self->arg1, self->arg2)), self->arg2, (int)arg0, - self->code, (int)errno); - OPT_stack ? ustack() : 1; - OPT_stack ? trace("\n") : 1; - self->arg0 = 0; - self->arg1 = 0; - self->arg2 = 0; -} - -/* print 0 arg output */ -syscall::*fork*:return -/self->start/ -{ - /* calculate elapsed time */ - this->elapsed = timestamp - self->start; - self->start = 0; - this->cpu = vtimestamp - self->vstart; - self->vstart = 0; - self->code = errno == 0 ? "" : "Err#"; - - /* print optional fields */ - OPT_printid ? printf("%6d/%d: ", pid, tid) : 1; - OPT_relative ? printf("%8d ", vtimestamp/1000) : 1; - OPT_elapsed ? printf("%7d ", this->elapsed/1000) : 1; - OPT_cpu ? printf("%6d ", this->cpu/1000) : 1; - - /* print main data */ - printf("%s()\t\t = %d %s%d\n", probefunc, - (int)arg0, self->code, (int)errno); - OPT_stack ? ustack() : 1; - OPT_stack ? trace("\n") : 1; - self->arg0 = 0; - self->arg1 = 0; - self->arg2 = 0; -} - -/* print 1 arg output */ -syscall::close:return -/self->start/ -{ - /* calculate elapsed time */ - this->elapsed = timestamp - self->start; - self->start = 0; - this->cpu = vtimestamp - self->vstart; - self->vstart = 0; - self->code = errno == 0 ? "" : "Err#"; - - /* print optional fields */ - OPT_printid ? printf("%6d/%d: ", pid, tid) : 1; - OPT_relative ? printf("%8d ", vtimestamp/1000) : 1; - OPT_elapsed ? printf("%7d ", this->elapsed/1000) : 1; - OPT_cpu ? printf("%6d ", this->cpu/1000) : 1; - - /* print main data */ - printf("%s(0x%X)\t\t = %d %s%d\n", probefunc, self->arg0, - (int)arg0, self->code, (int)errno); - OPT_stack ? ustack() : 1; - OPT_stack ? trace("\n") : 1; - self->arg0 = 0; - self->arg1 = 0; - self->arg2 = 0; -} - -/* print 2 arg output */ -syscall::utimes:return, -syscall::munmap:return -/self->start/ -{ - /* calculate elapsed time */ - this->elapsed = timestamp - self->start; - self->start = 0; - this->cpu = vtimestamp - self->vstart; - self->vstart = 0; - self->code = errno == 0 ? "" : "Err#"; - - /* print optional fields */ - OPT_printid ? printf("%6d/%d: ", pid, tid) : 1; - OPT_relative ? printf("%8d ", vtimestamp/1000) : 1; - OPT_elapsed ? printf("%7d ", this->elapsed/1000) : 1; - OPT_cpu ? printf("%6d ", this->cpu/1000) : 1; - - /* print main data */ - printf("%s(0x%X, 0x%X)\t\t = %d %s%d\n", probefunc, self->arg0, - self->arg1, (int)arg0, self->code, (int)errno); - OPT_stack ? ustack() : 1; - OPT_stack ? trace("\n") : 1; - self->arg0 = 0; - self->arg1 = 0; - self->arg2 = 0; -} - -/* print 3 arg output - default */ -syscall:::return -/self->start/ -{ - /* calculate elapsed time */ - this->elapsed = timestamp - self->start; - self->start = 0; - this->cpu = vtimestamp - self->vstart; - self->vstart = 0; - self->code = errno == 0 ? "" : "Err#"; - - /* print optional fields */ - OPT_printid ? printf("%6d/%d: ", pid, tid) : 1; - OPT_relative ? printf("%8d ", vtimestamp/1000) : 1; - OPT_elapsed ? printf("%7d ", this->elapsed/1000) : 1; - OPT_cpu ? printf("%6d ", this->cpu/1000) : 1; - - /* print main data */ - printf("%s(0x%X, 0x%X, 0x%X)\t\t = %d %s%d\n", probefunc, self->arg0, - self->arg1, self->arg2, (int)arg0, self->code, (int)errno); - OPT_stack ? ustack() : 1; - OPT_stack ? trace("\n") : 1; - self->arg0 = 0; - self->arg1 = 0; - self->arg2 = 0; -} - -/* program exited */ -proc:::exit -/(OPT_command || OPT_pid) && pid == $target/ -{ - exit(0); -} - -/* print counts */ -dtrace:::END -{ - OPT_counts == 1 ? printf("\n%-32s %16s\n", "CALL", "COUNT") : 1; - OPT_counts == 1 ? printa("%-32s %@16d\n", @Counts) : 1; -} -' - -### Run DTrace -if [ $opt_command -eq 1 ]; then - /usr/sbin/dtrace -x dynvarsize=$buf -x evaltime=exec -n "$dtrace" \ - -c "$command" >&2 -elif [ $opt_pid -eq 1 ]; then - /usr/sbin/dtrace -x dynvarsize=$buf -n "$dtrace" -p "$pid" >&2 -else - /usr/sbin/dtrace -x dynvarsize=$buf -n "$dtrace" >&2 -fi diff --git a/cddl/contrib/dtracetoolkit/dvmstat b/cddl/contrib/dtracetoolkit/dvmstat deleted file mode 100755 index 41f40e39e785..000000000000 --- a/cddl/contrib/dtracetoolkit/dvmstat +++ /dev/null @@ -1,250 +0,0 @@ -#!/usr/bin/sh -# -# dvmstat - vmstat by PID/name/command. -# Written using DTrace (Solaris 10 3/05). -# -# This program provides vmstat like data for one particular PID, a -# process name, or when running a command. It prints statistics -# every second. -# -# $Id: dvmstat 3 2007-08-01 10:50:08Z brendan $ -# -# USAGE: dvmstat { -p PID | -n name | command } -# eg, -# dvmstat -p 1871 # examine PID 1871 -# dvmstat -n tar # examine processes called "tar" -# dvmstat df -h # run and examine "df -h" -# -# FIELDS: -# re page reclaims Kbytes -# maj major faults Kbytes -# mf minor faults Kbytes -# fr page frees Kbytes -# epi executable page ins Kbytes -# epo executable page out Kbytes -# api anonymous page ins Kbytes -# apo anonymous page outs Kbytes -# fpi filesystem page ins Kbytes -# fpo filesystem page outs Kbytes -# sy system calls number -# -# SEE ALSO: vmstat(1M) -# -# NOTES: -# -# When using dvmstat to run a command - if the command takes some time -# to execute, dvmstat will print output every second. If the command runs -# in less than a second, then the only one line of output will be printed. -# -# COPYRIGHT: Copyright (c) 2005 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# Author: Brendan Gregg [Sydney, Australia] -# -# 12-Jun-2005 Brendan Gregg Created this. -# 08-Jan-2006 " " Last update. -# - -############################## -# --- Process Arguments --- -# - -### Default variables -opt_pid=0; opt_name=0; pid=0; pname="."; opt_command=0; command="" - -### Process options -while getopts hn:p: name -do - case $name in - p) opt_pid=1; pid=$OPTARG ;; - n) opt_name=1; pname=$OPTARG ;; - h|?) cat <<-END >&2 - USAGE: dvmstat [-h] { -p PID | -n name | command } - -p PID # examine this PID - -n name # examine this process name - eg, - dvmstat -p 1871 # examine PID 1871 - dvmstat -n tar # examine processes called "tar" - dvmstat df -h # run and examine "df -h" - END - exit 1 - esac -done -shift `expr $OPTIND - 1` - - -### Option logic -if [ $opt_pid -eq 0 -a $opt_name -eq 0 ]; then - opt_command=1 - if [ "$*" = "" ]; then - $0 -h - exit - fi - command="$*" -fi - - -################################# -# --- Main Program, DTrace --- -# -dtrace=' - #pragma D option quiet - - /* - * Command line arguments - */ - inline int OPT_pid = '$opt_pid'; - inline int OPT_name = '$opt_name'; - inline int OPT_command = '$opt_command'; - inline int PID = '$pid'; - inline string NAME = "'$pname'"; - inline string COMMAND = "'$command'"; - inline int SCREEN = 21; - - /* - * Initialise variables - */ - dtrace:::BEGIN - { - epi = 0; epo = 0; api = 0; apo = 0; fpi = 0; fpo = 0; - re = 0; mf = 0; maj = 0; fr = 0; sy = 0; - lines = SCREEN + 1; - header = 0; - } - - /* - * Print header - */ - dtrace:::BEGIN, - dtrace:::END, - profile:::tick-1sec - /(OPT_command && probename == "END") || - (!(OPT_command && probename == "BEGIN") && lines++ > SCREEN)/ - { - printf("%6s %5s %5s %4s %4s %4s %4s %4s %4s %4s %6s\n", - "re", "maj", "mf", "fr", "epi", "epo", "api", "apo", - "fpi", "fpo", "sy"); - lines = 0; - } - - /* - * Probe events - * - * this intentionally does not use an associative array for storing data, - * for reasons of performance. - */ - - vminfo:::execpgin - /(OPT_pid && pid == PID) || - (OPT_name && execname == NAME) || - (OPT_command && pid == $target)/ - { epi += arg0; } - - vminfo:::execpgout - /(OPT_pid && pid == PID) || - (OPT_name && execname == NAME) || - (OPT_command && pid == $target)/ - { epo += arg0; } - - vminfo:::anonpgin - /(OPT_pid && pid == PID) || - (OPT_name && execname == NAME) || - (OPT_command && pid == $target)/ - { api += arg0; } - - vminfo:::anonpgout - /(OPT_pid && pid == PID) || - (OPT_name && execname == NAME) || - (OPT_command && pid == $target)/ - { apo += arg0; } - - vminfo:::fspgin - /(OPT_pid && pid == PID) || - (OPT_name && execname == NAME) || - (OPT_command && pid == $target)/ - { fpi += arg0; } - - vminfo:::fspgout - /(OPT_pid && pid == PID) || - (OPT_name && execname == NAME) || - (OPT_command && pid == $target)/ - { fpo += arg0; } - - vminfo:::pgrec - /(OPT_pid && pid == PID) || - (OPT_name && execname == NAME) || - (OPT_command && pid == $target)/ - { re += arg0; } - - vminfo:::as_fault - /(OPT_pid && pid == PID) || - (OPT_name && execname == NAME) || - (OPT_command && pid == $target)/ - { mf += arg0; } - - vminfo:::maj_fault - /(OPT_pid && pid == PID) || - (OPT_name && execname == NAME) || - (OPT_command && pid == $target)/ - { maj += arg0; } - - vminfo:::dfree - /(OPT_pid && pid == PID) || - (OPT_name && execname == NAME) || - (OPT_command && pid == $target)/ - { fr += arg0; } - - syscall:::entry - /(OPT_pid && pid == PID) || - (OPT_name && execname == NAME) || - (OPT_command && pid == $target)/ - { sy++; } - - /* - * Print output line - */ - profile:::tick-1sec, - dtrace:::END - { - /* convert to Kbytes */ - re *= `_pagesize / 1024; - maj *= `_pagesize / 1024; - mf *= `_pagesize / 1024; - fr *= `_pagesize / 1024; - epi *= `_pagesize / 1024; - epo *= `_pagesize / 1024; - api *= `_pagesize / 1024; - apo *= `_pagesize / 1024; - fpi *= `_pagesize / 1024; - fpo *= `_pagesize / 1024; - - /* print line */ - printf("%6d %5d %5d %4d %4d %4d %4d %4d %4d %4d %6d\n", - re, maj, mf, fr, epi, epo, api, apo, fpi, fpo, sy); - - /* clear counters */ - epi = 0; epo = 0; api = 0; apo = 0; fpi = 0; fpo = 0; - re = 0; mf = 0; maj = 0; fr = 0; sy = 0; - } -' - -### Run DTrace -if [ $opt_command -eq 1 ]; then - /usr/sbin/dtrace -n "$dtrace" -x evaltime=exec -c "$command" >&2 -else - /usr/sbin/dtrace -n "$dtrace" >&2 -fi - diff --git a/cddl/contrib/dtracetoolkit/errinfo b/cddl/contrib/dtracetoolkit/errinfo deleted file mode 100755 index 79160b18e57b..000000000000 --- a/cddl/contrib/dtracetoolkit/errinfo +++ /dev/null @@ -1,180 +0,0 @@ -#!/usr/bin/perl -# -# errinfo - report on syscall failures and print errno error messages. -# Written using Perl and DTrace (Solaris 10 03/05) -# -# When system calls fail, an errno variable is set to convay a meaningful -# message to the end user - so long as the program does something with it -# (eg, "ls" printing "No such file or directory"). This program fetches -# and prints details for all syscall failures along with their message, -# whether the failing program is already printing this info or not. -# -# $Id: errinfo 3 2007-08-01 10:50:08Z brendan $ -# -# USAGE: errinfo [-ch] [-p PID] [-n name] -# -# -c # counts - aggregate style -# -p PID # examine this PID only -# -n name # examine processes with this name only -# eg, -# errinfo # default output - snoop event style -# errinfo -n ssh # examine "ssh" processes only -# errinfo -cn ssh # examine "ssh" using counts -# -# FIELDS: -# EXEC Program name (truncated) -# SYSCALL System call name -# ERR Value of errno -# DESC Description of errno message -# -# SEE ALSO: /usr/include/sys/errno.h -# -# COPYRIGHT: Copyright (c) 2005, 2006 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# Author: Brendan Gregg [Sydney, Australia] -# -# 18-Apr-2005 Brendan Gregg Created this. -# 20-Apr-2006 " " Last update. -# - -use Getopt::Std; - -# -# Defaults -# -$FILTER = ""; -$COUNT = 0; - -# -# Command line arguments -# -&Usage() if $ARGV[0] eq "--help"; -getopts('ch:n:p:') || &Usage(); -&Usage() if $opt_h; -$COUNT = 1 if $opt_c; -$FILTER = "&& execname == \"$opt_n\"" if defined $opt_n; -$FILTER = "&& pid == $opt_p" if defined $opt_p; - -# -# Load errno descriptions -# -open(ERRNO,"/usr/include/sys/errno.h") || die "ERROR1: reading errno.h: $!\n"; -while (chomp($line = )) { - next unless $line =~ /^#define/; - ($errno,$desc) = $line =~ /^#define\s+\S+\s+(\d+)\s+\/\*(.*)\*\//; - $Errno{$errno} = $desc; -} -close ERRNO; - -# -# Declare DTrace script -# - if ($COUNT) { # aggregate style -$dtrace = <)) { - - ### Print count header - if ($COUNT && $header) { - printf("\n%16s %16s %4s %6s %s\n", - "EXEC","SYSCALL","ERR","COUNT","DESC"); - $header = 0; - } - - ### Split data - ($execname,$syscall,$errno,$counts) = split(' ',$line); - next if $errno eq ""; - - ### Fetch errno description - $desc = $Errno{$errno}; - - ### Print output line - if ($COUNT) { - printf("%16s %16s %4d %6d %s\n", - $execname,$syscall,$errno,$counts,$desc); - } else { - printf("%16s %16s %4d %s\n",$execname,$syscall,$errno,$desc); - } -} -close(DTRACE); - -# -# Triggered by signals -# -sub Cleanup_Signal { -} - -# -# Usage message -# -sub Usage { - print STDERR "USAGE: errinfo [-ch] [-p PID] [-n name]\n"; - print STDERR <&2 - USAGE: execsnoop [-a|-A|-ehjsvJ] [-c command] - execsnoop # default output - -a # print all data - -A # dump all data, space delimited - -e # safe output, parseable - -s # print start time, us - -v # print start time, string - -J # print jail ID - -c command # command name to snoop - eg, - execsnoop -v # human readable timestamps - execsnoop -J # print jail ID - execsnoop -c ls # snoop ls commands only - END - exit 1 - esac -done - -### option logic -if [ $opt_dump -eq 1 ]; then - opt_time=0; opt_timestr=0; opt_jailid=0 -fi -if [ $opt_cmd -eq 1 ]; then - filter=1 -fi - - -################################# -# --- Main Program, DTrace --- -# -/usr/sbin/dtrace -n ' - /* - * Command line arguments - */ - inline int OPT_dump = '$opt_dump'; - inline int OPT_cmd = '$opt_cmd'; - inline int OPT_time = '$opt_time'; - inline int OPT_timestr = '$opt_timestr'; - inline int OPT_jailid = '$opt_jailid'; - inline int OPT_safe = '$opt_safe'; - inline int FILTER = '$filter'; - inline string COMMAND = "'$command'"; - - #pragma D option quiet - #pragma D option switchrate=10hz - - /* - * Print header - */ - dtrace:::BEGIN - { - /* print optional headers */ - OPT_time ? printf("%-14s ", "TIME") : 1; - OPT_timestr ? printf("%-20s ", "STRTIME") : 1; - OPT_jailid ? printf("%-10s ", "JAIL ID") : 1; - - /* print main headers */ - OPT_dump ? printf("%s %s %s %s %s %s %s\n", - "TIME", "JAIL ID", "UID", "PID", "PPID", "COMM", "ARGS") : - printf("%5s %6s %6s %s\n", "UID", "PID", "PPID", "ARGS"); - } - - /* - * Print exec event - */ - syscall::execve:return - /(FILTER == 0) || (OPT_cmd == 1 && COMMAND == execname)/ - { - /* print optional fields */ - OPT_time ? printf("%-14d ", timestamp/1000) : 1; - OPT_timestr ? printf("%-20Y ", walltimestamp) : 1; - OPT_jailid ? printf("%-10d ", curpsinfo->pr_jailid) : 1; - - /* print main data */ - OPT_dump ? printf("%d %d %d %d %d %s ", timestamp/1000, - curpsinfo->pr_jailid, uid, pid, ppid, execname) : - printf("%5d %6d %6d ", uid, pid, ppid); - OPT_safe ? printf("%S\n", curpsinfo->pr_psargs) : - printf("%s\n", curpsinfo->pr_psargs); - } -' diff --git a/cddl/contrib/dtracetoolkit/hotkernel b/cddl/contrib/dtracetoolkit/hotkernel deleted file mode 100755 index 84d3362ff077..000000000000 --- a/cddl/contrib/dtracetoolkit/hotkernel +++ /dev/null @@ -1,125 +0,0 @@ -#!/usr/bin/perl -w -# -# hotkernel - sample on-CPU kernel-level functions and modules. -# Written using Perl and DTrace (Solaris 10 03/05) -# -# This samples the on-CPU function at 1001 Hertz, for a simple yet -# effective kernel-level profiling tool for sampling exclusive function time. -# The output will identify which function is on the CPU the most - which is -# the hottest. See Notes/ALLexclusive_notes.txt for an explanation of -# exclusive time. -# -# $Id: hotkernel 65 2007-10-04 11:09:40Z brendan $ -# -# USAGE: hotkernel [-hm] -# -# -h # help -# -m # match modules, not functions -# eg, -# hotkernel # sample kernel functions -# hotkernel -m # sample kernel modules -# -# FIELDS: -# FUNCTION Function name -# MODULE Module name -# COUNT Number of samples -# PCNT Percentage of total samples -# -# COPYRIGHT: Copyright (c) 2006 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# Author: Brendan Gregg [Sydney, Australia] -# -# 29-Jun-2006 Brendan Gregg Created this. -# 29-Jun-2006 " " Last update. -# - -use strict; -use Getopt::Std; - -# -# Command Line Arguments -# -my $args; -usage() if defined $ARGV[0] and $ARGV[0] eq "--help"; -getopts('hm') or usage(); -usage() if defined $main::opt_h and $main::opt_h; -my $mods = defined $main::opt_m and $main::opt_m ? 1 : 0; - -# -# Cleanup on signals -# -$SIG{INT} = \&cleanupsig; # Ctrl-C -$SIG{QUIT} = \&cleanupsig; # Ctrl-\ -$SIG{TERM} = \&cleanupsig; # TERM - -# -# Declare DTrace script -# -my $dtrace = <) { - next if $line =~ /^\s*$/; - my ($addr, $count) = split ' ', $line; - my ($name, $offset) = split /\+/, $addr; - next if $name eq "0x0"; - $name =~ s/\`.*// if $mods; - $Count{$name} += $count; - $total += $count; -} -close DTRACE; - -# -# Print final report -# -printf "\n%-52s %8s %6s\n", $mods ? "MODULE" : "FUNCTION", "COUNT", "PCNT"; -foreach my $name (sort { $Count{$a} <=> $Count{$b} } keys %Count) { - printf "%-52s %8d %5.1f%%\n", $name, $Count{$name}, - 100 * $Count{$name} / ($total ? $total : 1); -} - -# -# Subroutines -# -sub cleanupsig { -} -sub usage { - print STDERR "USAGE: hotkernel [-hm]\n"; - print STDERR " eg,\n"; - print STDERR " hotkernel # sample kernel functions\n"; - print STDERR " hotkernel -m # sample kernel modules\n"; - exit 1; -} diff --git a/cddl/contrib/dtracetoolkit/hotuser b/cddl/contrib/dtracetoolkit/hotuser deleted file mode 100755 index 2377487c7f7b..000000000000 --- a/cddl/contrib/dtracetoolkit/hotuser +++ /dev/null @@ -1,139 +0,0 @@ -#!/usr/bin/perl -w -# -# hotuser - sample on-CPU user-level functions and libraries. -# Written using Perl and DTrace (Solaris 10 03/05) -# -# This samples the on-CPU function at 1001 Hertz, for a simple yet -# effective user-level profiling tool for sampling exclusive function time. -# The output will identify which function is on the CPU the most - which -# is the hottest. See Notes/ALLexclusive_notes.txt for an explanation of -# exclusive time. -# -# $Id: hotuser 65 2007-10-04 11:09:40Z brendan $ -# -# USAGE: hotuser [-hl] { -c command | -p PID } -# -# -h # help -# -l # match libraries, not functions -# -p PID # examine this PID -# -c command # run and examine this command -# eg, -# hotuser -p 81 # sample user functions from PID 81 -# hotuser -lp 81 # sample user libraries from PID 81 -# hotuser -p `pgrep -n Xorg` # sample Xorg -# -# FIELDS: -# FUNCTION Function name -# LIBRARY Library name -# COUNT Number of samples -# PCNT Percentage of total samples -# -# COPYRIGHT: Copyright (c) 2006 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# Author: Brendan Gregg [Sydney, Australia] -# -# 29-Jun-2006 Brendan Gregg Created this. -# 29-Jun-2006 " " Last update. -# - -use strict; -use Getopt::Std; - -# -# Command Line Arguments -# -my $args; -usage() if defined $ARGV[0] and $ARGV[0] eq "--help"; -getopts('c:hlp:') or usage(); -usage() if defined $main::opt_h and $main::opt_h; -my $libs = defined $main::opt_l and $main::opt_l ? 1 : 0; -if (defined $main::opt_c) { - $args = "-c $main::opt_c"; -} -elsif (defined $main::opt_p) { - $args = "-p $main::opt_p"; -} -else { - usage(); -} - -# -# Cleanup on signals -# -$SIG{INT} = \&cleanupsig; # Ctrl-C -$SIG{QUIT} = \&cleanupsig; # Ctrl-\ -$SIG{TERM} = \&cleanupsig; # TERM - -# -# Declare DTrace script -# -my $dtrace = <) { - next if $line =~ /^\s*$/; - next if $line !~ /^OUT: /; - my ($tag, $addr, $count) = split ' ', $line; - my ($name, $offset) = split /\+/, $addr; - next if $name eq "0x0"; - $name =~ s/\`.*// if $libs; - $Count{$name} += $count; - $total += $count; -} -close DTRACE; - -# -# Print final report -# -printf "\n%-52s %8s %6s\n", $libs ? "LIBRARY" : "FUNCTION", "COUNT", "PCNT"; -foreach my $name (sort { $Count{$a} <=> $Count{$b} } keys %Count) { - printf "%-52s %8d %5.1f%%\n", $name, $Count{$name}, - 100 * $Count{$name} / ($total ? $total : 1); -} - -# -# Subroutines -# -sub cleanupsig { -} -sub usage { - print STDERR "USAGE: hotuser [-hl] { -c command | -p PID }\n"; - print STDERR " eg,\n"; - print STDERR " hotuser -p 81 # sample user funcs for PID 81\n"; - print STDERR " hotuser -lp 81 # sample user libs for PID 81\n"; - print STDERR " hotuser -p `pgrep -n Xorg` # sample Xorg\n"; - exit 1; -} diff --git a/cddl/contrib/dtracetoolkit/install b/cddl/contrib/dtracetoolkit/install deleted file mode 100755 index 1962c46290e3..000000000000 --- a/cddl/contrib/dtracetoolkit/install +++ /dev/null @@ -1,151 +0,0 @@ -#!/usr/bin/ksh -# -# install - installer for the DTraceToolkit -# -# This is a fairly simple script, most of it is error checking. -# All the script does is copy the DTraceToolkit files to another directory, -# with various checks. The user could have copied the files themselves, this -# script doesn't do anything special to them. It's really here in case -# people extrace the toolkit and go looking for an installer. -# -# 15-May-2005 Brendan Gregg Created this. - -DEBUG=0 # print debug data -TEETH=1 # does this script have teeth -SLEEP=1 # pause on messages -PATH=/usr/bin - -### Ensure we know where we are, -dir=${0%/*} -cd $dir -(( DEBUG )) && print "DEBUG: dir $dir" - -### Print welcome, -print "DTraceToolkit Installation\n---------------------------" -cat Version -print "\nhit Ctrl-C any time you wish to quit.\n\n" - -### Fetch location, -print -n "Enter target directory for installation [/opt/DTT]: " -read loc junk -if [[ "$loc" == "" ]]; then loc="/opt/DTT"; fi -print "" -(( DEBUG )) && print "DEBUG: loc $loc" - -### Sanity check, -if print "$loc" | grep '^[./]*$' > /dev/null; then - print "ERROR1: Location \"$loc\" is ambiguous.\n." - (( SLEEP )) && sleep 1 - print ".\tTry a full path, like \"/opt/DTT\"\n." - print ".\tSorry!\n" - exit 1 -fi - -### Evilness check, -if print "$loc" | grep '[^a-zA-Z0-9_.-/]' > /dev/null; then - print "ERROR2: Sorry, location \"$loc\" contains bad characters.\n." - (( SLEEP )) && sleep 1 - print ".\tTry a path like \"/opt/DTT\"\n." - print ".\tSorry!\n" - exit 2 -fi - -### Process location, -basename=${loc%/*} -nodename=${loc##*/} -if [[ "$basename" == "" ]]; then basename="/"; fi -(( DEBUG )) && print "DEBUG: basename $basename" -(( DEBUG )) && print "DEBUG: nodename $nodename" - -### Check parent dir exists, -if [[ ! -d "$basename" ]]; then - print "ERROR3: Parent directory \"$basename\" does not exist!\n." - (( SLEEP )) && sleep 1 - print ".\tI'm not sure what you want me to do here, if you were" - print ".\tserious about the above parent directory - then run" - print ".\ta \"mkdir -p $basename\" first, then rerun this script.\n." - print ".\tSorry!\n" - exit 3 -fi - -### Check parent dir perms, -if [[ ! -w "$basename" ]]; then - print "ERROR4: Can't write to parent directory \"$basename\"!\n." - (( SLEEP )) && sleep 1 - print ".\tSince I can't write to this directory, I can't install the" - print ".\tDTraceToolkit. You are currently logged in as,\n." - id | sed 's/^/. /' - print ".\n.\tand the directory has permissions,\n." - ls -ld "$basename" | awk '{ print ".\t\t",$1,$2,$3,$4,"..." }' - owner=`ls -ld "$basename" | awk '{ print $3 }'` - print ".\n.\tMaybe you need to run \"su - $owner\" first?\n." - print ".\tSorry!\n" - exit 4 -fi - -### Check if toolkit is already installed, -if [[ -d "$loc" ]]; then - print "Warning: Possible old version of the DTraceToolkit found." - print "\tThis will DELETE the files in $loc, then install the toolkit." - (( SLEEP )) && sleep 1 - if [[ ! -f "$loc/Version" ]]; then - print "\nWARNING: $loc doesn't look like an old DTraceToolkit!" - (( SLEEP )) && sleep 1 - fi - print -n "\nContinue (will run \"rm -rf $loc\"). Are you sure (y/N)?: " - read ans junk - if [[ "$ans" != "y" ]]; then - print "\nExiting..." - exit 5 - fi - if (( TEETH )); then - rm -rf "$loc" - else - print COMMAND: rm -rf \"$loc\" - fi -fi - -### Make new toolkit dir, -print "\nMaking directory \"$loc\"...\n" -if (( TEETH )); then - mkdir -p "$loc" -else - print COMMAND: mkdir -p \"$loc\" -fi -if [[ ! -d "$loc" || ! -w "$loc" ]]; then - print "ERROR6: Creation of \"$loc\" failed.\n." - (( SLEEP )) && sleep 1 - print ".\tCheck directory location and try again.\n." - print ".\tSorry!\n" - exit 6 -fi - -### Copy files across, -print "\nCopying DTraceToolkit files...\n" -if (( TEETH )); then - tar cf - . | (cd "$loc"; tar xvf -) -else - print COMMAND: "tar cf - . | (cd \"$loc\"; tar xvf -)" -fi -error=$? -if [[ ! -f "$loc/install" ]]; then error=1; fi -if (( error )); then - print "ERROR7: Failure during copy.\n." - (( SLEEP )) && sleep 1 - print ".\tCheck source \"$dir\" and destination \"$loc\", then" - print ".\ttry again.\n." - print ".\tSorry!\n" - exit 7 -fi - -### Delete installer, -if (( TEETH )); then - rm "$loc/install" -else - print COMMAND: rm \"$loc/install\" -fi - -### Finished, -print "\nFinished.\n" -print "Installed to \"$loc\". See $loc/Guide for how to get started.\n" - diff --git a/cddl/contrib/dtracetoolkit/iopattern b/cddl/contrib/dtracetoolkit/iopattern deleted file mode 100755 index e825f9f77fba..000000000000 --- a/cddl/contrib/dtracetoolkit/iopattern +++ /dev/null @@ -1,277 +0,0 @@ -#!/usr/bin/ksh -# -# iopattern - print disk I/O pattern. -# Written using DTrace (Solaris 10 3/05). -# -# This prints details on the I/O access pattern for the disks, such as -# percentage of events that were of a random or sequential nature. -# By default totals for all disks are printed. -# -# $Id: iopattern 65 2007-10-04 11:09:40Z brendan $ -# -# USAGE: iopattern [-v] [-d device] [-f filename] [-m mount_point] -# [interval [count]] -# -# -v # print timestamp, string -# -d device # instance name to snoop (eg, dad0) -# -f filename # full pathname of file to snoop -# -m mount_point # this FS only (will skip raw events) -# eg, -# iopattern # default output, 1 second intervals -# iopattern 10 # 10 second samples -# iopattern 5 12 # print 12 x 5 second samples -# iopattern -m / # snoop events on filesystem / only -# -# FIELDS: -# %RAN percentage of events of a random nature -# %SEQ percentage of events of a sequential nature -# COUNT number of I/O events -# MIN minimum I/O event size -# MAX maximum I/O event size -# AVG average I/O event size -# KR total kilobytes read during sample -# KW total kilobytes written during sample -# DEVICE device name -# MOUNT mount point -# FILE filename -# TIME timestamp, string -# -# NOTES: -# -# An event is considered random when the heads seek. This program prints -# the percentage of events that are random. The size of the seek is not -# measured - it's either random or not. -# -# SEE ALSO: iosnoop, iotop -# -# IDEA: Ryan Matteson -# -# COPYRIGHT: Copyright (c) 2005 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# Author: Brendan Gregg [Sydney, Australia] -# -# 25-Jul-2005 Brendan Gregg Created this. -# 25-Jul-2005 " " Last update. -# - - -############################## -# --- Process Arguments --- -# - -### default variables -opt_device=0; opt_file=0; opt_mount=0; opt_time=0 -filter=0; device=.; filename=.; mount=.; interval=1; count=-1 - -### process options -while getopts d:f:hm:v name -do - case $name in - d) opt_device=1; device=$OPTARG ;; - f) opt_file=1; filename=$OPTARG ;; - m) opt_mount=1; mount=$OPTARG ;; - v) opt_time=1 ;; - h|?) cat <<-END >&2 - USAGE: iopattern [-v] [-d device] [-f filename] [-m mount_point] - [interval [count]] - - -v # print timestamp - -d device # instance name to snoop - -f filename # snoop this file only - -m mount_point # this FS only - eg, - iopattern # default output, 1 second samples - iopattern 10 # 10 second samples - iopattern 5 12 # print 12 x 5 second samples - iopattern -m / # snoop events on filesystem / only - END - exit 1 - esac -done - -shift $(( $OPTIND - 1 )) - -### option logic -if [[ "$1" > 0 ]]; then - interval=$1; shift -fi -if [[ "$1" > 0 ]]; then - count=$1; shift -fi -if (( opt_device || opt_mount || opt_file )); then - filter=1 -fi - - -################################# -# --- Main Program, DTrace --- -# -/usr/sbin/dtrace -n ' - /* - * Command line arguments - */ - inline int OPT_time = '$opt_time'; - inline int OPT_device = '$opt_device'; - inline int OPT_mount = '$opt_mount'; - inline int OPT_file = '$opt_file'; - inline int INTERVAL = '$interval'; - inline int COUNTER = '$count'; - inline int FILTER = '$filter'; - inline string DEVICE = "'$device'"; - inline string FILENAME = "'$filename'"; - inline string MOUNT = "'$mount'"; - - #pragma D option quiet - - int last_loc[string]; - - /* - * Program start - */ - dtrace:::BEGIN - { - /* starting values */ - diskcnt = 0; - diskmin = 0; - diskmax = 0; - diskran = 0; - diskr = 0; - diskw = 0; - counts = COUNTER; - secs = INTERVAL; - LINES = 20; - line = 0; - last_event[""] = 0; - } - - /* - * Print header - */ - profile:::tick-1sec - /line <= 0 / - { - /* print optional headers */ - OPT_time ? printf("%-20s ", "TIME") : 1; - OPT_device ? printf("%-9s ", "DEVICE") : 1; - OPT_mount ? printf("%-12s ", "MOUNT") : 1; - OPT_file ? printf("%-12s ", "FILE") : 1; - - /* print header */ - printf("%4s %4s %6s %6s %6s %6s %6s %6s\n", - "%RAN", "%SEQ", "COUNT", "MIN", "MAX", "AVG", "KR", "KW"); - - line = LINES; - } - - /* - * Check event is being traced - */ - io:genunix::done - { - /* default is to trace unless filtering */ - self->ok = FILTER ? 0 : 1; - - /* check each filter */ - (OPT_device == 1 && DEVICE == args[1]->dev_statname)? self->ok = 1 : 1; - (OPT_file == 1 && FILENAME == args[2]->fi_pathname) ? self->ok = 1 : 1; - (OPT_mount == 1 && MOUNT == args[2]->fi_mount) ? self->ok = 1 : 1; - } - - /* - * Process and Print completion - */ - io:genunix::done - /self->ok/ - { - /* - * Save details - */ - this->loc = args[0]->b_blkno * 512; - this->pre = last_loc[args[1]->dev_statname]; - diskr += args[0]->b_flags & B_READ ? args[0]->b_bcount : 0; - diskw += args[0]->b_flags & B_READ ? 0 : args[0]->b_bcount; - diskran += this->pre == this->loc ? 0 : 1; - diskcnt++; - diskmin = diskmin == 0 ? args[0]->b_bcount : - (diskmin > args[0]->b_bcount ? args[0]->b_bcount : diskmin); - diskmax = diskmax < args[0]->b_bcount ? args[0]->b_bcount : diskmax; - - /* save disk location */ - last_loc[args[1]->dev_statname] = this->loc + args[0]->b_bcount; - - /* cleanup */ - self->ok = 0; - } - - /* - * Timer - */ - profile:::tick-1sec - { - secs--; - } - - /* - * Print Output - */ - profile:::tick-1sec - /secs == 0/ - { - /* calculate diskavg */ - diskavg = diskcnt > 0 ? (diskr + diskw) / diskcnt : 0; - - /* convert counters to Kbytes */ - diskr /= 1024; - diskw /= 1024; - - /* convert to percentages */ - diskran = diskcnt == 0 ? 0 : (diskran * 100) / diskcnt; - diskseq = diskcnt == 0 ? 0 : 100 - diskran; - - /* print optional fields */ - OPT_time ? printf("%-20Y ", walltimestamp) : 1; - OPT_device ? printf("%-9s ", DEVICE) : 1; - OPT_mount ? printf("%-12s ", MOUNT) : 1; - OPT_file ? printf("%-12s ", FILENAME) : 1; - - /* print data */ - printf("%4d %4d %6d %6d %6d %6d %6d %6d\n", - diskran, diskseq, diskcnt, diskmin, diskmax, diskavg, - diskr, diskw); - - /* clear data */ - diskmin = 0; - diskmax = 0; - diskcnt = 0; - diskran = 0; - diskr = 0; - diskw = 0; - - secs = INTERVAL; - counts--; - line--; - } - - /* - * End of program - */ - profile:::tick-1sec - /counts == 0/ - { - exit(0); - } -' diff --git a/cddl/contrib/dtracetoolkit/iosnoop b/cddl/contrib/dtracetoolkit/iosnoop deleted file mode 100755 index 00931d275e09..000000000000 --- a/cddl/contrib/dtracetoolkit/iosnoop +++ /dev/null @@ -1,367 +0,0 @@ -#!/usr/bin/sh -# -# iosnoop - A program to print disk I/O events as they happen, with useful -# details such as UID, PID, filename, command, etc. -# Written using DTrace (Solaris 10 3/05). -# -# This is measuring disk events that have made it past system caches. -# -# $Id: iosnoop 8 2007-08-06 05:55:26Z brendan $ -# -# USAGE: iosnoop [-a|-A|-DeghiNostv] [-d device] [-f filename] -# [-m mount_point] [-n name] [-p PID] -# -# iosnoop # default output -# -# -a # print all data (mostly) -# -A # dump all data, space delimited -# -D # print time delta, us (elapsed) -# -e # print device name -# -g # print command arguments -# -i # print device instance -# -N # print major and minor numbers -# -o # print disk delta time, us -# -s # print start time, us -# -t # print completion time, us -# -v # print completion time, string -# -d device # instance name to snoop (eg, dad0) -# -f filename # full pathname of file to snoop -# -m mount_point # this FS only (will skip raw events) -# -n name # this process name only -# -p PID # this PID only -# eg, -# iosnoop -v # human readable timestamps -# iosnoop -N # print major and minor numbers -# iosnoop -m / # snoop events on the root filesystem only -# -# FIELDS: -# UID user ID -# PID process ID -# PPID parennt process ID -# COMM command name for the process -# ARGS argument listing for the process -# SIZE size of operation, bytes -# BLOCK disk block for the operation (location) -# STIME timestamp for the disk request, us -# TIME timestamp for the disk completion, us -# DELTA elapsed time from request to completion, us -# DTIME time for disk to complete request, us -# STRTIME timestamp for the disk completion, string -# DEVICE device name -# INS device instance number -# D direction, Read or Write -# MOUNT mount point -# FILE filename (basename) for io operation -# -# NOTE: -# - There are two different delta times reported. -D prints the -# elapsed time from the disk request (strategy) to the disk completion -# (iodone); -o prints the time for the disk to complete that event -# since it's last event (time between iodones), or, the time to the -# strategy if the disk had been idle. -# - When filtering on PID or process name, be aware that poor disk event -# times may be due to events that have been filtered away, for example -# another process that may be seeking the disk heads elsewhere. -# -# SEE ALSO: BigAdmin: DTrace, http://www.sun.com/bigadmin/content/dtrace -# Solaris Dynamic Tracing Guide, http://docs.sun.com -# DTrace Tools, http://www.brendangregg.com/dtrace.html -# -# COPYRIGHT: Copyright (c) 2005 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# Author: Brendan Gregg [Sydney, Australia] -# -# 12-Mar-2004 Brendan Gregg Created this, build 51. -# 23-May-2004 " " Fixed mntpt bug. -# 10-Oct-2004 " " Rewritten to use the io provider, build 63. -# 04-Jan-2005 " " Wrapped in sh to provide options. -# 08-May-2005 " " Rewritten for perfromance. -# 15-Jul-2005 " " Improved DTIME calculation. -# 25-Jul-2005 " " Added -p, -n. Improved code. -# 17-Sep-2005 " " Increased switchrate. -# 17-Sep-2005 " " Last update. -# - - -############################## -# --- Process Arguments --- -# - -### default variables -opt_dump=0; opt_device=0; opt_delta=0; opt_devname=0; opt_file=0; opt_args=0; -opt_mount=0; opt_start=0 opt_end=0; opt_endstr=0; opt_ins=0; opt_nums=0 -opt_dtime=0; filter=0; device=.; filename=.; mount=.; pname=.; pid=0 -opt_name=0; opt_pid=0 - -### process options -while getopts aAd:Def:ghim:Nn:op:stv name -do - case $name in - a) opt_devname=1; opt_args=1; opt_endstr=1; opt_nums=1 ;; - A) opt_dump=1 ;; - d) opt_device=1; device=$OPTARG ;; - D) opt_delta=1 ;; - e) opt_devname=1 ;; - f) opt_file=1; filename=$OPTARG ;; - g) opt_args=1 ;; - i) opt_ins=1 ;; - N) opt_nums=1 ;; - n) opt_name=1; pname=$OPTARG ;; - o) opt_dtime=1 ;; - p) opt_pid=1; pid=$OPTARG ;; - m) opt_mount=1; mount=$OPTARG ;; - s) opt_start=1 ;; - t) opt_end=1 ;; - v) opt_endstr=1 ;; - h|?) cat <<-END >&2 - USAGE: iosnoop [-a|-A|-DeghiNostv] [-d device] [-f filename] - [-m mount_point] [-n name] [-p PID] - iosnoop # default output - -a # print all data (mostly) - -A # dump all data, space delimited - -D # print time delta, us (elapsed) - -e # print device name - -g # print command arguments - -i # print device instance - -N # print major and minor numbers - -o # print disk delta time, us - -s # print start time, us - -t # print completion time, us - -v # print completion time, string - -d device # instance name to snoop - -f filename # snoop this file only - -m mount_point # this FS only - -n name # this process name only - -p PID # this PID only - eg, - iosnoop -v # human readable timestamps - iosnoop -N # print major and minor numbers - iosnoop -m / # snoop events on filesystem / only - END - exit 1 - esac -done - -### option logic -if [ $opt_dump -eq 1 ]; then - opt_delta=0; opt_devname=0; opt_args=2; opt_start=0; - opt_end=0; opt_endstr=0; opt_nums=0; opt_ins=0; opt_dtime=0 -fi -if [ $opt_device -eq 1 -o $opt_file -eq 1 -o $opt_mount -eq 1 -o \ - $opt_name -eq 1 -o $opt_pid -eq 1 ]; then - filter=1 -fi - - -################################# -# --- Main Program, DTrace --- -# -/usr/sbin/dtrace -n ' - /* - * Command line arguments - */ - inline int OPT_dump = '$opt_dump'; - inline int OPT_device = '$opt_device'; - inline int OPT_delta = '$opt_delta'; - inline int OPT_devname = '$opt_devname'; - inline int OPT_file = '$opt_file'; - inline int OPT_args = '$opt_args'; - inline int OPT_ins = '$opt_ins'; - inline int OPT_nums = '$opt_nums'; - inline int OPT_dtime = '$opt_dtime'; - inline int OPT_mount = '$opt_mount'; - inline int OPT_start = '$opt_start'; - inline int OPT_pid = '$opt_pid'; - inline int OPT_name = '$opt_name'; - inline int OPT_end = '$opt_end'; - inline int OPT_endstr = '$opt_endstr'; - inline int FILTER = '$filter'; - inline int PID = '$pid'; - inline string DEVICE = "'$device'"; - inline string FILENAME = "'$filename'"; - inline string MOUNT = "'$mount'"; - inline string NAME = "'$pname'"; - - #pragma D option quiet - #pragma D option switchrate=10hz - - /* - * Print header - */ - dtrace:::BEGIN - { - last_event[""] = 0; - - /* print optional headers */ - OPT_start ? printf("%-14s ","STIME") : 1; - OPT_end ? printf("%-14s ","TIME") : 1; - OPT_endstr ? printf("%-20s ","STRTIME") : 1; - OPT_devname ? printf("%-7s ","DEVICE") : 1; - OPT_ins ? printf("%-3s ","INS") : 1; - OPT_nums ? printf("%-3s %-3s ","MAJ","MIN") : 1; - OPT_delta ? printf("%-10s ","DELTA") : 1; - OPT_dtime ? printf("%-10s ","DTIME") : 1; - - /* print main headers */ - OPT_dump ? - printf("%s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s\n", - "TIME", "STIME", "DELTA", "DEVICE", "INS", "MAJ", "MIN", "UID", - "PID", "PPID", "D", "BLOCK", "SIZE", "MOUNT", "FILE", "PATH", - "COMM","ARGS") : - printf("%5s %5s %1s %8s %6s ", "UID", "PID", "D", "BLOCK", "SIZE"); - OPT_args == 0 ? printf("%10s %s\n", "COMM", "PATHNAME") : 1; - OPT_args == 1 ? printf("%28s %s\n", "PATHNAME", "ARGS") : 1; - } - - /* - * Check event is being traced - */ - io:genunix::start - { - /* default is to trace unless filtering, */ - self->ok = FILTER ? 0 : 1; - - /* check each filter, */ - (OPT_device == 1 && DEVICE == args[1]->dev_statname)? self->ok = 1 : 1; - (OPT_file == 1 && FILENAME == args[2]->fi_pathname) ? self->ok = 1 : 1; - (OPT_mount == 1 && MOUNT == args[2]->fi_mount) ? self->ok = 1 : 1; - (OPT_name == 1 && NAME == execname) ? self->ok = 1 : 1; - (OPT_pid == 1 && PID == pid) ? self->ok = 1 : 1; - } - - /* - * Reset last_event for disk idle -> start - * this prevents idle time being counted as disk time. - */ - io:genunix::start - /! pending[args[1]->dev_statname]/ - { - /* save last disk event */ - last_event[args[1]->dev_statname] = timestamp; - } - - /* - * Store entry details - */ - io:genunix::start - /self->ok/ - { - /* these are used as a unique disk event key, */ - this->dev = args[0]->b_edev; - this->blk = args[0]->b_blkno; - - /* save disk event details, */ - start_uid[this->dev, this->blk] = uid; - start_pid[this->dev, this->blk] = pid; - start_ppid[this->dev, this->blk] = ppid; - start_args[this->dev, this->blk] = (char *)curpsinfo->pr_psargs; - start_comm[this->dev, this->blk] = execname; - start_time[this->dev, this->blk] = timestamp; - - /* increase disk event pending count */ - pending[args[1]->dev_statname]++; - - self->ok = 0; - } - - /* - * Process and Print completion - */ - io:genunix::done - /start_time[args[0]->b_edev, args[0]->b_blkno]/ - { - /* decrease disk event pending count */ - pending[args[1]->dev_statname]--; - - /* - * Process details - */ - - /* fetch entry values */ - this->dev = args[0]->b_edev; - this->blk = args[0]->b_blkno; - this->suid = start_uid[this->dev, this->blk]; - this->spid = start_pid[this->dev, this->blk]; - this->sppid = start_ppid[this->dev, this->blk]; - self->sargs = (int)start_args[this->dev, this->blk] == 0 ? - "" : start_args[this->dev, this->blk]; - self->scomm = start_comm[this->dev, this->blk]; - this->stime = start_time[this->dev, this->blk]; - this->etime = timestamp; /* endtime */ - this->delta = this->etime - this->stime; - this->dtime = last_event[args[1]->dev_statname] == 0 ? 0 : - timestamp - last_event[args[1]->dev_statname]; - - /* memory cleanup */ - start_uid[this->dev, this->blk] = 0; - start_pid[this->dev, this->blk] = 0; - start_ppid[this->dev, this->blk] = 0; - start_args[this->dev, this->blk] = 0; - start_time[this->dev, this->blk] = 0; - start_comm[this->dev, this->blk] = 0; - start_rw[this->dev, this->blk] = 0; - - /* - * Print details - */ - - /* print optional fields */ - OPT_start ? printf("%-14d ", this->stime/1000) : 1; - OPT_end ? printf("%-14d ", this->etime/1000) : 1; - OPT_endstr ? printf("%-20Y ", walltimestamp) : 1; - OPT_devname ? printf("%-7s ", args[1]->dev_statname) : 1; - OPT_ins ? printf("%3d ", args[1]->dev_instance) : 1; - OPT_nums ? printf("%3d %3d ", - args[1]->dev_major, args[1]->dev_minor) : 1; - OPT_delta ? printf("%-10d ", this->delta/1000) : 1; - OPT_dtime ? printf("%-10d ", this->dtime/1000) : 1; - - /* print main fields */ - OPT_dump ? - printf("%d %d %d %s %d %d %d %d %d %d %s %d %d %s %s %s %s %S\n", - this->etime/1000, this->stime/1000, this->delta/1000, - args[1]->dev_statname, args[1]->dev_instance, args[1]->dev_major, - args[1]->dev_minor, this->suid, this->spid, this->sppid, - args[0]->b_flags & B_READ ? "R" : "W", - args[0]->b_blkno, args[0]->b_bcount, args[2]->fi_mount, - args[2]->fi_name, args[2]->fi_pathname, self->scomm, self->sargs) : - printf("%5d %5d %1s %8d %6d ", - this->suid, this->spid, args[0]->b_flags & B_READ ? "R" : "W", - args[0]->b_blkno, args[0]->b_bcount); - OPT_args == 0 ? printf("%10s %s\n", self->scomm, args[2]->fi_pathname) - : 1; - OPT_args == 1 ? printf("%28s %S\n", - args[2]->fi_pathname, self->sargs) : 1; - - /* save last disk event */ - last_event[args[1]->dev_statname] = timestamp; - - /* cleanup */ - self->scomm = 0; - self->sargs = 0; - } - - /* - * Prevent pending from underflowing - * this can happen if this program is started during disk events. - */ - io:genunix::done - /pending[args[1]->dev_statname] < 0/ - { - pending[args[1]->dev_statname] = 0; - } -' diff --git a/cddl/contrib/dtracetoolkit/iotop b/cddl/contrib/dtracetoolkit/iotop deleted file mode 100755 index 788c49285129..000000000000 --- a/cddl/contrib/dtracetoolkit/iotop +++ /dev/null @@ -1,422 +0,0 @@ -#!/usr/bin/ksh -# -# iotop - display top disk I/O events by process. -# Written using DTrace (Solaris 10 3/05). -# -# This is measuring disk events that have made it past system caches. -# -# $Id: iotop 8 2007-08-06 05:55:26Z brendan $ -# -# USAGE: iotop [-C] [-D|-o|-P] [-j|-Z] [-d device] [-f filename] -# [-m mount_point] [-t top] [interval [count]] -# -# iotop # default output, 5 second intervals -# -# -C # don't clear the screen -# -D # print delta times, elapsed, us -# -j # print project ID -# -o # print disk delta times, us -# -P # print %I/O (disk delta times) -# -Z # print zone ID -# -d device # instance name to snoop (eg, dad0) -# -f filename # full pathname of file to snoop -# -m mount_point # this FS only (will skip raw events) -# -t top # print top number only -# eg, -# iotop 1 # 1 second samples -# iotop -C # don't clear the screen -# iotop -P # print %I/O (time based) -# iotop -j # print project IDs -# iotop -Z # print zone IDs -# iotop -t 20 # print top 20 lines only -# iotop -C 5 12 # print 12 x 5 second samples -# -# FIELDS: -# UID user ID -# PID process ID -# PPID parent process ID -# PROJ project ID -# ZONE zone ID -# CMD process command name -# DEVICE device name -# MAJ device major number -# MIN device minor number -# D direction, Read or Write -# BYTES total size of operations, bytes -# ELAPSED total elapsed from request to completion, us -# DISKTIME total time for disk to complete request, us -# %I/O percent disk I/O, based on time (DISKTIME) -# load 1 min load average -# disk_r total disk read Kbytes for sample -# disk_w total disk write Kbytes for sample -# -# NOTE: -# * There are two different delta times reported. -D prints the -# elapsed time from the disk request (strategy) to the disk completion -# (iodone); -o prints the time for the disk to complete that event -# since it's last event (time between iodones), or, the time to the -# strategy if the disk had been idle. -# * The %I/O value can exceed 100%. It represents how busy a process is -# making the disks, in terms of a single disk. A value of 200% could -# mean 2 disks are busy at 100%, or 4 disks at 50%... -# -# SEE ALSO: iosnoop -# BigAdmin: DTrace, http://www.sun.com/bigadmin/content/dtrace -# Solaris Dynamic Tracing Guide, http://docs.sun.com -# DTrace Tools, http://www.brendangregg.com/dtrace.html -# -# INSPIRATION: top(1) by William LeFebvre -# -# COPYRIGHT: Copyright (c) 2005, 2006 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# KNOWN BUGS: -# - This can print errors while running on servers with Veritas volumes. -# -# Author: Brendan Gregg [Sydney, Australia] -# -# 15-Jul-2005 Brendan Gregg Created this. -# 20-Apr-2006 " " Last update. -# - - -############################## -# --- Process Arguments --- -# - -### default variables -opt_device=0; opt_file=0; opt_mount=0; opt_clear=1; opt_proj=0; opt_zone=0 -opt_percent=0; opt_def=1; opt_bytes=1; filter=0; device=.; filename=.; mount=. -opt_top=0; opt_elapsed=0; opt_dtime=0; interval=5; count=-1; top=0 - -### process options -while getopts CDd:f:hjm:oPt:Z name -do - case $name in - C) opt_clear=0 ;; - D) opt_elapsed=1; opt_bytes=0 ;; - d) opt_device=1; device=$OPTARG ;; - f) opt_file=1; filename=$OPTARG ;; - j) opt_proj=1; opt_def=0 ;; - m) opt_mount=1; mount=$OPTARG ;; - o) opt_dtime=1; opt_bytes=0 ;; - P) opt_percent=1; opt_dtime=1; opt_bytes=0 ;; - t) opt_top=1; top=$OPTARG ;; - Z) opt_zone=1; opt_def=0 ;; - h|?) cat <<-END >&2 - USAGE: iotop [-C] [-D|-o|-P] [-j|-Z] [-d device] [-f filename] - [-m mount_point] [-t top] [interval [count]] - - -C # don't clear the screen - -D # print delta times, elapsed, us - -j # print project ID - -o # print disk delta times, us - -P # print %I/O (disk delta times) - -Z # print zone ID - -d device # instance name to snoop - -f filename # snoop this file only - -m mount_point # this FS only - -t top # print top number only - eg, - iotop # default output, 5 second samples - iotop 1 # 1 second samples - iotop -P # print %I/O (time based) - iotop -m / # snoop events on filesystem / only - iotop -t 20 # print top 20 lines only - iotop -C 5 12 # print 12 x 5 second samples - END - exit 1 - esac -done - -shift $(( $OPTIND - 1 )) - -### option logic -if [[ "$1" > 0 ]]; then - interval=$1; shift -fi -if [[ "$1" > 0 ]]; then - count=$1; shift -fi -if (( opt_proj && opt_zone )); then - opt_proj=0 -fi -if (( opt_elapsed && opt_dtime )); then - opt_elapsed=0 -fi -if (( opt_device || opt_mount || opt_file )); then - filter=1 -fi -if (( opt_clear )); then - clearstr=`clear` -else - clearstr=. -fi - - - -################################# -# --- Main Program, DTrace --- -# -/usr/sbin/dtrace -n ' - /* - * Command line arguments - */ - inline int OPT_def = '$opt_def'; - inline int OPT_proj = '$opt_proj'; - inline int OPT_zone = '$opt_zone'; - inline int OPT_clear = '$opt_clear'; - inline int OPT_bytes = '$opt_bytes'; - inline int OPT_elapsed = '$opt_elapsed'; - inline int OPT_dtime = '$opt_dtime'; - inline int OPT_percent = '$opt_percent'; - inline int OPT_device = '$opt_device'; - inline int OPT_mount = '$opt_mount'; - inline int OPT_file = '$opt_file'; - inline int OPT_top = '$opt_top'; - inline int INTERVAL = '$interval'; - inline int COUNTER = '$count'; - inline int FILTER = '$filter'; - inline int TOP = '$top'; - inline string DEVICE = "'$device'"; - inline string FILENAME = "'$filename'"; - inline string MOUNT = "'$mount'"; - inline string CLEAR = "'$clearstr'"; - - #pragma D option quiet - - /* boost the following if you get "dynamic variable drops" */ - #pragma D option dynvarsize=8m - - /* - * Print header - */ - dtrace:::BEGIN - { - last_event[""] = 0; - - /* starting values */ - counts = COUNTER; - secs = INTERVAL; - disk_r = 0; - disk_w = 0; - - printf("Tracing... Please wait.\n"); - } - - /* - * Check event is being traced - */ - io:genunix::start, - io:genunix::done - { - /* default is to trace unless filtering, */ - this->ok = FILTER ? 0 : 1; - - /* check each filter, */ - (OPT_device == 1 && DEVICE == args[1]->dev_statname)? this->ok = 1 : 1; - (OPT_file == 1 && FILENAME == args[2]->fi_pathname) ? this->ok = 1 : 1; - (OPT_mount == 1 && MOUNT == args[2]->fi_mount) ? this->ok = 1 : 1; - } - - /* - * Reset last_event for disk idle -> start - * this prevents idle time being counted as disk time. - */ - io:genunix::start - /! pending[args[1]->dev_statname]/ - { - /* save last disk event */ - last_event[args[1]->dev_statname] = timestamp; - } - - /* - * Store entry details - */ - io:genunix::start - /this->ok/ - { - /* these are used as a unique disk event key, */ - this->dev = args[0]->b_edev; - this->blk = args[0]->b_blkno; - - /* save disk event details, */ - start_uid[this->dev, this->blk] = uid; - start_pid[this->dev, this->blk] = pid; - start_ppid[this->dev, this->blk] = ppid; - start_comm[this->dev, this->blk] = execname; - start_time[this->dev, this->blk] = timestamp; - start_proj[this->dev, this->blk] = curpsinfo->pr_projid; - start_zone[this->dev, this->blk] = curpsinfo->pr_zoneid; - start_rw[this->dev, this->blk] = args[0]->b_flags & B_READ ? "R" : "W"; - disk_r += args[0]->b_flags & B_READ ? args[0]->b_bcount : 0; - disk_w += args[0]->b_flags & B_READ ? 0 : args[0]->b_bcount; - - /* increase disk event pending count */ - pending[args[1]->dev_statname]++; - } - - /* - * Process and Print completion - */ - io:genunix::done - /this->ok/ - { - /* decrease disk event pending count */ - pending[args[1]->dev_statname]--; - - /* - * Process details - */ - - /* fetch entry values */ - this->dev = args[0]->b_edev; - this->blk = args[0]->b_blkno; - this->suid = start_uid[this->dev, this->blk]; - this->spid = start_pid[this->dev, this->blk]; - this->sppid = start_ppid[this->dev, this->blk]; - this->sproj = start_proj[this->dev, this->blk]; - this->szone = start_zone[this->dev, this->blk]; - self->scomm = start_comm[this->dev, this->blk]; - this->stime = start_time[this->dev, this->blk]; - this->etime = timestamp; /* endtime */ - this->elapsed = this->etime - this->stime; - self->rw = start_rw[this->dev, this->blk]; - this->dtime = last_event[args[1]->dev_statname] == 0 ? 0 : - timestamp - last_event[args[1]->dev_statname]; - - /* memory cleanup */ - start_uid[this->dev, this->blk] = 0; - start_pid[this->dev, this->blk] = 0; - start_ppid[this->dev, this->blk] = 0; - start_time[this->dev, this->blk] = 0; - start_comm[this->dev, this->blk] = 0; - start_zone[this->dev, this->blk] = 0; - start_proj[this->dev, this->blk] = 0; - start_rw[this->dev, this->blk] = 0; - - /* - * Choose statistic to track - */ - OPT_bytes ? this->value = args[0]->b_bcount : 1; - OPT_elapsed ? this->value = this->elapsed / 1000 : 1; - OPT_dtime ? this->value = this->dtime / 1000 : 1; - - /* - * Save details - */ - OPT_def ? @out[this->suid, this->spid, this->sppid, self->scomm, - args[1]->dev_statname, args[1]->dev_major, args[1]->dev_minor, - self->rw] = sum(this->value) : 1; - OPT_proj ? @out[this->sproj, this->spid, this->sppid, self->scomm, - args[1]->dev_statname, args[1]->dev_major, args[1]->dev_minor, - self->rw] = sum(this->value) : 1; - OPT_zone ? @out[this->szone, this->spid, this->sppid, self->scomm, - args[1]->dev_statname, args[1]->dev_major, args[1]->dev_minor, - self->rw] = sum(this->value) : 1; - - /* save last disk event */ - last_event[args[1]->dev_statname] = timestamp; - - self->scomm = 0; - self->rw = 0; - } - - /* - * Prevent pending from underflowing - * this can happen if this program is started during disk events. - */ - io:genunix::done - /pending[args[1]->dev_statname] < 0/ - { - pending[args[1]->dev_statname] = 0; - } - - /* - * Timer - */ - profile:::tick-1sec - { - secs--; - } - - /* - * Print Report - */ - profile:::tick-1sec - /secs == 0/ - { - /* fetch 1 min load average */ - this->load1a = `hp_avenrun[0] / 65536; - this->load1b = ((`hp_avenrun[0] % 65536) * 100) / 65536; - - /* convert counters to Kbytes */ - disk_r /= 1024; - disk_w /= 1024; - - /* print status */ - OPT_clear ? printf("%s", CLEAR) : 1; - printf("%Y, load: %d.%02d, disk_r: %6d KB, disk_w: %6d KB\n\n", - walltimestamp, this->load1a, this->load1b, disk_r, disk_w); - - /* print headers */ - OPT_def ? printf(" UID ") : 1; - OPT_proj ? printf(" PROJ ") : 1; - OPT_zone ? printf(" ZONE ") : 1; - printf("%6s %6s %-16s %-7s %3s %3s %1s", - "PID", "PPID", "CMD", "DEVICE", "MAJ", "MIN", "D"); - OPT_bytes ? printf(" %16s\n", "BYTES") : 1; - OPT_elapsed ? printf(" %16s\n", "ELAPSED") : 1; - OPT_dtime && ! OPT_percent ? printf(" %16s\n", "DISKTIME") : 1; - OPT_dtime && OPT_percent ? printf(" %6s\n", "%I/O") : 1; - - /* truncate to top lines if needed */ - OPT_top ? trunc(@out, TOP) : 1; - - /* normalise to percentage if needed */ - OPT_percent ? normalize(@out, INTERVAL * 10000) : 1; - - /* print data */ - ! OPT_percent ? - printa("%5d %6d %6d %-16s %-7s %3d %3d %1s %16@d\n", @out) : - printa("%5d %6d %6d %-16s %-7s %3d %3d %1s %6@d\n", @out); - printf("\n"); - - /* clear data */ - trunc(@out); - disk_r = 0; - disk_w = 0; - secs = INTERVAL; - counts--; - } - - /* - * End of program - */ - profile:::tick-1sec - /counts == 0/ - { - exit(0); - } - - /* - * Cleanup for Ctrl-C - */ - dtrace:::END - { - trunc(@out); - } -' diff --git a/cddl/contrib/dtracetoolkit/opensnoop b/cddl/contrib/dtracetoolkit/opensnoop deleted file mode 100755 index b8fca3eaee6f..000000000000 --- a/cddl/contrib/dtracetoolkit/opensnoop +++ /dev/null @@ -1,244 +0,0 @@ -#!/bin/sh -# -# opensnoop - snoop file opens as they occur. -# Written using DTrace (Solaris 10 3/05). -# -# $Id: opensnoop 3 2007-08-01 10:50:08Z brendan $ -# -# USAGE: opensnoop [-a|-A|-ceghsvxZ] [-f pathname] [-n name] [-p PID] -# -# opensnoop # default output -# -# -a # print most data -# -A # dump all data, space delimited -# -c # print cwd of process -# -e # print errno value -# -g # print command arguments -# -s # print start time, us -# -v # print start time, string -# -x # only print failed opens -# -Z # print zonename -# -f pathname # file pathname to snoop -# -n name # command name to snoop -# -p PID # process ID to snoop -# eg, -# opensnoop -v # human readable timestamps -# opensnoop -e # see error codes -# opensnoop -f /etc/passwd # snoop this file only -# -# FIELDS: -# ZONE Zone name -# UID User ID -# PID Process ID -# PPID Parent Process ID -# FD file descriptor (-1 for error) -# ERR errno value (see /usr/include/sys/errno.h) -# CWD print current working directory of process -# PATH pathname for file open -# COMM command name for the process -# ARGS argument listing for the process -# TIME timestamp for the open event, us -# STRTIME timestamp for the open event, string -# -# SEE ALSO: truss, BSM auditing. -# -# COPYRIGHT: Copyright (c) 2006 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# Author: Brendan Gregg [Sydney, Australia] -# -# 09-May-2004 Brendan Gregg Created this. -# 21-Jan-2005 " " Wrapped in sh to provide options. -# 08-May-2005 " " Rewritten for performance. -# 14-May-2005 " " Added errno. -# 28-Jun-2005 " " Added cwd, zonename. -# 17-Sep-2005 " " Increased switchrate, fixed page fault bug. -# 16-Jan-2006 " " Added -n, -p. -# 16-Jan-2006 " " Last update. -# - - -############################## -# --- Process Arguments --- -# - -### Default variables -opt_dump=0; opt_file=0; opt_time=0; opt_timestr=0; opt_args=0 -opt_zone=0; opt_cwd=0; opt_failonly=0; opt_err=0; filter=0; pathname=. -opt_name=0; opt_pid=0; pname=.; pid=0 - -### Process options -while getopts aAcef:ghn:p:svxZ name -do - case $name in - a) opt_time=1; opt_timestr=1; opt_args=1; opt_err=1 ;; - A) opt_dump=1 ;; - c) opt_cwd=1 ;; - e) opt_err=1 ;; - g) opt_args=1 ;; - f) opt_file=1; pathname=$OPTARG ;; - n) opt_name=1; pname=$OPTARG ;; - p) opt_pid=1; pid=$OPTARG ;; - s) opt_time=1 ;; - v) opt_timestr=1 ;; - x) opt_failonly=1 ;; - Z) opt_zone=1 ;; - h|?) cat <<-END >&2 - USAGE: opensnoop [-a|-A|-ceghsvxZ] [-f pathname] - [-n name] [-p PID] - opensnoop # default output - -a # print most data - -A # dump all data, space delimited - -c # print cwd of process - -e # print errno value - -g # print command arguments - -s # print start time, us - -v # print start time, string - -x # only print failed opens - -Z # print zonename - -f pathname # pathname name to snoop - -n name # process name to snoop - -p PID # process ID to snoop - eg, - opensnoop -v # human readable timestamps - opensnoop -e # see error codes - opensnoop -f /etc/motd # snoop this file only - END - exit 1 - esac -done - -### Option logic -if [ $opt_dump -eq 1 ]; then - opt_zone=0; opt_cwd=0; opt_time=0; opt_timestr=0; opt_args=2 -fi -if [ $opt_name -eq 1 -o $opt_pid -eq 1 ]; then - filter=1 -fi - - -################################# -# --- Main Program, DTrace --- -# -/usr/sbin/dtrace -n ' - /* - * Command line arguments - */ - inline int OPT_dump = '$opt_dump'; - inline int OPT_file = '$opt_file'; - inline int OPT_args = '$opt_args'; - inline int OPT_cwd = '$opt_cwd'; - inline int OPT_err = '$opt_err'; - inline int OPT_zone = '$opt_zone'; - inline int OPT_time = '$opt_time'; - inline int OPT_timestr = '$opt_timestr'; - inline int OPT_failonly = '$opt_failonly'; - inline int OPT_pid = '$opt_pid'; - inline int OPT_name = '$opt_name'; - inline int FILTER = '$filter'; - inline int PID = '$pid'; - inline string PATHNAME = "'$pathname'"; - inline string NAME = "'$pname'"; - - #pragma D option quiet - #pragma D option switchrate=10hz - - /* - * Print header - */ - dtrace:::BEGIN - { - /* - * ternary operators are used to improve performance. - * OPT_args is unusual in that it can have one of three values. - */ - - /* print optional headers */ - OPT_time ? printf("%-14s ", "TIME") : 1; - OPT_timestr ? printf("%-20s ", "STRTIME") : 1; - OPT_zone ? printf("%-10s ", "ZONE") : 1; - - /* print dump headers */ - OPT_dump ? printf("%s %s %s %s %s %s %s %s %s %s %s", "ZONE", - "TIME", "UID", "PID", "PPID", "COMM", "FD", "ERR", "CWD", - "PATH", "ARGS") : printf("%5s %6s ","UID","PID"); - - /* print main headers */ - OPT_args == 0 ? printf("%-12s ", "COMM") : 1; - OPT_dump == 0 ? printf("%3s ", "FD") : 1; - OPT_err ? printf("%3s ", "ERR") : 1; - OPT_cwd ? printf("%-20s ", "CWD") : 1; - OPT_dump == 0 ? printf("%-20s ", "PATH") : 1; - OPT_args == 1 ? printf("%s", "ARGS") : 1; - printf("\n"); - } - - /* - * Print open event - */ - syscall::open:entry - { - /* save pathname */ - self->pathp = arg0; - - /* default is to trace unless filtering */ - self->ok = FILTER ? 0 : 1; - - /* check each filter */ - (OPT_name == 1 && NAME == execname) ? self->ok = 1 : 1; - (OPT_pid == 1 && PID == pid) ? self->ok = 1 : 1; - /* OPT_file is checked on return to ensure pathp is mapped */ - } - - syscall::open:return - /self->ok && (! OPT_failonly || (int)arg0 < 0) && - ((OPT_file == 0) || (OPT_file == 1 && PATHNAME == copyinstr(self->pathp)))/ - { - /* print optional fields */ - OPT_time ? printf("%-14d ", timestamp/1000) : 1; - OPT_timestr ? printf("%-20Y ", walltimestamp) : 1; - OPT_zone ? printf("%-10s ", zonename) : 1; - - /* print dump fields */ - OPT_dump ? printf("%s %d %d %d %d %s %d %d %s %s %S", zonename, - timestamp/1000, uid, pid, ppid, execname, (int)arg0, errno, - cwd, copyinstr(self->pathp), curpsinfo->pr_psargs) : - printf("%5d %6d ", uid, pid); - - /* print main fields */ - OPT_args == 0 ? printf("%-12s ", execname) : 1; - OPT_dump == 0 ? printf("%3d ", (int)arg0) : 1; - OPT_err ? printf("%3d ", errno) : 1; - OPT_cwd ? printf("%-20s ", cwd) : 1; - OPT_dump == 0 ? printf("%-20s ", copyinstr(self->pathp)) : 1; - OPT_args == 1 ? printf("%S", curpsinfo->pr_psargs) : 1; - printf("\n"); - - /* cleanup */ - self->pathp = 0; - self->ok = 0; - } - - /* - * Cleanup - */ - syscall::open:return - /self->ok/ - { - self->pathp = 0; - self->ok = 0; - } -' diff --git a/cddl/contrib/dtracetoolkit/procsystime b/cddl/contrib/dtracetoolkit/procsystime deleted file mode 100755 index 3b4bae7b68a4..000000000000 --- a/cddl/contrib/dtracetoolkit/procsystime +++ /dev/null @@ -1,233 +0,0 @@ -#!/bin/sh -# -# procsystime - print process system call time details. -# Written using DTrace (Solaris 10 3/05). -# -# $Id: procsystime 4 2007-08-01 11:01:38Z brendan $ -# -# USAGE: procsystime [-acehoT] [ -p PID | -n name | command ] -# -# -p PID # examine this PID -# -n name # examine this process name -# -a # print all details -# -c # print syscall counts -# -e # print elapsed times -# -o # print CPU times -# -T # print totals -# eg, -# procsystime -p 1871 # examine PID 1871 -# procsystime -n tar # examine processes called "tar" -# procsystime -aTn bash # print all details for bash shells -# procsystime df -h # run and examine "df -h" -# -# The elapsed times are interesting, to help identify syscalls that take -# some time to complete (during which the process may have slept). CPU time -# helps us identify syscalls that are consuming CPU cycles to run. -# -# FIELDS: -# SYSCALL System call name -# TIME (ns) Total time, nanoseconds -# COUNT Number of occurrences -# -# COPYRIGHT: Copyright (c) 2005 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# Author: Brendan Gregg [Sydney, Australia] -# -# 27-Apr-2005 Brendan Gregg Created this. -# 08-Jun-2005 " " Added command option. -# 22-Sep-2005 " " Allowed systemwide tracing. -# 22-Sep-2005 " " Last update. -# - - -############################## -# --- Process Arguments --- -# - -### Default variables -opt_filter=0; opt_pid=0; opt_name=0; pid=0; pname="."; -opt_elapsed=0; opt_cpu=0; opt_counts=0; opt_totals=0 -opt_command=0; command=""; - -### Process options -while getopts acehn:op:T name -do - case $name in - p) opt_filter=1; opt_pid=1; pid=$OPTARG ;; - n) opt_filter=1; opt_name=1; pname=$OPTARG ;; - a) opt_totals=1; opt_elapsed=1; opt_cpu=1; opt_counts=1 ;; - e) opt_elapsed=1 ;; - c) opt_counts=1 ;; - o) opt_cpu=1 ;; - T) opt_totals=1 ;; - h|?) cat <<-END >&2 - USAGE: procsystime [-aceho] [ -p PID | -n name | command ] - -p PID # examine this PID - -n name # examine this process name - -a # print all details - -e # print elapsed times - -c # print syscall counts - -o # print CPU times - -T # print totals - eg, - procsystime -p 1871 # examine PID 1871 - procsystime -n tar # examine processes called "tar" - procsystime -aTn bash # print all details for bash - procsystime df -h # run and examine "df -h" - END - exit 1 - esac -done -shift `expr $OPTIND - 1` - -### Option logic -if [ $opt_pid -eq 0 -a $opt_name -eq 0 -a "$*" != "" ]; then - opt_filter=1 - opt_command=1 - command="$*" -fi -if [ $opt_elapsed -eq 0 -a $opt_cpu -eq 0 -a $opt_counts -eq 0 ]; then - opt_elapsed=1; -fi - - -################################# -# --- Main Program, DTrace --- -# -dtrace=' - #pragma D option quiet - - /* - * Command line arguments - */ - inline int OPT_elapsed = '$opt_elapsed'; - inline int OPT_cpu = '$opt_cpu'; - inline int OPT_counts = '$opt_counts'; - inline int OPT_filter = '$opt_filter'; - inline int OPT_pid = '$opt_pid'; - inline int OPT_name = '$opt_name'; - inline int OPT_totals = '$opt_totals'; - inline int OPT_command = '$opt_command'; - inline int PID = '$pid'; - inline string NAME = "'$pname'"; - inline string COMMAND = "'$command'"; - - dtrace:::BEGIN - { - self->start = 0; - self->vstart = 0; - } - dtrace:::BEGIN - /! OPT_command/ - { - printf("Tracing... Hit Ctrl-C to end...\n"); - } - - /* - * Set start timestamp and counts - */ - syscall:::entry - /(! OPT_filter) || - (OPT_pid && pid == PID) || - (OPT_name && execname == NAME) || - (OPT_command && pid == $target)/ - { - self->ok = 1; - } - syscall:::entry - /self->ok/ - { - OPT_counts ? @Counts[probefunc] = count() : 1; - (OPT_counts && OPT_totals) ? @Counts["TOTAL:"] = count() : 1; - OPT_elapsed ? self->start = timestamp : 1; - OPT_cpu ? self->vstart = vtimestamp : 1; - self->ok = 0; - } - - /* - * Calculate time deltas - */ - syscall:::return - /self->start/ - { - this->elapsed = timestamp - self->start; - @Elapsed[probefunc] = sum(this->elapsed); - OPT_totals ? @Elapsed["TOTAL:"] = sum(this->elapsed) : 1; - self->start = 0; - } - syscall:::return - /self->vstart/ - { - this->cpu = vtimestamp - self->vstart; - @CPU[probefunc] = sum(this->cpu); - OPT_totals ? @CPU["TOTAL:"] = sum(this->cpu) : 1; - self->vstart = 0; - } - - /* - * Elapsed time report - */ - dtrace:::END - /OPT_elapsed/ - { - printf("\nElapsed Times for "); - OPT_pid ? printf("PID %d,\n\n",PID) : 1; - OPT_name ? printf("processes %s,\n\n",NAME) : 1; - OPT_command ? printf("command %s,\n\n",COMMAND) : 1; - (! OPT_filter) ? printf("all processes,\n\n") : 1; - printf("%16s %18s\n","SYSCALL","TIME (ns)"); - printa("%16s %@18d\n",@Elapsed); - } - - /* - * CPU time report - */ - dtrace:::END - /OPT_cpu/ - { - printf("\nCPU Times for "); - OPT_pid ? printf("PID %d,\n\n",PID) : 1; - OPT_name ? printf("processes %s,\n\n",NAME) : 1; - OPT_command ? printf("command %s,\n\n",COMMAND) : 1; - (! OPT_filter) ? printf("all processes,\n\n") : 1; - printf("%16s %18s\n","SYSCALL","TIME (ns)"); - printa("%16s %@18d\n",@CPU); - } - - /* - * Syscall count report - */ - dtrace:::END - /OPT_counts/ - { - printf("\nSyscall Counts for "); - OPT_pid ? printf("PID %d,\n\n",PID) : 1; - OPT_name ? printf("processes %s,\n\n",NAME) : 1; - OPT_command ? printf("command %s,\n\n",COMMAND) : 1; - (! OPT_filter) ? printf("all processes,\n\n") : 1; - printf("%16s %18s\n","SYSCALL","COUNT"); - OPT_counts ? printa("%16s %@18d\n",@Counts) : 1; - } -' - -### Run DTrace -if [ $opt_command -eq 1 ]; then - /usr/sbin/dtrace -n "$dtrace" -x evaltime=exec -c "$command" >&2 -else - /usr/sbin/dtrace -n "$dtrace" >&2 -fi - diff --git a/cddl/contrib/dtracetoolkit/rwsnoop b/cddl/contrib/dtracetoolkit/rwsnoop deleted file mode 100755 index c96bd68f0143..000000000000 --- a/cddl/contrib/dtracetoolkit/rwsnoop +++ /dev/null @@ -1,233 +0,0 @@ -#!/bin/sh -# -# rwsnoop - snoop read/write events. -# Originally written using DTrace (Solaris 10 3/05). -# -# This is measuring reads and writes at the application level. This matches -# the syscalls read, and write. -# -# $Id: rwsnoop 3 2007-08-01 10:50:08Z brendan $ -# -# USAGE: rwsnoop [-jPtvZ] [-n name] [-p pid] -# -# rwsnoop # default output -# -# -P # print parent process ID -# -t # print timestamp, us -# -v # print time, string -# -J # print jail ID -# -n name # this process name only -# -p PID # this PID only -# eg, -# rwsnoop -J # print jail ID -# rwsnoop -n bash # monitor processes named "bash" -# rwsnoop > out.txt # recommended -# -# NOTE: -# rwsnoop usually prints plenty of output, which itself will cause -# more output. It can be better to redirect the output of rwsnoop -# to a file to prevent this. -# -# FIELDS: -# TIME Timestamp, us -# TIMESTR Time, string -# JAIL JAIL ID -# UID User ID -# PID Process ID -# PPID Parent Process ID -# CMD Process name -# D Direction, Read or Write -# BYTES Total bytes during sample, -1 for error -# FILE Filename, if file based -# -# Reads and writes that are not file based, for example with sockets, will -# print "" as the filename. -# -# SEE ALSO: rwtop -# -# COPYRIGHT: Copyright (c) 2005 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# TODO: -# Track readv and writev. -# -# Author: Brendan Gregg [Sydney, Australia] -# -# 24-Jul-2005 Brendan Gregg Created this. -# 17-Sep-2005 " " Increased switchrate. -# 17-Sep-2005 " " Last update. -# 26-Jul-2014 George Neville-Neil Port to FreeBSD -# - - -############################## -# --- Process Arguments --- -# - -### default variables -opt_name=0; opt_pid=0; opt_jailid=0; opt_time=0; opt_timestr=0 -opt_bytes=1; filter=0; pname=.; pid=0; opt_ppid=0; - -### process options -while getopts n:Pp:jtvZ name -do - case $name in - n) opt_name=1; pname=$OPTARG ;; - p) opt_pid=1; pid=$OPTARG ;; - P) opt_ppid=1 ;; - t) opt_time=1 ;; - v) opt_timestr=1 ;; - J) opt_jailid=1 ;; - h|?) cat <<-END >&2 - USAGE: rwsnoop [-jPtvZ] [-n name] [-p pid] - - -P # print parent process ID - -t # print timestamp, us - -v # print time, string - -J # print jail ID - -n name # this process name only - -p PID # this PID only - eg, - rwsnoop # default output - rwsnoop -J # print jail ID - rwsnoop -n bash # monitor processes named "bash" - END - exit 1 - esac -done - -shift $(( $OPTIND - 1 )) - -### option logic -if [ $opt_name -ne 0 ]; then - filter=1 -fi - -if [ $opt_pid -ne 0 ]; then - filter=1 -fi - -################################# -# --- Main Program, DTrace --- -# -/usr/sbin/dtrace -n ' - /* - * Command line arguments - */ - inline int OPT_jailid = '$opt_jailid'; - inline int OPT_bytes = '$opt_bytes'; - inline int OPT_name = '$opt_name'; - inline int OPT_ppid = '$opt_ppid'; - inline int OPT_pid = '$opt_pid'; - inline int OPT_time = '$opt_time'; - inline int OPT_timestr = '$opt_timestr'; - inline int FILTER = '$filter'; - inline int PID = '$pid'; - inline string NAME = "'$pname'"; - - #pragma D option quiet - #pragma D option switchrate=10hz - - /* - * Print header - */ - dtrace:::BEGIN - { - /* print header */ - OPT_time ? printf("%-14s ", "TIME") : 1; - OPT_timestr ? printf("%-20s ", "TIMESTR") : 1; - OPT_jailid ? printf("%5s ", "JAILID") : 1; - OPT_ppid ? printf("%6s ", "PPID") : 1; - printf("%5s %6s %-12s %4s %1s %7s\n", - "UID", "PID", "CMD", "FD", "D", "BYTES"); - } - - /* - * Check event is being traced - */ - syscall::*read:entry, - syscall::*write:entry - /pid != $pid/ - { - /* default is to trace unless filtering, */ - self->ok = FILTER ? 0 : 1; - - /* check each filter, */ - (OPT_name == 1 && NAME == execname)? self->ok = 1 : 1; - (OPT_pid == 1 && PID == pid) ? self->ok = 1 : 1; - - /* save file descriptor */ - self->fd = self->ok ? arg0 : 0; - } - - /* - * Save read details - */ - syscall::*read:return - /self->ok/ - { - self->rw = "R"; - self->size = arg0; - } - - /* - * Save write details - */ - syscall::*write:entry - /self->ok/ - { - self->rw = "W"; - self->size = arg2; - } - - /* - * Process event - */ - syscall::*read:return, - syscall::*write:entry - /self->ok/ - { - /* - * Fetch filename - * XXX Not yet implemented. - */ -/* - - this->filistp = curthread->t_procp->p_user.u_finfo.fi_list; - this->ufentryp = (uf_entry_t *)((uint64_t)this->filistp + - (uint64_t)self->fd * (uint64_t)sizeof(uf_entry_t)); - this->filep = this->ufentryp->uf_file; - this->vnodep = this->filep != 0 ? this->filep->f_vnode : 0; - self->vpath = this->vnodep ? (this->vnodep->v_path != 0 ? - cleanpath(this->vnodep->v_path) : "") : ""; -*/ - /* - * Print details - */ - OPT_time ? printf("%-14d ", timestamp / 1000) : 1; - OPT_timestr ? printf("%-20Y ", walltimestamp) : 1; - OPT_jailid ? printf("%5d ", curpsinfo->pr_jailid) : 1; - OPT_ppid ? printf("%6d ", ppid) : 1; - printf("%5d %6d %-12.12s %4d %1s %7d\n", - uid, pid, execname, self->fd, self->rw, (int)self->size); - - self->ok = 0; - self->fd = 0; - self->rw = 0; - self->size = 0; - self->vpath = 0; - } -' diff --git a/cddl/contrib/dtracetoolkit/rwtop b/cddl/contrib/dtracetoolkit/rwtop deleted file mode 100755 index ed0a6faaa475..000000000000 --- a/cddl/contrib/dtracetoolkit/rwtop +++ /dev/null @@ -1,292 +0,0 @@ -#!/usr/bin/ksh -# -# rwtop - display top read/write bytes by process. -# Written using DTrace (Solaris 10 3/05). -# -# This is measuring reads and writes at the application level. This matches -# read and write system calls. -# -# $Id: rwtop 3 2007-08-01 10:50:08Z brendan $ -# -# USAGE: rwtop [-cC] [-j|-Z] [-n name] [-p pid] -# [-t top] [interval [count]] -# -# rwtop # default output, 5 second samples -# -# -C # don't clear the screen -# -c # print counts -# -j # print project ID -# -Z # print zone ID -# -n name # this process name only -# -p PID # this PID only -# -t top # print top number only -# eg, -# rwtop 1 # 1 second samples -# rwtop -t 10 # print top 10 only -# rwtop -n bash # monitor processes named "bash" -# rwtop -C 5 12 # print 12 x 5 second samples -# -# FIELDS: -# ZONE Zone ID -# PROJ Project ID -# UID User ID -# PID Process ID -# PPID Parent Process ID -# CMD Process name -# D Direction, Read or Write -# BYTES Total bytes during sample -# app_r total reads during sample, Kbytes -# app_w total writes during sample, Kbytes -# -# SEE ALSO: iotop -# -# INSPIRATION: top(1) by William LeFebvre -# -# COPYRIGHT: Copyright (c) 2005, 2006 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# Author: Brendan Gregg [Sydney, Australia] -# -# 24-Jul-2005 Brendan Gregg Created this. -# 20-Apr-2006 " " Last update. - - -############################## -# --- Process Arguments --- -# - -### default variables -opt_name=0; opt_pid=0; opt_clear=1; opt_proj=0; opt_zone=0 -opt_def=1; opt_bytes=1; filter=0; pname=.; pid=0 -opt_top=0; opt_count=0; interval=5; count=-1; top=0 - -### process options -while getopts Cchn:p:jt:Z name -do - case $name in - C) opt_clear=0 ;; - c) opt_count=1; opt_bytes=0 ;; - n) opt_name=1; pname=$OPTARG ;; - p) opt_pid=1; pid=$OPTARG ;; - j) opt_proj=1; opt_def=0 ;; - t) opt_top=1; top=$OPTARG ;; - Z) opt_zone=1; opt_def=0 ;; - h|?) cat <<-END >&2 - USAGE: rwtop [-cC] [-j|-Z] [-n name] [-p pid] - [-t top] [interval [count]] - - -C # don't clear the screen - -c # print counts - -j # print project ID - -Z # print zone ID - -n name # this process name only - -p PID # this PID only - -t top # print top number only - eg, - rwtop # default output, 5 second samples - rwtop 1 # 1 second samples - rwtop -t 10 # print top 10 only - rwtop -n bash # monitor processes named "bash" - rwtop -C 5 12 # print 12 x 5 second samples - END - exit 1 - esac -done - -shift $(( $OPTIND - 1 )) - -### option logic -if [[ "$1" > 0 ]]; then - interval=$1; shift -fi -if [[ "$1" > 0 ]]; then - count=$1; shift -fi -if (( opt_proj && opt_zone )); then - opt_proj=0 -fi -if (( opt_name || opt_pid )); then - filter=1 -fi -if (( opt_clear )); then - clearstr=`clear` -else - clearstr=. -fi - - - -################################# -# --- Main Program, DTrace --- -# -/usr/sbin/dtrace -n ' - /* - * Command line arguments - */ - inline int OPT_def = '$opt_def'; - inline int OPT_proj = '$opt_proj'; - inline int OPT_zone = '$opt_zone'; - inline int OPT_clear = '$opt_clear'; - inline int OPT_bytes = '$opt_bytes'; - inline int OPT_count = '$opt_count'; - inline int OPT_name = '$opt_name'; - inline int OPT_pid = '$opt_pid'; - inline int OPT_top = '$opt_top'; - inline int INTERVAL = '$interval'; - inline int COUNTER = '$count'; - inline int FILTER = '$filter'; - inline int TOP = '$top'; - inline int PID = '$pid'; - inline string NAME = "'$pname'"; - inline string CLEAR = "'$clearstr'"; - - #pragma D option quiet - - /* - * Print header - */ - dtrace:::BEGIN - { - /* starting values */ - counts = COUNTER; - secs = INTERVAL; - app_r = 0; - app_w = 0; - - printf("Tracing... Please wait.\n"); - } - - /* - * Check event is being traced - */ - sysinfo:::readch, - sysinfo:::writech - /pid != $pid/ - { - /* default is to trace unless filtering, */ - this->ok = FILTER ? 0 : 1; - - /* check each filter, */ - (OPT_name == 1 && NAME == execname)? this->ok = 1 : 1; - (OPT_pid == 1 && PID == pid) ? this->ok = 1 : 1; - } - - /* - * Increment tallys - */ - sysinfo:::readch - /this->ok/ - { - app_r += arg0; - } - sysinfo:::writech - /this->ok/ - { - app_w += arg0; - } - - /* - * Process event - */ - sysinfo:::readch, - sysinfo:::writech - /this->ok/ - { - /* choose statistic to track */ - this->value = OPT_bytes ? arg0 : 1; - - /* - * Save details - */ - OPT_def ? @out[uid, pid, ppid, execname, - probename == "readch" ? "R" : "W"] = sum(this->value) : 1; - OPT_proj ? @out[curpsinfo->pr_projid, pid, ppid, execname, - probename == "readch" ? "R" : "W"] = sum(this->value) : 1; - OPT_zone ? @out[curpsinfo->pr_zoneid, pid, ppid, execname, - probename == "readch" ? "R" : "W"] = sum(this->value) : 1; - - this->ok = 0; - } - - /* - * Timer - */ - profile:::tick-1sec - { - secs--; - } - - /* - * Print Report - */ - profile:::tick-1sec - /secs == 0/ - { - /* fetch 1 min load average */ - this->load1a = `hp_avenrun[0] / 65536; - this->load1b = ((`hp_avenrun[0] % 65536) * 100) / 65536; - - /* convert counters to Kbytes */ - app_r /= 1024; - app_w /= 1024; - - /* print status */ - OPT_clear ? printf("%s", CLEAR) : 1; - printf("%Y, load: %d.%02d, app_r: %6d KB, app_w: %6d KB\n\n", - walltimestamp, this->load1a, this->load1b, app_r, app_w); - - /* print headers */ - OPT_def ? printf(" UID ") : 1; - OPT_proj ? printf(" PROJ ") : 1; - OPT_zone ? printf(" ZONE ") : 1; - printf("%6s %6s %-16s %1s", - "PID", "PPID", "CMD", "D"); - OPT_bytes ? printf(" %16s\n", "BYTES") : 1; - OPT_count ? printf(" %16s\n", "COUNT") : 1; - - /* truncate to top lines if needed */ - OPT_top ? trunc(@out, TOP) : 1; - - /* print data */ - printa("%5d %6d %6d %-16s %1s %16@d\n", @out); - printf("\n"); - - /* clear data */ - trunc(@out); - app_r = 0; - app_w = 0; - secs = INTERVAL; - counts--; - } - - /* - * End of program - */ - profile:::tick-1sec - /counts == 0/ - { - exit(0); - } - - /* - * Cleanup for Ctrl-C - */ - dtrace:::END - { - trunc(@out); - } -' - diff --git a/cddl/contrib/dtracetoolkit/statsnoop b/cddl/contrib/dtracetoolkit/statsnoop deleted file mode 100755 index 6284fb5060f3..000000000000 --- a/cddl/contrib/dtracetoolkit/statsnoop +++ /dev/null @@ -1,286 +0,0 @@ -#!/usr/bin/sh -# -# statsnoop - snoop file stats as they occur. -# Written using DTrace (Solaris 10 3/05). -# -# $Id: statsnoop 65 2007-10-04 11:09:40Z brendan $ -# -# USAGE: statsnoop [-a|-A|-ceghlsvxZ] [-f pathname] [-t syscall] -# [-n name] [-p PID] -# -# statsnoop # default output -# -# -a # print most data -# -A # dump all data, space delimited -# -c # print cwd of process -# -e # print errno value -# -g # print command arguments -# -l # print syscall type -# -s # print start time, us -# -v # print start time, string -# -x # only print failed stats -# -Z # print zonename -# -f pathname # file pathname to snoop -# -n name # command name to snoop -# -p PID # process ID to snoop -# -t syscall # stat syscall to trace -# eg, -# statsnoop -v # human readable timestamps -# statsnoop -S # syscall type -# statsnoop -e # see error codes -# statsnoop -f /etc/passwd # snoop this file only -# -# FIELDS: -# ZONE Zone name -# UID User ID -# PID Process ID -# PPID Parent Process ID -# FD file descriptor (-1 for error) -# ERR errno value (see /usr/include/sys/errno.h) -# TYPE syscall type -# CWD current working directory of process -# PATH pathname for file stat -# COMM command name for the process -# ARGS argument listing for the process -# TIME timestamp for the stat event, us -# STRTIME timestamp for the stat event, string -# -# SEE ALSO: truss, BSM auditing. -# -# COPYRIGHT: Copyright (c) 2007 Brendan Gregg. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. -# -# You can obtain a copy of the license at Docs/cddl1.txt -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# CDDL HEADER END -# -# Author: Brendan Gregg [Sydney, Australia] -# -# 09-Sep-2007 Brendan Gregg Created this. -# - - -############################## -# --- Process Arguments --- -# - -### Default variables -opt_dump=0; opt_file=0; opt_time=0; opt_timestr=0; opt_args=0 -opt_zone=0; opt_cwd=0; opt_failonly=0; opt_err=0; filter=0; pathname=. -opt_name=0; opt_pid=0; opt_type=0; opt_trace=0; pname=.; pid=0; trace=. - -### Process options -while getopts aAcef:ghln:p:st:vxZ name -do - case $name in - a) opt_time=1; opt_timestr=1; opt_args=1; opt_err=1 ;; - A) opt_dump=1 ;; - c) opt_cwd=1 ;; - e) opt_err=1 ;; - g) opt_args=1 ;; - f) opt_file=1; pathname=$OPTARG ;; - l) opt_type=1 ;; - n) opt_name=1; pname=$OPTARG ;; - p) opt_pid=1; pid=$OPTARG ;; - s) opt_time=1 ;; - t) opt_trace=1; trace=$OPTARG ;; - v) opt_timestr=1 ;; - x) opt_failonly=1 ;; - Z) opt_zone=1 ;; - h|?) cat <<-END >&2 - USAGE: statsnoop [-a|-A|-ceghlsvxZ] [-f pathname] [-t syscall] - [-n execname] [-p PID] - statsnoop # default output - -a # print most data - -A # dump all data, space delimited - -c # print cwd of process - -e # print errno value - -g # print command arguments - -l # print syscall type - -s # print start time, us - -v # print start time, string - -x # only print failed stats - -Z # print zonename - -f pathname # pathname name to snoop - -n name # process name to snoop - -p PID # process ID to snoop - -t syscall # stat syscall to trace - eg, - statsnoop -v # human readable timestamps - statsnoop -e # see error codes - statsnoop -f /etc/motd # snoop this file only - END - exit 1 - esac -done - -### Option logic -if [ $opt_dump -eq 1 ]; then - opt_zone=0; opt_cwd=0; opt_time=0; opt_timestr=0; opt_type=0 - opt_args=2 -fi -if [ $opt_name -eq 1 -o $opt_pid -eq 1 -o $opt_trace -eq 1 ]; then - filter=1 -fi - - -################################# -# --- Main Program, DTrace --- -# -/usr/sbin/dtrace -n ' - /* - * Command line arguments - */ - inline int OPT_dump = '$opt_dump'; - inline int OPT_file = '$opt_file'; - inline int OPT_args = '$opt_args'; - inline int OPT_cwd = '$opt_cwd'; - inline int OPT_err = '$opt_err'; - inline int OPT_zone = '$opt_zone'; - inline int OPT_time = '$opt_time'; - inline int OPT_timestr = '$opt_timestr'; - inline int OPT_type = '$opt_type'; - inline int OPT_failonly = '$opt_failonly'; - inline int OPT_pid = '$opt_pid'; - inline int OPT_name = '$opt_name'; - inline int OPT_trace = '$opt_trace'; - inline int FILTER = '$filter'; - inline int PID = '$pid'; - inline string PATHNAME = "'$pathname'"; - inline string NAME = "'$pname'"; - inline string TRACE = "'$trace'"; - - #pragma D option quiet - #pragma D option switchrate=10hz - - /* - * Print header - */ - dtrace:::BEGIN - { - /* print optional headers */ - OPT_time ? printf("%-14s ", "TIME") : 1; - OPT_timestr ? printf("%-20s ", "STRTIME") : 1; - OPT_zone ? printf("%-10s ", "ZONE") : 1; - - /* print dump headers */ - OPT_dump ? printf("%s %s %s %s %s %s %s %s %s %s %s", "ZONE", - "TIME", "UID", "PID", "PPID", "COMM", "FD", "ERR", "CWD", - "PATH", "ARGS") : printf("%5s %6s ","UID","PID"); - - /* print main headers */ - OPT_args == 0 ? printf("%-12s ", "COMM") : 1; - OPT_dump == 0 ? printf("%3s ", "FD") : 1; - OPT_err ? printf("%3s ", "ERR") : 1; - OPT_cwd ? printf("%-20s ", "CWD") : 1; - OPT_type ? printf("%-8s ", "TYPE") : 1; - OPT_dump == 0 ? printf("%-20s ", "PATH") : 1; - OPT_args == 1 ? printf("%s", "ARGS") : 1; - printf("\n"); - } - - /* - * Print stat event - */ - syscall::stat:entry, syscall::stat64:entry, syscall::xstat:entry, - syscall::lstat:entry, syscall::lstat64:entry, syscall::lxstat:entry, - syscall::fstat:entry, syscall::fstat64:entry, syscall::fxstat:entry - { - /* default is to trace unless filtering */ - self->ok = FILTER ? 0 : 1; - - /* check each filter */ - (OPT_name == 1 && NAME == execname) ? self->ok = 1 : 1; - (OPT_pid == 1 && PID == pid) ? self->ok = 1 : 1; - (OPT_trace == 1 && TRACE == probefunc) ? self->ok = 1 : 1; - } - - syscall::stat:entry, syscall::stat64:entry, - syscall::lstat:entry, syscall::lstat64:entry, syscall::lxstat:entry - /self->ok/ - { - self->pathp = arg0; - } - - syscall::xstat:entry - /self->ok/ - { - self->pathp = arg1; - } - - syscall::stat:return, syscall::stat64:return, syscall::xstat:return, - syscall::lstat:return, syscall::lstat64:return, syscall::lxstat:return - /self->ok/ - { - self->path = copyinstr(self->pathp); - self->pathp = 0; - } - - syscall::fstat:return, syscall::fstat64:entry, syscall::fxstat:entry - /self->ok/ - { - self->filep = curthread->t_procp->p_user.u_finfo.fi_list[arg0].uf_file; - } - - syscall::fstat:return, syscall::fstat64:return, syscall::fxstat:return - /self->ok/ - { - this->vnodep = self->filep != 0 ? self->filep->f_vnode : 0; - self->path = this->vnodep ? (this->vnodep->v_path != 0 ? - cleanpath(this->vnodep->v_path) : "") : ""; - self->filep = 0; - } - - syscall::stat:return, syscall::stat64:return, syscall::xstat:return, - syscall::lstat:return, syscall::lstat64:return, syscall::lxstat:return, - syscall::fstat:return, syscall::fstat64:return, syscall::fxstat:return - /self->ok && (! OPT_failonly || (int)arg0 < 0) && - ((OPT_file == 0) || (OPT_file == 1 && PATHNAME == copyinstr(self->pathp)))/ - { - /* print optional fields */ - OPT_time ? printf("%-14d ", timestamp/1000) : 1; - OPT_timestr ? printf("%-20Y ", walltimestamp) : 1; - OPT_zone ? printf("%-10s ", zonename) : 1; - - /* print dump fields */ - OPT_dump ? printf("%s %d %d %d %d %s %d %d %s %s %S", zonename, - timestamp/1000, uid, pid, ppid, execname, (int)arg0, errno, - cwd, self->path, curpsinfo->pr_psargs) : - printf("%5d %6d ", uid, pid); - - /* print main fields */ - OPT_args == 0 ? printf("%-12.12s ", execname) : 1; - OPT_dump == 0 ? printf("%3d ", (int)arg0) : 1; - OPT_err ? printf("%3d ", errno) : 1; - OPT_cwd ? printf("%-20s ", cwd) : 1; - OPT_type ? printf("%-8s ", probefunc) : 1; - OPT_dump == 0 ? printf("%-20s ", self->path) : 1; - OPT_args == 1 ? printf("%S", curpsinfo->pr_psargs) : 1; - printf("\n"); - - /* cleanup */ - self->path = 0; - self->ok = 0; - } - - /* - * Cleanup - */ - syscall::stat:return, syscall::stat64:return, syscall::xstat:return, - syscall::lstat:return, syscall::lstat64:return, syscall::lxstat:return, - syscall::fstat:return, syscall::fstat64:return, syscall::fxstat:return - /self->ok/ - { - self->path = 0; - self->ok = 0; - } -' diff --git a/cddl/usr.sbin/Makefile b/cddl/usr.sbin/Makefile index 3610c4e337eb..07dc671639f2 100644 --- a/cddl/usr.sbin/Makefile +++ b/cddl/usr.sbin/Makefile @@ -3,7 +3,6 @@ .include SUBDIR= ${_dtrace} \ - ${_dtruss} \ ${_lockstat} \ ${_plockstat} \ ${_tests} \ @@ -23,14 +22,12 @@ _zhack= zhack .if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" _dtrace= dtrace -_dtruss= dtruss _lockstat= lockstat _plockstat= plockstat .endif .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "arm" _dtrace= dtrace -_dtruss= dtruss _lockstat= lockstat .endif @@ -40,7 +37,6 @@ _dtrace= dtrace .if ${MACHINE_CPUARCH} == "powerpc" _dtrace= dtrace -_dtruss= dtruss _lockstat= lockstat .endif diff --git a/cddl/usr.sbin/dtruss/Makefile b/cddl/usr.sbin/dtruss/Makefile deleted file mode 100644 index 39161ec0f8d1..000000000000 --- a/cddl/usr.sbin/dtruss/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -# $FreeBSD$ - -.PATH: ${.CURDIR}/../../../cddl/contrib/dtracetoolkit - -SCRIPTS=dtruss -MAN=dtruss.1 - -.include diff --git a/cddl/usr.sbin/dtruss/Makefile.depend b/cddl/usr.sbin/dtruss/Makefile.depend deleted file mode 100644 index f80275d86ab1..000000000000 --- a/cddl/usr.sbin/dtruss/Makefile.depend +++ /dev/null @@ -1,11 +0,0 @@ -# $FreeBSD$ -# Autogenerated - do NOT edit! - -DIRDEPS = \ - - -.include - -.if ${DEP_RELDIR} == ${_DEP_RELDIR} -# local dependencies - needed for -jN in clean tree -.endif diff --git a/cddl/usr.sbin/dtruss/dtruss.1 b/cddl/usr.sbin/dtruss/dtruss.1 deleted file mode 100644 index 416eb04469ba..000000000000 --- a/cddl/usr.sbin/dtruss/dtruss.1 +++ /dev/null @@ -1,89 +0,0 @@ -.\" -.\" Copyright (c) 2010 The FreeBSD Foundation -.\" All rights reserved. -.\" -.\" This software was developed by Rui Paulo under sponsorship from the -.\" FreeBSD Foundation. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $FreeBSD$ -.\" -.Dd August 26, 2010 -.Dt DTRUSS 1 -.Os -.Sh NAME -.Nm dtruss -.Nd Trace system calls and userland stacks using DTrace -.Sh SYNOPSIS -.Nm -.Op Fl acdefholLs -.Op Fl t Ar syscall -.Op Fl n Ar name Fl p Ar pid Ar command -.Sh DESCRIPTION -The -.Nm -utility traces system calls and (optionally) userland stack traces for the -specified programs. -.Pp -The following options are available: -.Bl -tag -width indent -.It Fl p Ar pid -Trace the process with PID -.Ar pid . -.It Fl n Ar name -Trace the process with name -.Ar name . -.It Fl t Ar syscall -Trace the specified syscall only. -.It Fl a -Print all details. -.It Fl c -Print syscall counts. -.It Fl d -Print relative times (in microseconds). -.It Fl e -Print elapsed times (in microseconds). -.It Fl f -Follow the children processes. -.It Fl l -Force printing PID / TID. -.It Fl o -Print time spent on CPU. -.It Fl s -Print userland stack backtraces. -.It Fl L -Don't print PID / TID. -.It Fl b Ar bufsize -Specify the DTrace buffer size. -.El -.Sh EXIT STATUS -.Ex -std -.Sh SEE ALSO -.Xr dtrace 1 -.Sh HISTORY -The -.Nm -utility comes from the DTraceToolkit and was first imported into -.Fx 9.0 . -.Sh AUTHORS -.An Brendan Gregg diff --git a/share/dtrace/Makefile b/share/dtrace/Makefile index 98b18fa8c228..efd8b08706ba 100644 --- a/share/dtrace/Makefile +++ b/share/dtrace/Makefile @@ -6,12 +6,6 @@ .include -SUBDIR= ${_toolkit} - -.if ${MK_CDDL} != "no" -_toolkit= toolkit -.endif - SCRIPTS= blocking \ disklatency \ disklatencycmd \ diff --git a/share/dtrace/README b/share/dtrace/README index 0540badea798..6855c6aee721 100644 --- a/share/dtrace/README +++ b/share/dtrace/README @@ -1,11 +1,5 @@ $FreeBSD$ -This directory contains scripts for use with the DTrace system. The -toolkit/ directory installs the latest vendor import of Brendan -Gregg's DTraceToolkit while the other files and directories -contain code generated by the FreeBSD Project for use with DTrace on -FreeBSD. - -NOTE: Do not add new scripts to the toolkit directory. New DTraceToolkit -scripts should be send to the maintainer of the toolkit and then brought -back into FreeBSD via future vendor imports. +This directory contains scripts for use with the DTrace system. +These files and directories contain code generated by the FreeBSD +Project for use with DTrace on FreeBSD. diff --git a/share/dtrace/toolkit/Makefile b/share/dtrace/toolkit/Makefile deleted file mode 100644 index 367b95ece32a..000000000000 --- a/share/dtrace/toolkit/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -#$FreeBSD$ -# -# Install scripts from the DTraceToolkit -# -DTRACETOOLKIT= ../../../cddl/contrib/dtracetoolkit - -SCRIPTS= ${DTRACETOOLKIT}/execsnoop \ - ${DTRACETOOLKIT}/hotkernel \ - ${DTRACETOOLKIT}/hotuser \ - ${DTRACETOOLKIT}/opensnoop \ - ${DTRACETOOLKIT}/procsystime - -SCRIPTSDIR= ${SHAREDIR}/dtrace/toolkit - -.include diff --git a/share/dtrace/toolkit/Makefile.depend b/share/dtrace/toolkit/Makefile.depend deleted file mode 100644 index f80275d86ab1..000000000000 --- a/share/dtrace/toolkit/Makefile.depend +++ /dev/null @@ -1,11 +0,0 @@ -# $FreeBSD$ -# Autogenerated - do NOT edit! - -DIRDEPS = \ - - -.include - -.if ${DEP_RELDIR} == ${_DEP_RELDIR} -# local dependencies - needed for -jN in clean tree -.endif