查询分析器在哪里_你应该知道的3种Node.js分析器类型

Node.js类似于许多其他编码语言,因为它需要与正确的工具结合使用来调试程序,克服任何瓶颈并优化其功能。使用正确的分析器,您可以毫不费力地实现这一目标,尽管它们都不是完美的。

在编码中,分析器是一种动态程序分析软件,用于测量函数调用的功效,频率和持续时间。这些程序能够测量程序的空间,时间复杂度和特定指令的使用,以便优化程序。

以下是3种不同类型的Node.js分析器,以及您应该了解的内容:

  1. 标准分析器
  2. 跟踪分析器
  3. APM(应用程序性能管理)工具

标准Node.js分析器

标准的采样分析器有助于您全面了解程序中的工作内容和不适用的内容。此技术监视诸如CPU,内存使用情况,每行代码花费的时间以及方法调用频率等因素。

这些分析器包括定期记录应用程序的堆栈跟踪。通过抽样,您可以很好地了解应用程序中存在的任何瓶颈和功能问题,其中包含许多可帮助您简化调试过程的指标。

例子

优点

  • 使用Node.js,记录之间的时段以刻度来衡量,这是常规单位。
  • 跟踪分析器所涵盖的其他一些指标包括总计,即执行函数或执行活动所涵盖的刻度总数(时间)。它们还会查看百分比,它是函数或活动的执行时间与进行测量的整个时间的比率。
  • Self指的是函数或活动的纯执行时间,而不考虑执行函数所花费的时间。该百分比是测量在相对于整个时间的函数或活性的纯执行时间的比率。
  • 父对象是指函数的纯执行时间与调用它的父函数的执行时间的比率。
  • 采样分析器构建调用树并根据收集的分析数据在单独的窗格中显示它们,这允许您分析调用耗时(繁重)的应用程序执行,并通过显示整个调用层次结构以及充当的函数执行入口点在顶部。

缺点

  • 不支持在执行应用程序期间停止并重新启动性能分析,要求您等待它处理完毕。
  • 由于快照是随机拍摄的,因此采样分析器无法提供高精度或精确度。这意味着任何功能都可能恰好记录在快照中,而不必完全详细说明应用程序中的紧迫问题。
  • 抽样可以让您大致了解大部分时间花在哪里,但准确性不是它的强项。
  • 这种类型的分析还可能导致执行延迟,从而影响分析结果。
23658f21ab348326a52da132ee31f7ea.png

Node.js跟踪分析器

例子

跟踪分析器要求开发人员直接将跟踪信息直接记录到代码中。这些分析器以更精确的方式查找性能和应用程序问题。

跟踪分析器记录所有函数调用,它们旨在降低成本。这些允许您自己主动将跟踪信息记录到代码中。这种方法有几个优点,尽管更多信息通常会导致更多的错误空间。

优点

  • 这些可以测量包括呼叫时间,内存使用和对象分配在内的许多指标。
  • 它们相对容易设置。
  • 使用跟踪分析器,您可以准确测量每种方法花费的时间,为您提供更全面的调试体验。
  • 此外,此工具允许您计算跟踪方法的调用次数。

缺点

  • 它们包含固定数量的每个函数调用或执行的代码行,这可能导致您做出错误的决策。
  • 这些分析器对它们可以监视的内容有限制,并且由于它的全面性,它们可以大大减慢您的程序。
  • 与采样相比,拥有更多数据也意味着更大的结果失真。
  • 跟踪还意味着分析延迟取决于代码和进行跟踪测量的位置。如果同时在其他跟踪方法中调用跟踪方法,则将为外部方法积累所有内部延迟,这可能使得难以将执行时间与跟踪失真分开。

APM Node.js 分析器

应用程序性能管理(APM)工具用于识别和修复应用程序性能问题,直至代码行。

例子

这些类型的分析器旨在识别和解决Node.js应用程序性能问题,直到代码行。这些可以向您展示代码的每个元素以及从最终用户体验到服务器监视的成功。此外,他们还可以跟踪慢速数据库查询,第三方API,缓存层,后台作业等。

