我已经开发了一个节能路由协议,现在为了评估性能,我想计算数据包通过多跳链路传输时的端到端数据包传输延迟 >。我无法决定要考虑哪个计时信息,是考虑考虑日志文件(log-0.txt
中可用的模拟时间还是调制解调器的传输时间(txtime
和rxtime
)。 请让我知道在UnetStack中计算端到端延迟的方法。
答案 0 :(得分:1)
仿真时间(以下日志文件的第一列,以毫秒为单位)在所有仿真节点之间同步,因此,如果您在源节点上记录启动时间,则可以使用它来计算端到端延迟,和结束时间在目标节点。
示例日志文件:
var svg = d3.select("#chart")
.append("svg")
.attr("width", width)
.attr("height", height)
.append("g")
.attr("transform", "translate(" + width / 2 + "," + (height / 2) + ")");
d3.json("https://s3-us-west-2.amazonaws.com/s.cdpn.io/308528/spending-
data.json").then(function(data) {
console.log(data);
partition = d3.layout.partition().value(function(d) { return d.size; }) ;
var arc = d3.svg.arc()
.startAngle(function(d) { return Math.max(0, Math.min(2 *
Math.PI, x(d.x))); })
.endAngle(function(d) { return Math.max(0, Math.min(2 *
Math.PI, x(d.x + d.dx))); })
.innerRadius(function(d) { return Math.max(0, y(d.y)); })
.outerRadius(function(d) { return Math.max(0, y(d.y + d.dy));
});
svg.selectAll("path")
.data(partition.nodes(data))
.enter().append("path")
.attr("d", arc)
.style("fill", function(d) { return color((d.children ? d :
d.parent).name); })
.on("click", click)
.append("title")
.text(function(d) { return d.name + "\n" + "$" + formatNumber(d.value);
});
});
在此示例中,节点4(CASE WHEN EveryDay=1 THEN @Days ='Every Day' WHEN SUN=1 THEN @Days = 'SUNDAY'
)在时间5673|INFO|org.arl.unet.sim.SimulationAgent/4@570:call|TxFrameNtf:INFORM[type:DATA txTime:2066947222]
6511|INFO|org.arl.unet.sim.SimulationAgent/3@567:call|TxFrameNtf:INFORM[type:DATA txTime:1157370743]
10919|INFO|org.arl.unet.sim.SimulationAgent/4@570:call|TxFrameNtf:INFORM[type:DATA txTime:2072193222
进行传输。然后,节点3(SimulationAgent/4
)在时间5673
进行传输。等等...
SimulationAgent/3
和6511
以微秒为单位,但是对于每个节点而言都是本地的。因此,它们可以用于获取同一节点中事件的时间差,但不能直接在节点之间进行比较。