Я бы сказал, что это зависит от того, какой именно интервал вы пытаетесь измерить, сколько времени от последнего байта запроса, который вы отправляете, до первого байта ответа, который вы получаете? Или пока весь ответ не получен? Или вы пытаетесь измерить только время на стороне сервера?
Если вы пытаетесь измерить только время обработки на стороне сервера, вам будет сложно измерить количество времени, затрачиваемого на транзит по сети, для получения вашего запроса и ответа для возврата. В противном случае, поскольку вы сами управляете запросом через сокет, вы можете измерить прошедшее время между любыми двумя моментами, проверив системные часы и вычислив разницу. Например:
public void sendHttpRequest(byte[] requestData, Socket connection) {
long startTime = System.currentTimeMillis();
writeYourRequestData(connection.getOutputStream(), requestData);
byte[] responseData = readYourResponseData(connection.getInputStream());
long elapsedTime = System.currentTimeMillis() - startTime;
System.out.println("Total elapsed http request/response time in milliseconds: " + elapsedTime);
}
Этот код будет измерять время с момента, когда вы начнете писать свой запрос, до того, как вы закончите получать ответ, и распечатать результат (при условии, что у вас реализованы определенные методы чтения / записи).