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)
예제 #2
0
 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
예제 #3
0
    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
예제 #4
0
    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
예제 #5
0
    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
예제 #6
0
 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)