Brendan Gregg 基于 Linux kernel 的动态跟踪功能开发了一个很棒的工具“tcpretrans”。 他在这里解释: https://www.brendangregg.com/blog/2014-09-06/linux-ftrace-tcp-retransmit-tracing ...
Brendan Gregg 基于 Linux kernel 的动态跟踪功能开发了一个很棒的工具“tcpretrans”。 他在这里解释: https://www.brendangregg.com/blog/2014-09-06/linux-ftrace-tcp-retransmit-tracing ...
我想了解iosnoop。 为此,我写了一个小程序来跟踪。 如果我刷新缓存,我希望在 iosnoop 中看到一些东西。 在我终止应用程序之前,我什么都看不到。 我究竟做错了什么。 ...
以下dtrace调用曾经在 MacOS 11.6.2 上工作,但在升级到 MacOS 12.2.1 后它停止工作 我现在如何从thread_t获取task ? ...
我想知道在 bash 脚本中对open(2)进行了哪些调用。 我编写了以下拦截系统调用的程序:#include <fcntl.h> #define _GNU_SOURCE #include <dlfcn.h> #include <stdio.h> #include ...
我创建了一个新的 GCP 实例并使用默认的 Debian 系统。 然后,我使用apt安装default-java package,但它们在libjvm.so中没有 USDT。 我不知道为什么? 信息:$ uname -a Linux bpf-test1 4.19.0-18-cloud-amd64 ...
我想得到malloc的返回值,我的DTrace命令是: provider 的 pid 是一个小程序,如下所示: 我发现一些文档说“arg1 持有返回值”,但结果是: 没有任何参数等于 malloc 的返回值,它在哪里? ...
我正在使用DTraceAsmProfiler在 MacOS 上运行来自 IDEA 的基准测试,但失败并出现以下错误: 我的代码: public class BenchmarkRunner { public static void main(String[] args) throws Run ...
我希望通过 FreeBSD 改善界面破坏时间。 在运行-CURRENT测试机器上销毁数千个接口需要几分钟时间,虽然 - 不可否认 - 我的用例可能是一个不寻常的用例,但我想了解是什么导致了系统如此之久。 根据我最初的观察,我能够确定大部分时间都花在等待if_detach_internal()内部的 ...
当我运行一个可执行文件时,我看到一个字符串是 output 到我的终端。 我有可执行文件的源代码(C 语言),但它不是我写的。 我用 -g 标志编译它。 有没有办法知道哪个文件中的哪一行导致了 output、dtrace、lldb、gdb 或任何其他方式? 我正在使用 macOS 10.13。 当 ...
因此,我按照此链接将 BPF 程序附加到用户空间探测器,Dtrace 格式(请参阅用户静态定义的跟踪点部分)。 C程序:#include <sys/sdt.h> int main() { DTRACE_PROBE("hello-usdt", "probe-main"); } ...
我想跟踪应用程序调用的所有函数。 在这里,我不是在寻找系统调用,而是主要寻找库 API。 我试过 truss,它没有显示我期望的一些库 API。 solaris 中是否有任何工具,例如 linux 中的“ltrace”,它可以跟踪库调用? dtrace 是否提供此信息? ...
我正在尝试编写执行以下操作的 DTrace 脚本: 每当启动一个新线程时,增加一个计数。 每当这些线程之一退出时,减少计数,如果计数现在为零,则退出脚本。 我有这样的事情: 但是,这不起作用,因为threads_alive是一个标量变量,因此它不是多CPU 安全的。 结果,多个线程将覆盖彼此对变量 ...
我正在尝试在 Mac OSX Catalina 中 dtruss 进程,但是 dtrace 报告错误。 我基本上是想获得堆栈跟踪。 任何人都可以提供有关完成此操作的指导吗? 谢谢 ...
最近我想看看直接在 object 上调用方法与在同一个 object 上调用相同方法的性能差异是什么,如果将反对添加到单个元素 ArrayList 中,我们尝试循环该元素老实说,我的假设是会有小的差异,因为我希望展开单个元素循环,因此调用来模拟直接调用。 为了测试我创建了以下简单的 JMH 示例: ...
如何在 MacOS 上诊断 Docker 的原因,特别是com.docker.hyperkit使用 100% 的 CPU? Docker 统计数据 Docker stats 显示所有正在运行的容器的 CPU 较低,memory,净 IO 和块 ZCF3882F1C43AB22BDFF0BD239 ...
我正在用Erlang和dtrace做实验,有兴趣知道两个Erlang进程之间交换的消息内容是否可以得到。 特别是,我对message-send和message-receive探测感兴趣。 我查看了erlang_dtrace.d和messages.d以查看这是否可能,但我无法取得任何进展。 有没有办法 ...
我想使用 DTrace 来跟踪各种程序中的 FFI 使用情况。 DTrace 旨在在生产环境中工作,但大多数软件都是通过编译器优化来编译和分发的。 这些优化是否会阻止使用pid提供程序来跟踪entry和return探测器? 例如 pid$target::example_ffi_fn_x: ...
sqlite3_open需要一个指向指针的指针。 我想跟踪第二个指针的地址。 例如: p1(p2(obj)) https://www.sqlite.org/c3ref/open.html 在 DTrace 中获取该指针地址的语法是什么? 我使用pid$target::sqlite3_o ...
由于某些原因,我需要确定在我的macOS应用程序中,在新复制的文档中首次出现“保存”面板时,macOS会删除临时自动保存的文档文件,这当然会导致以后的保存到失败。 这是DTrace成绩单,我已经做了一些删节: 以上结果告诉我 (1)不是我的进程,而是一个名为com.app ...
我使用dtrace看到了意外的结果,因为我的-entry和-return结果似乎并不总是相互关联,我似乎看到太多或太少,并且简化了我的脚本来探究出了什么问题。 我正在尝试使用以下D脚本来分析我的Ruby代码中require "./foo"花费的时间: 运行此打印: 我是 ...