@Override public Collection<PerformanceReport> parse( AbstractBuild<?, ?> build, Collection<File> reports, TaskListener listener) throws IOException { List<PerformanceReport> result = new ArrayList<PerformanceReport>(); PrintStream logger = listener.getLogger(); for (File f : reports) { final PerformanceReport r = new PerformanceReport(); r.setReportFileName(f.getName()); logger.println("Performance: Parsing JMeter report file " + f.getName()); BufferedReader reader = new BufferedReader(new FileReader(f)); try { String line = reader.readLine(); if (line != null && skipFirstLine) { logger.println("Performance: Skipping first line"); line = reader.readLine(); } while (line != null) { HttpSample sample = getSample(line); if (sample != null) { try { r.addSample(sample); } catch (SAXException e) { throw new RuntimeException("Unnable to add sample for line " + line, e); } } line = reader.readLine(); } } finally { if (reader != null) reader.close(); } result.add(r); } return result; }