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 .

Share:
10,313
fazilpuriasa
Author by

fazilpuriasa

Android

Updated on June 11, 2022

Comments

  • fazilpuriasa
    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
    fazilpuriasa about 9 years
    in get and post..for both can i paste same lines?
  • fazilpuriasa
    fazilpuriasa about 9 years
    yes i pasted as you said..and run my app..but in logcat nothing display like sysout..
  • fazilpuriasa
    fazilpuriasa about 9 years
    i accept and vote up..thanks it worked..it shows 1688 so what does that mean?
  • fazilpuriasa
    fazilpuriasa about 9 years
    i did not get you..what??
  • fazilpuriasa
    fazilpuriasa about 9 years
    can you help me with this? stackoverflow.com/questions/29046302/…