aboutsummaryrefslogtreecommitdiff
path: root/src/sensor
diff options
context:
space:
mode:
authorOmar Tarabai <tarabai@devegypt.com>2014-09-25 17:47:18 +0000
committerOmar Tarabai <tarabai@devegypt.com>2014-09-25 17:47:18 +0000
commit10f4f506dba523b124a9bfe8e54fe8c4ad2ec30a (patch)
treeaf69c00f0174fe79349a0c2af8d64d11253d319d /src/sensor
parent962b455c52a21b8762d8fc4981c0e0d6386919bc (diff)
downloadgnunet-10f4f506dba523b124a9bfe8e54fe8c4ad2ec30a.tar.gz
gnunet-10f4f506dba523b124a9bfe8e54fe8c4ad2ec30a.zip
sensor: profiler update
Diffstat (limited to 'src/sensor')
-rw-r--r--src/sensor/profiler.py26
1 files changed, 6 insertions, 20 deletions
diff --git a/src/sensor/profiler.py b/src/sensor/profiler.py
index 834020250..cdd917284 100644
--- a/src/sensor/profiler.py
+++ b/src/sensor/profiler.py
@@ -21,6 +21,9 @@ def get_args():
21 parser.add_argument('-i', '--sensors-interval', action='store', type=int, 21 parser.add_argument('-i', '--sensors-interval', action='store', type=int,
22 required=False, 22 required=False,
23 help='Change the interval of running sensors to given value') 23 help='Change the interval of running sensors to given value')
24 parser.add_argument('-a', '--anomalous-peers', action='store', type=int,
25 required=True,
26 help='Number of peers to simulate anomalies on')
24 return parser.parse_args() 27 return parser.parse_args()
25 28
26def generate_topology(peers, links): 29def generate_topology(peers, links):
@@ -122,8 +125,8 @@ def handle_profiler_line(line):
122 peers = parts[-1].split(',') 125 peers = parts[-1].split(',')
123 peers_reconnected(int(peers[0]), int(peers[1])) 126 peers_reconnected(int(peers[0]), int(peers[1]))
124 127
125def run_profiler(peers, topology_file, sensors_interval, split_file): 128def run_profiler(peers, topology_file, sensors_interval, anomalous_peers):
126 cmd1 = "./gnunet-sensor-profiler -p %d -t %s -s %s" % (peers, topology_file, split_file) 129 cmd1 = "./gnunet-sensor-profiler -p %d -t %s -a %d" % (peers, topology_file, anomalous_peers)
127 if sensors_interval: 130 if sensors_interval:
128 cmd1 += " -i %d" % sensors_interval 131 cmd1 += " -i %d" % sensors_interval
129 cmd2 = "> log 2>&1" 132 cmd2 = "> log 2>&1"
@@ -141,22 +144,6 @@ def run_profiler(peers, topology_file, sensors_interval, split_file):
141 else: 144 else:
142 line += c 145 line += c
143 146
144def create_split():
145 global graph
146 f = open('split', 'w+')
147 half_size = len(graph.node) / 2
148 half1 = []
149 half2 = []
150 for n in graph.node:
151 if n < half_size:
152 half1.append(n)
153 else:
154 half2.append(n)
155 for e in graph.edges():
156 if (e[0] in half1 and e[1] in half2) or (e[0] in half2 and e[1] in half1):
157 f.write('%d,%d\n' % (e[0], e[1]))
158 f.close()
159
160def main(): 147def main():
161 args = vars(get_args()) 148 args = vars(get_args())
162 num_peers = args['peers'] 149 num_peers = args['peers']
@@ -175,7 +162,6 @@ def main():
175 generate_topology(num_peers, num_links) 162 generate_topology(num_peers, num_links)
176 print 'Generated random topology with %d peers and %d links' % (num_peers, num_links) 163 print 'Generated random topology with %d peers and %d links' % (num_peers, num_links)
177 # Create a file with links to cut to split the topology into two 164 # Create a file with links to cut to split the topology into two
178 create_split()
179 # Create TESTBED topology file 165 # Create TESTBED topology file
180 top_file = create_topology_file() 166 top_file = create_topology_file()
181 print 'Created TESTBED topology file %s' % top_file 167 print 'Created TESTBED topology file %s' % top_file
@@ -183,7 +169,7 @@ def main():
183 # Run c profiler 169 # Run c profiler
184 if os.path.isfile('log'): 170 if os.path.isfile('log'):
185 os.remove('log') 171 os.remove('log')
186 run_profiler(num_peers, top_file, sensors_interval, 'split') 172 run_profiler(num_peers, top_file, sensors_interval, args['anomalous_peers'])
187 173
188if __name__ == "__main__": 174if __name__ == "__main__":
189 main() 175 main()