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. Charles 修改请求/compose和Compose New

    本文参考:撰写工具/compose和Compose New 撰写工具/compose和Compose New compose 是在原有的请求基础上,修改: 可以写各种状态: – URL: – Meth ...

  2. Jenkins 持续集成安装及使用简介

    博客地址:http://www.moonxy.com 一.前言 持续集成(Continuous integration,简称CI)指的是,频繁地(一天多次)将代码集成到主干. 持续集成的目的,就是让产 ...

  3. Swift从入门到精通第十五篇 - 类型转换 初识

    类型转换(学习笔记) 环境Xcode 11.0 beta4 swift 5.1 类型转换 类型转换是检查实例类型的一种方法,或者检查来自类层级不同的父类或子类一个实例,用 is 和 as 操作符 为类 ...

  4. CentOS7升级OpenSSL到1.1.1

    首先下载解压最新的 OpenSSL wget https://github.com/openssl/openssl/archive/OpenSSL_1_1_1-stable.zip unzip Ope ...

  5. Linux之正则表达式grep

    真好!

  6. App引流增长技术:Deeplink(深度链接)技术

    移动互联网时代,信息的分享传播无疑是 App 引流增长的关键,与其花费大量精力和成本找渠道.硬推广,不如从细节下手,用最快最简便的方法实现 Deeplink(深度链接)技术,打破信息孤岛.缩短分享路径 ...

  7. vscode中自动补全<?php?>

    方法引用自百度知道的一个回答: 但是他这个我用着需要优化一下,我的代码是: "PHP":{ "prefix": "php", "b ...

  8. 《深度解析Tomcat》 第一章 一个简单的Web服务器

    本章介绍Java Web服务器是如何运行的.从中可以知道Tomcat是如何工作的. 基于Java的Web服务器会使用java.net.Socket类和java.net.ServerSocket类这两个 ...

  9. Cisco交换机基本使用命令

    作者:小啊博 QQ:762641008 转载请声明URL:https://www.cnblogs.com/-bobo/ 一.进入命令行 switch>                       ...

  10. Fresco添加HTTP请求头

    项目中用Fresco来管理图片由于服务器图片有不同的版本需要根据客户端的屏幕密度来选择不同的图片共享一份用OkHttp下载图片并添加HTTP头代码. public class OkHttpNetwor ...