How to measure request and response time of server?
10,313
Please see below code you will get an idea about how to do this.
long startTime = System.currentTimeMillis();
//Write this above before your httprequest
HttpResponse httpResponse = httpClient.execute(httpGet);
HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent();
//After you get response
long elapsedTime = System.currentTimeMillis() - startTime;
System.out.println("Total elapsed http request/response time in milliseconds: " + elapsedTime);
This code would measure the time from when you begin writing out your request to when you finish receiving the response, and display the result .
Comments
-
fazilpuriasa almost 2 years
I am using asynctask and json parsing for getting response from server,How can i measure request and response time,following is code of my web service,can any one help me with this?............................
public class JSONParser { static InputStream is = null; static JSONObject jObj = null; static String json = ""; // constructor public JSONParser() { } // function get json from url // by making HTTP POST or GET method public JSONObject makeHttpRequest(String url, String method, List<NameValuePair> params) { // Making HTTP request try { // check for request method if(method.equals("POST")){ DefaultHttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(url); httpPost.setEntity(new UrlEncodedFormEntity(params)); long startTime = System.currentTimeMillis(); HttpResponse httpResponse = httpClient.execute(httpPost); HttpEntity httpEntity = httpResponse.getEntity(); is = httpEntity.getContent(); long elapsedTime = System.currentTimeMillis() - startTime; System.out.println("Total elapsed http request/response time in milliseconds: " + elapsedTime); } else if(method.equals("GET")) { //request method is GET DefaultHttpClient httpClient = new DefaultHttpClient(); String paramString = URLEncodedUtils.format(params, "utf-8"); url += "?" + paramString; HttpGet httpGet = new HttpGet(url); long startTime = System.currentTimeMillis(); HttpResponse httpResponse = httpClient.execute(httpGet); HttpEntity httpEntity = httpResponse.getEntity(); is = httpEntity.getContent(); long elapsedTime = System.currentTimeMillis() - startTime; System.out.println("Total elapsed http request/response time in milliseconds: " + elapsedTime); } }catch (UnsupportedEncodingException e) { e.printStackTrace(); }catch (ClientProtocolException e) { e.printStackTrace (); }catch (IOException e) { e.printStackTrace(); } try { BufferedReader reader = new BufferedReader(new InputStreamReader( is, "iso-8859-1"),8); StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } is.close(); json = sb.toString(); Log.d("Request attempt","JSON >>>" + json.toString()); } catch (Exception e) { Log.e("Buffer Error", "Error converting result" + e.toString()); } // try parse the string to a JSON object try { jObj = new JSONObject(json); } catch (JSONException e) { Log.e("JSON PArser", "Error Parsing data" + e.toString()); } return jObj; }
}
-
fazilpuriasa about 9 yearsin get and post..for both can i paste same lines?
-
fazilpuriasa about 9 yearsyes i pasted as you said..and run my app..but in logcat nothing display like sysout..
-
fazilpuriasa about 9 yearsi accept and vote up..thanks it worked..it shows 1688 so what does that mean?
-
fazilpuriasa about 9 yearsi did not get you..what??
-
fazilpuriasa about 9 yearscan you help me with this? stackoverflow.com/questions/29046302/…