ndnSIM中提供了几种trace用来对仿真结果进行跟踪,生成数据文件txt

官网地址: https://ndnsim.net/current/metric.html#packet-trace-helper-example

1、L3RateTracer(官网示例文件:ndn-tree-tracers.cpp)

L3RateTracer::InstallAll("rate-trace.txt", Seconds(1.0));
跟踪NDN节点转发的兴趣/数据包的字节数和速率
生成结果文件rate-trace.txt,包含以下内容
Time    Node    FaceId    FaceDescr    Type    Packets    Kilobytes    PacketRaw    KilobytesRaw
0.5    leaf-1    1    internal://    InInterests    0    0    0    0
0.5    leaf-1    1    internal://    OutInterests    0    0    0    0
0.5    leaf-1    1    internal://    InData    0    0    0    0
0.5    leaf-1    1    internal://    OutData    0    0    0    0
0.5    leaf-1    1    internal://    InNacks    0    0    0    0
0.5    leaf-1    1    internal://    OutNacks    0    0    0    0CacheHits:“数据包”列指定缓存中满足的兴趣数      CacheMisses:“数据包”列指定缓存中未满足的兴趣数
0.5    leaf-1    1    internal://    InSatisfiedInterests    0    0    0    0
0.5    leaf-1    1    internal://    InTimedOutInterests    0    0    0    0
0.5    leaf-1    1    internal://    OutSatisfiedInterests    1.6    0    1    0
0.5    leaf-1    1    internal://    OutTimedOutInterests    0    0    0    0

2、L2RateTracer(官网示例文件:ndn-simple-withl2tracer.cpp)

此跟踪器在本质上与ndn :: L3RateTracer相似,但当前仅跟踪第2层上的数据包丢弃
下图是根据官网用R语言绘制的结果图
ns3::L2RateTracer::InstallAll("rate-trace.txt", Seconds(1.0));
结果文件包含以下内容:
Time    Node    Interface    Type    Packets    Kilobytes    PacketsRaw    KilobytesRaw
1 Rtr1 combined Drop 0 0 0

3、CsTracer(官网示例文件:ndn-tree-cs-tracers.cpp)

仅当使用OldContentStore结构时,此跟踪器才起作用!

通过使用ndn :: CsTracer,可以获得仿真节点上缓存命中/缓存未命中的统计信息

CsTracer::InstallAll("cs-trace.txt", Seconds());

结果文件包含:
Time    Node    Type    Packets    
1    leaf-1    CacheHits    0
1    leaf-1    CacheMisses    11
1    leaf-2    CacheHits    0
1    leaf-2    CacheMisses    1 Type:CacheHits: “数据包”列指定缓存中满足的兴趣数
   CacheMisses:“数据包”列指定缓存中未满足的兴趣数
Packets:该时间段内的数据包数量,其含义取决于“类型”列

4、AppDelayTracer(官网示例文件:ndn-tree-app-delay-tracer.cpp)

通过使用ndn :: AppDelayTracer,可以获取有关发出兴趣和接收相应数据包之间的延迟的数据。

AppDelayTracer::InstallAll("app-delays-trace.txt");

结果文件中包含:
Time    Node    AppId    SeqNo    Type    DelayS    DelayUS    RetxCount    HopCount
10.0058    leaf-1    0    0    LastDelay    0.0057904    5790.4     1    2
10.0058    leaf-1    0    0    FullDelay    9.00579     9.00579e+06    3    2 seqNo:兴趣数据的序列号
Type: LastDelay表示DelayS和DelayUS表示最后发送的兴趣和接收到的数据包之间的延迟
   FullDelay表示DelayS和DelayUS代表发送的第一个兴趣点和接收到的数据包之间的延迟(即,包括兴趣点重传的时间)
DelayS:延迟值,以秒为单位
DelayUS:延迟值,以微秒为单位(10 ^ -6)
RetxCount:重发兴趣的次数(对于LastDelay始终等于1)
HopCount:检索到的数据包在从生产者应用程序或缓存返回的途中经过的网络跃点数。 请注意,与ndnSIM 1.0相比,HopCount字段的语义已更改。

剩下的工作就是将结果数据文件处理后可视化

官方使用的R语言,这里数据处理的方法都可,我习惯用python。

