identify blocks by sequence numbers, not very good
This commit is contained in:
parent
a4165812fd
commit
944720a29e
@ -25,30 +25,57 @@ class BurstBlocksAggregator:
|
|||||||
def c(self,column):
|
def c(self,column):
|
||||||
"""Return column index corresponding to name passed as argument"""
|
"""Return column index corresponding to name passed as argument"""
|
||||||
return self.headers.index(column)
|
return self.headers.index(column)
|
||||||
|
# def extract_blocks(self):
|
||||||
|
# # beginning of block. First block starts at packet 0
|
||||||
|
# b=0
|
||||||
|
# # iteration, we can start at packet 1
|
||||||
|
# i=1
|
||||||
|
# previous=0
|
||||||
|
# while i<len(self.a):
|
||||||
|
# if self.a[i][self.c("is_seq")]==1:
|
||||||
|
# # in this case we look for the start of a new sending block
|
||||||
|
# if b==None:
|
||||||
|
# b=i
|
||||||
|
# print >>self.log, "previous seq packet:", "{:10.8f}".format(self.a[previous][self.c("ts")]), "seq:", self.a[previous][self.c("map_begin")]
|
||||||
|
# print >>self.log, "found block starting at ", "{:10.8f}".format(self.a[i][self.c("ts")]), "seq:", self.a[i][self.c("map_begin")]
|
||||||
|
# # we know the start of the block and look for its last packet
|
||||||
|
# elif self.a[i][self.c("ts")]-self.a[previous][self.c("ts")]>self.min_block_sep:
|
||||||
|
# print >>self.log, "next block:", "{:10.8f}".format(self.a[i+1][self.c("ts")]), "seq:", self.a[i+1][self.c("map_begin")]
|
||||||
|
# print >>self.log,"--------------------------------------"
|
||||||
|
# # the ranges we use here are inclusive, ie the range contains both elements.
|
||||||
|
# self.blocks.append((b,previous))
|
||||||
|
# b=i
|
||||||
|
# # keep track of previous seq packet
|
||||||
|
# previous=i
|
||||||
|
# i=i+1
|
||||||
|
# self.blocks.append((b,previous))
|
||||||
|
# print >>self.log, "# blocks: ", len(self.blocks)
|
||||||
|
# detect blocks based on number of bytes sent
|
||||||
def extract_blocks(self):
|
def extract_blocks(self):
|
||||||
# beginning of block. First block starts at packet 0
|
# beginning of block. First block starts at packet 0
|
||||||
b=0
|
b=0
|
||||||
# iteration, we can start at packet 1
|
# iteration, we can start at packet 1
|
||||||
i=1
|
i=1
|
||||||
previous=0
|
last_end=None
|
||||||
while i<len(self.a):
|
while i<len(self.a):
|
||||||
if self.a[i][self.c("is_seq")]==1:
|
if self.a[i][self.c("is_seq")]==1:
|
||||||
# in this case we look for the start of a new sending block
|
# in this case we look for the start of a new sending block
|
||||||
if b==None:
|
if b==None and last_end!=None:
|
||||||
|
if self.a[i][self.c("map_begin")]==self.a[last_end][self.c("map_end")]:
|
||||||
b=i
|
b=i
|
||||||
print >>self.log, "previous seq packet:", "{:10.8f}".format(self.a[previous][self.c("ts")]), "seq:", self.a[previous][self.c("map_begin")]
|
|
||||||
print >>self.log, "found block starting at ", "{:10.8f}".format(self.a[i][self.c("ts")]), "seq:", self.a[i][self.c("map_begin")]
|
print >>self.log, "found block starting at ", "{:10.8f}".format(self.a[i][self.c("ts")]), "seq:", self.a[i][self.c("map_begin")]
|
||||||
# we know the start of the block and look for its last packet
|
# we know the start of the block and look for its last packet
|
||||||
elif self.a[i][self.c("ts")]-self.a[previous][self.c("ts")]>self.min_block_sep:
|
elif self.a[i][self.c("map_end")]-self.a[b][self.c("map_begin")]==65536:
|
||||||
print >>self.log, "next block:", "{:10.8f}".format(self.a[i+1][self.c("ts")]), "seq:", self.a[i+1][self.c("map_begin")]
|
print >>self.log, "found block ending at ", "{:10.8f}".format(self.a[i][self.c("ts")]), "end seq:", self.a[i][self.c("map_end")]
|
||||||
print >>self.log,"--------------------------------------"
|
print >>self.log,"--------------------------------------"
|
||||||
# the ranges we use here are inclusive, ie the range contains both elements.
|
# the ranges we use here are inclusive, ie the range contains both elements.
|
||||||
self.blocks.append((b,previous))
|
self.blocks.append((b,i))
|
||||||
b=i
|
last_end = i
|
||||||
|
b=None
|
||||||
|
print self.blocks
|
||||||
# keep track of previous seq packet
|
# keep track of previous seq packet
|
||||||
previous=i
|
|
||||||
i=i+1
|
i=i+1
|
||||||
self.blocks.append((b,previous))
|
self.blocks.append((b,i-1))
|
||||||
print >>self.log, "# blocks: ", len(self.blocks)
|
print >>self.log, "# blocks: ", len(self.blocks)
|
||||||
def extract_times(self):
|
def extract_times(self):
|
||||||
for i in range(len(self.blocks)):
|
for i in range(len(self.blocks)):
|
||||||
|
Loading…
Reference in New Issue
Block a user