优点

  • 这些发现并修复了内存泄漏和CPU瓶颈。
  • 他们使用端到端(E2E)跟踪来调试分布式事务。
  • 他们可以跟踪分布式调用链。
  • 帮助避免安全漏洞和坏的npm包。
  • 获得特定的代码行可见性,以便利用错误堆栈跟踪查明最小的错误。
  • 获取有关应用程序错误和异常的警报,并在它们影响您的程序之前修复它们。

缺点

  • 这些自定义应用程序不像其他应用程序那样直观,并且它们也不那么有名,需要一些时间让用户学习它们。
  • 在您停止看到可能经常发生的误报之前,您可能需要等待足够的数据点才能进入。

哪种分析器适合你的需求?

选择什么类型的Node.js分析器实际上取决于您公司的需求以及您的预算。您是否正在寻求更全面,但可能更慢的故障排除所有错误和瓶颈?如果是这样,只要您耐心细致,就可以采用Node.js采样分析器。

跟踪分析器是一种更精简的方法,但它们在程序性能方面的监控方面有其局限性。APM分析器也很棒,因为您可以在自定义仪表板上创建自己的度量标准,但这些需要相当多的时间来学习和掌握您可能没有的。

您的选择应取决于您的时间表,预算和需求,因为没有一个通用的解决方案来优化您的编程实践。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/355355.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 学习重点内容(第二节)

#Linux 学习重点内容 第一天 常用命令 第二天 系统管理 第三天 网络应用 第四天 LAMP产品级环境搭建 第五天 Apache服务器配置 第六天 LNMP快速环境部署-Nginx服务配置 ##目标 具备使用Linux开发能力 服务器简单维护管理 --- ##…

全国计算机一级选择题汇总,全国计算机一级考试选择题训练及答案

全国计算机一级考试选择题训练及答案练习题一1、 将二进制数110B左移一位后其等值的十进制数为()。A、6 B、1100 C、12 D、32、 某微型机的CPU中含有32条地址线、28位数据线及若干条控制信号线,对内存按字节寻址,其最大内存空间是()。A、4MBB、256MBC、2…

python url拼接_教你写python爬虫——用python爬原图

环境:python3.6 pycharm“猎物”:http://www.polayoutu.com (仅学习用)动机1:想要爬一些尺寸比较大(不是尺度)的美图养养眼,仅此而已;动机2:学习python爬虫&…

Devoxx的Red Hat Engineers提供了更多Java EE

现在是Devoxx比利时时间! 最后。 今天的一切都随着大学会议的开始而开始,会议本身将于明天早晨开始。 我们都非常兴奋,因为这是欧洲的重大事件。 红帽很荣幸今年再次成为赞助商。 我们将在现场举行14次会议,一个展位–提供啤酒&am…

济宁医学院计算机专业好就业吗,山东这3所医学院实力强,就业率高,中等生可捡漏...

原标题:山东这3所医学院实力强,就业率高,中等生可捡漏山东的医药类院校中,实力较强的是山东大学医学院、青岛大学医学院、山东第一医科大学、山东中医药大学,这4所医学院的录取分数都比较高。今天给大家介绍山东3所二批…

php读取西门子plc_PLC对模拟量信号,是怎么进行处理的?

模拟量信号是自动化过程控制系统中最基本的过程信号(压力、温度、流量等)输入形式。系统中的过程信号通过变送器,将这些检测信号转换为统一的电压、电流信号,并将这些信号实时的传送至控制器(PLC)。PLC通过计算转换,将这些模拟量信号转换为内…

gnutls_handshake() failed: Illegal parameter

gnutls_handshake() failed: Illegal parameter 报错信息如下: fatal: unable to access https://git.xxx.com/xxxx/xxxx.git/: gnutls_handshake() failed: Illegal parameter 背景及原因: 1、系统环境是Ubantu 2、最近变更git使proxy做负载 3、 openss…

计算机一级怎么描述,计算机一级「关于RGB正确的描述的是」相关单选题

1、【题目】关于RGB正确的描述的是选项:A.色光三元色B.印刷用色C.一种专色D.网页用色答案:A解析:暂无解析1、【题目】Photoshop 中利用背景橡皮擦工具擦除图像背景层时,被擦除的区域填充什么颜色?选项:A.黑色B.透明C.…

AFNetworking 3.1.0 使用中某些知识点讲解

