Slicestat

Slice monitoring sensor on PlanetLab

What
Is It?


Slicestat provides slice-level resource consumption information on each PlanetLab node. It is a tiny sensor which takes the snapshot of current resource usage of active slices on a node. The original version was developed by Brent Chun, but later we rewrote it for PlanetLab version 3. In transitioning to the current version, we made the server event-driven, and added support for request coalescing. This merges the simultaneous requests to wait for one pending query, thus lessening the burden of excessive queries.

Data
Format


Slicestat exports the following information, separated by commas, in one line per slice. The CPU and memory usage information is earned from /proc(e.g., 'top') while the bandwidth information is gleaned from the Scout sensor.

  1. Slice name(e.g., princeton_slicestat)
  2. Slice context id
  3. CPU consumption(%)
  4. Physical memory consumption(%)
  5. Physical memory consumption(in KB)
  6. Virtual memory consumption(in KB)
  7. Number of processes
  8. Average sending bandwidth for last 1 min(in Kbps)
  9. Average sending bandwidth for last 5 min(in Kbps)
  10. Average sending bandwidth for last 15 min(in Kbps)
  11. Average receiving bandwidth for last 1 min(in Kbps)
  12. Average receiving bandwidth for last 5 min(in Kbps)
  13. Average receiving bandwidth for last 15 min(in Kbps)
  14. Local IP address of this node
  15. Number of active processes - that is, processes using the CPU cycle at the moment
                   ex: ...
                       mit_dht,636,0.0,0.5,5416,21980,3,0.000000,0.026605,0.026605,
                       0.000000,0.226073,0.226073,128.112.139.71,0 
                       ...
   

How to
Use It


Slicestat communicates in HTTP format on port 3100. You can use any HTTP client tools(e.g., curl, wget etc.). As in the original version, it supports the "max-age" header to request a cached result. For example, "max-age: 5" means the result is acceptable if it is less than five seconds old.

ex: curl -s -H "max-age: 5" http://localhost:3100/slicestat (on any PlanetLab node)
      curl -s http://planetlab-1.cs.princeton.edu:3100/slicestat

Status


Please refer to the CoMon status page. CoMon provides the nice web interface for slice information as well as node-centric view of the resource consumption status.

Source Code


Here is the source code(Please take a look at costat.c which contains the main logic). In order to compile, you need to install the Proper library.

People


KyoungSoo Park
Vivek Pai

Please send your feedback and any bug report to us. We may collectively be contacted at princeton_slicestat at slices.planet-lab.org