-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added code for debugging Node.js talk.
- Loading branch information
Showing
14 changed files
with
285 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
.classpath | ||
.gradle | ||
.project | ||
.settings | ||
bin | ||
build |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
*.log | ||
node_modules/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
{ | ||
"globals": { | ||
"console": false | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
{ | ||
"name": "debugging", | ||
"version": "0.0.1", | ||
"description": "Sample code for Node.js debugging talk", | ||
"main": "index.js", | ||
"dependencies": { | ||
"debug": "0.7.1", | ||
"memwatch": "0.2.2", | ||
"tick": "0.0.3", | ||
"xml2js": "~0.2.6" | ||
}, | ||
"author": "Daniel Rinehart", | ||
"license": "MIT" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,121 @@ | ||
<?xml version="1.0"?> | ||
<!-- http://msdn.microsoft.com/en-us/library/windows/desktop/ms762271(v=vs.85).aspx --> | ||
<catalog> | ||
<book id="bk101"> | ||
<author>Gambardella, Matthew</author> | ||
<title>XML Developer's Guide</title> | ||
<genre>Computer</genre> | ||
<price>44.95</price> | ||
<publish_date>2000-10-01</publish_date> | ||
<description>An in-depth look at creating applications | ||
with XML.</description> | ||
</book> | ||
<book id="bk102"> | ||
<author>Ralls, Kim</author> | ||
<title>Midnight Rain</title> | ||
<genre>Fantasy</genre> | ||
<price>5.95</price> | ||
<publish_date>2000-12-16</publish_date> | ||
<description>A former architect battles corporate zombies, | ||
an evil sorceress, and her own childhood to become queen | ||
of the world.</description> | ||
</book> | ||
<book id="bk103"> | ||
<author>Corets, Eva</author> | ||
<title>Maeve Ascendant</title> | ||
<genre>Fantasy</genre> | ||
<price>5.95</price> | ||
<publish_date>2000-11-17</publish_date> | ||
<description>After the collapse of a nanotechnology | ||
society in England, the young survivors lay the | ||
foundation for a new society.</description> | ||
</book> | ||
<book id="bk104"> | ||
<author>Corets, Eva</author> | ||
<title>Oberon's Legacy</title> | ||
<genre>Fantasy</genre> | ||
<price>5.95</price> | ||
<publish_date>2001-03-10</publish_date> | ||
<description>In post-apocalypse England, the mysterious | ||
agent known only as Oberon helps to create a new life | ||
for the inhabitants of London. Sequel to Maeve | ||
Ascendant.</description> | ||
</book> | ||
<book id="bk105"> | ||
<author>Corets, Eva</author> | ||
<title>The Sundered Grail</title> | ||
<genre>Fantasy</genre> | ||
<price>5.95</price> | ||
<publish_date>2001-09-10</publish_date> | ||
<description>The two daughters of Maeve, half-sisters, | ||
battle one another for control of England. Sequel to | ||
Oberon's Legacy.</description> | ||
</book> | ||
<book id="bk106"> | ||
<author>Randall, Cynthia</author> | ||
<title>Lover Birds</title> | ||
<genre>Romance</genre> | ||
<price>4.95</price> | ||
<publish_date>2000-09-02</publish_date> | ||
<description>When Carla meets Paul at an ornithology | ||
conference, tempers fly as feathers get ruffled.</description> | ||
</book> | ||
<book id="bk107"> | ||
<author>Thurman, Paula</author> | ||
<title>Splish Splash</title> | ||
<genre>Romance</genre> | ||
<price>4.95</price> | ||
<publish_date>2000-11-02</publish_date> | ||
<description>A deep sea diver finds true love twenty | ||
thousand leagues beneath the sea.</description> | ||
</book> | ||
<book id="bk108"> | ||
<author>Knorr, Stefan</author> | ||
<title>Creepy Crawlies</title> | ||
<genre>Horror</genre> | ||
<price>4.95</price> | ||
<publish_date>2000-12-06</publish_date> | ||
<description>An anthology of horror stories about roaches, | ||
centipedes, scorpions and other insects.</description> | ||
</book> | ||
<book id="bk109"> | ||
<author>Kress, Peter</author> | ||
<title>Paradox Lost</title> | ||
<genre>Science Fiction</genre> | ||
<price>6.95</price> | ||
<publish_date>2000-11-02</publish_date> | ||
<description>After an inadvertant trip through a Heisenberg | ||
Uncertainty Device, James Salway discovers the problems | ||
of being quantum.</description> | ||
</book> | ||
<book id="bk110"> | ||
<author>O'Brien, Tim</author> | ||
<title>Microsoft .NET: The Programming Bible</title> | ||
<genre>Computer</genre> | ||
<price>36.95</price> | ||
<publish_date>2000-12-09</publish_date> | ||
<description>Microsoft's .NET initiative is explored in | ||
detail in this deep programmer's reference.</description> | ||
</book> | ||
<book id="bk111"> | ||
<author>O'Brien, Tim</author> | ||
<title>MSXML3: A Comprehensive Guide</title> | ||
<genre>Computer</genre> | ||
<price>36.95</price> | ||
<publish_date>2000-12-01</publish_date> | ||
<description>The Microsoft MSXML3 parser is covered in | ||
detail, with attention to XML DOM interfaces, XSLT processing, | ||
SAX and more.</description> | ||
</book> | ||
<book id="bk112"> | ||
<author>Galos, Mike</author> | ||
<title>Visual Studio 7: A Comprehensive Guide</title> | ||
<genre>Computer</genre> | ||
<price>49.95</price> | ||
<publish_date>2001-04-16</publish_date> | ||
<description>Microsoft Visual Studio 7 is explored in depth, | ||
looking at how Visual Basic, Visual C++, C#, and ASP+ are | ||
integrated into a comprehensive development | ||
environment.</description> | ||
</book> | ||
</catalog> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
/** | ||
node src/console.log | ||
**/ | ||
var obj = { | ||
a: 12, | ||
b: { | ||
c: 'd' | ||
} | ||
}; | ||
|
||
console.info('-------------------- console.log --------------------'); | ||
console.log('logged message'); | ||
console.log('util.inspect', 0.1, obj); | ||
console.log('format syntax %d, %s, and %j', 0.1, obj, obj); | ||
|
||
console.warn('-------------------- console.error --------------------'); | ||
console.error('logged message'); | ||
console.error('util.inspect', 0.1, obj, obj); | ||
console.error('format syntax %d, %s, and %j', 0.1, obj, obj); | ||
|
||
console.info('-------------------- console.dir --------------------'); | ||
console.dir(obj); | ||
|
||
console.warn('-------------------- console.trace --------------------'); | ||
console.trace('db-op'); | ||
|
||
console.warn('-------------------- console.assert --------------------'); | ||
console.assert(1 === 1, 'one is one'); | ||
console.assert(1 === 2, 'one is two'); | ||
|
||
console.log('never logged'); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
/** | ||
node src/debug.js | ||
DEBUG=* node src/debug.js | ||
DEBUG="worker:*" node src/debug.js | ||
DEBUG=* node src/debug.js 2>&1 | tee /dev/null | ||
**/ | ||
|
||
var a = require('debug')('worker:a'); | ||
var b = require('debug')('worker:b'); | ||
var c = require('debug')('controller'); | ||
|
||
function workA() { | ||
a('doing lots of uninteresting work'); | ||
setTimeout(workA, Math.random() * 1000); | ||
} | ||
|
||
workA(); | ||
c('worker a started'); | ||
|
||
function workB() { | ||
var wait = Math.random() * 2000; | ||
b('doing some work for %d', wait); | ||
setTimeout(workB, wait); | ||
} | ||
|
||
workB(); | ||
c('worker b started'); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
/** | ||
node src/heap.js | less | ||
**/ | ||
var memwatch = require('memwatch'); | ||
|
||
function LeakingClass() { | ||
} | ||
|
||
var leaks = []; | ||
var heapDiff = new memwatch.HeapDiff(); | ||
for (var i = 0; i < 100; i++) { | ||
leaks.push(new LeakingClass()); | ||
} | ||
console.log(JSON.stringify(heapDiff.end(), null, ' ')); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
/** | ||
node src/leak.js | ||
**/ | ||
var memwatch = require('memwatch'); | ||
memwatch.on('leak', function(info) { | ||
console.log('LEAK'); | ||
console.dir(info); | ||
process.exit(0); | ||
}); | ||
memwatch.on('stats', function(stats) { | ||
console.log('STATS'); | ||
console.dir(stats); | ||
}); | ||
|
||
var parsers = []; | ||
var data = []; | ||
var xml2js = require('xml2js'); | ||
var fs = require('fs'); | ||
function loadData() { | ||
fs.readFile('sample.xml', function(err, xml) { | ||
var parser = new xml2js.Parser(); | ||
parsers.push(parser); | ||
parser.parseString(xml, function(err, json) { | ||
data.push(json); | ||
}); | ||
process.nextTick(loadData); | ||
}); | ||
} | ||
|
||
loadData(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
/** | ||
node --debug-brk src/server.js | ||
// uncommnet debugger; | ||
node --debug src/server.js | ||
**/ | ||
var http = require('http'); | ||
var count = 0; | ||
|
||
http.createServer(function (req, res) { | ||
// debugger; | ||
count += 1; | ||
res.writeHead(200, {'Content-Type': 'text/plain'}); | ||
res.end('Hello Request ' + count + '\n'); | ||
}).listen(1337, '127.0.0.1'); | ||
console.log('Server running at http://127.0.0.1:1337/'); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
/** | ||
node --prof src/time.js | ||
./node_modules/.bin/node-tick-processor | less | ||
**/ | ||
function addAwhile(stopTime) { | ||
var sum = 0; | ||
while (Date.now() < stopTime) { | ||
sum += 1; | ||
} | ||
} | ||
|
||
console.time('add-op'); | ||
addAwhile(Date.now() + 5 * 1000); | ||
console.timeEnd('add-op'); |