I have created a simple VANET simulation using OMNeT++ simulator version 4.6 in Ubuntu. I am getting all the parameters from scalar recording. however, i want to calculate the end-to-end delay, pdr, packet loss, and average throughput of all the nodes at particular simulation time, instead of calculating manually. can anyone tell me how.
Below is my entire omnetpp.ini file code.
[General]
network = net
sim-time-limit = 200s
num-rngs = 3
debug-on-errors = true
**.coreDebug = false
**.playgroundSizeX = 10000m
**.playgroundSizeY = 10000m
**.playgroundSizeZ = 0
**.useTorus = true
**.use2D = true
*.connectionManager.sendDirect = false
**.numHosts = 20
**.numRSUs = 4
**.scalar-recording = true
**.vector-recording = true
**.udpAppType="UDPBasicBurst"
**.udpApp[*].scalar-recording = true
**.endToEndDelay.scalar-recording = true
**.Throughput.scalar-recording = true
##########################################################
# 11p specific parameters #
# #
# NIC-Settings #
##########################################################
*.connectionManager.pMax = 20mW
*.connectionManager.sat = -94dBm
*.connectionManager.alpha = 2.0
*.connectionManager.carrierFrequency = 5.890e9 Hz
*.**.nic.mac1609_4.useServiceChannel = true
*.**.nic.mac1609_4.serviceChannel = 2
*.**.nic.mac1609_4.txPower = 20mW
*.**.nic.mac1609_4.bitrate = 18Mbps
*.**.nic.phy80211p.sensitivity = -94dBm
*.**.nic.phy80211p.maxTXPower = 20mW
*.**.nic.phy80211p.useThermalNoise = true
*.**.nic.phy80211p.thermalNoise = -110dBm
*.**.nic.phy80211p.decider = xmldoc("config.xml")
*.**.nic.phy80211p.analogueModels = xmldoc("config.xml")
*.**.nic.phy80211p.usePropagationDelay = true
*.manager.updateInterval = 0.1s
*.manager.host = "localhost"
*.manager.port = 9999
*.manager.moduleType = "org.car2x.veins.nodes.Car"
*.manager.moduleName = "node"
*.manager.moduleDisplayString = ""
*.manager.autoShutdown = true
*.manager.margin = 25
*.manager.launchConfig = xmldoc("junction.launchd.xml")
##########################################################
# WaveAppLayer #
##########################################################
*.host[*].applicationType = "TestWaveApplLayer"
*.host[*].appl.debug = false
*.host[*].appl.headerLength = 256 bit
*.host[*].appl.sendBeacons = true
*.host[*].appl.dataOnSch = true
*.host[*].appl.sendData = true
*.host[*].appl.beaconInterval = 1s
*.host[*].appl.beaconPriority = 3
*.host[*].appl.dataPriority = 2
*.rsu[*].applicationType = "TestWaveApplLayer"
*.rsu[*].appl.debug = false
*.rsu[*].appl.headerLength = 256 bit
*.rsu[*].appl.sendBeacons = true
*.rsu[*].appl.dataOnSch = true
*.rsu[*].appl.sendData = true
*.rsu[*].appl.beaconInterval = 1s
*.rsu[*].appl.beaconPriority = 3
*.rsu[*].appl.dataPriority = 2
##############################################################################
# Parameters for the Mobility Module #
##############################################################################
# if set to 0 the MN does not move
######Linear Mobility code starts here
#**.mobility.speed = 500mps
**.mobility.updateInterval = 1s
**.host[0].mobility.angle = 0deg
**.host[1].mobility.angle = 0deg
**.host[2].mobility.angle = 0deg
**.host[3].mobility.angle = 0deg
**.host[4].mobility.angle = 0deg
**.host[5].mobility.angle = 90deg
**.host[6].mobility.angle = 90deg
**.host[7].mobility.angle = 90deg
**.host[8].mobility.angle = 90deg
**.host[9].mobility.angle = 90deg
**.host[10].mobility.angle = 0deg
**.host[11].mobility.angle = 0deg
**.host[12].mobility.angle = 0deg
**.host[13].mobility.angle = 0deg
**.host[14].mobility.angle = 0deg
**.host[15].mobility.angle = 90deg
**.host[16].mobility.angle = 90deg
**.host[17].mobility.angle = 90deg
**.host[18].mobility.angle = 90deg
**.host[19].mobility.angle = 90deg
**.rsu[0].mobility.angle = 0deg
**.rsu[1].mobility.angle = 0deg
**.rsu[2].mobility.angle = 0deg
**.rsu[3].mobility.angle = 0deg
**.host[0].mobility.speed = 500mps
**.host[1].mobility.speed = 500mps
**.host[2].mobility.speed = 500mps
**.host[3].mobility.speed = 500mps
**.host[4].mobility.speed = 500mps
**.host[5].mobility.speed = 500mps
**.host[6].mobility.speed = 500mps
**.host[7].mobility.speed = 500mps
**.host[8].mobility.speed = 500mps
**.host[9].mobility.speed = 500mps
**.host[10].mobility.speed = 500mps
**.host[11].mobility.speed = 500mps
**.host[12].mobility.speed = 500mps
**.host[13].mobility.speed = 500mps
**.host[14].mobility.speed = 500mps
**.host[15].mobility.speed = 500mps
**.host[16].mobility.speed = 500mps
**.host[17].mobility.speed = 500mps
**.host[18].mobility.speed = 500mps
**.host[19].mobility.speed = 500mps
**.rsu[0].mobility.speed = 0
**.rsu[1].mobility.speed = 0
**.rsu[2].mobility.speed = 0
**.rsu[3].mobility.speed = 0
**.host[*].mobility.acceleration = 0
**.rsu[*].mobility.acceleration = 0
**.host[0].mobility.x = 0
**.host[0].mobility.y = 1600
**.host[1].mobility.x = 0
**.host[1].mobility.y = 3400
**.host[2].mobility.x = 0
**.host[2].mobility.y = 5500
**.host[3].mobility.x = 0
**.host[3].mobility.y = 7000
**.host[4].mobility.x = 0
**.host[4].mobility.y = 8600
**.host[5].mobility.x = 1350
**.host[5].mobility.y = 0
**.host[6].mobility.x = 3150
**.host[6].mobility.y = 0
**.host[7].mobility.x = 5100
**.host[7].mobility.y = 0
**.host[8].mobility.x = 6550
**.host[8].mobility.y = 0
**.host[9].mobility.x = 8300
**.host[9].mobility.y = 0
**.host[10].mobility.x = 8600
**.host[10].mobility.y = 0
**.host[11].mobility.x = 7000
**.host[11].mobility.y = 0
**.host[12].mobility.x = 5500
**.host[12].mobility.y = 0
**.host[13].mobility.x = 1600
**.host[13].mobility.y = 0
**.host[14].mobility.x = 3400
**.host[14].mobility.y = 0
**.host[15].mobility.x = 0
**.host[15].mobility.y = 8300
**.host[16].mobility.x = 0
**.host[16].mobility.y = 6500
**.host[17].mobility.x = 0
**.host[17].mobility.y = 5100
**.host[18].mobility.x = 0
**.host[18].mobility.y = 3150
**.host[19].mobility.x = 0
**.host[19].mobility.y = 1350
**.rsu[0].mobility.x = 3150
**.rsu[0].mobility.y = 3400
**.rsu[1].mobility.x = 6550
**.rsu[1].mobility.y = 3400
**.rsu[2].mobility.x = 3100
**.rsu[2].mobility.y = 7000
**.rsu[3].mobility.x = 6500
**.rsu[3].mobility.y = 7000
**.mobility.z = 0
######Linear Mobility code ends here
**.routingProtocol = "OLSR"
#**.vehicle[*].manetrouting.manetmanager.routingProtocol = "AODVUU"
#**.vehicle[*].manetrouting.interfaces = "prefix(wlan)"
#**.wlan[*].opMode = "e"
#**.vehicle[*].wlan.mgmtType = "Ieee80211MgmtSTA"
**.Hello_ival = 5s
**.Tc_ival = 5s
**.Mid_ival = 5s
**.Willingness = 3 #(0..7) The node's willingness to carry traffic on behalf of other nodes. 0:NEVER .. 7:ALWAYS (section 18.8)
**.use_mac = 0 #Determines if layer 2 notifications are enabled or not (chapter 13)
**.UseIndex = false #use the interface index instead the ip to identify the interface (EXPERIMENTAL)
**.reduceFuncionality = false
**.OLSR_REFRESH_INTERVAL = 2s
**.PublicRoutingTables = false
**.optimizedMid = false #only nodes with more that a interface sends mid messages
**.DelOnlyRtEntriesInrtable_ = false #delete only ip entries that are in the interal routing table