javascript - 如何在 Node js 中检查下载时间和执行情况?
问题描述
我想检查每个文件的下载需要多长时间,如果下载速度慢或快,所有文件都需要时间,我们如何在节点 js 上查看和测量它?也会更好,我们也可以考虑内存。谢谢你。顺便说一下,下面代码中的 final_list 是一个 url 数组。
我下载文件的代码
var download = function (url, dest, callback) {
request.get(url)
.on('error', function (err) { console.log(err) })
.pipe(fs.createWriteStream(dest))
.on('close', callback);
};
final_list.forEach(function (str) {
var filename = str.split('/').pop();
console.log('Downloading ' + filename);
download(str, filename, function () { console.log('Finished Downloading' + "" + filename) });
});
解决方案
测量时间的方法:
测量内存
这是使用上述所有方法更新的代码。
final_list.forEach(function (str) {
var filename = str.split('/').pop();
console.log('Downloading ' + filename);
// console.time(filename);
var start = process.hrtime.bigint();
download(str, filename, function () {
console.log('Finished Downloading' + "" + filename)
// console.timeEnd(filename);
var end = process.hrtime.bigint();
var took = Number(end - start) / 1000000;
console.log(`${filename}: ${took}ms`);
console.log('Total used memory:', process.memoryUsage().heapUsed);
});
});
推荐阅读
- c - CS50 - 加载 - 尝试执行加载时从任何地方获取随机字符
- python - 2 个列表的布尔运算
- apache-spark - 使用数据透视时 Spark 中的第一个函数
- c# - SignalR 从服务器控制台应用程序发送到客户端
- c# - 基于属性c#切换数据模型结构
- java - android - 程序类型已经存在:android.support.multidex.ZipUtil$CentralDirectory
- java - 聊天应用程序的 recyclerview 不显示任何数据或视图
- npm - 将组织添加为 NPM 包的所有者
- html - 屏幕缩小时继续向下推页脚
- javascript - 重置 iframe 的窗口对象