Diagnosing performance changes in distributed systems by comparing request flows