| 
									
										
										
										
											2017-05-30 15:08:45 +03:00
										 |  |  | # vim: ft=ruby | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ModMemory < Worker | 
					
						
							|  |  |  | 	def mainloop() | 
					
						
							|  |  |  | 		while true do | 
					
						
							|  |  |  | 			mem = {} | 
					
						
							| 
									
										
										
										
											2018-12-02 00:19:23 +03:00
										 |  |  | 			File.read("/proc/meminfo").each_line do |line| | 
					
						
							|  |  |  | 				k, v = line.split[0..1] | 
					
						
							| 
									
										
										
										
											2018-12-01 23:14:10 +03:00
										 |  |  | 				mem[k] = v.to_i | 
					
						
							| 
									
										
										
										
											2017-05-30 15:08:45 +03:00
										 |  |  | 			end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-12-08 12:11:45 +03:00
										 |  |  | 			used_part = 100 - (mem["MemAvailable:"]/(mem["MemTotal:"]/100)) | 
					
						
							| 
									
										
										
										
											2017-05-30 15:08:45 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-05-15 11:50:16 +03:00
										 |  |  | 			if used_part > @my_config['crit_value'] | 
					
						
							| 
									
										
										
										
											2019-05-15 16:04:27 +03:00
										 |  |  | 				fg_colour = "crit_colour" | 
					
						
							| 
									
										
										
										
											2019-05-15 11:50:16 +03:00
										 |  |  | 			elsif used_part > @my_config['warn_value'] | 
					
						
							| 
									
										
										
										
											2019-05-15 16:04:27 +03:00
										 |  |  | 				fg_colour = "warn_colour" | 
					
						
							| 
									
										
										
										
											2017-05-30 15:08:45 +03:00
										 |  |  | 			else | 
					
						
							| 
									
										
										
										
											2019-05-15 16:04:27 +03:00
										 |  |  | 				fg_colour = "ok_colour" | 
					
						
							| 
									
										
										
										
											2017-05-30 15:08:45 +03:00
										 |  |  | 			end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-05-15 16:04:27 +03:00
										 |  |  | 			self.write "%%{FC{%s}}%s%%{F-}" % [ fg_colour, used_part.to_s ] | 
					
						
							| 
									
										
										
										
											2017-05-30 15:08:45 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 			sleep(1) | 
					
						
							|  |  |  | 		end | 
					
						
							|  |  |  | 	end | 
					
						
							|  |  |  | end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Modules.add("memory", "ModMemory") |