Seeing The Forest And The Trees: Tackling Distributed Systems Problems By Querying Observations Of Executions