在生产中被动记录反应应用程序性能

问题描述 投票:1回答:1

我想知道是否有任何实用程序/模式/范例/标准用于监视生产中的React应用程序。

我已经看到很多关于React性能调试的文档,它推荐了Chrome Dev Tools(这很好,但不是监控最终用户性能的被动方式)

我如何记录数据以了解用户等待组件挂载或呈现的时间?

到目前为止,我唯一想到的是创建一个扩展Loggable[Pure]ComponentReact.[Pure]Component,其构造函数,componentWillMount/UpdatecomponentDidMount/Update方法将渲染/挂载时间记录到服务器。然后,我想要监视的组件可以扩展这些组件,如果需要,可以在执行自己的工作之前在生命周期方法中调用super()。为了明确知道这些度量标准去哪些组件,我必须在Loggable[Pure]Component类中公开一个方法,它执行类似于setUniqueId的操作,然后每个派生类都必须在构造函数中调用它。

这一切看起来都很可怕,我非常希望有些人已经实施了,但到目前为止我还没有找到任何东西。

performance reactjs logging monitoring production
1个回答
0
投票

我会看一些APM工具,它们处理前端监控和后端监控。他们都支持反应,人们一直在使用这些用例。这真的取决于你在监控中的目标,你这样做是为了好玩吗?你有创业公司吗?你在为一家大企业工作吗?这个市场有3个主要参与者。

AppDynamics - 企业APM,处理最复杂的应用程序。统一产品提供SaaS或内部部署。具有深层数据库,服务器和其他监控功能。 Dynatrace - 企业APM,可以很好地处理复杂的应用程序。分散的产品组合,但SaaS产品很好。 SaaS产品在某些方面的深度有限。处理好服务器和云基础架构监控。 New Relic - 简单而便宜(比其他人更好),不像其他选项那样深入。倾向于受小公司欢迎。是否可以很好地监控云基础架构服务。

这些产品都可以满足您的需求,但这取决于您对数据的目标以及您计划如何分析数据。

如果你想要一些免费且功能较少的东西,有办法用开源做到这一点,但你必须站起来管理一个相当复杂的堆栈。这是一个选择。

查看回旋镖,它可以记录/提取您正在寻找的指标,它不会“理解”反应,但它应该工作。该数据可以发布到许多不同的系统。最适合的可能是ELK堆栈(开源日志分析等)。以下是将这两者结合在一起以提供浏览器性能https://github.com/naukri-engineering/NewMonk分析的几个示例之一

© www.soinside.com 2019 - 2024. All rights reserved.