[LABI] tema04 xml reader added
This commit is contained in:
parent
4cae459898
commit
ee9ca207c4
|
@ -0,0 +1,13 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<conf>
|
||||||
|
<interval>1</interval>
|
||||||
|
<output>
|
||||||
|
<csv active="true" separator="," />
|
||||||
|
<xml active="false" />
|
||||||
|
</output>
|
||||||
|
<monitor>
|
||||||
|
<cpu active="true" />
|
||||||
|
<network active="true" />
|
||||||
|
<ram active="false" />
|
||||||
|
</monitor>
|
||||||
|
</conf>
|
|
@ -0,0 +1,7 @@
|
||||||
|
time,cpu,ram,network
|
||||||
|
1679769801.7018511,20.0,,38943828
|
||||||
|
1679769802.702516,28.0,,38946821
|
||||||
|
1679769803.7031012,7.4,,38948575
|
||||||
|
1679769804.7034643,11.8,,38949179
|
||||||
|
1679769805.7041101,8.0,,38951189
|
||||||
|
1679769806.704759,7.1,,38951668
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
import csv
|
||||||
|
import time
|
||||||
|
import psutil
|
||||||
|
from lxml import etree
|
||||||
|
|
||||||
|
|
||||||
|
def main(args=None):
|
||||||
|
xml = etree.parse('../datafiles/conf.xml')
|
||||||
|
root = xml.getroot()
|
||||||
|
|
||||||
|
delimiter = root.findall("./output/csv")[0].attrib["separator"]
|
||||||
|
monitor_cpu = root.findall("./monitor/cpu")[0].attrib["active"]
|
||||||
|
monitor_ram = root.findall("./monitor/ram")[0].attrib["active"]
|
||||||
|
monitor_network = root.findall("./monitor/network")[0].attrib["active"]
|
||||||
|
|
||||||
|
with open("../datafiles/monitor.csv", "w") as f:
|
||||||
|
writer = csv.DictWriter(f, delimiter=delimiter, fieldnames=["time", "cpu", "ram", "network"])
|
||||||
|
|
||||||
|
writer.writeheader()
|
||||||
|
|
||||||
|
while True:
|
||||||
|
cpu = psutil.cpu_percent() if monitor_cpu == "true" else ""
|
||||||
|
ram = psutil.virtual_memory().percent if monitor_ram == "true" else ""
|
||||||
|
network = psutil.net_io_counters().bytes_sent if monitor_network == "true" else ""
|
||||||
|
writer.writerow({"time": time.time(), "cpu": cpu, "ram": ram, "network": network})
|
||||||
|
time.sleep(1)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
|
@ -0,0 +1,18 @@
|
||||||
|
from lxml import etree
|
||||||
|
|
||||||
|
|
||||||
|
def main(args=None):
|
||||||
|
xml = etree.parse('../datafiles/conf.xml')
|
||||||
|
root = xml.getroot()
|
||||||
|
print(root.tag)
|
||||||
|
print_childs(root)
|
||||||
|
|
||||||
|
|
||||||
|
def print_childs(root):
|
||||||
|
for child in root:
|
||||||
|
print(child.tag, child.attrib, child.text)
|
||||||
|
print_childs(child)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
Loading…
Reference in New Issue