diff options
Diffstat (limited to 'cddl/contrib/dtracetoolkit/Code')
20 files changed, 447 insertions, 0 deletions
diff --git a/cddl/contrib/dtracetoolkit/Code/Java/Func_abc.java b/cddl/contrib/dtracetoolkit/Code/Java/Func_abc.java new file mode 100644 index 0000000..c14012e --- /dev/null +++ b/cddl/contrib/dtracetoolkit/Code/Java/Func_abc.java @@ -0,0 +1,26 @@ +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 new file mode 100644 index 0000000..81be852 --- /dev/null +++ b/cddl/contrib/dtracetoolkit/Code/Java/Func_loop.java @@ -0,0 +1,19 @@ +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 new file mode 100644 index 0000000..c25610b --- /dev/null +++ b/cddl/contrib/dtracetoolkit/Code/JavaScript/func_clock.html @@ -0,0 +1,39 @@ +<HTML> +<HEAD> +<TITLE>func_clock, JavaScript</TITLE> +<SCRIPT type="text/javascript"> +function func_c() { + document.getElementById('now').innerHTML += "Function C<br>" + for (i = 0; i < 30000; i++) { + j = i + 1 + } +} + +function func_b() { + document.getElementById('now').innerHTML += "Function B<br>" + for (i = 0; i < 20000; i++) { + j = i + 1 + } + func_c() +} + +function func_a() { + document.getElementById('now').innerHTML += "Function A<br>" + for (i = 0; i < 10000; i++) { + j = i + 1 + } + func_b() +} + +function start() { + now = new Date() + document.getElementById('now').innerHTML = now + "<br>" + func_a() + var timeout = setTimeout('start()', 1000) +} +</SCRIPT> +</HEAD> +<BODY onload="start()"> +<DIV id="now"></DIV> +</BODY> +</HTML> diff --git a/cddl/contrib/dtracetoolkit/Code/JavaScript/func_slow.html b/cddl/contrib/dtracetoolkit/Code/JavaScript/func_slow.html new file mode 100644 index 0000000..14fdfda --- /dev/null +++ b/cddl/contrib/dtracetoolkit/Code/JavaScript/func_slow.html @@ -0,0 +1,31 @@ +<HTML> +<HEAD><TITLE>func_slow, JavaScript</TITLE></HEAD> +<BODY> +<SCRIPT type="text/javascript"> +function func_c() { + document.write("Function C<br>") + for (i = 0; i < 30000; i++) { + j = i + 1 + } +} + +function func_b() { + document.write("Function B<br>") + for (i = 0; i < 20000; i++) { + j = i + 1 + } + func_c() +} + +function func_a() { + document.write("Function A<br>") + for (i = 0; i < 10000; i++) { + j = i + 1 + } + func_b() +} + +func_a() +</SCRIPT> +</BODY> +</HTML> diff --git a/cddl/contrib/dtracetoolkit/Code/Perl/func_abc.pl b/cddl/contrib/dtracetoolkit/Code/Perl/func_abc.pl new file mode 100755 index 0000000..394f1c2 --- /dev/null +++ b/cddl/contrib/dtracetoolkit/Code/Perl/func_abc.pl @@ -0,0 +1,20 @@ +#!./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 new file mode 100755 index 0000000..5340c82 --- /dev/null +++ b/cddl/contrib/dtracetoolkit/Code/Perl/func_malloc.pl @@ -0,0 +1,18 @@ +#!./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 new file mode 100755 index 0000000..f32d09e --- /dev/null +++ b/cddl/contrib/dtracetoolkit/Code/Perl/func_slow.pl @@ -0,0 +1,20 @@ +#!./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 new file mode 100755 index 0000000..3ca70a2 --- /dev/null +++ b/cddl/contrib/dtracetoolkit/Code/Perl/hello.pl @@ -0,0 +1,3 @@ +#!./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 new file mode 100755 index 0000000..78003a9 --- /dev/null +++ b/cddl/contrib/dtracetoolkit/Code/Perl/hello_strict.pl @@ -0,0 +1,5 @@ +#!./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 new file mode 100644 index 0000000..9165611 --- /dev/null +++ b/cddl/contrib/dtracetoolkit/Code/Php/func_abc.php @@ -0,0 +1,23 @@ +<?php +function func_c() +{ + echo "Function C\n"; + sleep(1); +} + +function func_b() +{ + echo "Function B\n"; + sleep(1); + func_c(); +} + +function func_a() +{ + echo "Function A\n"; + sleep(1); + func_b(); +} + +func_a(); +?> diff --git a/cddl/contrib/dtracetoolkit/Code/Python/func_abc.py b/cddl/contrib/dtracetoolkit/Code/Python/func_abc.py new file mode 100755 index 0000000..0d4919f --- /dev/null +++ b/cddl/contrib/dtracetoolkit/Code/Python/func_abc.py @@ -0,0 +1,19 @@ +#!/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 new file mode 100755 index 0000000..9cba9c5 --- /dev/null +++ b/cddl/contrib/dtracetoolkit/Code/Python/func_slow.py @@ -0,0 +1,26 @@ +#!/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 new file mode 100644 index 0000000..f8b16d7 --- /dev/null +++ b/cddl/contrib/dtracetoolkit/Code/Readme @@ -0,0 +1,16 @@ +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 new file mode 100755 index 0000000..75adaf9 --- /dev/null +++ b/cddl/contrib/dtracetoolkit/Code/Ruby/func_abc.rb @@ -0,0 +1,20 @@ +#!./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 new file mode 100755 index 0000000..87a498c --- /dev/null +++ b/cddl/contrib/dtracetoolkit/Code/Ruby/func_slow.rb @@ -0,0 +1,32 @@ +#!./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 new file mode 100755 index 0000000..b44ce57 --- /dev/null +++ b/cddl/contrib/dtracetoolkit/Code/Shell/func_abc.sh @@ -0,0 +1,23 @@ +#!./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 new file mode 100755 index 0000000..3407646 --- /dev/null +++ b/cddl/contrib/dtracetoolkit/Code/Shell/func_slow.sh @@ -0,0 +1,35 @@ +#!./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 new file mode 100755 index 0000000..bfeeecb --- /dev/null +++ b/cddl/contrib/dtracetoolkit/Code/Shell/func_waste.sh @@ -0,0 +1,23 @@ +#!./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 new file mode 100644 index 0000000..c84acb0 --- /dev/null +++ b/cddl/contrib/dtracetoolkit/Code/Tcl/func_abc.tcl @@ -0,0 +1,20 @@ +#!./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 new file mode 100644 index 0000000..d4fc598 --- /dev/null +++ b/cddl/contrib/dtracetoolkit/Code/Tcl/func_slow.tcl @@ -0,0 +1,29 @@ +#!./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 |