问题标签 [kcachegrind]

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 投票
1 回答
672 浏览

python - 如何使用 kCacheGrind 打开 python 配置文件数据?

我在 mac 上使用 qcachegrind 检查配置文件数据时遇到问题。我正在使用 django-extensions 生成配置文件数据。我可以在代码中使用 cProfile 打开正常的配置文件日志pyprof2calltree,但我无法打开从/manage.py runprofileserver --prof-path=profile_data --use-cprofile --kcachegrind. 有没有人成功管理过这个?

0 投票
2 回答
1462 浏览

ruby-on-rails - 如何使用 ruby​​-prof 为 Rails 应用程序输出 KCacheGrind 的调用树分析?

根据文档,您可以分析 Rails 应用程序 http://ruby-prof.rubyforge.org/

我将此添加到我的 config.ru

但是它只输出以下文件

输出完全无法理解。所以我下载了 QCacheGrind for Windows。 http://sourceforge.net/projects/qcachegrindwin/?source=recommended

它不会读取任何这些文件。ruby-prof 文档说您可以生成 KCacheGrind 文件

RubyProf::CallTreePrinter - 创建与 KCachegrind 兼容的调用树报告。

但它不会说如何使用 Rails 来做到这一点。我查看了 RubyProf 的页面,但它是空的。 http://ruby-prof.rubyforge.org/classes/Rack/RubyProf.html

Ruby 2.0.0,Rails 4.0.3

0 投票
1 回答
137 浏览

mysql - MySQL 会话的调用图

我正在尝试创建valgrindMySQL 客户端连接的 (cachegrind) 分析。
我正在valgrind运行--trace-children=yes

我要查找的是内部方法调用之一,在使用时查看调用图...

运行后,valgrind --trace-children=yes ./bin/mysqld_safe
我得到了当时编写的许多转储文件。
我正在等待 5 分钟(让我希望创建的新文件具有不同的“最后修改”日期。

在这 5 分钟之后,我打开了 30 个会话,并用小事务淹没了系统,当我完成后 - 关闭 MySQL。

现在的问题:
1.运行30个事务并关闭系统后,只修改了3个文件。我预计会看到 30 个文件,因为我虽然 MySQL 跨越进程。所以首先 - 有人可以确认 MySQL 跨越线程而不是每个会话的进程吗?

  1. 我看到三个不同的数据库日志调用:一个到 DUMMY,一个到binlog,一个到innodb日志。有人可以解释为什么 thebinlog和 DUMMY 在那里,它们之间有什么区别?(我猜 DUMMY 是因为,但如果我的第一个猜测是真的innodb,我不明白为什么存在)。binlog

  2. 有没有更好的方法来做这个分析?
    有没有这样的工具kcachegrind可以打开多个文件并显示所有文件的摘要?(或者有可能以某种方式在内部kcachegrind?)

谢谢!!

顺便说一句 - 对于扩展和开发 MySQL 的人来说 - 那里有很多有趣的事情可以改进......

0 投票
1 回答
3543 浏览

c++ - kcachegrind:没有可用于以下功能的源

我正在尝试使用 Ubuntu 12.04 查看带注释的源代码$ valgrind --tool=callgrind ./myProgram$ kcachegrind我在$ qcachegrind使用 Mac OSX 时遇到了同样的问题)。

C++ 脚本myProgram.cpp调用.hpp文件中的函数(通过#include "../include/myHeader.hpp"等)。我这样编译myProgram.cpp

我不关心查看该第三方库的注释源。

我想看到的是myHeader.hppin和 for 函数的注释源myProgram.cpp

相反,我看到了 kcachegrind 的 Flat Profile 窗口,其中列出了所有被调用的函数,包括其中的函数myHeader.hpp-这很棒。现在,kcachegrind 将函数的位置报告myHeader.hpp为 from myProgram-这很奇怪。最后,当我从 Flat Profile 窗口中选择任何功能并请求查看源代码时,我会遇到:

我试过的:

  • myHeader.hpp使用 kcachegrind 的 GUI将目录添加到注释列表中。

  • 使用 -O0 编译以删除编译器优化

0 投票
0 回答
1310 浏览

ubuntu - 无法在 ubuntu 13.10 上安装 Kcachegrind

我想开始了解 kcachegrind 来分析我的 php 内容。

试过了

但我总是得到

我错过了什么吗?

非常感谢。

0 投票
1 回答
5793 浏览

performance - KCachegrind:找不到命令

我使用以下命令在Centos上安装了 valgrind :

然后我将 callgrind 工具用于我的 c++ 程序。它生成了它的 callgrind.out.42424 文件。

现在,我想使用以下命令在 KCacheGrind 上打开此文件:

但终端说

bash kcachegrind:找不到命令

我不知道为什么我在安装时收到此错误。我是否需要在特定目录中才能运行此命令?

0 投票
1 回答
9808 浏览

c++ - 如何解释 kcachegrind 的结果

谁能告诉我如何对 kcachegrind 的结果感兴趣。

我有两个版本的代码(v1、v2)都在调试模式下编译。我通过 valgrind 使用选项运行它们:

valgrind --tool=callgrind -v ....

这样生成的输出文件在 kcachegrind 中打开。现在我已经发现代码的 v2 版本比第一个版本 v1 运行得更快。但是我如何从 kcachegrind 的调用图中得到结果。

在 kcachegrindAll Callers选项卡中,我有以下列Incl. , Distance, Called, Caller

IIUC,Called并且caller是程序中调用“调用者”的次数。但我不知道其他人。

另一件事是选择特定功能,然后“呼叫者”选项卡时显示了更多信息。Ir, Ir per call, count, caller 并在类型选项卡中:`EventType,Incl。自我,简短,公式。

我在这里没有任何想法。

到目前为止,我已经阅读了这些问题:

KCachegrind 解释混乱 对分析结果感到困惑

0 投票
1 回答
980 浏览

c++ - 了解 Kcachegrind 调用图编号输出

嗨,我是使用这个工具的新手,除了我能用谷歌搜索的东西之外,我没有太多关于它的文档。我有一个编译的 c++ 程序,我正在运行 callgrind,我看到了调用图,但如果我不使用相对百分比。这些数字是什么意思?我将在调用函数框中看到 3 个数字和一个带有蓝色填充的仪表。此外,它调用的函数的箭头有一个类似 224 x 的数字,然后是 3 个数字,以及一个米和蓝色填充。试图获得有关 3 个数字的含义以及箭头上的数字的含义的一些确切信息。有时你会在一个箭头上得到 36 217 x,然后在它下面有 3 个数字。有时你只会得到 359 x 没有前缀号码。

0 投票
0 回答
75 浏览

c++ - KCacheGrind 中灰点的含义

在进行一些分析时,我发现 KCacheGrind 将箭头可视化为一个小灰点。这是什么意思?

在此处输入图像描述

0 投票
0 回答
173 浏览

linux - Cachegrind 没有显示函数级结果?

我正在使用 Valgrind 的 Cachegrind 分析我的 C++ 应用程序,使用此终端行:

从我看到的在线指南中,这应该会自动显示功能级别的分析结果。但是,我只得到程序级的结果。

我还需要指定什么才能查看每个函数的结果?

更新

好的,我需要运行这个:

得到函数级的结果。