测量java(Web服务)中的响应时间?

时间:2015-05-05 22:35:47

标签: java web-services soap response-time

我正在尝试测量“进程”的响应时间(我从服务器请求数据然后显示数据)。我想测量从我要求数据(当我按下“发送”按钮时)到数据显示在我的txtbox中所花费的时间。

看起来像这样:

    (these two are at the very top:)
    private long a
    private long b


   ...other code...


    a = System.currentTimeMillis();

    btnSend.addActionListener(new ActionListener(){

        @Override
        public void actionPerformed(ActionEvent arg0) {
            String fileContents;
            b = System.currentTimeMillis();
            try {
                fileContents = control.getFileContents(txtSearch.getText());
                txtView.setText(fileContents + "\n" + "\n" + "The process took "+(b-a)+"milliseconds to execute." + "\n" + "("+((b-a)/1000)+" seconds)");

            } catch (RemoteException e) {
                txtView.setText("File not found");
            }

        }

Ant可行,但这是第一次。如果我发送另一个请求,那么时间只会添加到旧时间。第一个请求需要2秒,第二个请求需要7秒(实际上需要花费2秒)。

我尝试通过以下方式重置a和b来避免问题:

    a = 0; 
    b = 0;

在重置按钮中,但似乎只是让事情变得有点疯狂。

有关如何解决问题的任何想法?

由于

1 个答案:

答案 0 :(得分:0)

看起来非常像你在创建按钮时设置a的值,而在你点击它时设置b。如果你这样做,那么你会看到你看到的结果。 A将保持不变,B将越来越远离它。然后当你重置时,事情会变得有点疯狂"因为现在A等于零。所以它会说你的往返大约需要45年(自1970年以来的时间,这是currentTimeMillis()的0值。)

相反,您希望在单击按钮时设置A的值,在获得结果后设置B.

像这样:

$current_time = time();
if ($current_time < mktime(0, 0, 0, 6, 1, 2015)) {
  if ($_POST['fee'] !== '15' && $_POST['fee'] !== '30') {
    // return error
  }
} else if ($current_time < mktime(0, 0, 0, 7, 1, 2015)) {
  if ($_POST['fee'] !== '25' && $_POST['fee'] !== '50') {
    // return error
  }
} else if ($current_time < mktime(0, 0, 0, 7, 11, 2015)) { 
  if ($_POST['fee'] !== '40' && $_POST['fee'] !== '80') {
    // return error
  }
}