前言
在现代互联网应用开发中,性能监控是一个必不可少的环节,也是开发人员在应用上线后必须面对的挑战之一。Google Cloud Platform 提供了一个优秀的性能监控工具,叫做 Stackdriver Trace,它可以帮助开发人员监控应用在生产环境下的性能表现,帮助快速定位问题并解决。
本文将介绍如何使用 npm 包 @google-cloud/trace-agent 来启用 Stackdriver Trace,并实现性能监控。
安装与引入
使用 npm 包 @google-cloud/trace-agent,需要先进行安装,可以使用以下命令进行安装:
--- ------- ------ -------------------------
安装完成后,即可引入 @google-cloud/trace-agent 模块进行使用:
----- ---------- - ------------------------------------- -------------------
以上代码是启用 Stackdriver Trace 的最基本配置,接下来我们将详细介绍如何对 Trace 进行更加深入的配置。
配置 Trace
配置采样率
Trace 操作会对应用的性能产生一些影响,为了减少 Trace 对应用性能造成的影响,Trace 提供了一个采样率配置,可以控制采样率从而降低影响。
以下代码设置 Trace 的采样率为 5%,即每隔 20 个请求记录一次 Trace:
----- ---------- - ------------------------------------- ------------------ ------------- - ---
配置 Trace 放弃规则
Trace 提供了一个放弃规则配置,可以让你在某些场景下放弃 Trace 记录。
以下代码设置当请求路径为 /healthz
时不记录 Trace:
----- ---------- - ------------------------------------- ------------------ ----------- ------------ ---
配置自定义 Trace
Trace 不仅可以记录请求的耗时,还可以记录应用中任何一段代码的耗时。只需手动添加 Trace ID 即可。
以下代码将会新建一个名字为 custom
的 Trace,并记录执行时间:
----- ---------- - ------------------------------------- ----- ----- - ------------------------------------- -- ------ ------------
配置 Trace 日志
Trace 还可以记录跟踪日志,跨请求日志,span 日志等。
以下代码将会记录一个名字为 my-log
的 Trace 日志:
----- ---------- - ------------------------------------- ----- ----- - ------------------------------------- ------------------------ ----- -- -- ------ ------------
配置 Trace 元数据
除了记录日志和耗时外,Trace 还可以记录额外的数据,即元数据。元数据可以用于区分 Trace 的性质。
以下代码将会记录名称为 custom
,描述为 my description
,附加标签为 {key: value}
的 Trace:
----- ---------- - ------------------------------------- ----- ----- - ------------------------------------ - ----- --------- ------ --- ------------- ------- ----- -------- --- ------------
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