监控 GWT JavaScript/Client-side 代码
Monitoring GWT JavaScript/Client-side code
我想用 GWT 监视每个调用的客户端函数。
我尝试了几个 GWT AOP 框架。但是,我没有找到任何与 GWT 2.7 兼容的。
有人设法监控每个调用的客户端函数吗?我希望它能自动监控客户端代码的性能。在 1k 方法项目中手动添加 events/calls 很乏味...
您可以通过 GWT SuperDevMode view/debug 客户端 JS 代码。
您可以使用 window.performance API:
var t0 = performance.now();
doSomething();
var t1 = performance.now();
console.log("Call to doSomething took " + (t1 - t0) + " milliseconds.")
https://developer.mozilla.org/en-US/docs/Web/API/Performance.now
使用https://code.google.com/p/jquery-aop/是"easy"。
创建一个本机 JSNI 方法,以便您可以访问 "this" 作为本地 GWT 模块函数...:
public static native void weave() /*-{
$wnd.jQuery.aop.around({
target : this,
method : 'viewScene.*'
}, function(invocation) {
var t0 = $wnd.performance.now();
var result = invocation.proceed();
var t1 = $wnd.performance.now();
console.log("Call to " + invocation.method + " took " + (t1 - t0)
+ " milliseconds.")
return result;
});
}-*/;
现在唯一的挑战是如何将"function viewScene_0_g$"与原始代码联系起来。但是,这应该可以通过 sourcemaps 实现。
我想用 GWT 监视每个调用的客户端函数。 我尝试了几个 GWT AOP 框架。但是,我没有找到任何与 GWT 2.7 兼容的。
有人设法监控每个调用的客户端函数吗?我希望它能自动监控客户端代码的性能。在 1k 方法项目中手动添加 events/calls 很乏味...
您可以通过 GWT SuperDevMode view/debug 客户端 JS 代码。
您可以使用 window.performance API:
var t0 = performance.now();
doSomething();
var t1 = performance.now();
console.log("Call to doSomething took " + (t1 - t0) + " milliseconds.")
https://developer.mozilla.org/en-US/docs/Web/API/Performance.now
使用https://code.google.com/p/jquery-aop/是"easy"。
创建一个本机 JSNI 方法,以便您可以访问 "this" 作为本地 GWT 模块函数...:
public static native void weave() /*-{
$wnd.jQuery.aop.around({
target : this,
method : 'viewScene.*'
}, function(invocation) {
var t0 = $wnd.performance.now();
var result = invocation.proceed();
var t1 = $wnd.performance.now();
console.log("Call to " + invocation.method + " took " + (t1 - t0)
+ " milliseconds.")
return result;
});
}-*/;
现在唯一的挑战是如何将"function viewScene_0_g$"与原始代码联系起来。但是,这应该可以通过 sourcemaps 实现。