Last active
August 29, 2015 14:17
-
-
Save brescia123/c9343b364b5d4ee9bfdf to your computer and use it in GitHub Desktop.
A script for collecting data aggregates from multiple simulations run with aDock - affear.github.io/adock
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from firebase import firebase | |
import json | |
bifrost = firebase.FirebaseApplication('https://bifrost.firebaseio.com/', None) | |
sims = bifrost.get('/sims', None) | |
avgs = {} | |
for sim in sims: | |
proxies = sim['proxies'] | |
for proxy in proxies: | |
proxy_addr = proxy['address'] | |
proxy_addr = str(proxy_addr).replace(':', '-').replace('.', '_') | |
if proxy_addr not in avgs: | |
avgs[proxy_addr] = { | |
'no_sims' : 0, | |
'no_failures' : 0, | |
'aggr_no_active_cmps' : 0, | |
'aggr_r_local_gb' : 0, | |
'aggr_r_memory_mb' : 0, | |
'aggr_r_vcpus' : 0 | |
} | |
avgs[proxy_addr]['no_sims'] += 1 | |
proxy_no_sims = avgs[proxy_addr]['no_sims'] | |
avgs[proxy_addr]['no_failures'] = (avgs[proxy_addr]['no_failures'] * (proxy_no_sims - 1) + proxy['no_failures']) / proxy_no_sims | |
avgs[proxy_addr]['aggr_no_active_cmps'] = (avgs[proxy_addr]['aggr_no_active_cmps'] * (proxy_no_sims - 1) + proxy['snapshots'][-1]['aggr_no_active_cmps']) / proxy_no_sims | |
avgs[proxy_addr]['aggr_r_local_gb'] = (avgs[proxy_addr]['aggr_r_local_gb'] * (proxy_no_sims - 1) + proxy['snapshots'][-1]['aggr_r_local_gb']) / proxy_no_sims | |
avgs[proxy_addr]['aggr_r_memory_mb'] = (avgs[proxy_addr]['aggr_r_memory_mb'] * (proxy_no_sims - 1) + proxy['snapshots'][-1]['aggr_r_memory_mb']) / proxy_no_sims | |
avgs[proxy_addr]['aggr_r_vcpus'] = (avgs[proxy_addr]['aggr_r_vcpus'] * (proxy_no_sims - 1) + proxy['snapshots'][-1]['aggr_r_vcpus']) / proxy_no_sims | |
print avgs | |
bifrost.put('/', 'aggr_avgs', avgs) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment