アプリケーションの計測に btrace を使用しています。Btrace が行うことは、実行中の JVM にバイトコードを挿入して、ターゲット アプリケーションをトレースすることです。また、トレーサー クライアントとアプリケーションの間で通信するためのソケット接続もセットアップします。
トレーサー クライアントを停止しても、アプリケーションに挿入されたコードは削除されません。引き続きトレースし、このポートを介して結果を送り返します。クライアントが存在しないため、トレース結果を送信しようとすると例外が発生します。
java.net.SocketException: Connection reset by peer: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109)
at java.net.SocketOutputStream.write(SocketOutputStream.java:153)
at java.io.ObjectOutputStream$BlockDataOutputStream.writeBlockHeader(ObjectOutputStream.java:1894)
at java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1875)
at java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode(ObjectOutputStream.java:1786)
at java.io.ObjectOutputStream.reset(ObjectOutputStream.java:500)
at com.sun.btrace.agent.RemoteClient.onCommand(RemoteClient.java:137)
at com.sun.btrace.BTraceRuntime$ConsumerWrapper.accept(BTraceRuntime.java:169)
at com.sun.btrace.BTraceRuntime$ConsumerWrapper.accept(BTraceRuntime.java:157)
at com.sun.btrace.org.jctools.queues.MpscChunkedArrayQueue.drain(MpscChunkedArrayQueue.java:624)
at com.sun.btrace.BTraceRuntime$4.run(BTraceRuntime.java:443)
at java.lang.Thread.run(Thread.java:745)
アプリケーションに接続した後、アプリケーションの計測を解除し、btrace を正常にシャットダウンするにはどうすればよいですか?