Skip to content

Instantly share code, notes, and snippets.

@codazzo
Last active August 29, 2015 14:07
Show Gist options
  • Select an option

  • Save codazzo/5dd7310b8d2e612b59e7 to your computer and use it in GitHub Desktop.

Select an option

Save codazzo/5dd7310b8d2e612b59e7 to your computer and use it in GitHub Desktop.
Possible memory leak in vega headless renderer
//var heapdump = require('heapdump');
var util = require('util');
var vg = require('vega');
var d3 = require('d3');
var spec = {
"width": 400,
"height": 200,
"padding": {"top": 10, "left": 30, "bottom": 30, "right": 10},
"data": [
{
"name": "table",
"values": [
{"x": 1, "y": 28}, {"x": 2, "y": 55},
{"x": 3, "y": 43}, {"x": 4, "y": 91},
{"x": 5, "y": 81}, {"x": 6, "y": 53},
{"x": 7, "y": 19}, {"x": 8, "y": 87},
{"x": 9, "y": 52}, {"x": 10, "y": 48},
{"x": 11, "y": 24}, {"x": 12, "y": 49},
{"x": 13, "y": 87}, {"x": 14, "y": 66},
{"x": 15, "y": 17}, {"x": 16, "y": 27},
{"x": 17, "y": 68}, {"x": 18, "y": 16},
{"x": 19, "y": 49}, {"x": 20, "y": 15}
]
}
],
"scales": [
{
"name": "x",
"type": "ordinal",
"range": "width",
"domain": {"data": "table", "field": "data.x"}
},
{
"name": "y",
"range": "height",
"nice": true,
"domain": {"data": "table", "field": "data.y"}
}
],
"axes": [
{"type": "x", "scale": "x"},
{"type": "y", "scale": "y"}
],
"marks": [
{
"type": "rect",
"from": {"data": "table"},
"properties": {
"enter": {
"x": {"scale": "x", "field": "data.x"},
"width": {"scale": "x", "band": true, "offset": -1},
"y": {"scale": "y", "field": "data.y"},
"y2": {"scale": "y", "value": 0}
},
"update": {
"fill": {"value": "steelblue"}
},
"hover": {
"fill": {"value": "red"}
}
}
}
]
};
var opts = {
spec: spec,
renderer: 'svg'
};
function run(){
vg.headless.render(opts, function(err, result) {
if (err) {
throw err
};
//heapdump.writeSnapshot();
console.log(util.inspect(process.memoryUsage()));
setTimeout(run, 1000);
});
}
run();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment