本篇文章将主要介绍如何获取ndnSIM的运行日志。
日志的用处(为什么要获取运行日志)
1.用于调试, 编写完实验脚本后,即使编译通过,整个实验场景也未必符合实验者的预期,需要查看日志中的细节进行判断。甚至,在实验脚本不能一步到位时,常常需要利用日志输出的信息一点一点修改实验脚本,最终实现符合要求的完美的实验过程。
2.用于获取实验数据,运行日志可以提供在生产者、消费者和NDN路由器上的详细运行数据,例如转发了什么数据,从什么端口发到了什么端口,数据是否来源于缓存,详细的丢包情况及原因等等。这些数据可以在打印出来后生成各种指标作为实验结果进行分析对比。虽然ndnSIM也提供了一些方法获取实验结果(可以参考博客ndnSIM 仿真数据获取 仿真结果 平台内建输出程序 trace helpers 的使用_ndnsim tracer-优快云博客或ndn官网的Obtaining metrics),但这些可能未必是想要的指标。
打印运行日志的前提
如果需要输出运行日志,需要ndnSIM处于调试模式(debug mode),具体的过程可以参考这篇博客完成(ndnSIM 如何进入 调试 模式 开启 debug mode_-debug——mode-优快云博客)
由于日志等帮助调试的功能,会增加 overhead。所以测数据时,得把 ns-3以优化模式编译。如果我们希望看到调试日志,就需要以调试模式编译(debug mode)。Examples — ndnSIM documentation
如何打印运行日志
通常在运行ndnSIM仿真时,在终端输入以下命令,终端会立即开始实验并按照代码中规定的时间结束(如果已经编译完成的话),最终终端里仅输出开始与结束的信息(或者以cout
方式打印出来的信息)如下所示。