问题标签 [flamegraph]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
724 浏览

html - 将 html FlameGraph 嵌入到 Azure wiki

我需要将应用程序 Flame Graph 嵌入 Azure Devops wiki 页面。

FlameGraph 是应用程序调用堆栈的可视化,形式非常简单易懂。物理上它是一个 SVG 图像,由浏览器呈现,如下所示(可点击):

但是,我想嵌入的不是通常的 FlameGraph,而是一个 HTML 图形,它是一个巨大的 70K+ HTML 和 JS 行。渲染后的这段代码看起来完全像 SVG,这里是示例

完整的代码太大了,所以我把完整的工作样本放入小提琴中。

我尝试将 HTML/JS 行直接放入 Azure 页面,但它不会像纯文本一样呈现此代码,但对于像表格和列表这样的简单 HTML,Azure 可以工作。

如何将此部分嵌入 Azure?我知道仍然不支持iframe但也许还有另一种方法?

PS 也许有办法将 html 渲染的图形转换为 SVG,Azure 是否正确渲染了这样的 SVG?

0 投票
1 回答
716 浏览

intellij-idea - 使用 IntelliJ IDEA 从 JFR 转储生成火焰图

IDEA 在使用“Run with Java Flight Recorder”时会生成那些整洁的火焰图。

在此处输入图像描述

虽然我知道能够做到这一点的外部工具,但是否可以使用 IDEA 从现有的 jfr 转储中生成这些火焰图?

0 投票
0 回答
204 浏览

python - 为 Dataloader 分析 PyTorch 自定义数据集

我实现了一个自定义 PyTorch 数据集,供我项目的 Dataloader 使用。但是,它的运行速度比预期的要慢,因此选择分析来解决瓶颈问题。

调查了 vprof 但如果我只对分析数据集实现感兴趣,我不确定要分析的函数。在 Ubuntu 18.04 上使用 PyTorch 1.5 和 Python 3.7。

我们如何仅在自定义数据集实现上执行性能分析(CPU 和内存)?

谢谢!

0 投票
1 回答
931 浏览

performance - 为什么Java飞行记录仪采样太少?

我们有一个性能不佳的应用程序,因此我们使用了飞行记录器的方法分析来查看时间花在了哪里。它基本上可以工作,但是一分钟的记录所采集的样本数量远低于 100。(使用“分析”预设)

我使用了一个简单的示例应用程序(总结随机数)进行比较,它在一分钟或记录中产生大约 6000 个样本 - 这对我来说似乎是正确的。

首页上有几个警告,例如:高内存消耗,loooooots of Exceptions。但是该应用程序基本上可以正常工作,所以这可能是一个红鲱鱼。

我已经通过增加数量解决了“堆栈深度被截断”的问题。

我的猜测:要么飞行记录器配置错误,要么时间实际上并没有花在代码上,而是花在其他任务上。cpu 在运行期间非常忙,所以我不认为所有线程都在等待。

请让我知道哪些信息可能很重要,以便我可以添加它们。

(这是一个使用 Jetty 作为 Web 服务器的 Scala 编写的 Web 框架库;Oracle JDK 8)

0 投票
1 回答
58 浏览

reactjs - 加载新数据时删除 d3-flame-graph

最近我拿起了一个项目,d3-flame-graph它根据另一个组件上定义的过滤器显示图表。我的问题是,在使用新参数搜索时,我似乎无法清理以前的图表,我想知道是否有人可以帮助我。基本上我现在拥有的是,当我第一次进入页面时,加载组件,然后我有我的图表,当我搜索新日期时,我有加载组件,但最重要的是我仍然有以前的图表

我想我可以使用flamegraph().destroy()const updateGraph什么也没发生

0 投票
0 回答
55 浏览

linux-kernel - 如何在火焰图中包含指定的函数?

没有我想在火焰图中看到的函数名称,但我确信这个函数有效。如何在火焰图中显示我想看到的函数名称?

0 投票
0 回答
92 浏览

node.js - 诊所火焰图:尝试阅读图表以确定修复

我使用 Clinic 创建了一个火焰图,我看到来自 Mongoose 的很多活动。一个共同的主题似乎表明许多这些调用似乎是“行:1,列:1”。从表面上看,似乎有办法优化猫鼬来解决这个问题。理想情况下,我想缩短 Mongoose 在这个火焰图中运行的时间,因为它看起来很长。

我是火焰图的初学者,正在努力正确地破译它。我是否正确假设 Mongoose 占用的时间比预期的要多得多,如果是这样,是否有任何设置可以用来解决问题?

在此处输入图像描述

在此处输入图像描述

更新

第二张图来自我扩展了似乎是运行时间最长的函数的过程。第一张图中顶部的黄色火焰。这似乎发生在初始加载阶段。当我展开时,getModuleJob 函数似乎是运行时间最长的函数。当然,我在 package.json 和 --experimental-modules 集中使用“type”:“module”。

0 投票
1 回答
420 浏览

node.js - 如何结合 TS-Node 使用 0x(用于 node.js 分析)?

我正在使用 ts-node 执行用 TypeScript 编写的脚本。我想使用0x检查火焰图。这是我正在使用 ts-node 执行的当前命令:

> ts-node -r tsconfig-paths/register scripts/my-script.ts

我将如何使用 0x 来捕获脚本执行的火焰图?或者,是否有另一种方法来捕获已执行代码的火焰图?

0 投票
0 回答
61 浏览

ftrace - 可视化 trace-cmd 的调用图输出

我有兴趣了解 KVM。我开始trace-cmd如下:

我使用 Kernelshark 分析了输出文件。这是我第一次使用它,所以我可能不知道如何正确使用它。无论如何,我发现很难找到函数调用的开始和结束。

我感兴趣的是将函数视为火焰图,但我对时间完全不感兴趣,我只对层次结构感兴趣。或者以类似于 IDE 的方式查看它,我可以在其中折叠那些我不感兴趣的功能块。

有没有办法从 trace-cmd 输出中生成火焰图,或者有一种工具可以帮助可视化生成的调用图?

0 投票
0 回答
122 浏览

bash - Bash/Rust 问题:从 Bash 运行火焰图工作,从 Rust 失败

在过去的几天里,我一直在使用 Rust 分析器、火焰图,非常成功。当我从 bash 运行它时,它工作正常。没有 sudo 或任何东西。

当我使用 process::Command 从 Rust 运行它时,它只是说它无法对折叠的堆栈进行采样。

完整错误: