def createMonitorCharts(self): """Create all montirored server charts.""" if not self.monitor or not self.with_chart: return self.append(rst_title("Monitored hosts", 2)) for host in self.monitor.keys(): self.createMonitorChart(host)
def createMonitorCharts(self): """Create all montirored server charts.""" if not self.monitor or not self.with_chart: return self.append(rst_title("Monitored hosts", 2)) charts = {} for host in self.monitor.keys(): charts[host] = self.createMonitorChart(host) return charts
def createRstFile(self): """Create the ReST file.""" rst_path = os.path.join(self.report_dir, 'index.rst') lines = [] b1 = os.path.basename(self.report_dir1) b2 = os.path.basename(self.report_dir2) # Swap windows path separator backslashes for forward slashes b1_rpath = getRPath( self.report_dir.replace('\\', '/'), os.path.join(self.report_dir1, 'index.html').replace('\\', '/')) b2_rpath = getRPath( self.report_dir.replace('\\', '/'), os.path.join(self.report_dir2, 'index.html').replace('\\', '/')) if b1 == b2: b2 = b2 + "(2)" lines.append(rst_title("FunkLoad_ differential report", level=0)) lines.append("") lines.append(".. sectnum:: :depth: 2") lines.append("") lines.append(rst_title("%s vs %s" % (b2, b1), level=1)) lines.append(" * Reference bench report **B1**: `" + b1 + " <" + b1_rpath + ">`_ [#]_") lines.append(" * Challenger bench report **B2**: `" + b2 + " <" + b2_rpath + ">`_ [#]_") lines.append("") lines.append(rst_title("Requests", level=2)) lines.append(" .. image:: rps_diff.png") lines.append(" .. image:: request.png") lines.append(rst_title("Pages", level=2)) lines.append(" .. image:: spps_diff.png") escapeReportDir = lambda rd: rd.replace('\\', '/').replace('_', '\\_') lines.append(" .. [#] B1 path: " + escapeReportDir(self.report_dir1)) lines.append(" .. [#] B2 path: " + escapeReportDir(self.report_dir2)) lines.append(" .. _FunkLoad: http://funkload.nuxeo.org/") lines.append("") f = open(rst_path, 'w') f.write('\n'.join(lines)) f.close() self.rst_path = rst_path
def createRstFile(self): """Create the ReST file.""" rst_path = os.path.join(self.report_dir, 'index.rst') lines = [] b1 = os.path.basename(self.report_dir1) b2 = os.path.basename(self.report_dir2) # Swap windows path separator backslashes for forward slashes b1_rpath = getRPath(self.report_dir.replace('\\', '/'), os.path.join(self.report_dir1, 'index.html').replace('\\', '/')) b2_rpath = getRPath(self.report_dir.replace('\\', '/'), os.path.join(self.report_dir2, 'index.html').replace('\\', '/')) if b1 == b2: b2 = b2 +"(2)" lines.append(rst_title("FunkLoad_ differential report", level=0)) lines.append("") lines.append(".. sectnum:: :depth: 2") lines.append("") lines.append(rst_title("%s vs %s" % (b2, b1), level=1)) lines.append(" * Reference bench report **B1**: `" + b1 + " <" + b1_rpath + ">`_ [#]_") lines.append(" * Challenger bench report **B2**: `" + b2 + " <" + b2_rpath + ">`_ [#]_") lines.append("") lines.append(rst_title("Requests", level=2)) lines.append(" .. image:: rps_diff.png") lines.append(" .. image:: request.png") lines.append(rst_title("Pages", level=2)) lines.append(" .. image:: spps_diff.png") escapeReportDir = lambda rd: rd.replace('\\', '/').replace('_', '\\_') lines.append(" .. [#] B1 path: " + escapeReportDir(self.report_dir1)) lines.append(" .. [#] B2 path: " + escapeReportDir(self.report_dir2)) lines.append(" .. _FunkLoad: http://funkload.nuxeo.org/") lines.append("") f = open(rst_path, 'w') f.write('\n'.join(lines)) f.close() self.rst_path = rst_path
def createRstFile(self): """Create the ReST file.""" rst_path = os.path.join(self.report_dir, 'index.rst') lines = [] reports = self.args reports_name = [os.path.basename(report) for report in reports] reports_date = [extract_date(report) for report in reports] self.reports_name = reports_name reports_metadata = [extract_metadata(report) for report in reports] self.reports_metadata = reports_metadata reports_rpath = [ getRPath(self.report_dir, os.path.join(report, 'index.html').replace('\\', '/')) for report in reports ] self.max_cus = extract_max_cus(reports[0]) # TODO: handles case where reports_name are the same lines.append(rst_title("FunkLoad_ trend report", level=0)) lines.append("") lines.append(".. sectnum:: :depth: 2") lines.append("") lines.append(rst_title("Trends", level=2)) lines.append(" .. image:: trend_apdex.png") lines.append(" .. image:: trend_spps.png") lines.append(" .. image:: trend_avg.png") lines.append("") lines.append(rst_title("List of reports", level=1)) count = 0 for report in reports_name: count += 1 lines.append(" * Bench **%d** %s: `%s <%s>`_ %s" % (count, reports_date[count - 1], report, reports_rpath[count - 1], get_metadata(reports_metadata[count - 1]))) lines.append("") lines.append(" .. _FunkLoad: http://funkload.nuxeo.org/") lines.append("") f = open(rst_path, 'w') f.write('\n'.join(lines)) f.close() self.rst_path = rst_path
def createRstFile(self): """Create the ReST file.""" rst_path = os.path.join(self.report_dir, 'index.rst') lines = [] reports = self.args reports_name = [os.path.basename(report) for report in reports] reports_date = [extract_date(report) for report in reports] self.reports_name = reports_name reports_metadata = [extract_metadata(report) for report in reports] self.reports_metadata = reports_metadata reports_rpath = [getRPath(self.report_dir, os.path.join(report, 'index.html').replace( '\\', '/')) for report in reports] self.max_cus = extract_max_cus(reports[0]) # TODO: handles case where reports_name are the same lines.append(rst_title("FunkLoad_ trend report", level=0)) lines.append("") lines.append(".. sectnum:: :depth: 2") lines.append("") lines.append(rst_title("Trends", level=2)) lines.append(" .. image:: trend_apdex.png") lines.append(" .. image:: trend_spps.png") lines.append(" .. image:: trend_avg.png") lines.append("") lines.append(rst_title("List of reports", level=1)) count = 0 for report in reports_name: count += 1 lines.append(" * Bench **%d** %s: `%s <%s>`_ %s" % ( count, reports_date[count - 1], report, reports_rpath[count - 1], get_metadata(reports_metadata[count - 1]))) lines.append("") lines.append(" .. _FunkLoad: http://funkload.nuxeo.org/") lines.append("") f = open(rst_path, 'w') f.write('\n'.join(lines)) f.close() self.rst_path = rst_path
def renderMonitor(self, host): """Render a monitored host.""" description = self.config.get(host, '') self.append(rst_title("%s: %s" % (host, description), 3)) self.append(".. image:: %s_monitor.png\n" % host)