refactor(ci): Merge perf results into one comment (#3707)

One comment vs eight, need I say more?
This commit is contained in:
Jamil
2024-02-20 18:17:48 -08:00
committed by GitHub
parent e766407dfb
commit 63cdd09a01
2 changed files with 117 additions and 115 deletions

View File

@@ -35,80 +35,89 @@ function humanFileSize(bytes, dp = 1) {
return bytes.toFixed(dp) + " " + units[u];
}
exports.script = async function (github, context, test_name) {
// 1. Read the current results
const results = JSON.parse(fs.readFileSync(test_name + ".json")).end;
exports.script = async function (github, context, test_names) {
let output = `### Performance Test Results
// 2. Read the main results
const results_main = JSON.parse(
fs.readFileSync(path.join("main", test_name + ".json"))
).end;
`;
let tcp_output = `#### TCP
let output = "";
if (test_name.includes("tcp")) {
const tcp_sum_received_bits_per_second =
humanFileSize(results.sum_received.bits_per_second) +
" (" +
getDiffPercents(
results_main.sum_received.bits_per_second,
results.sum_received.bits_per_second
) +
")";
const tcp_sum_sent_bits_per_second =
humanFileSize(results.sum_sent.bits_per_second) +
" (" +
getDiffPercents(
results_main.sum_sent.bits_per_second,
results.sum_sent.bits_per_second
) +
")";
const tcp_sum_sent_retransmits =
results.sum_sent.retransmits +
" (" +
getDiffPercents(
results_main.sum_sent.retransmits,
results.sum_sent.retransmits
) +
")";
output = `## Performance Test Results: ${test_name}
| Received/s | Sent/s | Retransmits |
|---|---|---|
| ${tcp_sum_received_bits_per_second} | ${tcp_sum_sent_bits_per_second} | ${tcp_sum_sent_retransmits} |
| Test Name | Received/s | Sent/s | Retransmits |
|---|---|---|---|
`;
} else if (test_name.includes("udp")) {
const udp_sum_bits_per_second =
humanFileSize(results.sum.bits_per_second) +
" (" +
getDiffPercents(
results_main.sum.bits_per_second,
results.sum.bits_per_second
) +
")";
const udp_sum_jitter_ms =
results.sum.jitter_ms.toFixed(2) +
"ms (" +
getDiffPercents(results_main.sum.jitter_ms, results.sum.jitter_ms) +
")";
const udp_sum_lost_percent =
results.sum.lost_percent.toFixed(2) +
"% (" +
getDiffPercents(results_main.sum.lost_percent, results.sum.lost_percent) +
")";
output = `## Performance Test Results: ${test_name}
| Total/s | Jitter | Lost |
|---|---|---|
| ${udp_sum_bits_per_second} | ${udp_sum_jitter_ms} | ${udp_sum_lost_percent} |
let udp_output = `#### UDP
| Test Name | Total/s | Jitter | Lost |
|---|---|---|---|
`;
} else {
throw new Error("Unknown test type");
for (const test_name of test_names) {
// 1. Read the current results
const results = JSON.parse(fs.readFileSync(test_name + ".json")).end;
// 2. Read the main results
const results_main = JSON.parse(
fs.readFileSync(path.join("main", test_name + ".json"))
).end;
if (test_name.includes("tcp")) {
const tcp_sum_received_bits_per_second =
humanFileSize(results.sum_received.bits_per_second) +
" (" +
getDiffPercents(
results_main.sum_received.bits_per_second,
results.sum_received.bits_per_second
) +
")";
const tcp_sum_sent_bits_per_second =
humanFileSize(results.sum_sent.bits_per_second) +
" (" +
getDiffPercents(
results_main.sum_sent.bits_per_second,
results.sum_sent.bits_per_second
) +
")";
const tcp_sum_sent_retransmits =
results.sum_sent.retransmits +
" (" +
getDiffPercents(
results_main.sum_sent.retransmits,
results.sum_sent.retransmits
) +
")";
tcp_output += `| ${test_name} | ${tcp_sum_received_bits_per_second} | ${tcp_sum_sent_bits_per_second} | ${tcp_sum_sent_retransmits} |\n`;
} else if (test_name.includes("udp")) {
const udp_sum_bits_per_second =
humanFileSize(results.sum.bits_per_second) +
" (" +
getDiffPercents(
results_main.sum.bits_per_second,
results.sum.bits_per_second
) +
")";
const udp_sum_jitter_ms =
results.sum.jitter_ms.toFixed(2) +
"ms (" +
getDiffPercents(results_main.sum.jitter_ms, results.sum.jitter_ms) +
")";
const udp_sum_lost_percent =
results.sum.lost_percent.toFixed(2) +
"% (" +
getDiffPercents(
results_main.sum.lost_percent,
results.sum.lost_percent
) +
")";
udp_output += `| ${test_name} | ${udp_sum_bits_per_second} | ${udp_sum_jitter_ms} | ${udp_sum_lost_percent} |\n`;
} else {
throw new Error("Unknown test type");
}
}
output += tcp_output + "\n" + udp_output;
// Retrieve existing bot comments for the PR
const { data: comments } = await github.rest.issues.listComments({
owner: context.repo.owner,