Location: PHPKode > scripts > uDebug > test.php
<?php

// It is only line to activate UltimaPHP debugger
require_once('udebug.class.php');

// Lets here is ordinary program with delays, loops and so

// NOTE: Remove or comment out "uDebug::..." lines after debugging !

uDebug::openMarker('main');	

$zoo = array();
for ($i = 0; $i < 20; $i ++) {
	
	uDebug::openMarker('wild_cat', $i);
	
	$legs = 0;
	for ($w = 0; $w < 10000; $w ++) {
		$legs += (2 * 2);	// 4 legs of each cat
	}
	$zoo['wild_cats'][] = $legs / 10000;
	
	uDebug::closeMarker();
	uDebug::openMarker('wild_goose', $i);
	
	$legs = 0;
	for ($w = 0; $w < 10000; $w ++) {
		$legs += (2 * 1);	// 2 legs of each goose
	}
	$zoo['wild_goose'][] = $legs / 10000;
	
	if ($i % 6 == 0) {
		// Goose with broken leg
		// Bring him to animal hospital
		uDebug::openMarker('wild_goose_hospital', $i);
		
		$health = 0;
		for ($z = 0; $z < 25000; $z ++) {
			$health += 0.78;
		}
		
		uDebug::closeMarker();
	}
	
	uDebug::closeMarker();
}

print_r($zoo);

uDebug::closeMarker();

// Print debug reports

$xml = uDebug::report_XML();

echo "<pre>\n";
echo "Debug info:\n";

echo htmlentities(uDebug::indentedXML($xml->asXML()));

// Count time only for wild gooses
$xp = $xml->xpath('//n[@name="wild_goose"]');
$ts = 0;
foreach ($xp as $d) {
	$ts += (float)$d['t'];
}

echo "\n\nTotal time for wild gooses = ".$ts;

// Count time only for wild cats
$xp = $xml->xpath('//n[@name="wild_cat"]');
$ts = 0;
foreach ($xp as $d) {
	$ts += (float)$d['t'];
}

echo "\n\nTotal time for wild cats = ".$ts;

echo "</pre>";

// In the report you can see time got to each animal (attribute "t") and also 
// time got to health gooses with broken legs (so total time for that gooses increases, you can see it)
Return current item: uDebug