分析Wicket应用程序

Kim*_*ble 3 profiling wicket

是否有任何好的工具或技术来描述Wicket应用程序?我正在寻找的东西可以让我在处理请求时分析Wicket内部发生的事情.

它不一定像Spring洞察那样华丽.

我是Wicket的新手,所有无处不在的内部课程遍布各地,很难看出事情何时发生.

sou*_*ick 6

至少对于Wicket 1.4,我们可以看一下内部方法org.apache.wicket.RequestCycle.steps().基本上,这是一个已被识别为对Wicket应用程序的请求的请求遍历Wicket请求处理周期的相关步骤的地方.在类的开头RequestCycle,主要步骤由int常量表示.int值越高,步骤越晚进入循环.RequestCycle.step()被调用的方法RequestCycle.steps()有一个switch语句,用于将不同的步骤委托给负责进一步委托的框架方法.

请求周期中的步骤或阶段(如果您愿意)是有序的:

  • NOT_STARTED - 初始值
  • PREPARE_REQUEST - 准备进一步处理,调用onBeginRequest
  • RESOLVE_TARGET - 确定相关的请求目标
  • PROCESS_EVENTS - 处理事件,将当前步骤设置为RESPOND并进行响应
  • RESPOND - 仅响应,用于重定向
  • DETACH_REQUEST - 通过委托触发分离挂钩
  • DONE - 在DETACH_REQUEST之后成为当前值

什么是真正的步骤内部发生是由多种接口,最显着的实现决定IRequestCycleProcessorIRequestTarget.


mar*_*n-g 6

看到

org.apache.wicket.response.filter.ServerAndClientTimeFilter org.apache.wicket.response.filter.AjaxServerAndClientTimeFilter org.apache.wicket.devutils.inspector.RenderPerformanceListener org.apache.wicket.protocol.http.RequestLogger

所有这些都给出了一些测量,但也看到了我对Cedric Gatay的回应的评论.使用像Yourkit(http://www.yourkit.com)这样的工具可以帮助您完成这项任务.