在性能问题中观察文件更改
Watching file change in Performance Issues
我正在尝试创建一个实时日志监控工具在node.js与Chokidar &socket . io。然而,我不太清楚如何有效地重新加载内容时,文件发生了变化。Chokidar监视文件更改并触发一个事件,在该事件中,我必须获得更改的内容的唯一选项是再次读取整个文件并再次使用该内容填充视图。这确实减慢了整个进程,也增加了CPU利用率。
var watcher = chokidar.watch('file, dir, or glob', {
ignored: /['/'']'./, persistent: true
});
watcher.on('change', function(path, stats) {
if (stats) console.log('File', path, 'changed size to', stats.size);
});
在我的情况下,日志大小太大,并且有大量的更新。我该如何着手解决这个问题呢?是否有任何方法可以获取更改的内容,而不是重新加载整个文件以获取更改的内容?
chokidar似乎没有提供任何功能来告诉您文件中更改了什么(它给您文件名和文件统计)。
因此,如果您想知道更改了什么,那么维护文件的某种以前的影子副本的负担就在您身上,以便您可以分析新文件与以前的副本,以查看更改了什么。如果您为整个文件系统(需要双存储)执行此操作,显然这是一个存储密集型任务,但如果您仅为一小部分文件执行此操作,则肯定可以管理。相关文章:
- 用触摸和观察的方式触摸修改过的文件
- 如何在Grunt.js中观察多个文件,但只在更改的文件上运行任务
- Grunt imagemin-观察多个文件/文件夹优化单个文件
- 如何设置观察程序将文件复制到同一文件夹中的其他文件
- grunt:观察并同步文件
- Web Storm 9.0.3 typescript文件观察程序不工作
- nodejs:原子文件替换操作,只触发一次一些观察者
- 易于实现文件观察程序
- 咕噜咕噜 - 连接多个 JS 文件并观察更改
- 文件观察器在咕噜咕噜不更新 css 中更少
- 根目录上的Gulp文件观察程序集
- Gulp观察多个文件夹
- 无垃圾文件观察程序
- 为什么不是't我的文件观察程序正在触发
- Grunt:观察多个文件,只编译更改的-livereload breaks
- Grunt -观察新的文件夹
- CoffeeScript -观察和编译"*.coffee"带有前缀的文件
- 在性能问题中观察文件更改
- 在Node.js中观察文件夹的变化
- 当书签's文件夹在firefox中发生更改,书签观察器的函数被调用