Instrumentation and Performance Monitoring of Distributed Systems