mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Valera V Harseko
2 days ago 3c9705f1f7622153fc9cd114ba10a3fcdf938d64
Fix benchmark charts: non-overlapping columns and total throughput

Two report fixes in summary.sh.

- Make the per-operation columns actually render side by side. xychart-beta
merges duplicate x-axis category labels into one slot, so the previous
"ADD","ADD" axis collapsed both series back onto a single column and the
OpenLDAP/OpenDJ bars overlapped. Use distinct labels ("ADD OL","ADD DJ", ...)
so the zero-padded series stay on separate columns.
- Replace per-operation throughput with a single total-throughput comparison.
In a sequential loop every operation runs once per iteration, so per-op
throughput just equals the loop rate (nearly identical across ops, which
looked wrong). The per-operation table now shows latency only (mean/p99/
errors); a two-bar chart shows total OpenLDAP vs OpenDJ throughput, with a
note explaining why per-op throughput is not charted.

Verified by rendering the report from the real run's statistics.json artifacts.
2 files modified
6 ■■■■ changed files
.github/benchmark/summary.sh 2 ●●● patch | view | raw | blame | history
.github/workflows/benchmark.yml 4 ●●●● patch | view | raw | blame | history
.github/benchmark/summary.sh
@@ -39,7 +39,7 @@
# mi <file> <label> <field> -> integer value (0 if absent).
mi() { jq -r --arg l "$2" --arg f "$3" '((.[$l][$f]) // 0) | round' "$1"; }
echo "## ðŸ”¬ LDAP Benchmark â€” OpenDJ vs OpenLDAP"
echo "## ðŸ”¬ Benchmark: OpenDJ vs OpenLDAP"
echo ""
# ---------------------------------------------------------------- Versions
.github/workflows/benchmark.yml
@@ -11,9 +11,9 @@
# information: "Portions copyright [year] [name of copyright owner]".
#
# Copyright 2026 3A Systems, LLC.
name: "LDAP benchmark: OpenDJ vs OpenLDAP"
name: "Benchmark"
# LDAP benchmark: OpenDJ vs OpenLDAP.
# Benchmark: OpenDJ vs OpenLDAP.
# Runs manually (workflow_dispatch) and automatically after the "Release" workflow completes.
# Starts the latest OpenLDAP and OpenDJ from Docker (image tags overridable via inputs),
# benchmarks OpenLDAP first then OpenDJ with Apache JMeter, and writes versions + comparison