我们正在使用React Native 0.59.10
和React-Redux 5.0.7
,并且遇到了CPU限制的性能问题,其中我们的Redux操作需要大约0.25秒才能完成。
我们已经使用Instruments中的“时间剖析器”配置进行了剖析,但是我们的JS代码都没有符号化。
在Chrome中进行远程调试似乎只是调试“远程检查器”页面,这完全无济于事。
有没有一种方法可以将源映射建立或附加到JS函数名称/调用,或用符号表示下面看到的内存地址?
我们正在使用React Native 0.59.10
和React-Redux 5.0.7
,并且遇到了CPU限制的性能问题,其中我们的Redux操作需要大约0.25秒才能完成。
我们已经使用Instruments中的“时间剖析器”配置进行了剖析,但是我们的JS代码都没有符号化。
在Chrome中进行远程调试似乎只是调试“远程检查器”页面,这完全无济于事。
有没有一种方法可以将源映射建立或附加到JS函数名称/调用,或用符号表示下面看到的内存地址?
Answers:
了解Firefox Profiler
Firefox Profiler在profiler.firefox.com/docs/上提供了更多最新文档。但是,以下内容可能具有一些针对壁虎特定问题的潜在有用信息。
您可以查看有关Firefox Profilers的一些常见问题。
“报告性能问题”具有分步指南,可在Firefox开发人员要求时获取配置文件。
1.时间轴
时间轴上有几行跟踪标记(彩色部分),它们指示有趣的事件。将鼠标悬停在它们上方可查看更多信息。跟踪标记下方是与各种线程上的活动相对应的行。
提示:带有“ [default]”注释的线程在父进程(aka“ UI”,aka“ browser chrome”,aka“ main”)进程中,而带有“ [tab]”注释的线程在Web内容中(aka “子”进程。
提示:父流程中的长期任务将阻止所有输入或使用浏览器UI(又称“ UI jank”)绘制,而内容流程中的长期任务将阻止与页面的交互,但仍允许用户平移和平移借助APZ进行放大。
追踪标记
Red
:这些表明事件循环没有响应。请注意,此处不包括诸如vsync之类的高优先级事件。另请注意,这表明如果有事件等待,将会发生什么事情,而不一定是有这么长时间的事件待决。
Black
:这些指示同步IPC呼叫。
2.呼叫树
调用树显示按“运行时间”组织的样本,这些样本将按壁钟时间显示数据。树元素右侧有较浅的灰色名称,用于指示代码的来源。请注意,元素可以来自JavaScript,Gecko或系统库。请注意,如果某些功能尚未正确命名,则符号化可能尚未完成。
提示:可以右键单击函数名称以获取将其名称复制到剪贴板的选项。
3.共享配置文件 单击“共享...”>“共享”,确认您已打开的URL和Firefox扩展将包含在发送到服务器的配置文件数据中。如果选择其他时间范围,则按“固定链接”显示的URL将会更改,以便您可以确定URL的收件人将看到与您看到的相同的东西。