Look in: org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup.SessionRpcRequestBuilder.doCreate(String) See this code: // TODO Don't use the expensive determineName except in dev mode rb.setCallback(new MonitoringRequestCallback(determineName(), rb.getCallback())); Notice the TODO and look particularly the impl of determineName: public String determineName() { Exception e = new Exception(); StackTraceElement[] stack = e.getStackTrace(); // Skip the first two stack elements to get to the proxy calling for (int i = 2; i < stack.length; i++) { StackTraceElement ste = stack[i]; // e.g. "org.rhq.enterprise.gui.coregui.client.gwt.ResourceGWTService_Proxy.findResourcesByCriteria(ResourceGWTService_Proxy.java:36)" if (ste.getClassName().startsWith("org.rhq.enterprise.gui.coregui.client.gwt")) { return ste.getClassName().substring(ste.getClassName().lastIndexOf(".") + 1) + "." + ste.getMethodName(); } } return "unknown"; } This has to be expensive. We should implement the TODO at minimum (or just take out the getDetermineName's processing of the stack trace). I don't know what the request "name" is for - but I suspect its just for logging purposes.
Worth seeing if this is still relevant
i think this is also used to show the name in the stats window. not sure what we should do here. it might not be a real problem - not sure how much cpu cycles we'd save by not doing this??
I don't think this is an actual problem.