doubleatof (const char *string);//此函数在使用前必须先声明
Action()
{
web_set_user("tomcat","tomcat","192.168.0.5:8088");
lr_start_transaction("monitortomcat");
//获取OS参数
web_reg_save_param("Physicalmemory",
"LB=Physical memory: ",
"RB= MB",
"Ord=1",
LAST);
web_reg_save_param("Availablememory",
"LB=Available memory:",
"RB= MB",
"Ord=1",
LAST);
web_reg_save_param("Totalpagefile",
"LB=Total page file: ",
"RB= MB",
"Ord=1",
LAST);
web_reg_save_param("Freepagefile",
"LB=Free page file: ",
"RB= MB",
"Ord=1",
LAST);
web_reg_save_param("Memoryload",
"LB=Memory load: ",
"RB=<br>",
"Ord=1",
LAST);
web_reg_save_param("Processkerneltime",
"LB=Process kernel time:",
"RB= s",
"Ord=1",
LAST);
web_reg_save_param("Processusertime",
"LB=Process user time:",
"RB= s",
"Ord=1",
LAST);
//获取JVM参数
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);
//获取tomcat参数
web_reg_save_param("tomcatMaxThreads",
"LB=Maxthreads: ",
"RB= ",
"Ord=1",
LAST);
web_reg_save_param("tomcatCurrentThreadCount",
"LB=Currentthread count: ",
"RB= ",
"Ord=1",
LAST);
web_reg_save_param("tomcatCurrentThreadBusy",
"LB=Currentthread busy: ",
"RB= ",
"Ord=1",
LAST);
web_reg_save_param("tomcatKeepedalivesockets",
"LB=Keepedalive sockets count: ",
"RB=<br>",
"Ord=1",
LAST);
web_reg_save_param("tomcatMaxprocessingtime",
"LB=Maxprocessing time: ",
"RB= ms",
"Ord=1",
LAST);
web_reg_save_param("tomcatmsProcessingtime",
"LB=Processingtime: ",
"RB= s",
"Ord=1",
LAST);
web_reg_save_param("tomcatRequestcount",
"LB=Requestcount: ",
"RB= ",
"Ord=1",
LAST);
web_reg_save_param("tomcatErrorcount",
"LB=Errorcount: ",
"RB= ",
"Ord=1",
LAST);
web_reg_save_param("tomcatBytesreceived",
"LB=Bytesreceived: ",
"RB= MB",
"Ord=1",
LAST);
web_reg_save_param("tomcatBytessent",
"LB=Bytes sent:",
"RB= MB",
"Ord=1",
LAST);
//获取JK参数
web_reg_save_param("JKMaxThreads",
"LB=Max threads: ",
"RB= ",
"Ord=2",
LAST);
web_reg_save_param("JKCurrentThreadCount",
"LB=Current thread count:",
"RB= ",
"Ord=2",
LAST);
web_reg_save_param("JKCurrentThreadBusy",
"LB=Current thread busy:",
"RB= ",
"Ord=2",
LAST);
web_reg_save_param("JKKeepedalivesockets",
"LB=Keeped alive socketscount: ",
"RB=<br>",
"Ord=2",
LAST);
web_reg_save_param("JKMaxprocessingtime",
"LB=Max processing time:",
"RB= ms",
"Ord=2",
LAST);
web_reg_save_param("JKmsProcessingtime",
"LB=Processing time: ",
"RB= s",
"Ord=2",
LAST);
web_reg_save_param("JKRequestcount",
"LB=Request count: ",
"RB= ",
"Ord=2",
LAST);
web_reg_save_param("JKErrorcount",
"LB=Error count: ",
"RB= ",
"Ord=2",
LAST);
web_reg_save_param("JKBytesreceived",
"LB=Bytes received: ",
"RB= MB",
"Ord=2",
LAST);
web_reg_save_param("JKBytessent",
"LB=Bytes sent: ",
"RB= MB",
"Ord=2",
LAST);
web_url("status",
"URL=http://192.168.0.5:8088/manager/status",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Referer=http://192.168.0.5:8088",
"Snapshot=t5.inf",
"Mode=HTML",
LAST);
lr_end_transaction("monitortomcat", LR_AUTO);
//添加OS计数器
lr_user_data_point("Physical memory",atof(lr_eval_string("{Physicalmemory}")));
lr_user_data_point("Available memory",atof(lr_eval_string("{Availablememory}")));
lr_user_data_point("Total page file",atof(lr_eval_string("{Totalpagefile}")));
lr_user_data_point("Free page file",atof(lr_eval_string("{Freepagefile}")));
lr_user_data_point("Memory load",atof(lr_eval_string("{Memoryload}")));
lr_user_data_point("Process kernel time",atof(lr_eval_string("{Processkerneltime}")));
lr_user_data_point("Process user time",atof(lr_eval_string("{Processusertime}")));
// Tomcat JVM metrics
lr_user_data_point("Tomcat JVM Freememory", atof(lr_eval_string("{JVMFreeMemory}")));
lr_user_data_point("Tomcat JVMTotal memory", atof(lr_eval_string("{JVMTotalMemory}")));
lr_user_data_point("Tomcat JVM Maxmemory", atof(lr_eval_string("{JVMMaxMemory}")));
/*通过计算得到jvm内存使用率*/
lr_user_data_point("TomcatJVM memory%used",(atof(lr_eval_string("{JVMTotalMemory}"))-atof(lr_eval_string("{JVMFreeMemory}")))/atof(lr_eval_string("{JVMTotalMemory}"))*100);
// Tomcat servlet container metrics
lr_user_data_point("tomcatMaxThreads",atof(lr_eval_string("{tomcatMaxThreads}")));
lr_user_data_point("tomcatCurrentThreadCount",tof(lr_eval_string("{tomcatCurrentThreadCount}")));
lr_user_data_point("tomcatCurrentThreadBusy",atof(lr_eval_string("{tomcatCurrentThreadBusy}")));
lr_user_data_point("tomcatKeepedalivesockets",atof(lr_eval_string("{tomcatKeepedalivesockets}")));
lr_user_data_point("tomcatMaxprocessingtime",atof(lr_eval_string("{tomcatMaxprocessingtime}")));
lr_user_data_point("tomcatmsProcessingtime",atof(lr_eval_string("{tomcatmsProcessingtime}")));
lr_user_data_point("tomcatRequestcount",atof(lr_eval_string("{tomcatRequestcount}")));
lr_user_data_point("tomcatErrorcount",atof(lr_eval_string("{tomcatErrorcount}")));
lr_user_data_point("tomcatBytesreceived",atof(lr_eval_string("{tomcatBytesreceived}")));
lr_user_data_point("tomcatBytessent",atof(lr_eval_string("{tomcatBytessent}")));
//TomcatJK web server metrics
lr_user_data_point("JKMaxThreads",atof(lr_eval_string("{JKMaxThreads}")));
lr_user_data_point("JKCurrentThreadCount",atof(lr_eval_string("{JKCurrentThreadCount}")));
lr_user_data_point("JKCurrentThreadBusy",atof(lr_eval_string("{JKCurrentThreadBusy}")));
lr_user_data_point("JKKeepedalivesockets",atof(lr_eval_string("{JKKeepedalivesockets}")));
lr_user_data_point("JKMaxprocessingtime",atof(lr_eval_string("{JKMaxprocessingtime}")));
lr_user_data_point("JKmsProcessingtimee",atof(lr_eval_string("{JKmsProcessingtimee}")));
lr_user_data_point("JKRequestcount",atof(lr_eval_string("{JKRequestcount}")));
lr_user_data_point("JKErrorcount",atof(lr_eval_string("{JKErrorcount}")));
lr_user_data_point("JKBytesreceived",atof(lr_eval_string("{JKBytesreceived}")));
lr_user_data_point("JKBytessent",atof(lr_eval_string("{JKBytessent}")));
return 0;
}