# POST / GET 请求 /*! 首先要知道,POST请求不能被缓存,只有 GET 请求能被缓存。因为从数学的角度来讲,GET 的结果是 幂等 的,就好像字典里的 key 与 value 就是幂等的,而 POST 不 幂等 。缓存的思路就是将查询的参数…

Java 8 Streams:过滤和谓词否定

最近,有关LJC 邮件列表的成员在流中.filter方法中使用谓词否定的有趣讨论,因此我认为值得在博客文章中进行总结。 讨论的主题是使用.filter和否定谓词的方法。 这篇文章的代码可以在我的github帐户中找到 。 也许这就是您可能会想到的方式,…

sql server2008如何修改mac地址_如何查看本机的MAC地址和IP地址?

MAC地址是每台电脑或是手机设备中唯一进行识别的编码,IP地址则是路由器分配给电脑或是手机设备联网使用的一个编码。当我们电脑或无法上网,都需要查看IP地址是否正确。那如何查看MAC地址和IP地址呢?方法一:如何电脑已经成功联网了…

计算机工作原理 仿真,虚拟DCS仿真工作原理

虚拟dcs(ViRTUal DCS)是相对于在过程工业系统中运行的真实DCS(Real DCS)而言的,"虚拟DCS"就是将真实DCS在非DCS的计算机系统中以某种形式再现。"虚拟"是现今广泛使用的一种高新技术概念,比如有实现视景模拟的"虚拟现实"、…

poj1062 Bellman 最短路应用

昂贵的聘礼Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 41066 Accepted: 11959Description 年轻的探险家来到了一个印第安部落里。在那里他和酋长的女儿相爱了,于是便向酋长去求亲。酋长要他用10000个金币作为聘礼才答应把女儿嫁给他。探险家拿不出…

vlookup练习_大胆合并吧!VLOOKUP坐字法专做单元格合并查找

回复[目录]学习113篇Excel教程全套Excel视频教程,微信扫码观看编按:前面才讲了Excel家规,数据源表不能有合并单元格,今天就嘚瑟地呼吁“大胆合并”。为何?因为老菜鸟给大家带来了单元格合并查找利器VLOOKUP坐字法查找。…

第一代计算机主要应用领域为数据处理,第一代计算机主要应用领域为____。    A.数据处理 B.人工智能 C.科学计算 D.过程控制...

C、科学计算。一代主要用于科学计算,二代用与数据处理。计算机发明者约翰冯诺依曼。计算机是20世纪最先进的科学技术发明之一,对人类的生产活动和社会活动产生了极其重要的影响,并以强大的生命力飞速发展。它的应用领域从最初的军事科研应用扩…

jaxb 映射 空字段_JAXB和未映射的属性

jaxb 映射 空字段JAXB(JSR-222)是例外配置,这意味着存在默认映射应用于域对象。 这意味着有时您需要显式排除字段/属性。 在这篇文章中,我将讨论如何使用XmlTransient或XmlAccessorType(XmlAccessType.NONE&#xff09…

vscode 书签_10个我必备的 VS code 拓展

推荐:Vue 3中令人激动的新功能:FragmentSuspense多v-modelVS Code是我最喜欢的文本编辑器。它是目前最可扩展的、最流行的代码编辑器。而且令人惊讶的是,它是由微软制作的(我知道)。在我看来,没有任何其他IDE或编辑器能比VS Code更…

u盘显示项目不在计算机zhng,能装在u盘上的操作系统有哪些?

满意答案zhng9211推荐于 2016.08.27采纳率:51% 等级:11已帮助:7556人可装在U盘上的操作系统现在的计算机技术简直日新月异,U盘,固态硬盘等等存储介质做的可以越来越大,并越来越便宜。电脑已经不是稀罕物…

推荐 -- 极客导航,让工作学习更有效率

给大家推荐一个导航,很实用;极客导航精心挑选网址,让您的工作更有效率; 传送门: http://www.gogeeks.cn/ 转载于:https://www.cnblogs.com/JsonShare/p/7064438.html

从数组到流再到Java 8

不久前,我们将一些Eclipse插件项目升级到Java8。此后再也没有回头。 除其他事项外,使用lambda和streams API ,过滤,映射和查找集合中的元素变得更加容易和简洁。 我想到目前为止,对于大多数人来说,什么都没…