MCPcopy Create free account
hub / github.com/dtmilano/AndroidViewClient / Plot

Class Plot

src/com/dtmilano/android/plot.py:41–189  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

39
40
41class Plot:
42 def __init__(self):
43 self.n = 0
44 self.na = []
45 self.va = []
46 self.ava = {}
47 ''' Associative values array '''
48 self.aava = {}
49 ''' (another) Associative values array '''
50
51 def append(self, value):
52 if DEBUG:
53 print('append({})'.format(value), file=sys.stderr)
54 self.n += 1
55 self.na.append(self.n)
56 if isinstance(value, NumberTypes):
57 self.va.append(value)
58 elif isinstance(value, Dumpsys):
59 if not self.ava:
60 self.__initAva()
61 if not self.aava:
62 self.__initAava()
63 dumpsys = value
64 self.ava[Dumpsys.TOTAL].append(dumpsys.get(Dumpsys.TOTAL))
65 self.ava[Dumpsys.ACTIVITY].append(dumpsys.get(Dumpsys.ACTIVITY))
66 self.ava[Dumpsys.VIEWS].append(dumpsys.get(Dumpsys.VIEWS))
67 # self.ava[Dumpsys.VIEW_ROOT_IMPL].append(dumpsys.get(Dumpsys.VIEW_ROOT_IMPL))
68 self.aava[Dumpsys.FRAMESTATS].append(dumpsys.get(Dumpsys.FRAMESTATS))
69 return self
70
71 def __initAva(self):
72 self.ava[Dumpsys.TOTAL] = []
73 self.ava[Dumpsys.ACTIVITY] = []
74 self.ava[Dumpsys.VIEWS] = []
75 # self.ava[Dumpsys.VIEW_ROOT_IMPL] = []
76
77 def __initAava(self):
78 self.aava[Dumpsys.FRAMESTATS] = []
79
80 def plot(self, _type=Dumpsys.MEMINFO, filename=None):
81 title = "Dumpsys"
82 if _type == Dumpsys.FRAMESTATS:
83 subtitle = "gfxinfo " + Dumpsys.FRAMESTATS
84 else:
85 subtitle = _type
86 if _type == Dumpsys.MEMINFO:
87 if self.ava:
88 if DEBUG:
89 print("plot:", file=sys.stderr)
90 for k in list(self.ava.keys()):
91 print(" {}: {}".format(k, self.ava[k]), file=sys.stderr)
92
93 host = host_subplot(111, axes_class=AA.Axes)
94 plt.subplots_adjust(right=0.75)
95 par = {}
96 for k in list(self.ava.keys()):
97 if k != Dumpsys.TOTAL:
98 par[k] = host.twinx()

Callers 2

gfxinfo-plot.pyFile · 0.90
setUpMethod · 0.90

Calls

no outgoing calls

Tested by 1

setUpMethod · 0.72