Classes
BuildMetric
dataclass
Single build metric record.
BuildMetric
dataclass Single build metric record.
Attributes
| Name | Type | Description |
|---|---|---|
timestamp |
str |
|
total_pages |
int |
|
build_time_ms |
float |
|
memory_rss_mb |
float |
|
memory_heap_mb |
float |
|
memory_peak_mb |
float |
|
parallel |
bool |
|
incremental |
bool |
|
skipped |
bool |
|
discovery_time_ms |
float |
|
taxonomy_time_ms |
float |
|
rendering_time_ms |
float |
|
assets_time_ms |
float |
|
postprocess_time_ms |
float |
Methods 5
build_time_s
property
Build time in seconds.
build_time_s
property def build_time_s(self) -> float
Build time in seconds.
Returns
float
pages_per_second
property
Throughput in pages/second.
pages_per_second
property def pages_per_second(self) -> float
Throughput in pages/second.
Returns
float
memory_per_page_mb
property
Memory per page in MB.
memory_per_page_mb
property def memory_per_page_mb(self) -> float
Memory per page in MB.
Returns
float
datetime
property
Parse timestamp to datetime.
datetime
property def datetime(self) -> datetime
Parse timestamp to datetime.
Returns
datetime
from_dict
classmethod
Create from dictionary.
from_dict
classmethod def from_dict(cls, data: dict[str, Any]) -> BuildMetric
Create from dictionary.
Parameters 1
data |
dict[str, Any] |
Returns
BuildMetric
PerformanceReport
Generates performance reports from collected metrics.
Usage:
report = PerformanceReport()
…
PerformanceReport
Generates performance reports from collected metrics.
Usage:
report = PerformanceReport()
report.show(last=10, format='table')
Methods 3
load_metrics
Load metrics from history file.
load_metrics
def load_metrics(self, last: int | None = None) -> list[BuildMetric]
Load metrics from history file.
Parameters 1
last |
int | None |
Number of recent builds to load (None = all) |
Returns
List of BuildMetric objects, most recent firstlist[BuildMetric]
—
show
Show performance report.
show
def show(self, last: int = 10, format: str = 'table') -> None
Show performance report.
Parameters 2
last |
int |
Number of recent builds to show |
format |
str |
Output format ('table', 'json', 'summary') |
compare
Compare two builds.
compare
def compare(self, build1_idx: int = 0, build2_idx: int = 1) -> None
Compare two builds.
Parameters 2
build1_idx |
int |
Index of first build (0 = latest) |
build2_idx |
int |
Index of second build |
Internal Methods 6
__init__
Initialize report generator.
__init__
def __init__(self, metrics_dir: Path | None = None)
Initialize report generator.
Parameters 1
metrics_dir |
Path | None |
Directory containing metrics (default: .bengal/metrics) |
_print_table
Print as ASCII table.
_print_table
def _print_table(self, metrics: list[BuildMetric]) -> None
Print as ASCII table.
Parameters 1
metrics |
list[BuildMetric] |
_print_trends
Print trend analysis.
_print_trends
def _print_trends(self, metrics: list[BuildMetric]) -> None
Print trend analysis.
Parameters 1
metrics |
list[BuildMetric] |
_print_json
Print as JSON array.
_print_json
def _print_json(self, metrics: list[BuildMetric]) -> None
Print as JSON array.
Parameters 1
metrics |
list[BuildMetric] |
_print_summary
Print summary statistics.
_print_summary
def _print_summary(self, metrics: list[BuildMetric]) -> None
Print summary statistics.
Parameters 1
metrics |
list[BuildMetric] |
_compare_metric
Print comparison row.
_compare_metric
def _compare_metric(self, name: str, val1: Any, val2: Any, num1: float | None = None, num2: float | None = None) -> None
Print comparison row.
Parameters 5
name |
str |
|
val1 |
Any |
|
val2 |
Any |
|
num1 |
float | None |
|
num2 |
float | None |