アクティブトランザクション
進行中のトランザクションをアクティブトランザクションと呼びます。アクティブトランザクションで定期的にダンプされるスタックはアクティブスタックと呼ばれます。
ノート
WhaTapエージェントは、10秒(オプションで調整可能)ごとにアクティブトランザクションに対して、アクティブスタックをダンプし、サーバーに送信します。active_stack_second=10
コンパクトなアクティブスタックの収集
アクティブスタックはスレッドダンプを定期的に実行するため、誤った実装をするとエージェントのオーバーヘッドが増加する可能性があります。WhaTapはエージェント負荷を最小限に抑えながらアクティブスタックを収集するために、様々なオプションがあります。
Tips
インスタンス性能管理 > スレッドリスト/ダンプメニューのスレッドリストでWhaTap-ActiveStackDumpスレッドのCPU時間を確認し、オーバーヘッドを判断できます。
アクティブスタックの例
JAVA
java.lang.StringBuffer.append(StringBuffer.java:309)
java.util.regex.Matcher.appendReplacement(Matcher.java:839)
java.util.regex.Matcher.replaceAll(Matcher.java:906)
java.lang.String.replaceAll(String.java:2162)
core.log.triggers.TriggerRegister.changeNotify(TriggerRegister.java:114)
core.log.aop.handler.DaoInfo.log(DaoInfo.java:141)
core.log.aop.handler.DaoInfo.doAround(DaoInfo.java:102)
core.log.aop.reflection.profiler.AroundProfiler.invoke(AroundProfiler.java:19)
com.sun.proxy.$Proxy39.getUpdateCount(Unknown Source)
org.apache.ibatis.executor.resultset.DefaultResultSetHandler.getNextResultSet(DefaultResultSetHandler.java:256)
org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleResultSets(DefaultResultSetHandler.java:193)
org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64)
* * *
sun.reflect.GeneratedMethodAccessor140.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:606)
org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:114)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
最適化されたデータ収集
-
トランザクションを実行しているスレッドに対して、スタックをダンプします。
-
アクティブスタックダンプの時間間隔を調整できます。
whatap.confactive_stack_second=10