Module dumpmem
[hide private]
[frames] | no frames]

Source Code for Module dumpmem

 1  from ckbot.logical import Cluster 
 2  from sys import argv, exit, stderr 
 3  from time import sleep 
 4   
 5  if __name__!="__main__": 
 6    exit() 
 7   
 8  nids = None 
 9  port = None 
10  count = 1 
11  out = stderr 
12  arg = argv[1:] 
13  while arg: 
14    if arg[0] == "-n": 
15      nids = map(int,arg[1].split(",")) 
16      arg[:2]=[] 
17      continue 
18    if arg[0] == "-c": 
19      count = int(arg[1]) 
20      arg[:2]=[] 
21      continue 
22    if arg[0] == "-p": 
23      port = eval(arg[1]) 
24      arg[:2]=[] 
25      continue 
26    if arg[0] == "-o": 
27      out = open(arg[1],"w") 
28      arg[:2]=[] 
29      continue 
30    print """ 
31      Options: 
32         -n <node-id> 
33           Which node to use 
34         -c <count> 
35           How many nodes to look for 
36         -p <port> 
37           Port descriptor (see port2port.newConnection) 
38         -o <output-file> 
39           Specify output file. Otherwise goes to STDERR 
40    """ 
41    exit(5) 
42   
43  c = Cluster( port=port, count=count ) 
44  for nid in (nids if nids is not None else c.iterkeys()): 
45    m = c[nid] 
46    out.write("# Node ID : %d\n" % nid) 
47    if m.mem is None: 
48      out.write("# No .mem member -- properties are not readable\n") 
49      continue 
50    for adr,(nm,fmt) in m.mcu._ADDR_DCR.iteritems(): 
51      out.write("%s : %d\n" % (nm,m.mem[adr])) 
52    sleep(0.02) 
53