Node.js 中的 performanceObserver.observe(options) 函数

2025年3月13日 | 阅读 4 分钟

Node.js Performance API 可以识别一个已实现的函数,即 performanceObserver.observe(options), 该函数能够监视和收集高性能相关的事件的高精度计时数据。通过指定 options 参数,其中包含 entryTypes(例如 "mark", "measure", 和 "resource"),可以跟踪多个性能指标。Observer 会评估并响应正在记录的性能条目集中的新条目。通过 buffered 标志,可以选择将最近的条目传递给系统。这是一个非常有用的功能,可以用于 Node.js 应用程序的性能监控和优化,因为它提供了对事件计时、资源加载和自定义指标的全面洞察。它会将与指定设置相关的性能条目传递给 observer 的回调函数(例如,资源加载持续时间、导航时间等)。

概述

observe() 函数调用 PerformanceObserver 的一个实例,该实例用于监视和记录与性能相关的事件。它会将与指定设置相关的性能条目传递给 observer 的回调函数(例如,资源加载持续时间、导航时间等)。

语法

它具有以下语法:

参数

  • Options(选项): 一个描述要查找的特定性能条目的部分,以及一组标识要查找的各种性能条目类型的字符串。
  • "Mark"(标记): 表示一个 PerformanceMark 条目。
  • "Measure"(测量): 如果测量是 PerformanceMeasure 条目,则使用此项。
  • "Resource"(资源): 用于资源加载的速率。
  • "Navigation"(导航): 一种更有效地进行页面导航的方式。

示例 1

让我们看一个例子来说明 Node.js 中的 performanceObserver.observe() 函数。

输出

 
myMeasure:1001.9631359577179   

说明

  • 在这个例子中,我们使用了 obs 这个术语,它是 PerformanceObserver 的一个实例。
  • 这些被归类为基础度量的性能条目被揭开了面纱。
  • SetTimeout 之前和之后,标记会被创建并记录在一个独特的性能度量中。
  • 例如,在测量时,observer 会记录所花费的时间。

示例 2

让我们看一个例子来说明 Node.js 中的 performanceObserver.observe() 函数。

输出

 
Error occurred: connect ECONNREFUSED 104.21.59.19:443   

说明

包含的代码在 Node.js 中创建了一个 PerformanceObserver 实例,该实例跟踪和报告与资源获取相关的性能方面,即 HTTPS 会话的持续时间。资源请求是 observer 配置要捕获的资源条目的一部分。每当向该 URL (https://jsonplaceholder.typicode.com/todos/1) 发出网络调用时,observer 都会记录资源的名称、开始时间和持续时间。为了防止软件崩溃,所有使用 https 进行的网络请求都提供了错误处理,以捕获和记录 ECONNREFUSED 等异常。

如果请求被接受,关于响应的信息将在请求结束时被收集并显示在控制台中。它还描述了如何实时跟踪资源性能以及如何正确执行网络请求。

结论

总之,Node.js 的 PerformanceObserver.observe(options) 函数有助于以高分辨率监视和收集性能指标。如果选项中指定了 entryTypes,开发人员就可以跟踪特定的性能相关事件(例如脚本执行、资源加载、自定义标记)。它有助于从较低级别监视性能指标,从而促进应用程序效率和优化中的瓶颈识别。它是性能分析和应用程序体验优化的重要工具,因为通过添加适当的错误处理,它可以提供关于内部和外部资源利用率的深刻见解。