loadrunner監控tomcat:

第一種:
LR本身是不支持的!有兩種方式可以集成!
1、自己寫一個批處理程序去取tomcat的數據
2、使用sitescope去執行這個批處理,然后采集數據
3、使用LR與sitescope集成,然后讀取數據

第二種:
1、通過LR去訪問tomcat監控頁
2、然后通過關聯取監控數據
3、使用lr_user_data_point()添加數據到圖表中去

這里用第二種具體解決方案如下:(監控tomcat服務器:http://127.0.0.1)

1、打開Tomcat的status頁面,方法為編輯Tomcat的conf目錄下的tomcat-users.xml文件,在文件中添加
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="manager"/>
  <role rolename="admin"/>
  <user username="admin" password="" roles="admin,manager"/>
</tomcat-users>


2. LR 腳本
-------------------------------------------

#include "web_api.h"
#include "lrw_custom_body.h"

double atof (const char *string);  // 轉格式,因為atof函數轉換成double時數值都變了樣
vuser_init(){
return 0;

}

Action6()
{
 

//定義tomcat內存使用情況的監視器事務;

lr_start_transaction("monitor tomcat"); 

 

//保存3個參數;

 web_reg_save_param("JVMFreeMemory",  

     "LB=Free memory: ",

     "RB= MB",

     "Ord=1",

   LAST); 

   web_reg_save_param("JVMTotalMemory",

   "LB=Total memory: ",

   "RB= MB",

   "Ord=1",

   LAST);

 

    web_reg_save_param("JVMMaxMemory",

     "LB=Max memory: ",

     "RB= MB",

     "Ord=1",

    LAST);

//通過LR去訪問tomcat監控頁

   web_set_user("admin","","127.0.0.1:8091");

 

  web_url("status",

        "URL=http://127.0.0.1:8091/manager/status",

        "Resource=0",

        "RecContentType=text/html",

        "Referer=",

        "Snapshot=t1.inf",

        "Mode=HTTP",

    LAST);

 

    lr_end_transaction("monitor tomcat", LR_AUTO);

 

// Tomcat JVM metrics  使用lr_user_data_point()添加數據到圖表中去

    lr_user_data_point("Tomcat JVM Free memory", atof(lr_eval_string("{JVMFreeMemory}")));

    lr_user_data_point("Tomcat JVM Total memory", atof(lr_eval_string("{JVMTotalMemory}")));

    lr_user_data_point("Tomcat JVM Max memory", atof(lr_eval_string("{JVMMaxMemory}")));


 return 0;

}


運行日志可以看到監控到的tomcat 數據值
-----------------------------------------

虛擬用戶腳本已啟動
正在開始操作 vuser_init。
Web Turbo 重播 LoadRunner 8.1.0 for WINXP; Web 內部版本 4788   [MsgId: MMSG-27143]
運行時設置文件: "C:\Documents and Settings\joan\桌面\lr TEST\test20090907\\default.cfg"   [MsgId: MMSG-27141]
正在結束操作 vuser_init。
正在運行 Vuser...
正在開始迭代 1。
正在開始操作 Action6。
Action6.c(7): 通知: Transaction "monitor tomcat" started.
Action6.c(13): 注冊 web_reg_save_param 成功   [MsgId: MMSG-26390]
Action6.c(23): 注冊 web_reg_save_param 成功   [MsgId: MMSG-26390]
Action6.c(35): 注冊 web_reg_save_param 成功   [MsgId: MMSG-26390]
Action6.c(47): web_set_user 成功   [MsgId: MMSG-26392]
Action6.c(51): web_url("status") 已成功,6503 個正文字節,493 個標頭字節,12 個成塊開銷字節   [MsgId: MMSG-26385]
Action6.c(69): 通知: Transaction "monitor tomcat" ended with "Pass" status (Duration: 0.2604 Wasted Time: 0.0001).
Action6.c(75): 通知: Data Point "Tomcat JVM Free memory" value = 15.2500.
Action6.c(77): 通知: Data Point "Tomcat JVM Total memory" value = 36.3300.
Action6.c(79): 通知: Data Point "Tomcat JVM Max memory" value = 63.5600.

正在結束操作 Action6。
正在結束迭代 1。
正在結束 Vuser...
正在開始操作 vuser_end。
正在結束操作 vuser_end。
Vuser 已終止。