42 from diagnostic_msgs.msg
import DiagnosticStatus
43 from diagnostic_updater
import DiagnosticTask, Updater
47 def __init__(self, warning_percentage, window=1):
48 DiagnosticTask.__init__(self,
"RAM Information")
53 self.
_readings.append(psutil.virtual_memory().percent)
56 stat.add(
"RAM Load Average",
"{:.2f}".format(ram_average))
59 stat.summary(DiagnosticStatus.WARN,
62 stat.summary(DiagnosticStatus.OK,
"RAM Average {:.2f} percent".format(ram_average))
68 hostname = socket.gethostname()
69 rospy.init_node(
'ram_monitor_%s' % hostname.replace(
"-",
"_"))
72 updater.setHardwareID(hostname)
73 updater.add(
RamTask(rospy.get_param(
"~warning_percentage", 90), rospy.get_param(
"~window", 1)))
75 rate = rospy.Rate(rospy.get_param(
"~rate", 1))
76 while not rospy.is_shutdown():
81 if __name__ ==
'__main__':
84 except (rospy.ROSInterruptException, KeyboardInterrupt)
as e: