public void handleQuery(Query query) throws IOException { log.info("Reporting query statatistics"); bout.write(query.getIdentifier() + ";"); MonitoringService m = MonitoringUtil.getMonitoringService(); try { int total = 0; for (Endpoint e : endpoints) { try { MonitoringInformation mInfo = m.getMonitoringInformation(e); int requestCount = mInfo != null ? mInfo.getNumberOfRequests() : 0; total += requestCount; log.info("## " + e.getId() + " => " + requestCount + " requests"); bout.write(requestCount + ";"); } catch (Exception ex) { log.warn("Exception (" + ex.getClass() + "):" + ex.getMessage()); bout.write("-1;"); } } bout.write(total + ";"); bout.write("\r\n"); bout.flush(); } finally { m.resetMonitoringInformation(); } }
public FedXMonitoringReport(List<Endpoint> endpoints) throws IOException { this.endpoints = endpoints; bout = new BufferedWriter(new FileWriter("result/fedx_stats.csv")); bout.write("query;"); for (Endpoint e : endpoints) bout.write(e.getId() + ";"); bout.write("total;"); bout.write("\r\n"); }