Skip to content

Instantly share code, notes, and snippets.

@shahifaqeer
Created March 14, 2013 05:16
Show Gist options
  • Save shahifaqeer/5159005 to your computer and use it in GitHub Desktop.
Save shahifaqeer/5159005 to your computer and use it in GitHub Desktop.
bytes per 10 minutes in UP or DW direction format { [time_10_min_granularity, direction] : total_bytes }
def initialization(self):
...
self.bytesper10minutes = defaultdict(int)
...
def size_stats(self, size, timehash, direction):
# Size distribution overall
self.size_dist[size] += 1
# Bytes per minute and per day
datestamp = timehash.date()
self.bytesperminute[timehash, direction] += size
self.bytesperday[datestamp, direction] += size
# CALL THIS FUNCTION
self.bytes10minutes(timehash, direction, size)
return
...
def bytes10minutes(self, timehash, direction, size):
if timehash.minute < 10:
timehash = timehash.replace(minute=0)
elif timehash.minute < 20:
timehash = timehash.replace(minute=10)
elif timehash.minute < 30:
timehash = timehash.replace(minute=20)
elif timehash.minute < 40:
timehash = timehash.replace(minute=30)
elif timehash.minute < 50:
timehash = timehash.replace(minute=40)
elif timehash.minute < 60:
timehash = timehash.replace(minute=50)
self.bytesper10minutes[timehash, direction] += size
return
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment