|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectkr.co.hit.live.profile.ObjectProfiler
public class ObjectProfiler
Object가 사용하는 메모리 량을 Profiling 하는 클래스이다. Object내의 멤버 객체들을 recursive하게 탐색하여 최초에 주어진 객체를 root로 하는 Object 트리 구조를 모두 탐색하여 그 멤버들의 타입과 크기까지 모두 profiling한다.
Object 내의 멤버 객체들의 구성을 가져오기 위하여 ClassFieldResolver 클래스를 사용하며,
profile() 후 생성된 ProfileNode를 탐색하기 위하여 ProfileNodeVisitor의 구현 클래스를 사용한다.
사용 예:
ClassFieldResolver resolver = new ClassFieldResolver();
resolver.excludeMemberType("org.apache.commons.logging.Log");
resolver.excludeStaticMember(false);
resolver.excludeParentClass("kr.co.hit.live.web.action.AbstractWebAction");
resolver.excludeParentClass("kr.co.hit.live.context.ContextAwareService");
resolver.excludeParentClass("kr.co.hit.live.dao.JdbcDAO");
resolver.ignoreException(false);
resolver.exposeProxy(true);
ObjectProfiler profiler = new ObjectProfiler(resolver);
ProfileNode root = null;
try {
root = profiler.profile(svcObject);
} catch(Exception ex) {
throw new LiveException("com.info.00008","프로파일링 오류입니다.",ex);
}
ProfileNodeVisitor visitor = new ValueObjectVisitor(dumpVO,depth);
root.traverse(visitor);
| Constructor Summary | |
|---|---|
ObjectProfiler(ClassFieldResolver fieldResolver)
생성자이다. |
|
| Method Summary | |
|---|---|
ProfileNode |
profile(Object rootObj)
주어진 Object로부터 연결된 모든 Object들에 대한 profile 작업을 수행한다. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public ObjectProfiler(ClassFieldResolver fieldResolver)
fieldResolver - | Method Detail |
|---|
public ProfileNode profile(Object rootObj)
rootObj - 프로파일링하고자하는 객체
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||