Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #
- # Cpu
- #
- # Author: Christoph Kappel
- # Contact: unexist@dorfelite.net
- # Description: Show the cpu usage
- # Version: 0.1
- # Date: Mon May 18 21:00 CET 2009
- # $Id: dist/sublets/loadavg.rb,v 1002 2009/04/14 21:22:58 unexist $
- #
- class Cpu < Subtle::Sublet
- @use = 0
- @sum = 0
- @last = 0
- @delta = 0
- def initialize
- self.interval = 30
- @use = 0
- @sum = 0
- @last = Time.now.to_i
- @delta = 0
- end
- def run
- begin
- file = ""
- # Read tempt state file
- File.open("/proc/stat", "r") do |f|
- file = f.read
- end
- user, nice, system = file.match(/cpu\s+(\d+) (\d+) (\d+)/).captures
- sum = user.to_i + nice.to_i + system.to_i
- @time = Time.now.to_i
- @delta = @time - @last
- @delta = 1 if(0 == @delta)
- @last = @time
- @use = ((sum - @sum) / @delta / 100.0)
- @sum = sum
- self.data = color("#0dd2e5") + "Cpu:" + color("#ffffff") + (@use * 100.0).ceil.to_s + "% ::"
- rescue => err # Sanitize to prevent unloading
- self.data = "subtle"
- p err
- end
- end
- end
Add Comment
Please, Sign In to add comment