前言
在现代互联网应用开发中,性能监控是一个必不可少的环节,也是开发人员在应用上线后必须面对的挑战之一。Google Cloud Platform 提供了一个优秀的性能监控工具,叫做 Stackdriver Trace,它可以帮助开发人员监控应用在生产环境下的性能表现,帮助快速定位问题并解决。
本文将介绍如何使用 npm 包 @google-cloud/trace-agent 来启用 Stackdriver Trace,并实现性能监控。
安装与引入
使用 npm 包 @google-cloud/trace-agent,需要先进行安装,可以使用以下命令进行安装:
npm install --save @google-cloud/trace-agent
安装完成后,即可引入 @google-cloud/trace-agent 模块进行使用:
const traceAgent = require('@google-cloud/trace-agent'); traceAgent.start();
以上代码是启用 Stackdriver Trace 的最基本配置,接下来我们将详细介绍如何对 Trace 进行更加深入的配置。
配置 Trace
配置采样率
Trace 操作会对应用的性能产生一些影响,为了减少 Trace 对应用性能造成的影响,Trace 提供了一个采样率配置,可以控制采样率从而降低影响。
以下代码设置 Trace 的采样率为 5%,即每隔 20 个请求记录一次 Trace:
const traceAgent = require('@google-cloud/trace-agent'); traceAgent.start({ samplingRate: 5 });
配置 Trace 放弃规则
Trace 提供了一个放弃规则配置,可以让你在某些场景下放弃 Trace 记录。
以下代码设置当请求路径为 /healthz
时不记录 Trace:
const traceAgent = require('@google-cloud/trace-agent'); traceAgent.start({ ignoreUrls: ['/healthz'] });
配置自定义 Trace
Trace 不仅可以记录请求的耗时,还可以记录应用中任何一段代码的耗时。只需手动添加 Trace ID 即可。
以下代码将会新建一个名字为 custom
的 Trace,并记录执行时间:
const traceAgent = require('@google-cloud/trace-agent'); const trace = traceAgent.get().startSpan('custom'); // 执行一些操作 trace.end();
配置 Trace 日志
Trace 还可以记录跟踪日志,跨请求日志,span 日志等。
以下代码将会记录一个名字为 my-log
的 Trace 日志:
const traceAgent = require('@google-cloud/trace-agent'); const trace = traceAgent.get().startSpan('custom'); trace.addLabel('my-log', 'this is my log'); trace.end();
配置 Trace 元数据
除了记录日志和耗时外,Trace 还可以记录额外的数据,即元数据。元数据可以用于区分 Trace 的性质。
以下代码将会记录名称为 custom
,描述为 my description
,附加标签为 {key: value}
的 Trace:
const traceAgent = require('@google-cloud/trace-agent'); const trace = traceAgent.get().startSpan('custom', { kind: 'custom', value: 'my description', labels: {key: 'value'} }); trace.end();
Stackdriver Trace 界面
Trace 成功记录后,进入 Google Cloud Platform 控制台的 Trace 界面即可查看记录的 Trace 信息。
总结
本文介绍了如何使用 npm 包 @google-cloud/trace-agent 实现 Stackdriver Trace,以及 Trace 的几种配置和 Stackdriver Trace 界面的使用。对于需要监控应用性能的开发人员而言,本文提供了一种快速和简便的方案。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/104476