How would you troubleshoot a performance bottleneck in a highly distributed microservices application?