Example #1
0
def plotReceiverRxTxData(pFileName, pTimeWindow=None):
    mDP = TcpDumpProcessor()
    mDP.loadDumpFromFile(pFileName)
#     mDP.printTimeSeries()
    #-----------------------------------------------
    #   RX-Segments and TX-Acks
    #-----------------------------------------------
    if pTimeWindow is None:
        receivedSegs = mDP.filterTimeSeries(mDP.OP_RX, mDP.KIND_SEG)
        sentAcks = mDP.filterTimeSeries(mDP.OP_TX, mDP.KIND_SEG)
    else:
        receivedSegs = mDP.filterTimeSeries(mDP.OP_RX, mDP.KIND_SEG, pTimeWindow)
        sentAcks = mDP.filterTimeSeries(mDP.OP_TX, mDP.KIND_SEG, pTimeWindow)
    receivedSegs = mDP.generatePlotData(receivedSegs, 0) # time VS received segment_num which is the first item in the details field
    sentAcks = mDP.generatePlotData(sentAcks, 1) # time VS sent ack_num which is the second item in the details field
    createPlot([receivedSegs, sentAcks],  
            ["ReceivedSegments", "SentAcks"], 
            [['k', '-', 2.0, '+', 3.0], ['r', '-', 2.0, '+', 3.0]], 
            "My TCP dump", 
            "Time (sec)", 
            "# of Items")
Example #2
0
def plotSenderTxRxData(pFileName, pTimeWindow=None):
    mDP = TcpDumpProcessor()
    mDP.loadDumpFromFile(pFileName)
#     mDP.printTimeSeries()
    #-----------------------------------------------
    #   TX-Segments and RX-Acks
    #-----------------------------------------------
    if pTimeWindow is None:
        sentSegs = mDP.filterTimeSeries(mDP.OP_TX, mDP.KIND_SEG)
        receivedAcks = mDP.filterTimeSeries(mDP.OP_RX, mDP.KIND_SEG)
    else:
        sentSegs = mDP.filterTimeSeries(mDP.OP_TX, mDP.KIND_SEG, pTimeWindow)
        receivedAcks = mDP.filterTimeSeries(mDP.OP_RX, mDP.KIND_SEG, pTimeWindow)
    sentSegs = mDP.generatePlotData(sentSegs, 0) # time VS transmitted segment_num which is the first item in the details field
    receivedAcks = mDP.generatePlotData(receivedAcks, 1) # time VS received ack_num which is the second item in the details field
    createPlot([sentSegs, receivedAcks],  
            ["SentSegments", "ReceivedAcks"], 
            [['k', '-', 2.0, '+', 3.0], ['r', '-', 2.0, '+', 3.0]], 
            "Sender TCP dump", 
            "Time (sec)", 
            "seqNum")
Example #3
0
def plotSenderTxDelayData(pFileName, pTimeWindow=None):
    mDP = TcpDumpProcessor()
    mDP.loadDumpFromFile(pFileName)
#     mDP.printTimeSeries()
    #-----------------------------------------------
    #   TX Delay
    #-----------------------------------------------
    delayTX = mDP.filterTimeSeries(mDP.OP_TX, "*", pTimeWindow)
    delayTX = mDP.generatePlotData(delayTX)
    mDP.printMyTimeSeries(delayTX)
    createPlot([delayTX],  
            ["TX Delay"], 
            [['k', '-', 2.0, '+', 3.0]], 
            "My TCP dump", 
            "Time (sec)", 
            "# of Items")
Example #4
0
def plotSenderCongestionWindow(pFileName, pTimeWindow=None):
    mDP = TcpDumpProcessor()
    mDP.loadDumpFromFile(pFileName)
#     mDP.printTimeSeries()
    #-----------------------------------------------
    #   TX Delay
    #-----------------------------------------------
    if pTimeWindow is None:
        winUpd = mDP.filterTimeSeries(mDP.OP_WND, mDP.KIND_UPD)
    else:
        winUpd = mDP.filterTimeSeries(mDP.OP_WND, mDP.KIND_UPD, pTimeWindow)
    cwnd = mDP.generatePlotData(winUpd, 7) # time VS congestion windows which is the 7th item in the details field, in window update records
    createPlot([cwnd],  
           ["Congestion Window"], 
           [['k', '-', 2.0, '+', 3.0]], 
           "My TCP dump", 
           "Time (sec)", 
           "Size (bytes)")