-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdump.js
More file actions
28 lines (26 loc) · 775 Bytes
/
dump.js
File metadata and controls
28 lines (26 loc) · 775 Bytes
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
var fs = require('fs');
var router = require('express').Router();
var heapdump = require('heapdump');
var AV = require('leanengine');
router.post('/snapshot', function(req, res, next) {
var name = 'dump_' + Date.now() + '.heapsnapshot';
heapdump.writeSnapshot('/tmp/' + name, function(err, filename) {
if(err) {
return next(err);
}
fs.readFile(filename, function(err, data) {
if(err) {
return next(err);
}
var theFile = new AV.File(name, {base64: data.toString('base64')});
theFile.save().then(function(theFile){
res.send('dump written to _File, name: ' + name);
}, function(err) {
if(err) {
return next(err);
}
});
});
});
});
module.exports = router;