在example文件夹下分别创建了traces、logs和pcaps三个文件夹
traces文件夹存放跟踪文件
ndn::L3RateTracer::InstallAll("/home/path/ndnSIM/ns-3/src/ndnSIM/examples/traces/link-faliure.txt", Seconds(2));
ndn::L3RateTracer 是 ndnSIM(基于ns-3的Named Data Networking模拟工具)中的一个跟踪器,用于用于获取 节点吞吐量指标。可以 跟踪NDN节点转发的兴趣/数据包的字节数和速率。
Seconds(2) 设置了跟踪器的时间间隔,意思是每2秒钟输出一次数据。这决定了数据采集的频率,即每2秒将收集到的信息写入文件。
抽空插个图
获取的跟踪文件中每列含义https://blog.csdn.net/Ximerr/article/details/115434210
logs文件夹存放日志信息,通过在终端运行以下
NS_LOG=ndn.Consumer:ndn.Producer:ndn.LinkControlHelper ./waf --run=ndn-simple-with-link-failure > /home/path/ndnSIM/ns-3/src/ndnSIM/logs/link-failure.log 2>&1
的命令保存到指定文件夹里。
需要注意的是:./waf需要配置成debug模式而不是优化模式,不然没有日志信息。
我一开始在ns-3里装的./waf是optimized模式,不能够打印出日志信息
cd ~/ndnSIM2.7/ns-3/ #需要改为自己的NS-3安装目录
./waf configure --enable-examples -d debug
./waf
sudo ./waf install
//装好以后就可以运行示例,通过以下语句在终端输出日志信息
NS_LOG=ndn.Consumer:ndn.Producer:ndn.LinkControlHelper ./waf --run=ndn-simple-with-link-failure
//或者使用该语句将日志信息输出到指定文件,方便查阅
NS_LOG=ndn.Consumer:ndn.Producer:ndn.LinkControlHelper ./waf --run=ndn-simple-with-link-failure > 你想存放日志文件的位置/文件名称.log 2>&1
//也可以在输出日志文件的同时进行可视化
NS_LOG=ndn.Consumer:ndn.Producer:ndn.LinkControlHelper ./waf --run=ndn-simple-with-link-failure --vis
NS_LOG=ndn.Consumer:ndn.Producer:ndn.LinkControlHelper ./waf --run=ndn-simple-with-link-failure > 你想存放日志文件的位置/文件名称.log 2>&1 --vis
抽空补图
如果是在scenario模板中使用debug mode还需执行以下命令
cd ../scenario
./waf distclean//下面的教程中没有该语句,这是因为我按照原教程装debug模式时不能可视化了,由chatgpt给的新的过程
./waf configure --debug
./waf --run=mytest --vis
怎样进入到debug模式,以及怎么在scenario模板中也能使用debug mode可以查看这篇文章以获得更多细节[https://blog.csdn.net/Ximerr/article/details/114490929]
注意:在scenario模板中对自己的代码使用debug模式,前提条件——必须要在ns-3文件夹下编译为debug mode,重新安装后即可。否则会出现 ‘ Can not find ‘ns3-core’ ’找不到ns3-core的报错
pcaps文件夹是为了保存抓包文件,用于wireshark读取分析。
p2p.EnablePcapAll("/home/path/ndnSIM/ns-3/src/ndnSIM/examples/pcaps/link-failure/link-faliure");