Este team de trabajo ha pasado horas buscando para dar espuestas a tu pregunta, te compartimos la solución por esto deseamos que sea de mucha apoyo.
Solución:
Puede calcular el tiempo total de ida y vuelta restando la marca de tiempo cuando se recibe la respuesta y la marca de tiempo cuando se envía la solicitud. Estos dos métodos del objeto Response le darán estos dos valores
Response.sentRequestAtMillis()
-
Response.receivedResponseAtMillis()
RequestBody body = RequestBody.create(JSON, json); Request request = new Request.Builder() .url(url) .post(body) .build(); Response response = client.newCall(request).execute(); long tx = response.sentRequestAtMillis(); long rx = response.receivedResponseAtMillis(); System.out.println("response time : "+(rx - tx)+" ms");
Es fácil que puedas encontrar el receivedResponseAtMillis()
y el sendResponseAtMillis()
en el raw()
parte de la respuesta y luego puedes calcular la diferencia
response.raw().receivedResponseAtMillis()
response.raw().sendResponseAtMillis()
Prueba esto
if (BuildConfig.DEBUG)
HttpLoggingInterceptor httpLoggingInterceptor = new HttpLoggingInterceptor();
httpLoggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
httpClient.addInterceptor(httpLoggingInterceptor);
también agregar
compile 'com.squareup.okhttp3:logging-interceptor:3.2.0'
al archivo gradle del módulo de tu aplicación
Ejemplo de respuesta:
Date: Fri, 12 Aug 2016 07:33:23 GMT
OkHttp-Sent-Millis: 1470987074283
OkHttp-Received-Millis: 1470987074422
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)