compstats 1.0 KB

123456789101112131415161718192021222324252627282930
  1. #!/usr/bin/env bash
  2. # Run: nohup compstats &> /dev/null &
  3. STAT=''
  4. battery() {
  5. batterydir="/sys/class/power_supply/BAT0"
  6. local bat_stat=''
  7. if [[ -d "$batterydir" ]]; then
  8. . "${batterydir}/uevent"
  9. bat_stat=$(printf "$(hostname -s).powersupply.energy.now:%s|g\n$(hostname -s).powersupply.energy.full:%s|g\n$(hostname -s).powersupply.energy.full_design:%s|g\n" "${POWER_SUPPLY_ENERGY_NOW}" "${POWER_SUPPLY_ENERGY_FULL}" "${POWER_SUPPLY_ENERGY_FULL_DESIGN}")
  10. fi
  11. STAT="${STAT}${bat_stat}"
  12. }
  13. load_avg() {
  14. local load_avg="$(printf $(uptime | awk -F '[, ]' '{print "%s.load_avg.15min:"$17"|g\n"}') "$(hostname -s)")"
  15. local load_avg="${load_avg}\n$(printf $(uptime | awk -F '[, ]' '{print "%s.load_avg.5min:"$19"|g\n"}') "$(hostname -s)")"
  16. local load_avg="${load_avg}\n$(printf $(uptime | awk -F '[, ]' '{print "%s.load_avg.1min:"$21"|g\n"}') "$(hostname -s)")"
  17. STAT="${STAT}\n${load_avg}"
  18. }
  19. while true; do
  20. battery
  21. load_avg
  22. printf "%s" "$STAT" | nc -u -w0 graphite.tylercipriani.com 8125
  23. sleep 300
  24. done