From 243cbd656d57d3bba8af46fde52bc421c49edb43 Mon Sep 17 00:00:00 2001 From: Evgeny Mandrikov Date: Thu, 26 Mar 2026 22:49:25 +0100 Subject: [PATCH 1/2] (WIP) fix --- .../src/org/eclipse/eclemma/core/AgentExecutionDataSource.java | 3 ++- .../eclipse/eclemma/internal/core/launching/AgentServer.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/org.eclipse.eclemma.core/src/org/eclipse/eclemma/core/AgentExecutionDataSource.java b/org.eclipse.eclemma.core/src/org/eclipse/eclemma/core/AgentExecutionDataSource.java index 7e53689e..4c03e491 100644 --- a/org.eclipse.eclemma.core/src/org/eclipse/eclemma/core/AgentExecutionDataSource.java +++ b/org.eclipse.eclemma.core/src/org/eclipse/eclemma/core/AgentExecutionDataSource.java @@ -12,6 +12,7 @@ ******************************************************************************/ package org.eclipse.eclemma.core; +import java.io.BufferedInputStream; import java.io.IOException; import java.net.Socket; @@ -45,7 +46,7 @@ public void accept(IExecutionDataVisitor executionDataVisitor, final RemoteControlWriter writer = new RemoteControlWriter( socket.getOutputStream()); final RemoteControlReader reader = new RemoteControlReader( - socket.getInputStream()); + new BufferedInputStream(socket.getInputStream())); reader.setExecutionDataVisitor(executionDataVisitor); reader.setSessionInfoVisitor(sessionInfoVisitor); writer.visitDumpCommand(true, reset); diff --git a/org.eclipse.eclemma.core/src/org/eclipse/eclemma/internal/core/launching/AgentServer.java b/org.eclipse.eclemma.core/src/org/eclipse/eclemma/internal/core/launching/AgentServer.java index 6c3daf53..509e1a88 100644 --- a/org.eclipse.eclemma.core/src/org/eclipse/eclemma/internal/core/launching/AgentServer.java +++ b/org.eclipse.eclemma.core/src/org/eclipse/eclemma/internal/core/launching/AgentServer.java @@ -12,6 +12,7 @@ ******************************************************************************/ package org.eclipse.eclemma.internal.core.launching; +import java.io.BufferedInputStream; import java.io.IOException; import java.net.InetAddress; import java.net.ServerSocket; @@ -109,7 +110,7 @@ protected IStatus run(IProgressMonitor monitor) { final Socket socket = serverSocket.accept(); writer = new RemoteControlWriter(socket.getOutputStream()); final RemoteControlReader reader = new RemoteControlReader( - socket.getInputStream()); + new BufferedInputStream(socket.getInputStream())); while (true) { final MemoryExecutionDataSource memory = new MemoryExecutionDataSource(); memory.readFrom(reader); From 9b72da38c68900499403c5e46752da95b67a48fe Mon Sep 17 00:00:00 2001 From: Evgeny Mandrikov Date: Thu, 7 May 2026 22:44:46 +0200 Subject: [PATCH 2/2] (WIP) apply suggestions from code review --- .../org/eclipse/eclemma/core/AgentExecutionDataSource.java | 2 ++ .../eclipse/eclemma/internal/core/launching/AgentServer.java | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/org.eclipse.eclemma.core/src/org/eclipse/eclemma/core/AgentExecutionDataSource.java b/org.eclipse.eclemma.core/src/org/eclipse/eclemma/core/AgentExecutionDataSource.java index 4c03e491..a970fd4f 100644 --- a/org.eclipse.eclemma.core/src/org/eclipse/eclemma/core/AgentExecutionDataSource.java +++ b/org.eclipse.eclemma.core/src/org/eclipse/eclemma/core/AgentExecutionDataSource.java @@ -44,6 +44,8 @@ public void accept(IExecutionDataVisitor executionDataVisitor, try { final Socket socket = new Socket(address, port); final RemoteControlWriter writer = new RemoteControlWriter( + // BufferedOutputStream will not improve performance here + // while will add memory overhead because commands are short socket.getOutputStream()); final RemoteControlReader reader = new RemoteControlReader( new BufferedInputStream(socket.getInputStream())); diff --git a/org.eclipse.eclemma.core/src/org/eclipse/eclemma/internal/core/launching/AgentServer.java b/org.eclipse.eclemma.core/src/org/eclipse/eclemma/internal/core/launching/AgentServer.java index 509e1a88..198afdaf 100644 --- a/org.eclipse.eclemma.core/src/org/eclipse/eclemma/internal/core/launching/AgentServer.java +++ b/org.eclipse.eclemma.core/src/org/eclipse/eclemma/internal/core/launching/AgentServer.java @@ -108,7 +108,10 @@ public int getPort() { protected IStatus run(IProgressMonitor monitor) { try { final Socket socket = serverSocket.accept(); - writer = new RemoteControlWriter(socket.getOutputStream()); + writer = new RemoteControlWriter( + // BufferedOutputStream will not improve performance here + // while will add memory overhead because commands are short + socket.getOutputStream()); final RemoteControlReader reader = new RemoteControlReader( new BufferedInputStream(socket.getInputStream())); while (true) {