ant+jmeter 用 jmeter-results-detail-report_21.xsl 输出 html 聚合报告结果,其中 summary 中的 90%Line,95%Line,99%Line,与.jtl 文件的结果不一致

其中 jmeter-results-detail-report_21.xsl 的 90%Line,95%Line,99%Line 的计算方式主要代码为:

<xsl:template name="summary">
    <h2>Summary</h2>
    <table align="center" class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
        <tr valign="top">
            <th># Samples</th>
            <th>Failures</th>
            <th>Success Rate</th>
            <th>Average Time</th>
            <th>Min Time</th>
            <th>Max Time</th>
            <th>Median</th>
            <th>90% Line</th>
            <th>95% Line</th>
            <th>99% Line</th>
            <th>QPS</th>
            <th>KB/Sec</th>
        </tr>
        <tr valign="top">
            <xsl:variable name="allCount" select="count(/testResults/*)" />
            <xsl:variable name="allFailureCount" select="count(/testResults/*[attribute::s='false'])" />
            <xsl:variable name="allSuccessCount" select="count(/testResults/*[attribute::s='true'])" />
            <xsl:variable name="allSuccessPercent" select="$allSuccessCount div $allCount" />
            <xsl:variable name="allTotalTime" select="sum(/testResults/*/@t)" />
            <xsl:variable name="allAverageTime" select="$allTotalTime div $allCount" />
            <xsl:variable name="allMinTime">
                <xsl:call-template name="min">
                    <xsl:with-param name="nodes" select="/testResults/*/@t" />
                </xsl:call-template>
            </xsl:variable>
            <xsl:variable name="allMaxTime">
                <xsl:call-template name="max">
                    <xsl:with-param name="nodes" select="/testResults/*/@t" />
                </xsl:call-template>
            </xsl:variable>
            <xsl:variable name="allMedianLineTime">
                <xsl:call-template name="line">
                    <xsl:with-param name="nodes" select="/testResults/*/@t" />
                    <xsl:with-param name="position" select="ceiling($allCount * 0.5)" />
                </xsl:call-template>
            </xsl:variable>
            <xsl:variable name="allNinetyLineTime">
                <xsl:call-template name="line">
                    <xsl:with-param name="nodes" select="/testResults/*/@t" />
                    <xsl:with-param name="position" select="ceiling($allCount * 0.9)" />
                </xsl:call-template>
            </xsl:variable>
            <xsl:variable name="allNinetyFiveLineTime">
                <xsl:call-template name="line">
                    <xsl:with-param name="nodes" select="/testResults/*/@t" />
                    <xsl:with-param name="position" select="ceiling($allCount * 0.95)" />
                </xsl:call-template>
            </xsl:variable>
            <xsl:variable name="allNinetyNineLineTime">
                <xsl:call-template name="line">
                    <xsl:with-param name="nodes" select="/testResults/*/@t" />
                    <xsl:with-param name="position" select="ceiling($allCount * 0.99)" />
                </xsl:call-template>
            </xsl:variable>

请问两者为什么会不一致?求教!!!!


↙↙↙阅读原文可查看相关链接,并与作者交流