Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Stats
- metric_set "bpo" do
- metric_set "system" do
- require 'sys/cpu'
- # find size in pages; convert to bytes
- def parse_vm_stat(str)
- @vm_stat =~ /#{str}:\s*(\d+)\./
- $1.to_i * 4096
- end
- every 1.second do
- @vm_stat = `vm_stat`
- free = parse_vm_stat 'free'
- spec = parse_vm_stat 'speculative'
- inactive = parse_vm_stat 'inactive'
- gauge "free_ram", free + spec
- gauge "inactive_ram", inactive
- end
- every 1.second do
- gauge "load_avg", Sys::CPU.load_avg[0]
- end
- end
- metric_set "git" do
- require 'github_api'
- @github = ::Github.new login: 'bpo', password: "xxxxx"
- every 5.minutes do
- metric_set "bpo" do
- bpo = github.users.get "bpo"
- gauge "public_repos", bpo.public_repos
- gauge "private_repos", bpo.total_private_repos
- gauge "public_gists", bpo.public_gists
- gauge "private_gists", bpo.private_gists
- end
- metric_set "stvp" do
- stvp = github.orgs.get "stvp"
- gauge "public_repos", stvp.public_repos
- gauge "private_repos", stvp.total_private_repos
- end
- end
- end
- end
- end
- Stvp::Stats.run
Add Comment
Please, Sign In to add comment