我试图使用Google Apps脚本解析vmstat,以便公司中的每个人都可以使用它来创建数据图。你可以在这里找到我的代码,但是这段代码真的很慢。有什么我可以做得更好,或者不适合Google Apps Script吗?问题是需要处理的行数量。欢迎任何建议。Google应用程序脚本缓慢解析
function doGet(){
var file = DriveApp.getFileById(id)
var docContent = file.getAs('application/octet-stream').getDataAsString();
var data = Charts.newDataTable()
.addColumn(Charts.ColumnType.STRING, 'TIME')
.addColumn(Charts.ColumnType.NUMBER, 'Memory');
var lines = docContent.split("\n");
Logger.log(lines.length);
var i = 1;
lines.forEach(function(line) {
if ((line.indexOf('mem') < 0) && (line.indexOf('free') < 0)) {
var values = line.match(/\S+/g);
data.addRow(['5',parseInt(values[3])]);
Logger.log(i)
}
if (i == 20){
return;
}
i++;
});
for(var i=0;i< lines.length;i++){
data.addRow(['5',10]);
}
data.build();
var chart = Charts.newAreaChart()
.setDataTable(data)
.setStacked()
.setRange(0, 400)
.setTitle('Memory')
.build();
return UiApp.createApplication().add(chart);
}
你的大部分代码是关于在驱动器中查找文件的,你可以只打开想要的文件。 –
告诉我们关于您的vmstat数据的更多信息。它多久更新一次?你是如何产生它的? – Mogsdad
@ZigMandel是的,这是真的,但这只是一个未来的测试,我们会让用户选择他想要用于图表的文件。 – jackiejarvis