Skip to content

Commit

Permalink
FlowMeasurementRecorder: Added recording some more details in the pac…
Browse files Browse the repository at this point in the history
…ketEvent log file.
  • Loading branch information
levy committed Nov 23, 2023
1 parent adaff57 commit 9fa6f8c
Showing 1 changed file with 13 additions and 2 deletions.
15 changes: 13 additions & 2 deletions src/inet/queueing/flow/FlowMeasurementRecorder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -98,13 +98,19 @@ void FlowMeasurementRecorder::endMeasurements(Packet *packet)
packetEventFile.openObject();
packetEventFile.writeInt("eventNumber", cSimulation::getActiveSimulation()->getEventNumber());
packetEventFile.writeRaw("simulationTime", simTime().str());
packetEventFile.writeString("module", getFullPath());
packetEventFile.writeInt("packetId", packet->getId());
packetEventFile.writeInt("packetTreeId", packet->getTreeId());
packetEventFile.writeString("packetName", packet->getName());
std::stringstream s;
packet->peekAll()->printToStream(s, 0);
packetEventFile.writeString("packetData", s.str());
packetEventFile.openArray("lifeTimes");
packet->peekData()->mapAllTags<CreationTimeTag>(offset, length, [&] (b o, b l, const Ptr<const CreationTimeTag>& creationTimeTag) {
simtime_t lifeTime = simTime() - creationTimeTag->getCreationTime();
packetEventFile.openObject();
packetEventFile.writeInt("offset", b(o).get());
packetEventFile.writeInt("length", b(l).get() );
packetEventFile.writeInt("length", b(l).get());
packetEventFile.writeRaw("lifeTime", lifeTime.str());
packetEventFile.closeObject();
});
Expand All @@ -114,7 +120,7 @@ void FlowMeasurementRecorder::endMeasurements(Packet *packet)
simtime_t totalDuration = 0;
packetEventFile.openObject();
packetEventFile.writeInt("offset", b(o).get());
packetEventFile.writeInt("length", b(l).get() );
packetEventFile.writeInt("length", b(l).get());
packetEventFile.openArray("events");
for (int i = 0; i < packetEventTag->getPacketEventsArraySize(); i++) {
auto packetEvent = packetEventTag->getPacketEvents(i);
Expand All @@ -129,7 +135,12 @@ void FlowMeasurementRecorder::endMeasurements(Packet *packet)
packetEventFile.writeRaw("simulationTime", packetEvent->getSimulationTime().str());
packetEventFile.writeString("type", kindName + 4);
packetEventFile.writeString("module", packetEvent->getModulePath());
packetEventFile.writeInt("packetLength", b(packetEvent->getPacketLength()).get());
packetEventFile.writeRaw("duration", duration.str());
if (kind == PEK_TRANSMITTED) {
auto packetTransmittedEvent = static_cast<const PacketTransmittedEvent *>(packetEvent);
packetEventFile.writeDouble("datarate", bps(packetTransmittedEvent->getDatarate()).get());
}
packetEventFile.closeObject();
}
packetEventFile.closeArray();
Expand Down

0 comments on commit 9fa6f8c

Please sign in to comment.