30 import xml.dom.minidom
as minidom
54 pred_list = pred_str.split(
",")
60 pv.name = k_v[0].strip()
61 value_str = k_v[1].strip()
64 elif value_str ==
'f':
67 raise ValueError(
"wrong predicate value: '" + value_str +
"' for predicate: '" + pv.name +
"'")
74 dom = minidom.parseString(diag_xml)
75 mcd = dom.getElementsByTagName(
"mcd")
79 hist = mcd[0].getElementsByTagName(
"h")
81 ss_list = hist[0].getElementsByTagName(
"ss")
84 ss_ev.state_name = ss.getAttribute(
"n")
85 ss_ev.prev_state_name = ss.getAttribute(
"p")
86 ss_ev.reason = ss.getAttribute(
"r") 87 ss_ev.switch_interval = float(ss.getAttribute("t"))
89 result.history.append(ss_ev)
91 si = mcd[0].getElementsByTagName(
"si")
93 ss_list = si[0].getElementsByTagName(
"ss")
96 ss_ev.state_name = ss.getAttribute(
"n")
97 ss_ev.prev_state_name = ss.getAttribute(
"p")
98 ss_ev.reason = ss.getAttribute(
"r") 99 ss_ev.switch_interval = float(ss.getAttribute("t"))
101 result.state_switch_info.append(ss_ev)
103 current_predicates = mcd[0].getElementsByTagName(
"pr")
104 if len(current_predicates) == 1:
105 result.current_predicates =
parsePredicates(current_predicates[0].getAttribute(
"v"))
107 period = mcd[0].getElementsByTagName(
"p")
109 result.current_period = float(period[0].childNodes[0].data)
112 ph = mcd[0].getElementsByTagName(
"ph")
114 histogram_str = ph[0].childNodes[0].data
115 histogram_str = histogram_str.strip()
116 histogram_list_str = histogram_str.split()
117 for v_str
in histogram_list_str:
118 result.period_histogram.append( int(v_str) )
def parseMasterComponentDiag(diag_xml)
def parsePredicates(pred_str)