Report Generation

Overview

LoadDensity can render six report formats from test_record_instance: HTML, JSON, XML, CSV, JUnit XML, and a percentile-summary JSON.

Note

Reports require at least one record; calling a generator on an empty store raises LoadDensityHTMLException / LoadDensityGenerateJsonReportException.

HTML

from je_load_density import generate_html_report
generate_html_report("my_report")            # writes my_report.html

JSON (split by outcome)

from je_load_density import generate_json_report
success_path, failure_path = generate_json_report("my_report")

XML (split by outcome)

from je_load_density import generate_xml_report
success_path, failure_path = generate_xml_report("my_report")

CSV (one row per request)

from je_load_density import generate_csv_report
generate_csv_report("my_report")             # writes my_report.csv

Columns: outcome, Method, test_url, name, status_code, response_time_ms, response_length, error.

JUnit XML (CI-friendly)

from je_load_density import generate_junit_report
generate_junit_report("loaddensity-junit")   # writes loaddensity-junit.xml

Each request becomes a <testcase>; failures attach <failure> nodes carrying the error message. Compatible with Jenkins, GitHub Actions test annotations, GitLab, etc.

Summary (percentiles)

from je_load_density import generate_summary_report, build_summary

summary = build_summary()                    # in-memory dict
generate_summary_report("loaddensity-summary")

The summary contains totals, per-name counts, min / max / mean / percentile (p50 / p90 / p95 / p99) latencies, and an overall block. Useful for charting and regression checks across runs.

Action JSON

Chain reports into a test:

{"load_density": [
  ["LD_start_test", {...}],
  ["LD_generate_html_report",   {"html_name": "report"}],
  ["LD_generate_json_report",   {"json_file_name": "report"}],
  ["LD_generate_xml_report",    {"xml_file_name": "report"}],
  ["LD_generate_csv_report",    {"csv_name": "report"}],
  ["LD_generate_junit_report",  {"report_name": "report-junit"}],
  ["LD_generate_summary_report",{"report_name": "report-summary"}]
]}