相关疑难解决方法(0)

node_s/v8 flamegraph中使用perf_events的未知事件

我尝试做使用Linux作为perf_events由布伦丹·格雷格描述的一些分析的NodeJS 这里.

工作流程如下:

  1. 运行节点> 0.11.13 with --perf-basic-prof,这将创建/tmp/perf-(PID).map写入JavaScript符号映射的文件.
  2. 使用捕获堆栈 perf record -F 99 -p `pgrep -n node` -g -- sleep 30
  3. 使用存储库中的stackcollapse-perf.pl脚本折叠堆栈
  4. 使用flamegraph.pl脚本生成svg火焰图

我得到以下结果(开头看起来非常好): 在此输入图像描述

问题是有很多[unknown]元素,我认为应该是我的nodejs函数调用.我假设整个过程在第3点失败,其中perf数据应该使用由node/v8生成的映射来折叠--perf-basic-prof./tmp/perf-PID.map在节点执行期间创建文件并将一些映射写入其中.

如何解决这个问题呢?

我使用的是CentOS 6.5 x64,并且已经尝试使用节点0.11.13,0.11.14(预建和编译),但没有成功.

performance profiling v8 node.js perf

8
推荐指数
2
解决办法
3414
查看次数

python中的行分析类实例化

我有一些我正在尝试分析的现有代码。我可以通过@profile使用kernprof添加装饰器来成功地排列配置文件类方法。

有没有一种通用的方法来分析类实例化?我有几个类具有非常复杂的继承结构。当我尝试分析它们的 init 函数时,我得到如下信息:

Line #      Hits         Time  Per Hit   % Time  Line Contents
==============================================================
   179                                               def __init__(self, data):
   180         1    8910739.0 8910739.0    100.0          super().__init__(data)
   181         1         10.0      10.0      0.0          self.mortgage_rate = 5.2  # rate in percentage
Run Code Online (Sandbox Code Playgroud)

这有点没用,因为我不知道__init__正在调用什么实际的父函数(这个类有 2 个父级,每个父级都有一个或多个父级)。

有什么办法可以做得更好吗?例如,有没有办法自动潜入每条线,并分析它调用的线(深度有限)?

python inheritance instantiation line-profiler

2
推荐指数
1
解决办法
1130
查看次数