【问题标题】:Monitoring GWT JavaScript/Client-side code监控 GWT JavaScript/客户端代码
【发布时间】:2015-01-28 23:58:00
【问题描述】:

我想用 GWT 监控每个调用的客户端函数。 我尝试了几个 GWT AOP 框架。但是,我没有找到任何与 GWT 2.7 兼容的版本。

有人设法监控每个调用的客户端功能吗?我希望它能够自动监控客户端代码的性能。在 1k 方法项目中手动添加事件/调用很乏味...

【问题讨论】:

    标签: javascript performance gwt analysis monitor


    【解决方案1】:

    您可以通过 GWT SuperDevMode 查看/调试客户端 JS 代码。

    【讨论】:

    • 那么我如何以编程方式获取调用时间戳/持续时间和被调用的方法名称?
    • 我将您的提示标记为答案,因为您将我引导到 JavaScript AOP。谢谢 :)
    【解决方案2】:

    您可以使用 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

    【讨论】:

      【解决方案3】:

      使用https://code.google.com/p/jquery-aop/ 很“简单”。

      创建一个原生 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$”与原始代码相关联。但是,这应该可以通过源地图实现。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-22
      • 1970-01-01
      • 1970-01-01
      • 2016-09-12
      相关资源
      最近更新 更多