Generating PDF Reports¶
This guide explains how to generate publication-quality PDF reports from your experiment data.
📄 Report Overview¶
A-LEMS generates comprehensive PDF reports containing:
- Experiment metadata - Task, provider, date, duration
- Energy analysis - Linear vs Agentic comparison
- Orchestration tax - Overhead calculation
- Thermal profiles - Temperature over time
- CPU metrics - Frequency, C-states, IPC
- Scheduler metrics - Context switches, interrupts
- Sustainability impact - Carbon, water, methane
- Hardware fingerprint - Complete system specs
- Environment fingerprint - Software versions, git commit
🚀 Generating Reports via GUI¶
Step 1: Launch the GUI¶
streamlit run streamlit_app.py
Step 2: Navigate to Session Analysis¶
- Click Session Analysis in sidebar
- All experiments are listed with:
- Experiment ID
- Task name
- Provider
- Date/time
- Run count
- Status
Step 3: Select an Experiment¶
- Click on any experiment row
- Experiment details appear in main panel
Step 4: Generate PDF¶
- Click "Generate PDF Report" button
- Report generates automatically
- Downloads as
experiment_XXX_report.pdf
📊 Report Contents¶
Cover Page¶
╔═══════════════════════════════════════════════════════╗
║ A-LEMS Experiment Report ║
╠═══════════════════════════════════════════════════════╣
║ Experiment ID: 185 ║
║ Task: GSM8K Arithmetic ║
║ Provider: cloud ║
║ Date: 2026-03-12 10:41:13 ║
║ Duration: 3.2 seconds ║
║ Repetitions: 2 ║
╚═══════════════════════════════════════════════════════╝
Energy Analysis Page¶
ENERGY CONSUMPTION
═══════════════════════════════════════════════════════
Linear Workflow
───────────────
Run 1: 15.601 J
Run 2: 9.870 J
Mean: 12.736 ± 2.865 J
Agentic Workflow
────────────────
Run 1: 27.358 J
Run 2: 5.973 J
Mean: 16.666 ± 10.693 J
Orchestration Tax
─────────────────
Run 1: 1.75x (75% overhead)
Run 2: 0.61x (-39% savings)
Mean: 1.18x ± 0.57x
Charts Page¶
┌─────────────────────────────────────────────────────┐
│ │
│ Energy Comparison Chart │
│ │
│ 30 ├───────• │
│ │ • │
│ 20 │ • • • │
│ │ • • • │
│ 10 │ • • • • │
│ │ • • • • │
│ 0 └───•───•───•───•───•───•───•───•───•───•───• │
│ 1 2 3 4 5 6 7 8 9 10 │
│ │
│ Linear (green) Agentic (red) │
└─────────────────────────────────────────────────────┘
Thermal Profile Page¶
THERMAL ANALYSIS
═══════════════════════════════════════════════════════
Temperature Profile
───────────────────
Start: 64.0°C
Peak: 94.0°C
Rise: +30.0°C
Rate: 2.5°C/s
Thermal Throttling
──────────────────
Time > 90°C: 1.2s
Throttle events: 0
┌─────────────────────────────────────────────────────┐
│ │
│ 100├───────────────────────• │
│ │ •───• │
│ 80│ •───• │
│ │ •───• │
│ 60│ •───• │
│ │ •───• │
│ 40└───•───•───•───•───•───•───•───•───•───•───• │
│ 0 2 4 6 8 10 12 14 16 18 20 │
│ │
└─────────────────────────────────────────────────────┘
Sustainability Page¶
SUSTAINABILITY IMPACT
═══════════════════════════════════════════════════════
Grid: US (389 gCO₂/kWh)
Carbon Footprint
────────────────
Total: 12.4 g CO₂
Equivalent to:
• 0.6 Google searches
• 885 WhatsApp messages
• 0.0006 phone charges
Water Usage
───────────
Total: 26.2 ml
Equivalent to:
• 0.13 baby feeds
• 0.05 water bottles
Methane Emissions
─────────────────
Total: 0.008 mg
20-year CO₂e: 0.27 mg
100-year CO₂e: 0.20 mg
Hardware Fingerprint Page¶
HARDWARE CONFIGURATION
═══════════════════════════════════════════════════════
CPU
───
Model: 11th Gen Intel i7-1165G7 @ 2.80GHz
Cores: 4 physical, 8 logical
Architecture: x86_64
Vendor: GenuineIntel
Family: 6, Model: 140, Stepping: 1
Features: AVX2, AVX512, VMX
GPU
───
Model: Iris Xe Graphics
Driver: i915
Count: 1
Memory
──────
RAM: 6 GB
Kernel: 6.17.0-14-generic
Microcode: 0xbe
System
──────
Manufacturer: LENOVO
Product: 20TDCTO1WW
Type: laptop
Virtualization: none
Software Environment Page¶
ENVIRONMENT CONFIGURATION
═══════════════════════════════════════════════════════
Python
──────
Version: 3.13.7
Implementation: CPython
OS
───
Name: Linux
Version: #14-Ubuntu SMP PREEMPT_DYNAMIC
Kernel: 6.17.0-14-generic
Git
───
Commit: 632c2981eab9d19e
Branch: feature/per-pair-insertion
Dirty: true
Dependencies
────────────
numpy: 1.26.4
torch: Not installed
transformers: Not installed
🔧 Customizing Reports¶
Report Configuration¶
Create config/report.yaml:
# config/report.yaml
report:
title: "A-LEMS Experiment Report"
author: "Your Name"
institution: "Your Institution"
sections:
- cover
- energy
- tax
- thermal
- cpu
- sustainability
- hardware
- environment
charts:
energy_comparison: true
tax_distribution: true
thermal_profile: true
cstate_residency: true
sustainability:
comparisons: true
equivalents: true
Command Line Report Generation¶
# Generate report for specific experiment
python scripts/tools/report_generator.py --exp-id 185
# Generate report for latest experiment
python scripts/tools/report_generator.py --latest
# Custom output location
python scripts/tools/report_generator.py --exp-id 185 --output ~/reports/
# Custom config
python scripts/tools/report_generator.py --exp-id 185 --config custom.yaml
📊 Batch Report Generation¶
Generate reports for multiple experiments:
#!/bin/bash
# generate_all_reports.sh
# Get all experiment IDs
EXPS=$(sqlite3 data/experiments.db "SELECT exp_id FROM experiments ORDER BY exp_id")
for exp in $EXPS; do
echo "Generating report for experiment $exp..."
python scripts/tools/report_generator.py --exp-id $exp
done
📈 Including in Papers¶
Figure Export¶
Charts can be exported as:
- PNG (raster, 300 DPI)
- SVG (vector, editable)
- PDF (vector, publication-ready)
Table Export¶
Data tables export as:
- CSV (raw data)
- LaTeX (publication-ready)
- Markdown (documentation)