vitalsd: finish the overall code and make it the nurse it should be

Vitalsd is a simple text-based tool that dumps the vital statistics of a running
system to a serial device so that the vitality of the host machine can be
tracked over time. This makes it ideal for use in scenarios where the underlying
cause of a periodic freeze is unknown, and data is rarely available using normal
mechanisms like dmesg and kernel printks.

Things done in this change:

  - Added a vitalsd systemd service
  - Added argument parsing to the main routine
  - Altered the code to output to stdout when a serial port isn't provided
  - Added samplers for the following:
    - vmstat
    - thermal data from /sys
    - cooling device data from /sys
    - Iteration counters
    - Time sampler
  - Removed the MultiSampler class since it was unused.

Change-Id: I462f3b995d80a79f1f0458b7c804cb58fab49e0d
6 files changed
tree: e3a61b9eaf246c7078d9f79546535da8707d3c1e
  1. debian/
  2. man/
  3. vitalsd/
  4. .gitignore
  5. CODE_OF_CONDUCT.md
  6. CONTRIBUTING.md
  7. MANIFEST.in
  8. README.md
  9. setup.py
README.md

vitalsd - Statistics for Embedded Systems

What is this?

vitalsd is a very simple tool that samples vital system statistics (CPU load, free/total memory, temperatures, etc.) and outputs them periodically to a serial port. It's designed to be used on embedded systems with physical serial ports that can crash in unexpected ways that leave the system in a non-triageable state.