Latency tracing in distributed Java applications