Node.js 内核性能监控分析工具 Easy-Monitor

MIT
JavaScript
跨平台
2017-06-27
凝小紫

I. 简介

轻量级的 Node.js 项目内核性能监控 + 分析工具,在默认模式下,只需要在项目入口文件 require 一次,无需改动任何业务代码即可开启内核级别的性能监控分析。

- 功能特点

  • 服务器状态概览信息展示

  • 实时 CPU 函数性能分析,帮助定位程序的性能瓶颈点

  • 实时 Memory 堆内内存结构分析,帮助定位到内存疑似泄漏点

Easy-Monitor 旨在帮助大家更深入的理解自己的 Node 项目进程,以便性能优化时能更有针对性,最终提升大家的项目体验。

- 兼容性

目前经过测试,兼容以下 Node.js 版本:

  • Node v4.x

  • Node v6.x

  • Node v8.x

因为 Node.js 的 LTS 版本都是偶数版本,所以此处并未对于奇数版本进行测试(v5.x,v7.x),如果有测试过的可以以 issue 的形式将兼容性结果反馈。

注:Node v8.x 截止目前为止 (2017.6.6) 下使用 v8-profiler 有 Segmentation fault (core dumped) 的核心错误,并且官方 issue 修复较慢 ( issue 112 ), 故经排查源代码后发布了 v8-profiler-node8 临时解决了这个 bug,等官方修复后,会将 Easy-Monitor 的依赖切回 v8-profiler 。

- 2.0 新特性

  • 基于 vue.js 和 iview 组件全新设计的 UI

  • 全面兼容 v4.x ~ v8.x

  • 新增概览 Overview 展示页

  • 支持 动态更新配置,无需重启一键生效

  • 支持 Stream 流式解析更大的 HeapSnapshot

  • 支持 Cluster 集群部署,支持定制 私有协议

II. 快速开始

- 安装模块

执行如下命令安装 Easy-Monitor:

npm install easy-monitor

- 项目中引入

在你的项目入口文件中按照如下方式引入,当然请传入你的项目名称:

const easyMonitor = require('easy-monitor');
easyMonitor('你的项目名称');

好了,此时你所需要做的一切都已就绪,接下来以你喜欢的方式运行项目即可,不管是 nohup 还是 pm2,亦或是直接 node 启动均可。

- 访问监控页面

打开你的浏览器,访问 http://localhost:12333 ,即可看到进程界面。

- 完整样例 & Demo

为了帮助大家更好的理解使用,下面编写一个 Easy-Monitor 嵌入 Express 应用的完整例子

'use strict';
const easyMonitor = require('easy-monitor');
easyMonitor('Mercury');
const express = require('express');
const app = express();
app.get('/hello', function (req, res, next) {
    res.send('hello');
});
app.listen(8082);

将上述的内容保存成一个 js 文件,启动后访问 http://127.0.0.1:12333 即进入 Easy-Monitor 的首页,就是这样的简单!

这里有一个在线真实的 Demo 地址:Easy-Monitor Demo,可以点击进入自行尝试一番。

加载中

评论(0)

暂无评论

暂无资讯

暂无问答

linux 玩家常用管理命令

Need to monitor Linux server performance? Try these built-in commands and a few add-on tools. Most distributions come with tons of Linux monitoring tools. These tools provide me...

05/11 14:43
57
0
Brief introduction TV card

Brief introduction TV card Some simple watch TV with a computer that is digital television box something , which lcd Player is the PC TV receiving equipment original design smar...

2013/09/26 09:03
22
0
logging-with-aspectj

http://www.christianschenk.org/blog/logging-with-aspectj/ Logging with AspectJ August 3rd, 2007 | Tech Again, I would like to endorse the usage of aspect oriented programming be...

2014/04/13 03:50
1
0
logging-with-aspectj

http://www.christianschenk.org/blog/logging-with-aspectj/ Logging with AspectJ August 3rd, 2007 | Tech Again, I would like to endorse the usage of aspect oriented programming be...

2014/04/13 03:50
9
0
TCPMon—查看信息传输小工具

可以拦截客户和服务之间的HTTP请求和HTTP相应信息,相当于一个中转站,可以设定接收的端口,目标的端口,并查看

2015/09/11 16:50
514
0
The Best Network Monitoring Software of 2015

The Best Network Monitoring Software of 2015

2015/11/20 14:09
25
0
Supervisor安装

转的一篇文章,原文,http://type.so/linux/supervisor-install-and-configure.html Supervisor安装 # 安装 easy_install supervisor # 生成默认配置文件 echo_supervisord_conf > /etc/sup...

2014/10/22 11:41
963
0
Raspberry Pi NOOBS setup

https://www.raspberrypi.org/help/noobs-setup/

2015/08/16 17:24
225
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部