Guest User

Untitled

a guest
Oct 15th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 KB | None | 0 0
  1. class Stats
  2. metric_set "bpo" do
  3. metric_set "system" do
  4. require 'sys/cpu'
  5.  
  6. # find size in pages; convert to bytes
  7. def parse_vm_stat(str)
  8. @vm_stat =~ /#{str}:\s*(\d+)\./
  9. $1.to_i * 4096
  10. end
  11.  
  12. every 1.second do
  13. @vm_stat = `vm_stat`
  14.  
  15. free = parse_vm_stat 'free'
  16. spec = parse_vm_stat 'speculative'
  17. inactive = parse_vm_stat 'inactive'
  18.  
  19. gauge "free_ram", free + spec
  20. gauge "inactive_ram", inactive
  21. end
  22.  
  23. every 1.second do
  24. gauge "load_avg", Sys::CPU.load_avg[0]
  25. end
  26. end
  27.  
  28. metric_set "git" do
  29. require 'github_api'
  30. @github = ::Github.new login: 'bpo', password: "xxxxx"
  31.  
  32. every 5.minutes do
  33. metric_set "bpo" do
  34. bpo = github.users.get "bpo"
  35. gauge "public_repos", bpo.public_repos
  36. gauge "private_repos", bpo.total_private_repos
  37. gauge "public_gists", bpo.public_gists
  38. gauge "private_gists", bpo.private_gists
  39. end
  40.  
  41. metric_set "stvp" do
  42. stvp = github.orgs.get "stvp"
  43. gauge "public_repos", stvp.public_repos
  44. gauge "private_repos", stvp.total_private_repos
  45. end
  46. end
  47. end
  48. end
  49. end
  50.  
  51. Stvp::Stats.run
Add Comment
Please, Sign In to add comment