dtrace - 除了使用 walltimestamp 变量之外,还有其他更好的方法来显示挂钟时间吗?

标签 dtrace

我想打印探测器发射的时间。检查Dtrace文档后,我找到了内置变量:walltimestamp。 Dtrace 脚本如下所示:

pid$1::func:entry
{
    trace(walltimestamp);
}  

但是 walltimestamp 是“自 1970 年 1 月 1 日 00:00 通用协调时间以来的当前纳秒数。”,因此输出类似于“1389583988106535481”。 我认为这对于用户来说不容易理解并且希望输出像“Mon Jan 13 00:00:00 2014”。我搜索过Dtrace是否提供C语言中的ctime之类的函数,但没有找到。

有人需要自己实现ctime这样的功能吗?或者有没有更好的方法来显示时间?

最佳答案

使用printf() :

# dtrace -qn 'BEGIN {printf("%Y\n", walltimestamp); exit(0)}'
2014 Jan 13 08:37:56

#

关于dtrace - 除了使用 walltimestamp 变量之外,还有其他更好的方法来显示挂钟时间吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21084922/

相关文章:

c - 如何使用 dtrace 跟踪函数?

macos - 如何从 macOS 流程示例生成火焰图?

virtual-memory - 当磁盘中的页面出现故障时,哪个 (OS X) dtrace 探测器会触发?

java - 哪些 DTrace 脚本值得在 Solaris 上测试和分析 Java 程序

solaris - 如何编写 dtrace 脚本来转储 Solaris 10 上崩溃进程的堆栈?

gcc - dtrace: 编译脚本失败 未找到预处理器

java - 如何禁用 Java 堆栈帧优化或使用系统分析器分析堆栈?

c - dtracing 一个短暂的应用程序

c++ - DTracing objc_msgSend 不打印接收者类名