@Override public void sampleOccurred(SampleEvent se) { if (!isGenerateParentSample()) { // Check if we are still sampling our children if(res != null && !se.isTransactionSampleEvent()) { SampleResult sampleResult = se.getResult(); res.setThreadName(sampleResult.getThreadName()); res.setBytes(res.getBytesAsLong() + sampleResult.getBytesAsLong()); res.setSentBytes(res.getSentBytes() + sampleResult.getSentBytes()); if (!isIncludeTimers()) {// Accumulate waiting time for later pauseTime += sampleResult.getEndTime() - sampleResult.getTime() - prevEndTime; prevEndTime = sampleResult.getEndTime(); } if(!sampleResult.isSuccessful()) { res.setSuccessful(false); noFailingSamples++; } res.setAllThreads(sampleResult.getAllThreads()); res.setGroupThreads(sampleResult.getGroupThreads()); res.setLatency(res.getLatency() + sampleResult.getLatency()); res.setConnectTime(res.getConnectTime() + sampleResult.getConnectTime()); } } }