ndnsim结果分析的更多相关文章

  1. alias导致virtualenv异常的分析和解法

    title: alias导致virtualenv异常的分析和解法 toc: true comments: true date: 2016-06-27 23:40:56 tags: [OS X, ZSH ...

  2. 火焰图分析openresty性能瓶颈

    注:本文操作基于CentOS 系统 准备工作 用wget从https://sourceware.org/systemtap/ftp/releases/下载最新版的systemtap.tar.gz压缩包 ...

  3. 一起来玩echarts系列(一)------箱线图的分析与绘制

    一.箱线图 Box-plot 箱线图一般被用作显示数据分散情况.具体是计算一组数据的中位数.25%分位数.75%分位数.上边界.下边界,来将数据从大到小排列,直观展示数据整体的分布情况. 大部分正常数 ...

  4. 应用工具 .NET Portability Analyzer 分析迁移dotnet core

    大多数开发人员更喜欢一次性编写好业务逻辑代码,以后再重用这些代码.与构建不同的应用以面向多个平台相比,这种方法更加容易.如果您创建与 .NET Core 兼容的.NET 标准库,那么现在比以往任何时候 ...

  5. UWP中新加的数据绑定方式x:Bind分析总结

    UWP中新加的数据绑定方式x:Bind分析总结 0x00 UWP中的x:Bind 由之前有过WPF开发经验,所以在学习UWP的时候直接省略了XAML.数据绑定等几个看着十分眼熟的主题.学习过程中倒是也 ...

  6. 查看w3wp进程占用的内存及.NET内存泄露,死锁分析

    一 基础知识 在分析之前,先上一张图: 从上面可以看到,这个w3wp进程占用了376M内存,启动了54个线程. 在使用windbg查看之前,看到的进程含有 *32 字样,意思是在64位机器上已32位方 ...

  7. ZIP压缩算法详细分析及解压实例解释

    最近自己实现了一个ZIP压缩数据的解压程序,觉得有必要把ZIP压缩格式进行一下详细总结,数据压缩是一门通信原理和计算机科学都会涉及到的学科,在通信原理中,一般称为信源编码,在计算机科学里,一般称为数据 ...

  8. ABP源码分析一:整体项目结构及目录

    ABP是一套非常优秀的web应用程序架构,适合用来搭建集中式架构的web应用程序. 整个Abp的Infrastructure是以Abp这个package为核心模块(core)+15个模块(module ...

  9. HashMap与TreeMap源码分析

    1. 引言     在红黑树--算法导论(15)中学习了红黑树的原理.本来打算自己来试着实现一下,然而在看了JDK(1.8.0)TreeMap的源码后恍然发现原来它就是利用红黑树实现的(很惭愧学了Ja ...

随机推荐

  1. 基于python的selenium两种文件上传操作

    方法一.input标签上传     如果是input标签,可以直接输入路径,那么可以直接调用send_keys输入路径,这里不做过多赘述,前文有相关操作方法. 方法二.非input标签上传 这种上传方 ...

  2. FBCTF平台安装

    一言难尽 = =开始不知道FBCTF只能安装在Ubuntu,在本地搭建半天好不容易弄起了PHP环境,打开错误,后来才知道只能在Ubuntu 14.04 LTS下安装= = FBCTF是Facebook ...

  3. 多线程——Callable接口

    package pers.aaa.callable; import java.util.concurrent.Callable; public class MyCallable implements ...

  4. 定义一个Person类,其中包括:1.定义属性:姓名、年龄、民族作为成员变量。定义静态成员变量:人数2.定义构造方法:对成员变量进行初始化。3.定义多个方法:分别显示相应的属性值,例如getName(){System.out.print("名称="+name+";"); }4.定义一个方法“成长”:实现年龄的增加,每执行一次年龄增加1

    题目显示不全,完整题目描述: (1)定义一个Person类,其中包括:1.定义属性:姓名:年龄:民族作为成员变量.定义静态成员变量:人数2.定义构造方法:对成员变量进行初始化.3.定义多个方法:分别显 ...

  5. jsp学习:jsp学习阶段性总结2019.9.21

    Jsp学习 jsp语法格式: 脚本程序:<% 代码片段 %> jsp声明:<%! declaration; [ declaration; ]+ ... %> 表达式:<% ...

  6. 36 (OC)* MVC和MVVM

    1:MVC (Modal View Controller)(模型 视图 控制器)  一.MVC 从字面意思来理解,MVC 即 Modal View Controller(模型 视图 控制器),是 Xe ...

  7. Micrometer 快速入门

    Micrometer为最流行的监控系统提供了一个简单的仪表客户端外观,允许仪表化JVM应用,而无需关心是哪个供应商提供的指标.它的作用和SLF4J类似,只不过它关注的不是Logging(日志),而是a ...

  8. 2019年9月3日安卓凯立德全分辨率(路况)夏季版C3551-C7M24-3K21J25懒人包

    拷贝懒人包NaviOne文件夹到机器根目录或内存卡根目录下:安装其中的apk程序 2019凯立德C3551-C7M24-3K21J25新组合懒人包 [分辨率]:自适应 [适用系统]:Android2. ...

  9. SVN更改地址

    因为服务器更改或其他某些原因导致svn地址改变,那么本地应该如何操作tortoiseSVN?如何成功的把项目进行迁移? 操作步骤 1.右击项目目录---TortoiseSVN----重新定位(英文版是 ...

  10. Spring boot 梳理 - Spring boot自动注册DispatcherServlet

    spring boot提供的DispatcherServlet的name就是“dispatcherServlet”. 源码 public ServletRegistrationBean dispatc ...