软件技术学习笔记

个人博客,记录软件技术与程序员的点点滴滴。

NodeJS微服务APM

上微服务时,我们必需有全链路追踪、应用程序性能监测(APM)。开源的Elastic Stack是一个不错的选择,它包含日志、指标、APM、搜索、Kibana等。使用Elastic Stack做NodeJS APM时,使用起来非常方便,代码也无入侵。

只需在程序的前面添加一行代码: const apm = require('elastic-apm-node').start(); 然后添加环境变量ELASTIC_APM_SERVER_URL,正常启动程序: node index.js

能如此方便地使用,也是得益于NodeJS的事件模型、async_hookselastic-apm-node,其中的elastic-apm-node已经帮我们创建好同步或异步流程中的Transaction与Span。大部分时候,我们只需写好自己的业务代码。

样例代码:apm-nodejs-app-aapm-nodejs-app-bapm-nodejs-app-c

继续阅读→