动态查询java代码运行细节

Btrace:在不修改现有代码、不重新启动应用服务器的前提下,观察程序的现有运行状态。
以下是测试时间。

1、先jps一下服务器的pid
2、btrace pid 下面的java代码的文件名

Btrace在Linux\Windows上都能运行。

package net.bwda.ssim;

import static com.sun.btrace.BTraceUtils.*;

import com.sun.btrace.annotations.BTrace;
import com.sun.btrace.annotations.Kind;
import com.sun.btrace.annotations.Location;
import com.sun.btrace.annotations.OnMethod;
import com.sun.btrace.annotations.TLS;

@BTrace
public class TestBtrace {
	@TLS
	static long beginTime;

	@OnMethod(clazz = "net.bwda.ssim.web.charts.VirusAreaAction", method = "updateDataXml")
	public static void begin() {
		beginTime = timeMillis();
	}

	@OnMethod(clazz = "net.bwda.ssim.web.charts.VirusAreaAction", method = "updateDataXml", location = @Location(Kind.RETURN))
	public static void traceMethod() {
		println(strcat(strcat("updateDataXml  time is:", str(timeMillis() - beginTime)), "ms"));
	}

}

你可能感兴趣的:(java,linux,应用服务器,.net,sun)