Skip to content

Commit

Permalink
example
Browse files Browse the repository at this point in the history
  • Loading branch information
willbailey committed Mar 9, 2011
1 parent 2b0c449 commit 586fde1
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 12 deletions.
27 changes: 25 additions & 2 deletions example.html
Expand Up @@ -4,11 +4,34 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>JS Instrument</title>
</head>
<body>
<body onload="run()">

<script type="text/javascript" charset="utf-8" src="instrument.js"></script>
<script type="text/javascript" charset="utf-8">
$i.setEnabled(true);
function run() {
$i.setEnabled(true);

for (var j = 0; j < 100; j++) {
$i.start('fullOfStars');
// some code I'm curious about
var str = '';
for (var i = 0; i < 100000; i++) {
str += '*';
}
$i.stop('fullOfStars');
}

for (var j = 0; j < 100; j++) {
$i.start('helloWorld');
// some code I'm curious about
var str = '';
for (var i = 0; i < 10; i++) {
document.body.innerHTML += '<div>helloWorld</div>';
}
$i.stop('helloWorld');
document.body.innerHTML = '';
}
}
</script>
</body>
</html>
24 changes: 14 additions & 10 deletions instrument.js
Expand Up @@ -9,38 +9,42 @@ if (typeof exports !== 'undefined') {
// create the console window
var instrumentsWindow = window.open(
'',
'instruments',
'',
'width=600,height=600');
instrumentsWindow.$i = $i;

var $i = ns;

// storage for stats
$i.__cache = {starts: {}, metrics: {}};
var cache = cache = {starts: {}, metrics: {}};

// enable or disable statistics
$i.setEnabled = function(enabled) {
$i.__enabled = enabled;
};

$i.isEnabled = function() {
return $i.__enabled;
};

// start a labeled timer
$i.start = function(label){
if (!$i.__enabled) return;
$i.__cache.starts[label] = new Date().getTime();
cache.starts[label] = new Date().getTime();
};

// stop a labeled timer
$i.stop = function(label){
if (!$i.__enabled) return;
var start = $i.__cache.starts[label];
var start = cache.starts[label];
if (start) {
var stop = new Date().getTime();
$i.__cache.metrics[label] = $i.__cache.metrics[label] || [];
$i.__cache.metrics[label].push({
cache.metrics[label] = cache.metrics[label] || [];
cache.metrics[label].push({
start: start,
stop: stop
});
delete $i.__cache.starts[label];
delete cache.starts[label];
}
};

Expand Down Expand Up @@ -120,10 +124,10 @@ if (typeof exports !== 'undefined') {
var doc = prepareConsole();
var dataTable = doc.getElementById('data');
dataTable.innerHTML = '';
for (metric in $i.__cache.metrics) {
if ($i.__cache.metrics.hasOwnProperty(metric)) {
for (metric in cache.metrics) {
if (cache.metrics.hasOwnProperty(metric)) {
var metrics = doc.getElementById('metrics');
var data = $i.__cache.metrics[metric];
var data = cache.metrics[metric];
var dataRow = generateDataRow(metric, data);
dataTable.innerHTML += dataRow;
}
Expand Down

0 comments on commit 586fde1

Please sign in to comment.