How to measure request and response time of server?

android, httprequest, httpresponse, json

Solution

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 .

Problem

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; } ``` }

Original source

Related problems