showResult()

in source/console/src/Components/Results/Results.js [79:201]


    showResult(data, testDuration, metricWidgetImage) {
        testDuration = parseInt(testDuration);

        let errors;
        if (data.rc && data.rc.length > 0) {
            errors = data.rc.map((err) =>
                <Col sm="4" key={err.code}>
                    <div className="result error">
                        <b>{err.code}:</b><span>{err.count}</span>
                    </div>
                </Col>
            );
        }

        if (isNaN(testDuration) || testDuration === 0) {
            testDuration = this.props.testDuration;
        }

        return (
            <div>
                <Row>
                    <Col sm="3">
                        <div className="result">
                            平均响应时间
                            <p>{data.avg_rt}s</p>
                        </div>
                    </Col>
                    <Col sm="3">
                        <div className="result">
                            平均时延
                            <p>{data.avg_lt}s</p>
                        </div>
                    </Col>
                    <Col sm="3">
                        <div className="result">
                            平均连接时间
                            <p>{data.avg_ct}s</p>
                        </div>
                    </Col>
                    <Col sm="3">
                        <div className="result">
                            平均带宽
                            <p>{ this.caculateBandwidth(data.bytes, testDuration) }</p>
                        </div>
                    </Col>
                </Row>
                <Row>
                    <Col sm="3">
                        <div className="result">
                            <b>请求数量:</b><span>{data.throughput}</span>
                        </div>
                    </Col>
                    <Col sm="3">
                        <div className="result">
                            <b>成功数量:</b><span>{data.succ}</span>
                        </div>
                    </Col>
                    <Col sm="3">
                        <div className="result">
                            <b>错误数量:</b><span>{data.fail}</span>
                        </div>
                    </Col>
                    <Col sm="3">
                        <div className="result">
                            <b>每秒请求数量:</b><span>{testDuration > 0 ? Math.round(data.throughput * 100 / testDuration) / 100 : '-'}</span>
                        </div>
                    </Col>
                </Row>
                {
                    errors &&
                    <Row>
                        <Col sm="12">
                            <h3>错误</h3>
                        </Col>
                    </Row>
                }
                <Row>
                { errors }
                </Row>
                <Row>
                    <Col sm="3">
                        <h2>返回时间百分比</h2>
                        <div className="result">
                            <b>100%:</b><span>{data.p100_0}s</span>
                        </div>
                        <div className="result">
                            <b>99.9%:</b><span>{data.p99_9}s</span>
                        </div>
                        <div className="result">
                            <b>99%:</b><span>{data.p99_0}s</span>
                        </div>
                        <div className="result">
                            <b>95%:</b><span>{data.p95_0}s</span>
                        </div>
                        <div className="result">
                            <b>90%:</b><span>{data.p90_0}s</span>
                        </div>
                        <div className="result">
                            <b>50%:</b><span>{data.p50_0}s</span>
                        </div>
                        <div className="result">
                            <b>0%:</b><span>{data.p0_0}s</span>
                        </div>
                    </Col>
                    {
                        metricWidgetImage &&
                        <Col sm="9">
                            {/* <img src={`data:image/jpeg;base64,${metricWidgetImage}`} alt='avRt' /> */}
                            <h2>测试图表</h2>
                            <div class="card">
                                <div class="card-body">
                                {/* <h4 class="card-title">Card title</h4> */}
                                <p class="card-text">点击跳转到监控视图</p>
                                {/* <a href="#" class="card-link">{awsConfig.cw_dashboard}</a> */}
                                <a href={awsConfig.cw_dashboard} class="btn btn-info" role="button">CloudWatch Console</a>
                                </div>
                            </div>
                        </Col>
                    }
                </Row>
            </div>
        );
    }