WjrGAELogRecorder logRecorder = null;
if (logHookEnabled) {
logRecorder = getGAELogRecorder();
}
WjrMethodRunner methodRunner = getMethodRunner();
try {
methodItem.clearResult();
if (logRecorder != null) {
if (logHookTimezone == null || logHookTimezone.length() == 0) {
logHookTimezone = WjrConfig.DEFAULT_LOGHOOK_TIMEZONE;
}
WjrParamParser paramParser = getParamParser();
String timeZoneId =
paramParser.getTimeZoneId(parameterMap, logHookTimezone);
logRecorder.startRecording(timeZoneId);
}
if (quotaRecorder != null) {
quotaRecorder.startRecording();
}
methodItem = methodRunner.runWjrMethod(methodItem);
} finally {
if (quotaRecorder != null && quotaRecorder.isRecording()) {
quotaRecorder.stopRecording();
if (cpumsEnabled) {
methodItem.setCpuTime(quotaRecorder.getRecordedCpuTime());