Observing Time-Complexity of Concurrent Programs