diff options
author | Omar Tarabai <tarabai@devegypt.com> | 2014-09-25 17:47:18 +0000 |
---|---|---|
committer | Omar Tarabai <tarabai@devegypt.com> | 2014-09-25 17:47:18 +0000 |
commit | 10f4f506dba523b124a9bfe8e54fe8c4ad2ec30a (patch) | |
tree | af69c00f0174fe79349a0c2af8d64d11253d319d /src/sensor | |
parent | 962b455c52a21b8762d8fc4981c0e0d6386919bc (diff) | |
download | gnunet-10f4f506dba523b124a9bfe8e54fe8c4ad2ec30a.tar.gz gnunet-10f4f506dba523b124a9bfe8e54fe8c4ad2ec30a.zip |
sensor: profiler update
Diffstat (limited to 'src/sensor')
-rw-r--r-- | src/sensor/profiler.py | 26 |
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 | ||
26 | def generate_topology(peers, links): | 29 | def 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 | ||
125 | def run_profiler(peers, topology_file, sensors_interval, split_file): | 128 | def 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 | ||
144 | def 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 | |||
160 | def main(): | 147 | def 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 | ||
188 | if __name__ == "__main__": | 174 | if __name__ == "__main__": |
189 | main() | 175 | main() |