Skip to content

Prompt for Generating Performance Analysis Reports #15

@apierr

Description

@apierr

Objective

You are tasked with producing a data-driven performance analysis report comparing three cryptographic signing schemes used in Hyperledger Fabric:

  • ECDSA (classical)
  • PQC-only (e.g., Dilithium)
  • Hybrid (ECDSA + PQC)

The goal is to highlight performance differences under varying load conditions using reproducible, statistically sound visualizations derived from existing CSV benchmark data.


Role and Methodology

Act as an expert in data analysis and performance benchmarking.

You must:

  • Solve the problem step by step
  • Explain your reasoning at each step
  • Pause after each step and wait for confirmation before proceeding
  • Avoid jumping to final conclusions prematurely

Input Data Context

You are provided with multiple CSV files generated via Monte Carlo simulations. Each file represents a single run under a specific cryptographic mode and load profile.

Key CSV Fields

  • Identification: crypto_mode, load_profile, run_id
  • Performance: tx_rate, latency_avg, latency_p95
  • System Resources: cpu_util, mem_util
  • Blockchain Metrics: block_size, block_commit_time
  • Cryptographic Overhead: sig_gen_time, sig_verify_time

Load profiles include LOWLOAD and HIGHLOAD, with multiple runs per configuration.


Project Structure Constraints

All reporting scripts must integrate cleanly into the following project layout:

tools/
├── reporting/
│   ├── generate_performance_curve.py
│   ├── generate_overhead_breakdown.py
│   ├── generate_latex_tables.py
│   └── utils/

Engineering Constraints

  • Scripts must follow SOLID and DRY principles
  • Each file must contain no more than 50 lines of code
  • Logic must be decomposed into reusable external modules
  • Scripts must be executable via python -m

Example:

python -m tools.reporting.generate_performance_curve \
  --csv data/fixtures/monte_carlo/workshop/ECDSA_LOWLOAD_RUN1.csv \
  --output /tmp/performance_curve.png

Step-by-Step Tasks

Step 1 — Visualization Strategy

Propose and justify the types of charts that can be generated from the available CSV data.

Examples (non-exhaustive):

  • Box plots
  • Histograms
  • Scatter plots
  • Stacked bar charts
  • Heatmaps

For each proposed visualization:

  • Specify which metrics it applies to
  • Explain what analytical insight it provides
  • Explain why it is suitable for comparing ECDSA, PQC-only, and Hybrid schemes

Stop after this step and wait for confirmation before proceeding.


Step 2 — Script Design and File Structure

Once the visualization type is confirmed:

  • Propose the script name
  • Define the file/module structure
  • Describe responsibilities of each module
  • Explain how SOLID and DRY principles are enforced

Do not implement full code unless explicitly requested.

Stop after this step and wait for confirmation before proceeding.


Expected Output

The final outcome (after all steps are approved) will be:

  • One or more production-ready reporting scripts
  • Reproducible plots suitable for academic papers or technical reports
  • Clear separation between data loading, transformation, and visualization logic

Tone and Quality Bar

  • Use precise technical language
  • Favor clarity, reproducibility, and statistical rigor
  • Assume the audience consists of researchers and performance engineers

Do not simplify concepts unnecessarily. Focus on correctness and analytical value.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Priority: MediumImportant tasks, but not urgentStatus: To DoThis issue is ready to be picked up by a team member.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions