Guest User

Untitled

a guest
Jun 19th, 2018
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.11 KB | None | 0 0
  1. #
  2. # Cpu
  3. #
  4. # Author: Christoph Kappel
  5. # Contact: unexist@dorfelite.net
  6. # Description: Show the cpu usage
  7. # Version: 0.1
  8. # Date: Mon May 18 21:00 CET 2009
  9. # $Id: dist/sublets/loadavg.rb,v 1002 2009/04/14 21:22:58 unexist $
  10. #
  11.  
  12. class Cpu < Subtle::Sublet
  13. @use = 0
  14. @sum = 0
  15. @last = 0
  16. @delta = 0
  17.  
  18. def initialize
  19. self.interval = 30
  20. @use = 0
  21. @sum = 0
  22. @last = Time.now.to_i
  23. @delta = 0
  24. end
  25.  
  26. def run
  27. begin
  28. file = ""
  29.  
  30. # Read tempt state file
  31. File.open("/proc/stat", "r") do |f|
  32. file = f.read
  33. end
  34.  
  35. user, nice, system = file.match(/cpu\s+(\d+) (\d+) (\d+)/).captures
  36. sum = user.to_i + nice.to_i + system.to_i
  37.  
  38. @time = Time.now.to_i
  39. @delta = @time - @last
  40. @delta = 1 if(0 == @delta)
  41. @last = @time
  42.  
  43. @use = ((sum - @sum) / @delta / 100.0)
  44. @sum = sum
  45.  
  46. self.data = color("#0dd2e5") + "Cpu:" + color("#ffffff") + (@use * 100.0).ceil.to_s + "% ::"
  47. rescue => err # Sanitize to prevent unloading
  48. self.data = "subtle"
  49. p err
  50. end
  51. end
  52. end
Add Comment
Please, Sign In to add comment